GetUserRoles
Описание и параметры
string CMain::GetUserRoles( string module_id, mixed groups = false, string use_default_role = "Y", string max_role_for_super_admin = "Y", string site_id=false )
Возвращает массив ролей для определённого набора групп (по умолчанию - это группы текущего пользователя).
Как правило в каждом модуле определены свои символы означающие ту или иную роль. Установка своего уникального набора ролей для каждого модуля осуществляется методом GetModuleRightList класса с именем равным ID модуля. Например, для модуля техподдержки, это будет метод support::GetModuleRightList(), описанный в файле /bitrix/modules/support/install/index.php.
Администрирование ролей обычно осуществляется в настройках соответствующего модуля.
Примечание. Для любого модуля роль с максимальными правами (администратор модуля) всегда обозначается символом "W", с минимальным правами - символом "D" (доступ к модулю закрыт).
Нестатический метод.
Параметры
Параметр | Описание | С версии |
---|---|---|
module_id | ID модуля. | |
groups | Массив групп для которых необходимо определить их роли. Если значение - "false", то будет взят массив групп текущего пользователя. Необязательный. По умолчанию - "false". | |
use_default_role | Если значение - "Y", то для определения массива ролей будет учитываться роль установленная по умолчанию. Необязательный. По умолчанию - "Y". | |
max_role_for_super_admin | Если значение - "Y" и groups = false, то пользователю входящему в группу администраторов (группа #1) всегда будет возвращаться массив ролей с обязательно включенной туда ролью с максимальными правами - "W". Необязательный. По умолчанию - "Y". | |
site_id | ID сайта. Необязательный. По умолчанию "false". | 10.0.11 |
Смотрите также
Примеры использования
<? // получим массив ролей текущего пользователя в модуле "Техподдержка" $arRoles = $APPLICATION->GetUserRoles("support"); if(in_array("R",$arRoles)) $strNote = "У вас есть право задавать вопросы техподдержке."; if(in_array("T",$arRoles)) $strNote = "Вы являетесь сотрудником техподдержки."; if(in_array("V",$arRoles)) $strNote = "Вы можете просматривать все обращения техподдержки без права модификации."; if(in_array("W",$arRoles)) $strNote = "Вы являетесь администратором техподдержки."; if ($arRoles==array("D")) $APPLICATION->AuthForm("Доступ к модулю техподдержки запрещён."); ShowNote($strNote); ?>
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.