/** * Get system roles * * This function is used to get all the roles in the system * It returns an array where keys are the role ids and values are: * - Either the role basic user types, if $getNames is false (the default) * - or the role Names if $getNames is true * The array is prepended with the 3 main roles, 'administrator', 'professor' and 'student' * <br/>Example: * <code> * $roles = EfrontUser :: getRoles(); * </code> * * @param boolean $getNames Whether to return id/basic user type pairs or id/name pairs * @return array The system roles * @since 3.5.0 * @access public * @static */ public static function getRoles($getNames = false) { //Cache results in self :: $userRoles if (is_null(self::$userRoles)) { $roles = eF_getTableDataFlat("user_types", "*", "active=1"); //Get available roles self::$userRoles = $roles; } else { $roles = self::$userRoles; } if (sizeof($roles) > 0) { $getNames ? $roles = self::$basicUserTypesTranslations + array_combine($roles['id'], $roles['name']) : ($roles = array_combine(self::$basicUserTypes, self::$basicUserTypes) + array_combine($roles['id'], $roles['basic_user_type'])); } else { $getNames ? $roles = self::$basicUserTypesTranslations : ($roles = array_combine(self::$basicUserTypes, self::$basicUserTypes)); } return $roles; }