Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <tsteur@users.noreply.github.com>2019-03-15 01:24:36 +0300
committerdiosmosis <diosmosis@users.noreply.github.com>2019-03-15 01:24:36 +0300
commit6395855aa7f3813cc7f413a18d31505ea26ba32a (patch)
tree2a3157954dd3c29cc024bf7093df53b63be94dd6 /core/Theme.php
parentd7c932710e690d87ea62c3ec94ae65fa5bd05b05 (diff)
Support multiple plugin paths (#14051)
* do not hard code plugins directory * remove method that is not needed for now * use plugins directory in more places * some work on supporting multiple plugin directories * use more unique name * couple fixes * and another fix * sort plugins * adjust languagesmanager * adjust more usages * Update Manager.php * adding a plugin to test * more tests * make sure plugin resources can be located in custom directory * adding more tests * rewrite image paths * handle more cases * add tests * make sure to load plugin * trying to fix test * trying it this way * load plugin * fix ui test? * testing if tests succeed this way * another test * load custom dir plugin * load plugin in ui fixture * change the update statement * remove update script * delete column * fix ui test * make it work for tests * fix some tests * Fix merge.
Diffstat (limited to 'core/Theme.php')
-rw-r--r--core/Theme.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/core/Theme.php b/core/Theme.php
index ed6261334c..e6eb8756c9 100644
--- a/core/Theme.php
+++ b/core/Theme.php
@@ -75,7 +75,8 @@ class Theme
public function rewriteAssetsPathToTheme($output)
{
- if ($this->themeName == \Piwik\Plugin\Manager::DEFAULT_THEME) {
+ if ($this->themeName == \Piwik\Plugin\Manager::DEFAULT_THEME
+ && !Manager::getAlternativeWebRootDirectories()) {
return $output;
}
@@ -140,6 +141,15 @@ class Theme
if (file_exists($fileToCheck)) {
return str_replace($pathAsset, $overridingAsset, $source);
}
+
+ // not rewritten by theme, but may be located in custom webroot directory
+ foreach (Manager::getAlternativeWebRootDirectories() as $absDir => $webRootDirectory) {
+ $withoutPlugins = str_replace('plugins/', '', $pathAsset);
+ if (file_exists($absDir . '/' . $withoutPlugins)) {
+ return $webRootDirectory . $withoutPlugins;
+ }
+ }
+
return $source;
}