• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/calendarhandler.php
  • Класс: CDavCalendarHandler
  • Вызов: CDavCalendarHandler::GetCalendarId
public function GetCalendarId($siteId, $account, $arPath)
	{
		if (is_null($arPath))
			return null;

		if (is_null($account))
		{
			if (count($arPath) == 0)
				return null;

			return array($arPath[0], isset($arPath[1]) ? $arPath[1] : 0, 0, "", 0);
		}

		$arAccount = CDavAccount::GetAccountById($account);

		if ($arAccount["TYPE"] == "user")
		{
			$iblockId = CEventCalendar::GetUserCalendarIBlockId($siteId);
			if ($iblockId <= 0)
				return null;

			$accountRootSectionId = CEventCalendar::GetAccountRootSectionId($arAccount["ID"], $arAccount["TYPE"], $iblockId);
			if (!$accountRootSectionId)
				return null;

			return array($iblockId, $accountRootSectionId, isset($arPath[0]) ? $arPath[0] : 0, "user", $arAccount["ID"]);
		}

		$iblockId = CEventCalendar::GetGroupCalendarIBlockId($arAccount["SITE_ID"]);
		if ($iblockId <= 0)
			return null;

		$accountRootSectionId = CEventCalendar::GetAccountRootSectionId($arAccount["ID"], $arAccount["TYPE"], $iblockId);
		if (!$accountRootSectionId)
			return null;

		return array($iblockId, $accountRootSectionId, isset($arPath[0]) ? $arPath[0] : 0, "group", $arAccount["ID"]);
	}