Exemplo n.º 1
0
 private function installPluginIfNecessary(Piwik_Plugin $plugin)
 {
     $pluginName = $plugin->getClassName();
     // is the plugin already installed or is it the first time we activate it?
     $pluginsInstalled = $this->getInstalledPluginsName();
     if (!in_array($pluginName, $pluginsInstalled)) {
         $this->installPlugin($plugin);
         $pluginsInstalled[] = $pluginName;
         Zend_Registry::get('config')->PluginsInstalled = array('PluginsInstalled' => $pluginsInstalled);
     }
     $information = $plugin->getInformation();
     // if the plugin is to be loaded during the statistics logging
     if (isset($information['TrackerPlugin']) && $information['TrackerPlugin'] === true) {
         $pluginsTracker = Zend_Registry::get('config')->Plugins_Tracker->Plugins_Tracker;
         if (is_null($pluginsTracker)) {
             $pluginsTracker = array();
         } else {
             $pluginsTracker = $pluginsTracker->toArray();
         }
         if (!in_array($pluginName, $pluginsTracker)) {
             $pluginsTracker[] = $pluginName;
             Zend_Registry::get('config')->Plugins_Tracker = array('Plugins_Tracker' => $pluginsTracker);
         }
     }
 }