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:
-rw-r--r--config/global.ini.php7
-rw-r--r--core/Plugin/Manager.php63
-rw-r--r--core/Updates/2.6.0-b1.php30
-rwxr-xr-xtests/LocalTracker.php2
-rw-r--r--tests/PHPUnit/TestingEnvironment.php6
5 files changed, 54 insertions, 54 deletions
diff --git a/config/global.ini.php b/config/global.ini.php
index 564f2e0900..008d99cd3b 100644
--- a/config/global.ini.php
+++ b/config/global.ini.php
@@ -676,13 +676,6 @@ PluginsInstalled[] = UsersManager
PluginsInstalled[] = SitesManager
PluginsInstalled[] = Installation
-[Plugins_Tracker]
-Plugins_Tracker[] = Provider
-Plugins_Tracker[] = Goals
-Plugins_Tracker[] = PrivacyManager
-Plugins_Tracker[] = UserCountry
-Plugins_Tracker[] = Login
-
[APISettings]
; Any key/value pair can be added in this section, they will be available via the REST call
; index.php?module=API&method=API.getSettings
diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php
index f7a03678e5..a777ef03e1 100644
--- a/core/Plugin/Manager.php
+++ b/core/Plugin/Manager.php
@@ -9,6 +9,7 @@
namespace Piwik\Plugin;
+use Piwik\Cache\PersistentCache;
use Piwik\Cache\PluginAwareStaticCache;
use Piwik\Cache\StaticCache;
use Piwik\CacheFile;
@@ -116,8 +117,30 @@ class Manager extends Singleton
*/
public function loadTrackerPlugins()
{
+ $cache = new PersistentCache('PluginsTracker');
+
+ if ($cache->has()) {
+ $pluginsTracker = $cache->get();
+ } else {
+
+ $this->unloadPlugins();
+ $this->loadActivatedPlugins();
+
+ $pluginsTracker = array();
+
+ foreach ($this->loadedPlugins as $pluginName => $plugin) {
+ if ($this->isTrackerPlugin($plugin)) {
+ $pluginsTracker[] = $pluginName;
+ }
+ }
+
+ if (!empty($pluginsTracker)) {
+ $cache->set($pluginsTracker);
+ }
+ }
+
$this->unloadPlugins();
- $pluginsTracker = PiwikConfig::getInstance()->Plugins_Tracker['Plugins_Tracker'];
+
if (empty($pluginsTracker)) {
return array();
}
@@ -164,18 +187,6 @@ class Manager extends Singleton
}
/**
- * Update Plugins_Tracker config
- *
- * @param array $plugins Plugins
- */
- private function updatePluginsTrackerConfig($plugins)
- {
- $section = PiwikConfig::getInstance()->Plugins_Tracker;
- $section['Plugins_Tracker'] = $plugins;
- PiwikConfig::getInstance()->Plugins_Tracker = $section;
- }
-
- /**
* Update PluginsInstalled config
*
* @param array $plugins Plugins
@@ -1098,19 +1109,6 @@ class Manager extends Singleton
$saveConfig = true;
}
- if ($this->isTrackerPlugin($plugin)) {
- $pluginsTracker = PiwikConfig::getInstance()->Plugins_Tracker['Plugins_Tracker'];
- if (is_null($pluginsTracker)) {
- $pluginsTracker = array();
- }
- if (!in_array($pluginName, $pluginsTracker)) {
- Log::verbose("Adding this plugin to the list of Tracker plugins: $pluginName");
- $pluginsTracker[] = $pluginName;
- $this->updatePluginsTrackerConfig($pluginsTracker);
- $saveConfig = true;
- }
- }
-
if ($saveConfig) {
PiwikConfig::getInstance()->forceSave();
}
@@ -1181,18 +1179,6 @@ class Manager extends Singleton
$this->updatePluginsConfig($pluginsEnabled);
}
- private function removePluginFromTrackerConfig($pluginName)
- {
- $pluginsTracker = PiwikConfig::getInstance()->Plugins_Tracker['Plugins_Tracker'];
- if (!is_null($pluginsTracker)) {
- $key = array_search($pluginName, $pluginsTracker);
- if ($key !== false) {
- unset($pluginsTracker[$key]);
- $this->updatePluginsTrackerConfig($pluginsTracker);
- }
- }
- }
-
/**
* @param string $pathToTranslationFile
* @throws \Exception
@@ -1273,7 +1259,6 @@ class Manager extends Singleton
private function removePluginFromConfig($pluginName)
{
$this->removePluginFromPluginsConfig($pluginName);
- $this->removePluginFromTrackerConfig($pluginName);
PiwikConfig::getInstance()->forceSave();
}
diff --git a/core/Updates/2.6.0-b1.php b/core/Updates/2.6.0-b1.php
new file mode 100644
index 0000000000..5819ca95f9
--- /dev/null
+++ b/core/Updates/2.6.0-b1.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+
+namespace Piwik\Updates;
+
+use Piwik\Config;
+use Piwik\Updates;
+
+/**
+ * Update for version 2.6.0-b1.
+ */
+class Updates_2_6_0_b1 extends Updates
+{
+ /**
+ * Here you can define any action that should be performed during the update. For instance executing SQL statements,
+ * renaming config entries, updating files, etc.
+ */
+ static function update()
+ {
+ $config = Config::getInstance();
+ $config->Plugins_Tracker = array();
+ $config->forceSave();
+ }
+}
diff --git a/tests/LocalTracker.php b/tests/LocalTracker.php
index 366996b465..46243ef340 100755
--- a/tests/LocalTracker.php
+++ b/tests/LocalTracker.php
@@ -51,7 +51,6 @@ class Piwik_LocalTracker extends PiwikTracker
// save some values
$plugins = Config::getInstance()->Plugins['Plugins'];
- $pluginsTracker = Config::getInstance()->Plugins_Tracker['Plugins_Tracker'];
$oldTrackerConfig = Config::getInstance()->Tracker;
\Piwik\Plugin\Manager::getInstance()->unloadPlugins();
@@ -85,7 +84,6 @@ class Piwik_LocalTracker extends PiwikTracker
ob_end_clean();
// restore vars
- Config::getInstance()->Plugins_Tracker['Plugins_Tracker'] = $pluginsTracker;
Config::getInstance()->Tracker = $oldTrackerConfig;
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = $oldLang;
$_SERVER['HTTP_USER_AGENT'] = $oldUserAgent;
diff --git a/tests/PHPUnit/TestingEnvironment.php b/tests/PHPUnit/TestingEnvironment.php
index c61ca8825b..be22cd2b9e 100644
--- a/tests/PHPUnit/TestingEnvironment.php
+++ b/tests/PHPUnit/TestingEnvironment.php
@@ -166,12 +166,6 @@ class Piwik_TestingEnvironment
$local['Plugins'] = array('Plugins' => $pluginsToLoad);
- $trackerPluginsToLoad = array_filter($local['Plugins']['Plugins'], function ($plugin) use ($manager) {
- return $manager->isTrackerPlugin($manager->loadPlugin($plugin));
- });
-
- $local['Plugins_Tracker'] = array('Plugins_Tracker' => $trackerPluginsToLoad);
-
$local['log']['log_writers'] = array('file');
$manager->unloadPlugins();