From 4c0bcdecabe1308cf6f06eea7f99c6aebe0cabdc Mon Sep 17 00:00:00 2001
From: Jaime Perez Crespo <jaime.perez@uninett.no>
Date: Thu, 16 Apr 2015 17:05:21 +0200
Subject: [PATCH] Move SimpleSAML_Utilities::isAdmin() to
 SimpleSAML_Utils_Auth::isAdmin(). Deprecate the former and stop using it.

---
 lib/SimpleSAML/Utilities.php              | 11 +++--------
 lib/SimpleSAML/Utils/Auth.php             | 24 +++++++++++++++++++++++
 modules/core/www/frontpage_auth.php       |  2 +-
 modules/core/www/frontpage_config.php     |  2 +-
 modules/core/www/frontpage_federation.php |  2 +-
 modules/core/www/frontpage_welcome.php    |  2 +-
 modules/statistics/lib/AccessCheck.php    |  2 +-
 7 files changed, 32 insertions(+), 13 deletions(-)
 create mode 100644 lib/SimpleSAML/Utils/Auth.php

diff --git a/lib/SimpleSAML/Utilities.php b/lib/SimpleSAML/Utilities.php
index e5f814ade..4003f4437 100644
--- a/lib/SimpleSAML/Utilities.php
+++ b/lib/SimpleSAML/Utilities.php
@@ -1335,15 +1335,10 @@ class SimpleSAML_Utilities {
 
 
 	/**
-	 * Check whether the current user is a admin user.
-	 *
-	 * @return bool  TRUE if the current user is a admin user, FALSE if not.
+	 * @deprecated This function will be removed in SSP 2.0. Please use SimpleSAML_Utils_Auth::isAdmin() instead.
 	 */
 	public static function isAdmin() {
-
-		$session = SimpleSAML_Session::getSessionFromRequest();
-
-		return $session->isValid('admin') || $session->isValid('login-admin');
+		return SimpleSAML_Utils_Auth::isAdmin();
 	}
 
 
@@ -1372,7 +1367,7 @@ class SimpleSAML_Utilities {
 	 */
 	public static function requireAdmin() {
 
-		if (self::isAdmin()) {
+		if (SimpleSAML_Utils_Auth::isAdmin()) {
 			return;
 		}
 
diff --git a/lib/SimpleSAML/Utils/Auth.php b/lib/SimpleSAML/Utils/Auth.php
new file mode 100644
index 000000000..439daa133
--- /dev/null
+++ b/lib/SimpleSAML/Utils/Auth.php
@@ -0,0 +1,24 @@
+<?php
+
+
+/**
+ * Auth-related utility methods.
+ *
+ * @package SimpleSAMLphp
+ */
+class SimpleSAML_Utils_Auth
+{
+
+    /**
+     * Check whether the current user is admin.
+     *
+     * @return boolean True if the current user is an admin user, false otherwise.
+     *
+     * @author Olav Morken, UNINETT AS <olav.morken@uninett.no>
+     */
+    public static function isAdmin()
+    {
+        $session = SimpleSAML_Session::getSessionFromRequest();
+        return $session->isValid('admin') || $session->isValid('login-admin');
+    }
+}
\ No newline at end of file
diff --git a/modules/core/www/frontpage_auth.php b/modules/core/www/frontpage_auth.php
index ef4fcaf20..2db5dc0b5 100644
--- a/modules/core/www/frontpage_auth.php
+++ b/modules/core/www/frontpage_auth.php
@@ -10,7 +10,7 @@ if ($config->getBoolean('admin.protectindexpage', false)) {
 	SimpleSAML_Utilities::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
-$isadmin = SimpleSAML_Utilities::isAdmin();
+$isadmin = SimpleSAML_Utils_Auth::isAdmin();
 
 
 
diff --git a/modules/core/www/frontpage_config.php b/modules/core/www/frontpage_config.php
index 8fc6f3776..eee1fa639 100644
--- a/modules/core/www/frontpage_config.php
+++ b/modules/core/www/frontpage_config.php
@@ -11,7 +11,7 @@ if ($config->getBoolean('admin.protectindexpage', false)) {
 	SimpleSAML_Utilities::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
-$isadmin = SimpleSAML_Utilities::isAdmin();
+$isadmin = SimpleSAML_Utils_Auth::isAdmin();
 
 
 $warnings = array();
diff --git a/modules/core/www/frontpage_federation.php b/modules/core/www/frontpage_federation.php
index 512061ed4..02f6d9eaf 100644
--- a/modules/core/www/frontpage_federation.php
+++ b/modules/core/www/frontpage_federation.php
@@ -11,7 +11,7 @@ if ($config->getBoolean('admin.protectindexpage', false)) {
 	SimpleSAML_Utilities::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
-$isadmin = SimpleSAML_Utilities::isAdmin();
+$isadmin = SimpleSAML_Utils_Auth::isAdmin();
 
 
 
diff --git a/modules/core/www/frontpage_welcome.php b/modules/core/www/frontpage_welcome.php
index 281237a9b..1bea6471d 100644
--- a/modules/core/www/frontpage_welcome.php
+++ b/modules/core/www/frontpage_welcome.php
@@ -10,7 +10,7 @@ if ($config->getBoolean('admin.protectindexpage', false)) {
 	SimpleSAML_Utilities::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
-$isadmin = SimpleSAML_Utilities::isAdmin();
+$isadmin = SimpleSAML_Utils_Auth::isAdmin();
 
 
 
diff --git a/modules/statistics/lib/AccessCheck.php b/modules/statistics/lib/AccessCheck.php
index 92d1f906a..e30f883ee 100644
--- a/modules/statistics/lib/AccessCheck.php
+++ b/modules/statistics/lib/AccessCheck.php
@@ -28,7 +28,7 @@ class sspmod_statistics_AccessCheck {
 			return;
 		}
 
-		if (SimpleSAML_Utilities::isAdmin()) {
+		if (SimpleSAML_Utils_Auth::isAdmin()) {
 			// User logged in as admin. OK.
 			SimpleSAML_Logger::debug('Statistics auth - logged in as admin, access granted');
 			return;
-- 
GitLab