- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/event_calendar.php
- Класс: CEventCalendar
- Вызов: CEventCalendar::ReturnICal_SP
function ReturnICal_SP($arParams = array())
{
$userId = $arParams['userId'];
$sign = $arParams['sign'];
$this->userId = $userId;
$this->bExportSP = true;
$GLOBALS['APPLICATION']->RestartBuffer();
if (!$this->CheckSign($sign, $userId, 'superposed_calendars') || !$this->allowSuperpose)
return CEventCalendar::ThrowError(GetMessage('EC_ACCESS_DENIED'));
$this->HandleSuperpose($this->arSPIblIds);
$arCalenExTitle = array();
for($i = 0, $l = count($this->arSPCalShow); $i < $l; $i++)
{
$cal = $this->arSPCalShow[$i];
$this->arCalendarIds[] = $cal['ID'];
$arCalenEx[$cal['ID']] = $cal;
}
// Get events from superposed calendars
$arSPEvents = $this->GetSuperposedEvents(array('forExport' => true, 'bLoadAll' => true));
// Add some additional info about groups of calendar and calendar name
$arSPEvents = $this->ExtendExportEventsArray($arSPEvents, $arCalenEx);
// Get title for combined calendars
$dbUser = CUser::GetByID($this->userId);
$arUser = $dbUser->Fetch();
$ownerName = trim($arUser["NAME"]." ".$arUser["LAST_NAME"]);
if ($ownerName == '')
$ownerName = $arUser["LOGIN"];
$title = $ownerName.': '.GetMessage('EC_EXP_SP_TITLE');
$iCalEvents = $this->FormatICal(array('NAME' => $title, 'DESCRIPTION' => ''), $arSPEvents);
$this->ShowICalHeaders();
echo $iCalEvents;
exit();
}