From 64416dc79f47c7f3fb4d1387c85ad7d78d01abc1 Mon Sep 17 00:00:00 2001
From: Matthieu Aubry <mattab@users.noreply.github.com>
Date: Tue, 21 Feb 2017 11:27:13 +0100
Subject: [PATCH] Make activated plugins count in Admin widget correct (#11377)

* Do not count always activated plugins.
Fixes #11144

* UI test: Fixed count of activated plugins
---
 core/Plugin/Manager.php                         |   5 +++--
 plugins/CoreHome/Widgets/GetSystemSummary.php   |   6 +++---
 .../UIIntegrationTest_admin_home.png            | Bin 131 -> 131 bytes
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php
index 9cf941a135..b1e97f7f8b 100644
--- a/core/Plugin/Manager.php
+++ b/core/Plugin/Manager.php
@@ -554,13 +554,14 @@ class Manager
         throw new \Exception('Theme not found : ' . $themeName);
     }
 
-    public function getNumberOfActivatedPlugins()
+    public function getNumberOfActivatedPluginsExcludingAlwaysActivated()
     {
         $counter = 0;
 
         $pluginNames = $this->getLoadedPluginsName();
         foreach ($pluginNames as $pluginName) {
-            if ($this->isPluginActivated($pluginName)) {
+            if ($this->isPluginActivated($pluginName)
+                && !$this->isPluginAlwaysActivated($pluginName)) {
                 $counter++;
             }
         }
diff --git a/plugins/CoreHome/Widgets/GetSystemSummary.php b/plugins/CoreHome/Widgets/GetSystemSummary.php
index fcd7d76316..f68ce36d4f 100644
--- a/plugins/CoreHome/Widgets/GetSystemSummary.php
+++ b/plugins/CoreHome/Widgets/GetSystemSummary.php
@@ -58,7 +58,7 @@ class GetSystemSummary extends Widget
             'numWebsites' => count($websites),
             'numUsers' => $numUsers,
             'numSegments' => $this->getNumSegments(),
-            'numPlugins' => $this->getNumPlugins(),
+            'numPlugins' => $this->getNumActivatedPlugins(),
             'piwikVersion' => Version::VERSION,
             'mySqlVersion' => $this->getMySqlVersion(),
             'phpVersion' => phpversion()
@@ -77,8 +77,8 @@ class GetSystemSummary extends Widget
         return $db->getServerVersion();
     }
 
-    private function getNumPlugins()
+    private function getNumActivatedPlugins()
     {
-        return count($this->pluginManager->getActivatedPlugins());
+        return $this->pluginManager->getNumberOfActivatedPluginsExcludingAlwaysActivated();
     }
 }
\ No newline at end of file
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png
index db62d73aaca0bd4f12b9c556695f8884d84b563f..b90c7f5d5eba2a74a5829b4897fe930b95bbf345 100644
GIT binary patch
delta 84
zcmWN{yAgme2msJan<*Rt$Ojn0AqXLN)^@g8z>)RUZ>OE!elB){!GS((j#@$%O)UU0
gO{6$tH!d9P)KCdTZD?QSf&AB&@9T*JsY`A70|WvWBLDyZ

delta 84
zcmWN}yAgmO3;@uhWeP_iUtkD_NPyf~+u6E+BTMzV_og>}dOA&1btdgNg`tqGU?OBt
f9Mx^YrY^?LAqJtNmR8I-`e2uQU(Y&VA5HQPz@-*h

-- 
GitLab