diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2013-09-19 11:24:12 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2013-09-19 11:24:12 +0400 |
commit | de959a317c7d57ba596f1bdd5eb02cbf3dd78d21 (patch) | |
tree | fc6941cb5a6b2d80aa74c5a2799a53c4d83f73ee | |
parent | 8efd3fe042105bb707b7f4edf10883365ff6fe39 (diff) |
refs #4053 catch possible error while fetching plugins from marketplace
-rw-r--r-- | plugins/CorePluginsAdmin/Controller.php | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php index 4f6f486a2a..f68fe0e966 100644 --- a/plugins/CorePluginsAdmin/Controller.php +++ b/plugins/CorePluginsAdmin/Controller.php @@ -143,9 +143,8 @@ class Controller extends \Piwik\Controller\Admin $view = $this->configureView('@CorePluginsAdmin/browsePlugins'); $plugins = $marketplace->searchForPlugins('', $query, $sort); - $loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins(); foreach ($plugins as $plugin) { - $plugin->isInstalled = !empty($loadedPlugins[$plugin->name]); + $plugin->isInstalled = PluginsManager::getInstance()->isPluginLoaded($plugin->name); $plugin->lastUpdated = Date::factory($plugin->lastUpdated)->getLocalized(Piwik_Translate('CoreHome_ShortDateFormatWithYear')); } @@ -170,9 +169,8 @@ class Controller extends \Piwik\Controller\Admin $view = $this->configureView('@CorePluginsAdmin/browseThemes'); $plugins = $marketplace->searchForThemes('', $query, $sort); - $loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins(); foreach ($plugins as $plugin) { - $plugin->isInstalled = !empty($loadedPlugins[$plugin->name]); + $plugin->isInstalled = PluginsManager::getInstance()->isPluginLoaded($plugin->name); $plugin->lastUpdated = Date::factory($plugin->lastUpdated)->getLocalized(Piwik_Translate('CoreHome_ShortDateFormatWithYear')); } @@ -362,10 +360,14 @@ class Controller extends \Piwik\Controller\Admin $marketplace = new MarketplaceApiClient(); - if ($themesOnly) { - $pluginsHavingUpdate = $marketplace->getInfoOfThemesHavingUpdate($loadedPlugins); - } else { - $pluginsHavingUpdate = $marketplace->getInfoOfPluginsHavingUpdate($loadedPlugins); + try { + if ($themesOnly) { + $pluginsHavingUpdate = $marketplace->getInfoOfThemesHavingUpdate($loadedPlugins); + } else { + $pluginsHavingUpdate = $marketplace->getInfoOfPluginsHavingUpdate($loadedPlugins); + } + } catch (\Exception $e) { + $pluginsHavingUpdate = array(); } foreach ($pluginsHavingUpdate as $updatePlugin) { |