- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ical/builder/calendar.php
- Класс: BitrixCalendarICalBuilderCalendar
- Вызов: Calendar::setContent
public function setContent(): Content
{
$events = $this->events;
$timezones = $this->timezones;
if ($this->withTimezone) {
array_walk($events, function (Event $event)
{
$event->setWithTimezone();
});
}
$content = Content::getInstance($this->getType())
->textProperty('VERSION', '2.0')
->textProperty('METHOD', $this->method)
->textProperty('CALSCALE', 'GREGORIAN')
->textProperty('PRODID', $this->productIdentifier ?? '-//Bitrix//Bitrix Calendar//EN')
->textProperty(['NAME', 'X-WR-CALNAME'], $this->name)
->textProperty(['DESCRIPTION', 'X-WR-CALDESC'], $this->description)
->subComponent(...$timezones)
->subComponent(...$events);
if ($this->refreshInterval)
{
$content->property(
LengthPropertyType::getInstance('REFRESH-INTERVAL', $this->refreshInterval)
->addParameter(new Parameter('VALUE', 'DURATION'))
)
->property(LengthPropertyType::getInstance('X-PUBLISHED-TTL', $this->refreshInterval));
}
return $content;
}