diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2019-09-13 12:27:21 +0300 |
---|---|---|
committer | diosmosis <diosmosis@users.noreply.github.com> | 2019-09-13 12:27:21 +0300 |
commit | eb135d879a64ecbd33554dd51b5788f8065e037d (patch) | |
tree | bb882a979d8de52a7294ea95f318fadef97c617d /plugins/SitesManager | |
parent | 703ed9402e4aada544ec94e789021df86575ad15 (diff) |
Various platform tweaks (#14832)
* platform tweaks
* prevent failing if loaded twice
* Update Config.php
* Update PluginList.php
* Update Config.php
* Update IniFileChain.php
* Update Config.php
* Update Config.php
* allow configure different path for custom logo
* only show install plugin button when activated
* allow disable users and sites management
* do not allow calling set super user access
* Update PluginList.php
* Update Config.php
* Update global.ini.php
* Update Config.php
* Update global.ini.php
Diffstat (limited to 'plugins/SitesManager')
-rw-r--r-- | plugins/SitesManager/API.php | 3 | ||||
-rw-r--r-- | plugins/SitesManager/Controller.php | 1 | ||||
-rw-r--r-- | plugins/SitesManager/Menu.php | 2 | ||||
-rw-r--r-- | plugins/SitesManager/SitesManager.php | 14 |
4 files changed, 19 insertions, 1 deletions
diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php index b8da10cf39..909d694f23 100644 --- a/plugins/SitesManager/API.php +++ b/plugins/SitesManager/API.php @@ -615,6 +615,7 @@ class API extends \Piwik\Plugin\API $excludeUnknownUrls = null) { Piwik::checkUserHasSuperUserAccess(); + SitesManager::dieIfSitesAdminIsDisabled(); $this->checkName($siteName); @@ -795,6 +796,7 @@ class API extends \Piwik\Plugin\API public function deleteSite($idSite) { Piwik::checkUserHasSuperUserAccess(); + SitesManager::dieIfSitesAdminIsDisabled(); $idSites = $this->getSitesId(); if (!in_array($idSite, $idSites)) { @@ -1255,6 +1257,7 @@ class API extends \Piwik\Plugin\API $excludeUnknownUrls = null) { Piwik::checkUserHasAdminAccess($idSite); + SitesManager::dieIfSitesAdminIsDisabled(); $idSites = $this->getSitesId(); diff --git a/plugins/SitesManager/Controller.php b/plugins/SitesManager/Controller.php index 2d6c4a7824..da66d3a248 100644 --- a/plugins/SitesManager/Controller.php +++ b/plugins/SitesManager/Controller.php @@ -33,6 +33,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin public function index() { Piwik::checkUserHasSomeAdminAccess(); + SitesManager::dieIfSitesAdminIsDisabled(); return $this->renderTemplate('index'); } diff --git a/plugins/SitesManager/Menu.php b/plugins/SitesManager/Menu.php index d37353cada..f8b94dc97a 100644 --- a/plugins/SitesManager/Menu.php +++ b/plugins/SitesManager/Menu.php @@ -28,7 +28,7 @@ class Menu extends \Piwik\Plugin\Menu $menu->addMeasurableItem('General_Settings', $this->urlForAction('globalSettings'), $order = 11); } - if (Piwik::isUserHasSomeAdminAccess()) { + if (Piwik::isUserHasSomeAdminAccess() && SitesManager::isSitesAdminEnabled()) { $menu->addMeasurableItem('SitesManager_MenuManage', $this->urlForAction('index'), $order = 10); $type = $this->getFirstTypeIfOnlyOneIsInUse(); diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php index 751c599f3a..23b7108c7b 100644 --- a/plugins/SitesManager/SitesManager.php +++ b/plugins/SitesManager/SitesManager.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\SitesManager; use Piwik\Access; use Piwik\API\Request; use Piwik\Common; +use Piwik\Config; use Piwik\Container\StaticContainer; use Piwik\Exception\UnexpectedWebsiteFoundException; use Piwik\Option; @@ -47,6 +48,19 @@ class SitesManager extends \Piwik\Plugin ); } + public static function isSitesAdminEnabled() + { + return (bool) Config::getInstance()->General['enable_sites_admin']; + } + + public static function dieIfSitesAdminIsDisabled() + { + Piwik::checkUserIsNotAnonymous(); + if (!self::isSitesAdminEnabled()) { + throw new \Exception('Creating, updating, and deleting sites has been disabled.'); + } + } + public function addSystemSummaryItems(&$systemSummary) { $websites = Request::processRequest('SitesManager.getAllSites', array('filter_limit' => '-1')); |