• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/util.php
  • Класс: BitrixCalendarUtil
  • Вызов: Util::getUserAccessCodes
static function getUserAccessCodes(int $userId): array
{
	global $USER;
	$userId = (int)$userId;
	if (!$userId)
	{
		$userId = CCalendar::GetCurUserId();
	}

	if (!isset(self::$userAccessCodes[$userId]))
	{
		$codes = [];
		$r = CAccess::GetUserCodes($userId);
		while($code = $r->Fetch())
		{
			$codes[] = $code['ACCESS_CODE'];
		}

		if (!in_array('G2', $codes))
		{
			$codes[] = 'G2';
		}

		if (!in_array('AU', $codes) && $USER && (int)$USER->GetId() === $userId)
		{
			$codes[] = 'AU';
		}

		if(!in_array('UA', $codes) && $USER && (int)$USER->GetId() == $userId)
		{
			$codes[] = 'UA';
		}

		self::$userAccessCodes[$userId] = $codes;
	}

	return self::$userAccessCodes[$userId];
}