diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2013-04-01 10:34:06 +0200 |
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2013-04-12 21:35:06 +0200 |
| commit | 6a3d77d76e9a6ee17acbd29da8486742f60a2514 (patch) | |
| tree | 067db6bb17d029b8c34047427b9ae46fc8a9c17f /phpBB/includes/style | |
| parent | c25dfef770e440dec9f1d1eeb71e5ef8c3ffbb66 (diff) | |
| download | forums-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.php | 15 |
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) |
