- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ical/outcomingattachmentmanager.php
- Класс: BitrixCalendarICalOutcomingAttachmentManager
- Вызов: OutcomingAttachmentManager::prepareRequestAttachment
public function prepareRequestAttachment(): OutcomingAttachmentManager
{
$event = $this->prepareRequestEvent();
$this->uid = isset($event['DAV_XML_ID']) ? $event['DAV_XML_ID'] : ICalUtil::getUniqId();
$this->attachment = Calendar::getInstance()
->setMethod(Dictionary::METHODS[$this->method])
->setTimezones(Timezone::getInstance()
->setTimezoneId($event['TZ_FROM'])
->setObservance(StandardObservances::getInstance()
->setOffsetFrom($event['TZ_FROM'])
->setOffsetTo($event['TZ_TO'])
->setDTStart()
)
)
->setEvent(Event::getInstance($this->uid)
->setName($event['NAME'])
->setAttendees($this->attendees)
->setStartsAt(Util::getDateObject($event['DATE_FROM'], $event['SKIP_TIME'], $event['TZ_FROM']))
->setEndsAt(Util::getDateObject($event['DATE_TO'], $event['SKIP_TIME'], $event['TZ_TO']))
->setCreatedAt(Util::getDateObject($event['CREATED'], false, $event['TZ_FROM']))
->setDtStamp(Util::getDateObject($event['CREATED'], false, $event['TZ_FROM']))
->setModified(Util::getDateObject($event['MODIFIED'], false, $event['TZ_FROM']))
->setWithTimezone(!$event['SKIP_TIME'])
->setWithTime(!$event['SKIP_TIME'])
->setOrganizer($this->attendees[$event['MEETING_HOST']], $this->getReplyAddress())
->setDescription($event['DESCRIPTION'])
->setTransparent(Dictionary::TRANSPARENT[$event['ACCESSIBILITY']])
->setRRule($event['RRULE'])
->setExdates($event['EXDATE'], $event['TZ_FROM'])
->setLocation($event['TEXT_LOCATION'])
->setSequence((int)$event['VERSION'])
->setStatus(Dictionary::INVITATION_STATUS['confirmed'])
)
->get();
return $this;
}