diff options
Diffstat (limited to 'core/Tracker.php')
-rw-r--r-- | core/Tracker.php | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/core/Tracker.php b/core/Tracker.php index 89fa433836..625d7d2175 100644 --- a/core/Tracker.php +++ b/core/Tracker.php @@ -46,6 +46,7 @@ class Piwik_Tracker static protected $forcedVisitorId = null; static protected $pluginsNotToLoad = array(); + static protected $pluginsToLoad = array(); /** * The set of visits to track. @@ -126,6 +127,17 @@ class Piwik_Tracker return self::$pluginsNotToLoad; } + static public function getPluginsToLoad() + { + return self::$pluginsToLoad; + } + static public function setPluginsToLoad($plugins) + { + self::$pluginsToLoad = $plugins; + } + + + /** * Update Tracker config * @@ -357,6 +369,7 @@ class Piwik_Tracker $pluginsToLoad = Piwik_Config::getInstance()->Plugins['Plugins']; $pluginsForcedNotToLoad = Piwik_Tracker::getPluginsNotToLoad(); $pluginsToLoad = array_diff($pluginsToLoad, $pluginsForcedNotToLoad); + $pluginsToLoad = array_merge($pluginsToLoad, Piwik_Tracker::getPluginsToLoad()); $pluginsManager->loadPlugins($pluginsToLoad); } } @@ -589,15 +602,15 @@ class Piwik_Tracker } try { - $pluginsTracker = Piwik_Config::getInstance()->Plugins_Tracker; - if (is_array($pluginsTracker) - && count($pluginsTracker) != 0 - ) { - $pluginsTracker['Plugins_Tracker'] = array_diff($pluginsTracker['Plugins_Tracker'], self::getPluginsNotToLoad()); + $pluginsTracker = Piwik_Config::getInstance()->Plugins_Tracker['Plugins_Tracker']; + if (count($pluginsTracker) > 0) { + $pluginsTracker = $pluginsTracker; + $pluginsTracker = array_diff($pluginsTracker, self::getPluginsNotToLoad()); Piwik_PluginsManager::getInstance()->doNotLoadAlwaysActivatedPlugins(); - Piwik_PluginsManager::getInstance()->loadPlugins($pluginsTracker['Plugins_Tracker']); - printDebug("Loading plugins: { " . implode(",", $pluginsTracker['Plugins_Tracker']) . " }"); + Piwik_PluginsManager::getInstance()->loadPlugins($pluginsTracker); + + printDebug("Loading plugins: { " . implode(",", $pluginsTracker) . " }"); } } catch (Exception $e) { printDebug("ERROR: " . $e->getMessage()); @@ -757,6 +770,9 @@ class Piwik_Tracker // Disable provider plugin, because it is so slow to do reverse ip lookup in dev environment somehow self::setPluginsNotToLoad($pluginsDisabled); + + // we load 'DevicesDetection' in tests only (disabled by default) + self::setPluginsToLoad( array('DevicesDetection') ); } } |