diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2019-10-03 02:26:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-03 02:26:35 +0300 |
commit | e5d410561b2e2e0b0601762484a42c425ec4c522 (patch) | |
tree | 161500bbafd0ca2992fc80f324f9f3ea6bf25e4b | |
parent | a4b19cfc5adc166fc025db2093972947f9459fc3 (diff) |
Check if widget is enabled in admin home before checking it, fix system summary (#14930)
-rw-r--r-- | plugins/CoreAdminHome/Controller.php | 4 | ||||
-rw-r--r-- | plugins/CoreAdminHome/templates/home.twig | 10 | ||||
-rw-r--r-- | plugins/CoreHome/Widgets/QuickLinks.php | 10 | ||||
-rw-r--r-- | plugins/CoreHome/templates/quickLinks.twig | 6 | ||||
-rw-r--r-- | plugins/SitesManager/SitesManager.php | 8 | ||||
-rw-r--r-- | plugins/Tour/Engagement/Challenges.php | 6 | ||||
-rw-r--r-- | plugins/UsersManager/UsersManager.php | 4 |
7 files changed, 37 insertions, 11 deletions
diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php index be3189e649..5e9c6b961d 100644 --- a/plugins/CoreAdminHome/Controller.php +++ b/plugins/CoreAdminHome/Controller.php @@ -62,6 +62,8 @@ class Controller extends ControllerAdmin $hasNewPlugins = $widgetsList->isDefined('Marketplace', 'getNewPlugins'); $hasDiagnostics = $widgetsList->isDefined('Installation', 'getSystemCheck'); $hasTrackingFailures = $widgetsList->isDefined('CoreAdminHome', 'getTrackingFailures'); + $hasQuickLinks = $widgetsList->isDefined('CoreHome', 'quickLinks'); + $hasSystemSummary = $widgetsList->isDefined('CoreHome', 'getSystemSummary'); return $this->renderTemplate('home', array( 'isInternetEnabled' => $isInternetEnabled, @@ -73,6 +75,8 @@ class Controller extends ControllerAdmin 'hasPiwikBlog' => $hasPiwikBlog, 'hasDiagnostics' => $hasDiagnostics, 'hasTrackingFailures' => $hasTrackingFailures, + 'hasQuickLinks' => $hasQuickLinks, + 'hasSystemSummary' => $hasSystemSummary, )); } diff --git a/plugins/CoreAdminHome/templates/home.twig b/plugins/CoreAdminHome/templates/home.twig index a54c0b17aa..2f8e8cb904 100644 --- a/plugins/CoreAdminHome/templates/home.twig +++ b/plugins/CoreAdminHome/templates/home.twig @@ -18,10 +18,12 @@ {% if isSuperUser %} <div class="row"> - <div class="col s12 {% if isFeedbackEnabled %}m4{% else %}m6{% endif %}"> - <div piwik-widget-loader='{"module":"CoreHome","action":"quickLinks"}'></div> - <div piwik-widget-loader='{"module":"CoreHome","action":"getSystemSummary"}'></div> - </div> + {% if hasQuickLinks or hasSystemSummary %} + <div class="col s12 {% if isFeedbackEnabled %}m4{% else %}m6{% endif %}"> + {% if hasQuickLinks %}<div piwik-widget-loader='{"module":"CoreHome","action":"quickLinks"}'></div>{% endif %} + {% if hasSystemSummary %}<div piwik-widget-loader='{"module":"CoreHome","action":"getSystemSummary"}'></div>{% endif %} + </div> + {% endif %} {% if hasDiagnostics or hasTrackingFailures %} <div class="col s12 {% if isFeedbackEnabled %}m4{% else %}m6{% endif %}"> {% if hasDiagnostics %} diff --git a/plugins/CoreHome/Widgets/QuickLinks.php b/plugins/CoreHome/Widgets/QuickLinks.php index 9f543ff51b..88349e743a 100644 --- a/plugins/CoreHome/Widgets/QuickLinks.php +++ b/plugins/CoreHome/Widgets/QuickLinks.php @@ -5,6 +5,8 @@ namespace Piwik\Plugins\CoreHome\Widgets; use Piwik\Piwik; +use Piwik\Plugins\SitesManager\SitesManager; +use Piwik\Plugins\UsersManager\UsersManager; use Piwik\Widget\Widget; use Piwik\Widget\WidgetConfig; @@ -20,7 +22,13 @@ class QuickLinks extends Widget public function render() { - return $this->renderTemplate('quickLinks'); + $hasUsersAdmin = UsersManager::isUsersAdminEnabled(); + $hasSitesAdmin = SitesManager::isSitesAdminEnabled(); + + return $this->renderTemplate('quickLinks', array( + 'hasUsersAdmin' => $hasUsersAdmin, + 'hasSitesAdmin' => $hasSitesAdmin, + )); } }
\ No newline at end of file diff --git a/plugins/CoreHome/templates/quickLinks.twig b/plugins/CoreHome/templates/quickLinks.twig index 4924351660..a44bda7230 100644 --- a/plugins/CoreHome/templates/quickLinks.twig +++ b/plugins/CoreHome/templates/quickLinks.twig @@ -1,15 +1,19 @@ <div class="widgetBody quickLinks"> + {% if hasSitesAdmin %} <div class="quickLink"> <span class="icon icon-open-source"> </span> <a href="{{ linkTo({'module': 'SitesManager', 'action': 'index', 'showaddsite': '1'}) }}" class="itemLabel"> {{ 'SitesManager_AddSite'|translate|e }} </a> </div> + {% endif %} + {% if hasUsersAdmin %} <div class="quickLink"> <span class="icon icon-user-add"> </span> <a href="{{ linkTo({'module': 'UsersManager', 'action': 'index', 'showadduser': '1'}) }}" class="itemLabel"> {{ 'UsersManager_AddUser'|translate|e }} </a> </div> + {% endif %} <br /> -</div>
\ No newline at end of file +</div> diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php index 23b7108c7b..e6a62262b4 100644 --- a/plugins/SitesManager/SitesManager.php +++ b/plugins/SitesManager/SitesManager.php @@ -63,9 +63,11 @@ class SitesManager extends \Piwik\Plugin public function addSystemSummaryItems(&$systemSummary) { - $websites = Request::processRequest('SitesManager.getAllSites', array('filter_limit' => '-1')); - $numWebsites = count($websites); - $systemSummary[] = new SystemSummary\Item($key = 'websites', Piwik::translate('CoreHome_SystemSummaryNWebsites', $numWebsites), $value = null, $url = array('module' => 'SitesManager', 'action' => 'index'), $icon = '', $order = 10); + if (self::isSitesAdminEnabled()) { + $websites = Request::processRequest('SitesManager.getAllSites', array('filter_limit' => '-1')); + $numWebsites = count($websites); + $systemSummary[] = new SystemSummary\Item($key = 'websites', Piwik::translate('CoreHome_SystemSummaryNWebsites', $numWebsites), $value = null, $url = array('module' => 'SitesManager', 'action' => 'index'), $icon = '', $order = 10); + } } public function redirectDashboardToWelcomePage(&$module, &$action) diff --git a/plugins/Tour/Engagement/Challenges.php b/plugins/Tour/Engagement/Challenges.php index ffc570930b..40b9cffece 100644 --- a/plugins/Tour/Engagement/Challenges.php +++ b/plugins/Tour/Engagement/Challenges.php @@ -12,8 +12,10 @@ use Piwik\Container\StaticContainer; use Piwik\Piwik; use Piwik\Plugin; use Piwik\Plugins\CoreAdminHome\Controller; +use Piwik\Plugins\SitesManager\SitesManager; use Piwik\Plugins\Tour\Dao\DataFinder; use Piwik\Plugins\UserCountry\UserCountry; +use Piwik\Plugins\UsersManager\UsersManager; class Challenges { @@ -45,10 +47,10 @@ class Challenges $challenges[] = StaticContainer::get(ChallengeCustomLogo::class); - if ($this->isActivePlugin('UsersManager')) { + if ($this->isActivePlugin('UsersManager') && UsersManager::isUsersAdminEnabled()) { $challenges[] = StaticContainer::get(ChallengeAddedUser::class); } - if ($this->isActivePlugin('SitesManager')) { + if ($this->isActivePlugin('SitesManager') && SitesManager::isSitesAdminEnabled()) { $challenges[] = StaticContainer::get(ChallengeAddedWebsite::class); } diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php index ede90bea93..0340acda20 100644 --- a/plugins/UsersManager/UsersManager.php +++ b/plugins/UsersManager/UsersManager.php @@ -62,6 +62,10 @@ class UsersManager extends \Piwik\Plugin public function addSystemSummaryItems(&$systemSummary) { + if (!self::isUsersAdminEnabled()) { + return; + } + $userLogins = Request::processRequest('UsersManager.getUsersLogin', array('filter_limit' => '-1')); $numUsers = count($userLogins); |