• Модуль: support
  • Путь к файлу: ~/bitrix/modules/support/classes/general/support.php
  • Класс: CAllTicket
  • Вызов: CAllTicket::GetRoles
static function GetRoles(&$isDemo, &$isSupportClient, &$isSupportTeam, &$isAdmin, &$isAccess, &$userID, $checkRights=true)
{
	global $DB, $USER, $APPLICATION;
	static $arTicketUserRoles;
	$isDemo = $isSupportClient = $isSupportTeam = $isAdmin = $isAccess = false;
	if (is_object($USER)) $userID = intval($USER->GetID()); else $userID = 0;
	if ($checkRights)
	{
		if ($userID>0)
		{
			if (is_array($arTicketUserRoles) && in_array($userID, array_keys($arTicketUserRoles)))
			{
				$isDemo = $arTicketUserRoles[$userID]["isDemo"];
				$isSupportClient = $arTicketUserRoles[$userID]["isSupportClient"];
				$isSupportTeam = $arTicketUserRoles[$userID]["isSupportTeam"];
				$isAdmin = $arTicketUserRoles[$userID]["isAdmin"];
			}
			else
			{
				$isDemo = CTicket::IsDemo($userID);
				$isSupportClient = CTicket::IsSupportClient($userID);
				$isSupportTeam = CTicket::IsSupportTeam($userID);
				$isAdmin = CTicket::IsAdmin($userID);
				$arTicketUserRoles[$userID] = array(
					"isDemo"			=> $isDemo,
					"isSupportClient"	=> $isSupportClient,
					"isSupportTeam"		=> $isSupportTeam,
					"isAdmin"			=> $isAdmin,
					);
			}
		}
	}
	else $isAdmin = true;

	if ($isDemo || $isSupportClient || $isSupportTeam || $isAdmin) $isAccess = true;
}