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-01-30 03:28:01 +0300
committerdiosmosis <diosmosis@users.noreply.github.com>2019-01-30 03:28:01 +0300
commitfaa8c3892b93b37cb358b4efae5ee387317982a1 (patch)
tree33c1701d8bb86faba6a6467d59cda43cdcd5fb4a
parentcec026c1dc1a77a3e714ee85c601301cd298b43f (diff)
Don't hardcode plugins directory (#14043)
* do not hard code plugins directory * remove method that is not needed for now * use plugins directory in more places
-rw-r--r--core/API/Proxy.php3
-rw-r--r--core/Columns/Updater.php3
-rw-r--r--core/Plugin.php8
-rw-r--r--core/Plugin/Manager.php5
-rw-r--r--core/Twig.php21
-rw-r--r--core/Updater.php3
-rw-r--r--plugins/CorePluginsAdmin/Controller.php2
-rw-r--r--plugins/CorePluginsAdmin/PluginInstaller.php9
-rw-r--r--plugins/LanguagesManager/API.php6
-rw-r--r--plugins/LanguagesManager/Commands/PluginsWithTranslations.php5
-rw-r--r--plugins/LanguagesManager/Commands/Update.php8
-rw-r--r--plugins/LanguagesManager/TranslationWriter/Writer.php3
12 files changed, 47 insertions, 29 deletions
diff --git a/core/API/Proxy.php b/core/API/Proxy.php
index ab46688d54..34b202f94d 100644
--- a/core/API/Proxy.php
+++ b/core/API/Proxy.php
@@ -13,6 +13,7 @@ use Exception;
use Piwik\Common;
use Piwik\Context;
use Piwik\Piwik;
+use Piwik\Plugin\Manager;
use Piwik\Singleton;
use ReflectionClass;
use ReflectionMethod;
@@ -437,7 +438,7 @@ class Proxy extends Singleton
private function includeApiFile($fileName)
{
$module = self::getModuleNameFromClassName($fileName);
- $path = PIWIK_INCLUDE_PATH . '/plugins/' . $module . '/API.php';
+ $path = Manager::getPluginsDirectory() . $module . '/API.php';
if (is_readable($path)) {
require_once $path; // prefixed by PIWIK_INCLUDE_PATH
diff --git a/core/Columns/Updater.php b/core/Columns/Updater.php
index 73da658fe8..1c750753cc 100644
--- a/core/Columns/Updater.php
+++ b/core/Columns/Updater.php
@@ -14,6 +14,7 @@ use Piwik\Plugin\Dimension\ActionDimension;
use Piwik\Plugin\Dimension\VisitDimension;
use Piwik\Plugin\Dimension\ConversionDimension;
use Piwik\Db;
+use Piwik\Plugin\Manager;
use Piwik\Updater as PiwikUpdater;
use Piwik\Filesystem;
use Piwik\Cache as PiwikCache;
@@ -341,7 +342,7 @@ class Updater extends \Piwik\Updates
private static function getCurrentDimensionFileChanges()
{
- $files = Filesystem::globr(PIWIK_INCLUDE_PATH . '/plugins/*/Columns', '*.php');
+ $files = Filesystem::globr(Manager::getPluginsDirectory() . '*/Columns', '*.php');
$times = array();
foreach ($files as $file) {
diff --git a/core/Plugin.php b/core/Plugin.php
index 2579b2967d..fcfdc612a7 100644
--- a/core/Plugin.php
+++ b/core/Plugin.php
@@ -10,6 +10,7 @@ namespace Piwik;
use Piwik\Container\StaticContainer;
use Piwik\Plugin\Dependency;
+use Piwik\Plugin\Manager;
use Piwik\Plugin\MetadataLoader;
/**
@@ -354,7 +355,9 @@ class Plugin
$cacheId = 'Plugin' . $this->pluginName . $componentName . $expectedSubclass;
- $componentFile = sprintf('%s/plugins/%s/%s.php', PIWIK_INCLUDE_PATH, $this->pluginName, $componentName);
+ $pluginsDir = Manager::getPluginsDirectory();
+
+ $componentFile = sprintf('%s%s/%s.php', $pluginsDir, $this->pluginName, $componentName);
if ($this->cache->contains($cacheId)) {
$classname = $this->cache->fetch($cacheId);
@@ -534,7 +537,8 @@ class Plugin
{
$components = array();
- $baseDir = PIWIK_INCLUDE_PATH . '/plugins/' . $this->pluginName . '/' . $directoryWithinPlugin;
+ $pluginsDir = Manager::getPluginsDirectory();
+ $baseDir = $pluginsDir . $this->pluginName . '/' . $directoryWithinPlugin;
$files = Filesystem::globr($baseDir, '*.php');
foreach ($files as $file) {
diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php
index 506e19bc9c..d25234c735 100644
--- a/core/Plugin/Manager.php
+++ b/core/Plugin/Manager.php
@@ -459,7 +459,8 @@ class Manager
public static function deletePluginFromFilesystem($plugin)
{
- Filesystem::unlinkRecursive(PIWIK_INCLUDE_PATH . '/plugins/' . $plugin, $deleteRootToo = true);
+ $pluginDir = self::getPluginsDirectory();
+ Filesystem::unlinkRecursive($pluginDir . $plugin, $deleteRootToo = true);
}
/**
@@ -693,7 +694,7 @@ class Manager
return true;
}
- $path = $this->getPluginsDirectory() . $pluginName;
+ $path = self::getPluginsDirectory() . $pluginName;
if (!$this->isManifestFileFound($path)) {
return true;
}
diff --git a/core/Twig.php b/core/Twig.php
index f2279ab35f..4b5f1e51ea 100644
--- a/core/Twig.php
+++ b/core/Twig.php
@@ -12,6 +12,7 @@ use Exception;
use Piwik\Container\StaticContainer;
use Piwik\DataTable\Filter\SafeDecodeLabel;
use Piwik\Metrics\Formatter;
+use Piwik\Plugin\Manager;
use Piwik\Tracker\GoalManager;
use Piwik\View\RenderTokenParser;
use Piwik\Visualization\Sparkline;
@@ -313,7 +314,7 @@ class Twig
private function getDefaultThemeLoader()
{
$themeLoader = new Twig_Loader_Filesystem(array(
- sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, \Piwik\Plugin\Manager::DEFAULT_THEME)
+ sprintf("%s%s/templates/", Manager::getPluginsDirectory(), \Piwik\Plugin\Manager::DEFAULT_THEME)
), PIWIK_DOCUMENT_ROOT.DIRECTORY_SEPARATOR);
return $themeLoader;
@@ -326,11 +327,12 @@ class Twig
*/
protected function getCustomThemeLoader(Plugin $theme)
{
- if (!file_exists(sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $theme->getPluginName()))) {
+ $pluginsDir = Manager::getPluginsDirectory();
+ if (!file_exists(sprintf("%s%s/templates/", $pluginsDir, $theme->getPluginName()))) {
return false;
}
$themeLoader = new Twig_Loader_Filesystem(array(
- sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $theme->getPluginName())
+ sprintf("%s%s/templates/", $pluginsDir, $theme->getPluginName())
), PIWIK_DOCUMENT_ROOT.DIRECTORY_SEPARATOR);
return $themeLoader;
@@ -519,10 +521,12 @@ class Twig
{
$pluginManager = \Piwik\Plugin\Manager::getInstance();
$plugins = $pluginManager->getAllPluginsNames();
+
+ $pluginsDir = Manager::getPluginsDirectory();
foreach ($plugins as $name) {
- $path = sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $name);
+ $path = sprintf("%s%s/templates/", $pluginsDir, $name);
if (is_dir($path)) {
- $loader->addPath(PIWIK_INCLUDE_PATH . '/plugins/' . $name . '/templates', $name);
+ $loader->addPath($pluginsDir . $name . '/templates', $name);
}
}
}
@@ -536,10 +540,13 @@ class Twig
{
$pluginManager = \Piwik\Plugin\Manager::getInstance();
$plugins = $pluginManager->getAllPluginsNames();
+
+ $pluginsDir = Manager::getPluginsDirectory();
+
foreach ($plugins as $name) {
- $path = sprintf("%s/plugins/%s/templates/plugins/%s/", PIWIK_INCLUDE_PATH, $pluginName, $name);
+ $path = sprintf("%s%s/templates/plugins/%s/", $pluginsDir, $pluginName, $name);
if (is_dir($path)) {
- $loader->addPath(PIWIK_INCLUDE_PATH . '/plugins/' . $pluginName . '/templates/plugins/'. $name, $name);
+ $loader->addPath($pluginsDir . $pluginName . '/templates/plugins/'. $name, $name);
}
}
}
diff --git a/core/Updater.php b/core/Updater.php
index ba9a0caa83..2bb6ebcb2d 100644
--- a/core/Updater.php
+++ b/core/Updater.php
@@ -10,6 +10,7 @@ namespace Piwik;
use Piwik\Columns\Updater as ColumnUpdater;
use Piwik\Container\StaticContainer;
+use Piwik\Plugin\Manager;
use Piwik\Plugins\Installation\ServerFilesGenerator;
use Piwik\Updater\Migration;
use Piwik\Updater\Migration\Db\Sql;
@@ -62,7 +63,7 @@ class Updater
public function __construct($pathUpdateFileCore = null, $pathUpdateFilePlugins = null, Columns\Updater $columnsUpdater = null)
{
$this->pathUpdateFileCore = $pathUpdateFileCore ?: PIWIK_INCLUDE_PATH . '/core/Updates/';
- $this->pathUpdateFilePlugins = $pathUpdateFilePlugins ?: PIWIK_INCLUDE_PATH . '/plugins/%s/Updates/';
+ $this->pathUpdateFilePlugins = $pathUpdateFilePlugins ?: Manager::getPluginsDirectory() . '%s/Updates/';
$this->columnsUpdater = $columnsUpdater ?: new Columns\Updater();
self::$activeInstance = $this;
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index 9a1af61163..cefb7e4080 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -480,7 +480,7 @@ class Controller extends Plugin\ControllerAdmin
$uninstalled = $this->pluginManager->uninstallPlugin($pluginName);
if (!$uninstalled) {
- $path = Filesystem::getPathToPiwikRoot() . '/plugins/' . $pluginName . '/';
+ $path = Plugin\Manager::getPluginsDirectory() . $pluginName . '/';
$messagePermissions = Filechecks::getErrorMessageMissingPermissions($path);
$messageIntro = $this->translator->translate("Warning: \"%s\" could not be uninstalled. Piwik did not have enough permission to delete the files in $path. ",
diff --git a/plugins/CorePluginsAdmin/PluginInstaller.php b/plugins/CorePluginsAdmin/PluginInstaller.php
index d2fad35c76..09ec89de59 100644
--- a/plugins/CorePluginsAdmin/PluginInstaller.php
+++ b/plugins/CorePluginsAdmin/PluginInstaller.php
@@ -15,6 +15,7 @@ use Piwik\Filesystem;
use Piwik\Piwik;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\Plugin\Dependency as PluginDependency;
+use Piwik\Plugin\Manager;
use Piwik\Plugins\Marketplace\Marketplace;
use Piwik\Unzip;
use Piwik\Plugins\Marketplace\Api\Client;
@@ -25,7 +26,6 @@ use Piwik\Plugins\Marketplace\Api\Client;
class PluginInstaller
{
const PATH_TO_DOWNLOAD = '/latest/plugins/';
- const PATH_TO_EXTRACT = '/plugins/';
private $pluginName;
@@ -131,7 +131,7 @@ class PluginInstaller
{
Filechecks::dieIfDirectoriesNotWritable(array(
StaticContainer::get('path.tmp') . self::PATH_TO_DOWNLOAD,
- self::PATH_TO_EXTRACT
+ Manager::getPluginsDirectory()
));
}
@@ -294,11 +294,12 @@ class PluginInstaller
private function copyPluginToDestination($tmpPluginFolder)
{
- $pluginTargetPath = PIWIK_USER_PATH . self::PATH_TO_EXTRACT . $this->pluginName;
+ $pluginsDir = Manager::getPluginsDirectory();
+ $pluginTargetPath = $pluginsDir . $this->pluginName;
$this->removeFolderIfExists($pluginTargetPath);
- Filesystem::copyRecursive($tmpPluginFolder, PIWIK_USER_PATH . self::PATH_TO_EXTRACT);
+ Filesystem::copyRecursive($tmpPluginFolder, $pluginsDir);
}
/**
diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php
index 9801841def..60b77aca6a 100644
--- a/plugins/LanguagesManager/API.php
+++ b/plugins/LanguagesManager/API.php
@@ -97,7 +97,7 @@ class API extends \Piwik\Plugin\API
$englishTranslation = json_decode($data, true);
// merge with plugin translations if any
- $pluginFiles = glob(sprintf('%s/plugins/*/lang/en.json', PIWIK_INCLUDE_PATH));
+ $pluginFiles = glob(sprintf('%s*/lang/en.json', Manager::getPluginsDirectory()));
foreach ($pluginFiles as $file) {
preg_match('/\/plugins\/([^\/]+)\/lang/i', $file, $matches);
@@ -117,7 +117,7 @@ class API extends \Piwik\Plugin\API
$translations = json_decode($data, true);
// merge with plugin translations if any
- $pluginFiles = glob(sprintf('%s/plugins/*/lang/%s.json', PIWIK_INCLUDE_PATH, $filename));
+ $pluginFiles = glob(sprintf('%s*/lang/%s.json', Manager::getPluginsDirectory(), $filename));
foreach ($pluginFiles as $file) {
preg_match('/\/plugins\/([^\/]+)\/lang/i', $file, $matches);
@@ -223,7 +223,7 @@ class API extends \Piwik\Plugin\API
return false;
}
- $languageFile = PIWIK_INCLUDE_PATH . "/plugins/$pluginName/lang/$languageCode.json";
+ $languageFile = Manager::getPluginsDirectory() . "$pluginName/lang/$languageCode.json";
if (!file_exists($languageFile)) {
return false;
diff --git a/plugins/LanguagesManager/Commands/PluginsWithTranslations.php b/plugins/LanguagesManager/Commands/PluginsWithTranslations.php
index 69132ab2e9..62d13cda70 100644
--- a/plugins/LanguagesManager/Commands/PluginsWithTranslations.php
+++ b/plugins/LanguagesManager/Commands/PluginsWithTranslations.php
@@ -9,6 +9,7 @@
namespace Piwik\Plugins\LanguagesManager\Commands;
+use Piwik\Plugin\Manager;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
@@ -26,9 +27,9 @@ class PluginsWithTranslations extends TranslationBase
{
$output->writeln("Following plugins contain their own translation files:");
- $pluginFiles = glob(sprintf('%s/plugins/*/lang/en.json', PIWIK_INCLUDE_PATH));
+ $pluginFiles = glob(sprintf('%s*/lang/en.json', Manager::getPluginsDirectory()));
$pluginFiles = array_map(function($elem){
- return str_replace(array(sprintf('%s/plugins/', PIWIK_INCLUDE_PATH), '/lang/en.json'), '', $elem);
+ return str_replace(array(Manager::getPluginsDirectory(), '/lang/en.json'), '', $elem);
}, $pluginFiles);
$output->writeln(join("\n", $pluginFiles));
diff --git a/plugins/LanguagesManager/Commands/Update.php b/plugins/LanguagesManager/Commands/Update.php
index cfe0472b31..4e79b8383b 100644
--- a/plugins/LanguagesManager/Commands/Update.php
+++ b/plugins/LanguagesManager/Commands/Update.php
@@ -158,9 +158,9 @@ class Update extends TranslationBase
return $pluginsWithTranslations;
}
- $pluginsWithTranslations = glob(sprintf('%s/plugins/*/lang/en.json', PIWIK_INCLUDE_PATH));
+ $pluginsWithTranslations = glob(sprintf('%s*/lang/en.json', Manager::getPluginsDirectory()));
$pluginsWithTranslations = array_map(function ($elem) {
- return str_replace(array(sprintf('%s/plugins/', PIWIK_INCLUDE_PATH), '/lang/en.json'), '', $elem);
+ return str_replace(array(Manager::getPluginsDirectory(), '/lang/en.json'), '', $elem);
}, $pluginsWithTranslations);
return $pluginsWithTranslations;
@@ -189,9 +189,9 @@ class Update extends TranslationBase
$pluginsNotInCore = array_merge($submodulePlugins, $newPlugins);
- $pluginsWithTranslations = glob(sprintf('%s/plugins/*/lang/en.json', PIWIK_INCLUDE_PATH));
+ $pluginsWithTranslations = glob(sprintf('%s*/lang/en.json', Manager::getPluginsDirectory()));
$pluginsWithTranslations = array_map(function ($elem) {
- return str_replace(array(sprintf('%s/plugins/', PIWIK_INCLUDE_PATH), '/lang/en.json'), '', $elem);
+ return str_replace(array(Manager::getPluginsDirectory(), '/lang/en.json'), '', $elem);
}, $pluginsWithTranslations);
$pluginsInCore = array_diff($pluginsWithTranslations, $pluginsNotInCore);
diff --git a/plugins/LanguagesManager/TranslationWriter/Writer.php b/plugins/LanguagesManager/TranslationWriter/Writer.php
index 6095f5a982..8dc2260cdb 100644
--- a/plugins/LanguagesManager/TranslationWriter/Writer.php
+++ b/plugins/LanguagesManager/TranslationWriter/Writer.php
@@ -12,6 +12,7 @@ use Exception;
use Piwik\Container\StaticContainer;
use Piwik\Filesystem;
use Piwik\Piwik;
+use Piwik\Plugin\Manager;
use Piwik\Plugins\LanguagesManager\TranslationWriter\Filter\FilterAbstract;
use Piwik\Plugins\LanguagesManager\TranslationWriter\Validate\ValidateAbstract;
@@ -201,7 +202,7 @@ class Writer
if ($base == 'tmp') {
return sprintf('%s/plugins/%s/lang/%s.json', StaticContainer::get('path.tmp'), $this->pluginName, $lang);
} else {
- return sprintf('%s/plugins/%s/lang/%s.json', PIWIK_INCLUDE_PATH, $this->pluginName, $lang);
+ return sprintf('%s%s/lang/%s.json', Manager::getPluginsDirectory(), $this->pluginName, $lang);
}
}