diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-05-09 09:24:30 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-06-10 11:47:41 +0200 |
commit | 6980fbd27bd57dc01d7265cc742ab01a4bd9f93a (patch) | |
tree | b41a678373e62518ec34b139860031bf6dc5a4d4 | |
parent | e1707b27ca8b998652fddee571197b24974ebb2f (diff) | |
download | forums-6980fbd27bd57dc01d7265cc742ab01a4bd9f93a.tar forums-6980fbd27bd57dc01d7265cc742ab01a4bd9f93a.tar.gz forums-6980fbd27bd57dc01d7265cc742ab01a4bd9f93a.tar.bz2 forums-6980fbd27bd57dc01d7265cc742ab01a4bd9f93a.tar.xz forums-6980fbd27bd57dc01d7265cc742ab01a4bd9f93a.zip |
[ticket/12508] Only take a list of names for set_extensions()
PHPBB3-12508
-rw-r--r-- | phpBB/phpbb/extension/manager.php | 4 | ||||
-rw-r--r-- | phpBB/phpbb/finder.php | 14 | ||||
-rw-r--r-- | tests/controller/helper_route_test.php | 2 | ||||
-rw-r--r-- | tests/extension/finder_test.php | 4 | ||||
-rw-r--r-- | tests/pagination/pagination_test.php | 2 |
5 files changed, 17 insertions, 9 deletions
diff --git a/phpBB/phpbb/extension/manager.php b/phpBB/phpbb/extension/manager.php index bfc6e19b5b..b83bb1b189 100644 --- a/phpBB/phpbb/extension/manager.php +++ b/phpBB/phpbb/extension/manager.php @@ -542,11 +542,11 @@ class manager $finder = new \phpbb\finder($this->filesystem, $this->phpbb_root_path, $this->cache, $this->php_ext, $this->cache_name . '_finder'); if ($use_all_available) { - $finder->set_extensions($this->all_available()); + $finder->set_extensions(array_keys($this->all_available())); } else { - $finder->set_extensions($this->all_enabled()); + $finder->set_extensions(array_keys($this->all_enabled())); } return $finder; } diff --git a/phpBB/phpbb/finder.php b/phpBB/phpbb/finder.php index 899dc4f290..77a8222b84 100644 --- a/phpBB/phpbb/finder.php +++ b/phpBB/phpbb/finder.php @@ -80,12 +80,20 @@ class finder /** * Set the array of extensions * - * @param array $extensions A list of extensions that should be searched aswell + * @param array $extensions A list of extensions that should be searched aswell + * @param bool $replace_list Should the list be emptied before adding the extensions * @return \phpbb\finder This object for chaining calls */ - public function set_extensions(array $extensions) + public function set_extensions(array $extensions, $replace_list = true) { - $this->extensions = $extensions; + if ($replace_list) + { + $this->extensions = array(); + } + foreach ($extensions as $ext_name) + { + $this->extensions[$ext_name] = $this->phpbb_root_path . 'ext/' . $ext_name . '/'; + } return $this; } diff --git a/tests/controller/helper_route_test.php b/tests/controller/helper_route_test.php index f604f5d892..621efaa830 100644 --- a/tests/controller/helper_route_test.php +++ b/tests/controller/helper_route_test.php @@ -47,7 +47,7 @@ class phpbb_controller_helper_route_test extends phpbb_test_case dirname(__FILE__) . '/', new phpbb_mock_cache() ); - $finder->set_extensions($this->extension_manager->all_enabled()); + $finder->set_extensions(array_keys($this->extension_manager->all_enabled())); $this->provider = new \phpbb\controller\provider(); $this->provider->find_routing_files($finder); $this->provider->find(dirname(__FILE__) . '/'); diff --git a/tests/extension/finder_test.php b/tests/extension/finder_test.php index fa30127ca0..5ff4c59722 100644 --- a/tests/extension/finder_test.php +++ b/tests/extension/finder_test.php @@ -202,7 +202,7 @@ class phpbb_extension_finder_test extends phpbb_test_case { $cache = new phpbb_mock_cache; $finder = new \phpbb\finder(new \phpbb\filesystem(), dirname(__FILE__) . '/', $cache, 'php', '_custom_cache_name'); - $finder->set_extensions($this->extension_manager->all_enabled()); + $finder->set_extensions(array_keys($this->extension_manager->all_enabled())); $files = $finder->suffix('_class.php')->get_files(); $expected_files = array( @@ -249,7 +249,7 @@ class phpbb_extension_finder_test extends phpbb_test_case ), )) ); - $finder->set_extensions($this->extension_manager->all_enabled()); + $finder->set_extensions(array_keys($this->extension_manager->all_enabled())); $classes = $finder ->core_path($query['core_path']) diff --git a/tests/pagination/pagination_test.php b/tests/pagination/pagination_test.php index ecdacc21a4..f253118253 100644 --- a/tests/pagination/pagination_test.php +++ b/tests/pagination/pagination_test.php @@ -40,7 +40,7 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case dirname(__FILE__) . '/', new phpbb_mock_cache() ); - $finder->set_extensions($manager->all_enabled()); + $finder->set_extensions(array_keys($manager->all_enabled())); $this->config = new \phpbb\config\config(array('enable_mod_rewrite' => '1')); $provider = new \phpbb\controller\provider(); |