Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2013-09-20 00:43:25 +0400
committerThomas Steur <thomas.steur@gmail.com>2013-09-20 00:43:25 +0400
commita4f9bc4ae468f906b35d45583a11f689799408bd (patch)
tree4599abe81b77ae65efcca99793a4bce1044f2756 /plugins/CorePluginsAdmin
parent86481821d3b8fde5ce65feeb99e05cbbc5f6fbe6 (diff)
display number of available updates in admin menu
Diffstat (limited to 'plugins/CorePluginsAdmin')
-rw-r--r--plugins/CorePluginsAdmin/Controller.php37
-rw-r--r--plugins/CorePluginsAdmin/CorePluginsAdmin.php18
-rw-r--r--plugins/CorePluginsAdmin/Marketplace.php58
3 files changed, 76 insertions, 37 deletions
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index f68fe0e966..d0001570ce 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -204,7 +204,8 @@ class Controller extends \Piwik\Controller\Admin
$view->activateNonce = Nonce::getNonce('CorePluginsAdmin.activatePlugin');
$view->pluginsInfo = $this->getPluginsInfo();
- $view->pluginsHavingUpdate = $this->getPluginsHavingUpdate($themesOnly = false);
+ $marketplace = new Marketplace();
+ $view->pluginsHavingUpdate = $marketplace->getPluginsHavingUpdate($themesOnly = false);
echo $view->render();
}
@@ -350,38 +351,4 @@ class Controller extends \Piwik\Controller\Admin
$this->redirectAfterModification($redirectAfter);
}
- /**
- * @param bool $themesOnly
- * @return array
- */
- private function getPluginsHavingUpdate($themesOnly)
- {
- $loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins();
-
- $marketplace = new MarketplaceApiClient();
-
- try {
- if ($themesOnly) {
- $pluginsHavingUpdate = $marketplace->getInfoOfThemesHavingUpdate($loadedPlugins);
- } else {
- $pluginsHavingUpdate = $marketplace->getInfoOfPluginsHavingUpdate($loadedPlugins);
- }
- } catch (\Exception $e) {
- $pluginsHavingUpdate = array();
- }
-
- foreach ($pluginsHavingUpdate as $updatePlugin) {
- foreach ($loadedPlugins as $loadedPlugin) {
-
- if ($loadedPlugin->getPluginName() == $updatePlugin->name) {
- $updatePlugin->currentVersion = $loadedPlugin->getVersion();
- $updatePlugin->isActivated = PluginsManager::getInstance()->isPluginActivated($updatePlugin->name);
- break;
-
- }
- }
-
- }
- return $pluginsHavingUpdate;
- }
}
diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
index 93e7639301..347dfd82e7 100644
--- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php
+++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
@@ -37,12 +37,26 @@ class CorePluginsAdmin extends \Piwik\Plugin
function addMenu()
{
+ $marketplace = new Marketplace();
+ $pluginsHavingUpdate = $marketplace->getPluginsHavingUpdate($themesOnly = false);
+ $themesHavingUpdate = $marketplace->getPluginsHavingUpdate($themesOnly = true);
+
+ $pluginsUpdateMessage = '';
+ if (!empty($pluginsHavingUpdate)) {
+ $pluginsUpdateMessage = sprintf(' (%d)', count($pluginsHavingUpdate));
+ }
+
+ $themesUpdateMessage = '';
+ if (!empty($themesHavingUpdate)) {
+ $themesUpdateMessage = sprintf(' (%d)', count($themesHavingUpdate));
+ }
+
Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlatform', null, "", Piwik::isUserIsSuperUser(), $order = 15);
- Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlatform', 'General_Plugins',
+ Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlatform', Piwik_Translate('General_Plugins') . $pluginsUpdateMessage,
array('module' => 'CorePluginsAdmin', 'action' => 'plugins', 'activated' => ''),
Piwik::isUserIsSuperUser(),
$order = 1);
- Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlatform', 'CorePluginsAdmin_Themes',
+ Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlatform', Piwik_Translate('CorePluginsAdmin_Themes') . $themesUpdateMessage,
array('module' => 'CorePluginsAdmin', 'action' => 'themes', 'activated' => ''),
Piwik::isUserIsSuperUser(),
$order = 3);
diff --git a/plugins/CorePluginsAdmin/Marketplace.php b/plugins/CorePluginsAdmin/Marketplace.php
new file mode 100644
index 0000000000..8703d54bf8
--- /dev/null
+++ b/plugins/CorePluginsAdmin/Marketplace.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ * @category Piwik_Plugins
+ * @package CorePluginsAdmin
+ */
+namespace Piwik\Plugins\CorePluginsAdmin;
+
+use Piwik\Piwik;
+use Piwik\PluginsManager;
+
+/**
+ *
+ * @package CorePluginsAdmin
+ */
+class Marketplace
+{
+
+ /**
+ * @param bool $themesOnly
+ * @return array
+ */
+ public function getPluginsHavingUpdate($themesOnly)
+ {
+ $loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins();
+
+ $marketplace = new MarketplaceApiClient();
+
+ try {
+ if ($themesOnly) {
+ $pluginsHavingUpdate = $marketplace->getInfoOfThemesHavingUpdate($loadedPlugins);
+ } else {
+ $pluginsHavingUpdate = $marketplace->getInfoOfPluginsHavingUpdate($loadedPlugins);
+ }
+ } catch (\Exception $e) {
+ $pluginsHavingUpdate = array();
+ }
+
+ foreach ($pluginsHavingUpdate as $updatePlugin) {
+ foreach ($loadedPlugins as $loadedPlugin) {
+
+ if ($loadedPlugin->getPluginName() == $updatePlugin->name) {
+ $updatePlugin->currentVersion = $loadedPlugin->getVersion();
+ $updatePlugin->isActivated = PluginsManager::getInstance()->isPluginActivated($updatePlugin->name);
+ break;
+
+ }
+ }
+
+ }
+ return $pluginsHavingUpdate;
+ }
+
+}