/** * 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); } }