diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index a85fc151bc..ba2bb0d89f 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -2260,17 +2260,29 @@ function api_get_self() { * @see usermanager::is_admin(user_id) for a user-id specific function */ function api_is_platform_admin($allow_sessions_admins = false) { + global $app; $isAdmin = Session::read('is_platformAdmin'); if ($isAdmin) { return true; } - $_user = api_get_user_info(); - return $allow_sessions_admins && isset($_user['status']) && $_user['status'] == SESSIONADMIN; + //$_user = api_get_user_info(); + + if ($app['security']->isGranted('ROLE_SESSION_MANAGER')) { + return true; + } + return false; + // isset($_user['status']) && $_user['status'] == SESSIONADMIN; + } function api_is_question_manager() { - $_user = api_get_user_info(); - return isset($_user['status']) && $_user['status'] == QUESTION_MANAGER; + global $app; + if ($app['security']->isGranted('ROLE_QUESTION_MANAGER')) { + return true; + } + return false; + /*$_user = api_get_user_info(); + return isset($_user['status']) && $_user['status'] == QUESTION_MANAGER;*/ } /** diff --git a/main/inc/services.php b/main/inc/services.php index 208e0459de..e719ca9864 100644 --- a/main/inc/services.php +++ b/main/inc/services.php @@ -96,6 +96,7 @@ $app['security.role_hierarchy'] = array( 'ROLE_TEACHER' => array('ROLE_STUDENT'), 'ROLE_RRHH' => array('ROLE_TEACHER'), 'ROLE_QUESTION_MANAGER' => array('ROLE_QUESTION_MANAGER'), + 'ROLE_SESSION_MANAGER' => array('ROLE_SESSION_MANAGER'), 'ROLE_STUDENT' => array('ROLE_STUDENT'), 'ROLE_ANONYMOUS' => array('ROLE_ANONYMOUS') );