From b6cf2d7284b62c263d563995c3edecf9e8d88ca7 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 25 Feb 2016 12:25:08 +0100 Subject: [PATCH 1/2] [ticket/14496] Cache last update of update list instead of using filemtime PHPBB3-14496 --- phpBB/install/install_update.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index 82ca0fc18d..ba054d1747 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -355,7 +355,7 @@ class install_update extends module // We are directly within an update. To make sure our update list is correct we check its status. $update_list = ($request->variable('check_again', false, false, \phpbb\request\request_interface::POST)) ? false : $cache->get('_update_list'); - $modified = ($update_list !== false) ? @filemtime($cache->get_driver()->cache_dir . 'data_update_list.' . $phpEx) : 0; + $modified = ($update_list !== false) ? $cache->get('_update_list_time') : 0; // Make sure the list is up-to-date if ($update_list !== false) @@ -384,6 +384,7 @@ class install_update extends module { $this->get_update_structure($update_list, $expected_files); $cache->put('_update_list', $update_list); + $cache->put('_update_list_time', time()); // Refresh the page if we are still not finished... if ($update_list['status'] != -1) From db1b73a3f4c8a7c11b493c930a080c3dfafb086b Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 26 Feb 2016 16:57:48 +0100 Subject: [PATCH 2/2] [ticket/14496] Destroy update_list_time cache variable on intro PHPBB3-14496 --- phpBB/install/install_update.php | 1 + 1 file changed, 1 insertion(+) diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index ba054d1747..a00280a925 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -283,6 +283,7 @@ class install_update extends module // Make sure the update list is destroyed. $cache->destroy('_update_list'); + $cache->destroy('_update_list_time'); $cache->destroy('_diff_files'); $cache->destroy('_expected_files'); break;