From d8a69b158d6a5eff45e20e88b71fc2097fa9ee9d Mon Sep 17 00:00:00 2001
From: Thomas Steur <thomas.steur@gmail.com>
Date: Thu, 23 Jan 2014 02:40:54 +0000
Subject: [PATCH] refs #4564 fixed some permission issues and removed the todo
 tags

---
 core/Access.php                     | 2 --
 core/Piwik.php                      | 5 -----
 plugins/UsersManager/API.php        | 9 ++++++++-
 plugins/UsersManager/Controller.php | 2 +-
 tests/PHPUnit/FakeAccess.php        | 1 -
 5 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/core/Access.php b/core/Access.php
index e404e69d94..7d35ed72cf 100644
--- a/core/Access.php
+++ b/core/Access.php
@@ -249,7 +249,6 @@ class Access
     /**
      * @see Access::hasSuperUserAccess()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     public function isSuperUser()
     {
@@ -345,7 +344,6 @@ class Access
     /**
      * @see Access::checkUserHasSuperUserAccess()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     public function checksUserIsSuperUser()
     {
diff --git a/core/Piwik.php b/core/Piwik.php
index b3c91a6aa2..000ad8dd8f 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -288,7 +288,6 @@ class Piwik
     /**
      * @see Piwik::hasUserSuperUserAccessOrIsTheUser()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     static public function isUserIsSuperUserOrTheUser($theUser)
     {
@@ -298,7 +297,6 @@ class Piwik
     /**
      * @see Piwik::checkUserHasSuperUserAccessOrIsTheUser()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     static public function checkUserIsSuperUserOrTheUser($theUser)
     {
@@ -354,7 +352,6 @@ class Piwik
     /**
      * @see Piwik::hasUserSuperUserAccess()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     static public function isUserIsSuperUser()
     {
@@ -420,7 +417,6 @@ class Piwik
     /**
      * @see Piwik::setUserHasSuperUserAccess()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     static public function setUserIsSuperUser($bool = true)
     {
@@ -430,7 +426,6 @@ class Piwik
     /**
      * @see Piwik::checkUserHasSuperUserAccess()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     static public function checkUserIsSuperUser()
     {
diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php
index 0336e26fe7..87593b2ed6 100644
--- a/plugins/UsersManager/API.php
+++ b/plugins/UsersManager/API.php
@@ -582,7 +582,7 @@ class API extends \Piwik\Plugin\API
     {
         $this->checkAccessType($access);
         $this->checkUserExists($userLogin);
-        $this->checkUserIsNotConfigSuperUser($userLogin);
+        $this->checkUserHasNotSuperUserAccess($userLogin);
 
         if ($userLogin == 'anonymous'
             && $access == 'admin'
@@ -660,6 +660,13 @@ class API extends \Piwik\Plugin\API
         }
     }
 
+    private function checkUserHasNotSuperUserAccess($userLogin)
+    {
+        if (Piwik::hasTheUserSuperUserAccess($userLogin)) {
+            throw new Exception(Piwik::translate("UsersManager_ExceptionSuperUser"));
+        }
+    }
+
     private function checkUserIsNotConfigSuperUser($userLogin)
     {
         if ($userLogin == Piwik::getConfigSuperUserLogin()) {
diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php
index 6b26c168fa..3ab739e700 100644
--- a/plugins/UsersManager/Controller.php
+++ b/plugins/UsersManager/Controller.php
@@ -88,7 +88,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
         }
 
         $superUsers = array();
-        if (Piwik::isUserHasSomeAdminAccess()) {
+        if (Piwik::hasUserSuperUserAccess()) {
             $users = APIUsersManager::getInstance()->getUsers();
             foreach ($users as $user) {
                 if ($user['superuser_access']) {
diff --git a/tests/PHPUnit/FakeAccess.php b/tests/PHPUnit/FakeAccess.php
index 19e00ab38f..45c703b545 100644
--- a/tests/PHPUnit/FakeAccess.php
+++ b/tests/PHPUnit/FakeAccess.php
@@ -54,7 +54,6 @@ class FakeAccess
     /**
      * @see FakeAccess::checkUserHasSuperUserAccess()
      * @deprecated deprecated since version 2.0.4
-     * @todo To be removed from April 1st 2014.
      */
     public function checksUserIsSuperUser()
     {
-- 
GitLab