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 <tsteur@users.noreply.github.com>2019-09-13 12:27:21 +0300
committerdiosmosis <diosmosis@users.noreply.github.com>2019-09-13 12:27:21 +0300
commiteb135d879a64ecbd33554dd51b5788f8065e037d (patch)
treebb882a979d8de52a7294ea95f318fadef97c617d /plugins/SitesManager
parent703ed9402e4aada544ec94e789021df86575ad15 (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.php3
-rw-r--r--plugins/SitesManager/Controller.php1
-rw-r--r--plugins/SitesManager/Menu.php2
-rw-r--r--plugins/SitesManager/SitesManager.php14
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'));