aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/phpbb/extension/manager.php4
-rw-r--r--phpBB/phpbb/finder.php14
-rw-r--r--tests/controller/helper_route_test.php2
-rw-r--r--tests/extension/finder_test.php4
-rw-r--r--tests/pagination/pagination_test.php2
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();