aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-05-09 09:24:30 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-06-10 11:47:41 +0200
commit6980fbd27bd57dc01d7265cc742ab01a4bd9f93a (patch)
treeb41a678373e62518ec34b139860031bf6dc5a4d4 /phpBB
parente1707b27ca8b998652fddee571197b24974ebb2f (diff)
downloadforums-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
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/phpbb/extension/manager.php4
-rw-r--r--phpBB/phpbb/finder.php14
2 files changed, 13 insertions, 5 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;
}