From d08843853e5cae0c62fb83494b6f34a312a94f53 Mon Sep 17 00:00:00 2001 From: Marc Alexander <admin@m-a-styles.de> Date: Sun, 23 Jan 2022 20:51:50 +0100 Subject: [PATCH] [ticket/16956] Remove use of recently changed status for extensions PHPBB3-16956 --- phpBB/phpbb/extension/manager.php | 17 ----------------- tests/extension/manager_test.php | 9 ++------- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/phpBB/phpbb/extension/manager.php b/phpBB/phpbb/extension/manager.php index 09de7950c4..b60b65dbe2 100644 --- a/phpBB/phpbb/extension/manager.php +++ b/phpBB/phpbb/extension/manager.php @@ -30,7 +30,6 @@ class manager protected $cache; protected $php_ext; protected $extensions; - protected $recently_changed_ext_status; protected $extension_table; protected $phpbb_root_path; protected $cache_name; @@ -243,7 +242,6 @@ class manager if ($active) { - $this->recently_changed_ext_status[$name] = false; $this->router->without_cache(); } @@ -298,7 +296,6 @@ class manager if (!$active) { - $this->recently_changed_ext_status[$name] = true; $this->router->without_cache(); } @@ -514,13 +511,6 @@ class manager */ public function is_enabled($name) { - // The extension has just been enabled and so is not loaded. When asking if it is enabled or - // not we should answer no to stay consistent with the status at the beginning of the request. - if (isset($this->recently_changed_ext_status[$name])) - { - return $this->recently_changed_ext_status[$name]; - } - return isset($this->extensions[$name]['ext_active']) && $this->extensions[$name]['ext_active']; } @@ -532,13 +522,6 @@ class manager */ public function is_disabled($name) { - // The extension has just been disabled and so is still loaded. When asking if it is disabled or - // not we should answer yes to stay consistent with the status at the beginning of the request. - if (isset($this->recently_changed_ext_status[$name])) - { - return $this->recently_changed_ext_status[$name]; - } - return isset($this->extensions[$name]['ext_active']) && !$this->extensions[$name]['ext_active']; } diff --git a/tests/extension/manager_test.php b/tests/extension/manager_test.php index bb615d7ac4..4bd1c2b001 100644 --- a/tests/extension/manager_test.php +++ b/tests/extension/manager_test.php @@ -97,9 +97,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case $this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled())); $this->extension_manager->enable('vendor2/bar'); - // We should not display the extension as being enabled in the same request - $this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled())); - // With a different request we should see the extension as being disabled + // We should see the extension as being disabled $this->assertEquals(array('vendor2/bar', 'vendor2/foo'), array_keys($this->create_extension_manager()->all_enabled())); $this->assertEquals(array('vendor/moo', 'vendor2/bar', 'vendor2/foo'), array_keys($this->extension_manager->all_configured())); @@ -126,10 +124,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case $this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled())); $this->extension_manager->disable('vendor2/foo'); - // We should still display the extension as being enabled in the current request - $this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled())); - // With a different request we should see the extension as being disabled - $this->assertEquals(array(), array_keys($this->create_extension_manager()->all_enabled())); + $this->assertEquals([], array_keys($this->extension_manager->all_enabled())); $this->assertEquals(array('vendor/moo', 'vendor2/foo'), array_keys($this->extension_manager->all_configured()));