aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/style
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2013-04-01 10:34:06 +0200
committerJoas Schilling <nickvergessen@gmx.de>2013-04-12 21:35:06 +0200
commit6a3d77d76e9a6ee17acbd29da8486742f60a2514 (patch)
tree067db6bb17d029b8c34047427b9ae46fc8a9c17f /phpBB/includes/style
parentc25dfef770e440dec9f1d1eeb71e5ef8c3ffbb66 (diff)
downloadforums-6a3d77d76e9a6ee17acbd29da8486742f60a2514.tar
forums-6a3d77d76e9a6ee17acbd29da8486742f60a2514.tar.gz
forums-6a3d77d76e9a6ee17acbd29da8486742f60a2514.tar.bz2
forums-6a3d77d76e9a6ee17acbd29da8486742f60a2514.tar.xz
forums-6a3d77d76e9a6ee17acbd29da8486742f60a2514.zip
[ticket/10844] Add phpbb_root_path to phpbb_style_extension_path_provider
The phpbb_root_path needs to be removed from the style path, before giving the path to the finder, because the finder prepends it later again and is therefor unable to find style files when the root path is not ./ PHPBB3-10844
Diffstat (limited to 'phpBB/includes/style')
-rw-r--r--phpBB/includes/style/extension_path_provider.php15
1 files changed, 14 insertions, 1 deletions
diff --git a/phpBB/includes/style/extension_path_provider.php b/phpBB/includes/style/extension_path_provider.php
index 6976a45ed0..e658abcb42 100644
--- a/phpBB/includes/style/extension_path_provider.php
+++ b/phpBB/includes/style/extension_path_provider.php
@@ -40,17 +40,22 @@ class phpbb_style_extension_path_provider extends phpbb_extension_provider imple
*/
protected $base_path_provider;
+ /** @var string */
+ protected $phpbb_root_path;
+
/**
* Constructor stores extension manager
*
* @param phpbb_extension_manager $extension_manager phpBB extension manager
* @param phpbb_style_path_provider $base_path_provider A simple path provider
* to provide paths to be located in extensions
+ * @param string $phpbb_root_path phpBB root path
*/
- public function __construct(phpbb_extension_manager $extension_manager, phpbb_style_path_provider $base_path_provider)
+ public function __construct(phpbb_extension_manager $extension_manager, phpbb_style_path_provider $base_path_provider, $phpbb_root_path)
{
parent::__construct($extension_manager);
$this->base_path_provider = $base_path_provider;
+ $this->phpbb_root_path = $phpbb_root_path;
}
/**
@@ -91,6 +96,14 @@ class phpbb_style_extension_path_provider extends phpbb_extension_provider imple
$directories['style'][] = $path;
if ($path && !phpbb_is_absolute($path))
{
+ // Remove phpBB root path from the style path,
+ // so the finder is able to find extension styles,
+ // when the root path is not ./
+ if (strpos($path, $this->phpbb_root_path) === 0)
+ {
+ $path = substr($path, strlen($this->phpbb_root_path));
+ }
+
$result = $finder->directory('/' . $this->ext_dir_prefix . $path)
->get_directories(true, false, true);
foreach ($result as $ext => $ext_path)