From cb52fdfe671c2ee8e55d9ab8b9441fe577bfa8bb Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 19 Nov 2020 15:55:19 +0100 Subject: [PATCH] CAS: add user as admin BT#17620 --- main/inc/local.inc.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/main/inc/local.inc.php b/main/inc/local.inc.php index b0f6ab0480..46cf0588d6 100755 --- a/main/inc/local.inc.php +++ b/main/inc/local.inc.php @@ -312,6 +312,7 @@ if (!empty($_SESSION['_user']['user_id']) && !($login || $logout)) { $userEntity = api_get_user_entity($_user['id']); $attributes = phpCAS::getAttributes(); if (isset($rules['fields'])) { + $isAdmin = false; foreach ($rules['fields'] as $field => $attributeName) { if (!isset($attributes[$attributeName])) { continue; @@ -336,12 +337,20 @@ if (!empty($_SESSION['_user']['user_id']) && !($login || $logout)) { $userEntity->setActive(!('false' === $value)); break; case 'status': + if (PLATFORM_ADMIN === (int) $value) { + $value = COURSEMANAGER; + $isAdmin = true; + } $userEntity->setStatus($value); break; } Database::getManager()->persist($userEntity); Database::getManager()->flush(); + + if ($isAdmin) { + UserManager::addUserAsAdmin($userEntity); + } } } if (isset($rules['extra'])) {