diff options
author | Andreas Fischer <bantu@phpbb.com> | 2009-07-17 11:32:27 +0000 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2009-07-17 11:32:27 +0000 |
commit | ab9715a9fe5577921180a6f77b5a89b990665b6e (patch) | |
tree | 9852d8dbf94b6a4c10d1e2f23e60d4187e9c14f1 | |
parent | 6cacfce937c64cae1f90dedef130f3a39fa2c317 (diff) | |
download | forums-ab9715a9fe5577921180a6f77b5a89b990665b6e.tar forums-ab9715a9fe5577921180a6f77b5a89b990665b6e.tar.gz forums-ab9715a9fe5577921180a6f77b5a89b990665b6e.tar.bz2 forums-ab9715a9fe5577921180a6f77b5a89b990665b6e.tar.xz forums-ab9715a9fe5577921180a6f77b5a89b990665b6e.zip |
Fix bugs #46615 & #46945 - Fail gracefully if store folder is not writable during update.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9768 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r-- | phpBB/docs/CHANGELOG.html | 1 | ||||
-rw-r--r-- | phpBB/includes/functions_compress.php | 7 | ||||
-rw-r--r-- | phpBB/install/install_update.php | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 266ea2a80a..15ec8cb4fc 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -157,6 +157,7 @@ <li>[Fix] Force full date for PMs print-view (Patch by nickvergessen)</li> <li>[Fix] Fix "Always show a scrollbar for short pages" for IE8 and Firefox 3.5 (Bug #47865 - Patch by stokerpiller)</li> <li>[Fix] Do not allow setting group as default group for pending user (Bug #45675 - Patch by nickvergessen)</li> + <li>[Fix] Fail gracefully if store folder is not writable during update. (Bugs #46615, #46945)</li> <li>[Change] Change the data format of the default file ACM to be more secure from tampering and have better performance.</li> <li>[Change] Add index on log_time to the log table to prevent slowdown on boards with many log entries. (Bug #44665 - Patch by bantu)</li> <li>[Change] Template engine now permits to a limited extent variable includes.</li> diff --git a/phpBB/includes/functions_compress.php b/phpBB/includes/functions_compress.php index 881e1ba5cc..590daabf1d 100644 --- a/phpBB/includes/functions_compress.php +++ b/phpBB/includes/functions_compress.php @@ -155,7 +155,12 @@ class compress_zip extends compress */ function compress_zip($mode, $file) { - return $this->fp = @fopen($file, $mode . 'b'); + $this->fp = @fopen($file, $mode . 'b'); + + if (!$this->fp) + { + trigger_error('Unable to open file ' . $file . ' [' . $mode . 'b]'); + } } /** diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index 388e217133..ccbad07e5b 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -915,6 +915,11 @@ class install_update extends module // Now init the connection if ($update_mode == 'download') { + if (function_exists('phpbb_is_writable') && !phpbb_is_writable($phpbb_root_path . 'store/')) + { + trigger_error(sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $phpbb_root_path . 'store/'), E_USER_ERROR); + } + if ($use_method == '.zip') { $compress = new compress_zip('w', $phpbb_root_path . 'store/' . $archive_filename . $use_method); |