/** * Returns any updates that should occur for core and all plugins that are both loaded and * installed. Also includes updates required for dimensions. * * @return string[]|null Returns the result of `getComponentsWithUpdateFile()`. */ public function getComponentUpdates() { $componentsToCheck = array('core' => Version::VERSION); $manager = \Piwik\Plugin\Manager::getInstance(); $plugins = $manager->getLoadedPlugins(); foreach ($plugins as $pluginName => $plugin) { if ($manager->isPluginInstalled($pluginName)) { $componentsToCheck[$pluginName] = $plugin->getVersion(); } } $columnsVersions = $this->columnsUpdater->getAllVersions($this); foreach ($columnsVersions as $component => $version) { $componentsToCheck[$component] = $version; } $componentsWithUpdateFile = $this->getComponentsWithUpdateFile($componentsToCheck); if (count($componentsWithUpdateFile) == 0) { $this->columnsUpdater->onNoUpdateAvailable($columnsVersions); if (!$this->hasNewVersion('core')) { return null; } } return $componentsWithUpdateFile; }
public static function getComponentUpdates(Updater $updater) { $updater->addComponentToCheck('core', Version::VERSION); $manager = \Piwik\Plugin\Manager::getInstance(); $plugins = $manager->getLoadedPlugins(); foreach ($plugins as $pluginName => $plugin) { if ($manager->isPluginInstalled($pluginName)) { $updater->addComponentToCheck($pluginName, $plugin->getVersion()); } } $columnsVersions = ColumnsUpdater::getAllVersions(); foreach ($columnsVersions as $component => $version) { $updater->addComponentToCheck($component, $version); } $componentsWithUpdateFile = $updater->getComponentsWithUpdateFile(); if (count($componentsWithUpdateFile) == 0) { ColumnsUpdater::onNoUpdateAvailable($columnsVersions); if (!$updater->hasNewVersion('core')) { return null; } } return $componentsWithUpdateFile; }