• Модуль: 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;

}