コード例 #1
0
ファイル: Marketplace.php プロジェクト: JoeHorn/piwik
 /**
  * @param bool $themesOnly
  * @return array
  */
 public function getPluginsHavingUpdate($themesOnly)
 {
     $pluginManager = \Piwik\Plugin\Manager::getInstance();
     $pluginManager->loadAllPluginsAndGetTheirInfo();
     $loadedPlugins = $pluginManager->getLoadedPlugins();
     try {
         $pluginsHavingUpdate = $this->client->getInfoOfPluginsHavingUpdate($loadedPlugins, $themesOnly);
     } catch (\Exception $e) {
         $pluginsHavingUpdate = array();
     }
     foreach ($pluginsHavingUpdate as $key => $updatePlugin) {
         foreach ($loadedPlugins as $loadedPlugin) {
             if (!empty($updatePlugin['name']) && $loadedPlugin->getPluginName() == $updatePlugin['name']) {
                 $updatePlugin['currentVersion'] = $loadedPlugin->getVersion();
                 $updatePlugin['isActivated'] = $pluginManager->isPluginActivated($updatePlugin['name']);
                 $pluginsHavingUpdate[$key] = $this->addMissingRequirements($updatePlugin);
                 break;
             }
         }
     }
     // remove plugins that have updates but for some reason are not loaded
     foreach ($pluginsHavingUpdate as $key => $updatePlugin) {
         if (empty($updatePlugin['currentVersion'])) {
             unset($pluginsHavingUpdate[$key]);
         }
     }
     return $pluginsHavingUpdate;
 }
コード例 #2
0
 /**
  * @param bool $themesOnly
  * @return array
  */
 public function getPluginsHavingUpdate($themesOnly)
 {
     $pluginManager = \Piwik\Plugin\Manager::getInstance();
     $pluginManager->returnLoadedPluginsInfo();
     $loadedPlugins = $pluginManager->getLoadedPlugins();
     try {
         $pluginsHavingUpdate = $this->client->getInfoOfPluginsHavingUpdate($loadedPlugins, $themesOnly);
     } catch (\Exception $e) {
         $pluginsHavingUpdate = array();
     }
     foreach ($pluginsHavingUpdate as &$updatePlugin) {
         foreach ($loadedPlugins as $loadedPlugin) {
             if (!empty($updatePlugin['name']) && $loadedPlugin->getPluginName() == $updatePlugin['name']) {
                 $updatePlugin['currentVersion'] = $loadedPlugin->getVersion();
                 $updatePlugin['isActivated'] = $pluginManager->isPluginActivated($updatePlugin['name']);
                 $updatePlugin = $this->addMissingRequirements($updatePlugin);
                 break;
             }
         }
     }
     return $pluginsHavingUpdate;
 }