diff options
-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); |