- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ical/usercontroller.php
- Класс: BitrixCalendarICalUserController
- Вызов: UserController::getIcsFileContent
static function getIcsFileContent($eventFields, $params = [])
{
$ics = new BitrixCalendarICalIcsBuilder(
[
'summary' => $eventFields['NAME'],
'description' => '',
'dtstart' => Util::getTimestamp($eventFields['DATE_FROM']),
'dtend' => Util::getTimestamp($eventFields['DATE_TO']),
'location' => CCalendar::getTextLocation($eventFields['LOCATION']['NEW']),
'uid' => isset($eventFields['DAV_XML_ID']) ? $eventFields['DAV_XML_ID'] : uniqid()
]);
if ($eventFields['SKIP_TIME'] !== 'Y')
{
$ics->setFullDayMode($eventFields['SKIP_TIME'] == 'Y');
$ics->setConfig(
[
'timezoneFrom' => $eventFields['TZ_FROM'],
'timezoneTo' => !empty($eventFields['TZ_TO']) ? $eventFields['TZ_TO'] : $eventFields['TZ_FROM']
]
);
}
$ics->setOrganizer($eventFields['MEETING']['HOST_NAME'], $params['responseEmailAddress']);
$ics->setAttendees($params['attendees']);
return $ics->render();
}