/** * @return array names of plugins that have been loaded */ public function loadTrackerPlugins() { $this->unloadPlugins(); $pluginsTracker = PiwikConfig::getInstance()->Plugins_Tracker['Plugins_Tracker']; if (empty($pluginsTracker)) { return array(); } $pluginsTracker = array_diff($pluginsTracker, Tracker::getPluginsNotToLoad()); $this->doNotLoadAlwaysActivatedPlugins(); $this->loadPlugins($pluginsTracker); return $pluginsTracker; }
/** * @return array names of plugins that have been loaded */ public function loadTrackerPlugins() { $this->unloadPlugins(); $pluginsTracker = PiwikConfig::getInstance()->Plugins_Tracker['Plugins_Tracker']; if (empty($pluginsTracker)) { return array(); } $pluginsTracker = array_diff($pluginsTracker, Tracker::getPluginsNotToLoad()); if (defined('PIWIK_TEST_MODE')) { $pluginsTracker = array_intersect($pluginsTracker, $this->getPluginsToLoadDuringTests()); } $this->doNotLoadAlwaysActivatedPlugins(); $this->loadPlugins($pluginsTracker); return $pluginsTracker; }
/** * @return array names of plugins that have been loaded */ 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(); if (empty($pluginsTracker)) { return array(); } $pluginsTracker = array_diff($pluginsTracker, Tracker::getPluginsNotToLoad()); $this->doNotLoadAlwaysActivatedPlugins(); $this->loadPlugins($pluginsTracker); return $pluginsTracker; }
/** * Used to initialize core Piwik components on a piwik.php request * Eg. when cache is missed and we will be calling some APIs to generate cache */ public static function initCorePiwikInTrackerMode() { if (!empty($GLOBALS['PIWIK_TRACKER_MODE']) && self::$initTrackerMode === false) { self::$initTrackerMode = true; require_once PIWIK_INCLUDE_PATH . '/core/Loader.php'; require_once PIWIK_INCLUDE_PATH . '/core/Option.php'; $access = Access::getInstance(); $config = Config::getInstance(); try { $db = Db::get(); } catch (Exception $e) { Db::createDatabaseObject(); } $pluginsManager = \Piwik\Plugin\Manager::getInstance(); $pluginsToLoad = Config::getInstance()->Plugins['Plugins']; $pluginsForcedNotToLoad = Tracker::getPluginsNotToLoad(); $pluginsToLoad = array_diff($pluginsToLoad, $pluginsForcedNotToLoad); $pluginsToLoad = array_merge($pluginsToLoad, Tracker::getPluginsToLoad()); $pluginsManager->loadPlugins($pluginsToLoad); } }