- Модуль: support
- Путь к файлу: ~/bitrix/modules/support/classes/general/support.php
- Класс: CAllTicket
- Вызов: CAllTicket::HaveRole
static function HaveRole($role, $userID=false)
{
global $DB, $USER, $APPLICATION, $SUPPORT_CACHE_USER_ROLES;
if (!is_object($USER)) $USER = new CUser;
if ($userID===false && is_object($USER))
$uid = $USER->GetID();
else
$uid = $userID;
$arRoles = Array();
if (array_key_exists($uid, $SUPPORT_CACHE_USER_ROLES) && is_array($SUPPORT_CACHE_USER_ROLES[$uid]))
{
$arRoles = $SUPPORT_CACHE_USER_ROLES[$uid];
}
else
{
$arrGroups = Array();
if ($userID===false && is_object($USER))
$arrGroups = $USER->GetUserGroupArray();
else
$arrGroups = CUser::GetUserGroup($userID);
sort($arrGroups);
$arRoles = $APPLICATION->GetUserRoles("support", $arrGroups);
$SUPPORT_CACHE_USER_ROLES[$uid] = $arRoles;
}
if (in_array($role, $arRoles))
return true;
return false;
}