- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/core/mappers/event.php
- Класс: BitrixCalendarCoreMappersEvent
- Вызов: Event::convertToArray
private function convertToArray(CoreEventEvent $event): array
{
return [
'ID' => $event->getId(),
'ACTIVE' => $event->isActive() ? 'Y' : 'N',
'DELETED' => $event->isDeleted() ? 'Y' : 'N',
'DT_SKIP_TIME' => $event->isFullDayEvent() ? 'Y' : 'N',
'DAV_XML_ID' => $event->getUid(),
'TZ_FROM' => (string)$event->getStartTimeZone(),
'TZ_TO' => (string)$event->getEndTimeZone(),
'NAME' => $event->getName(),
'DATE_FROM' => (string)$event->getStart(),
'DATE_TO' => (string)$event->getEnd(),
'ORIGINAL_DATE_FROM' => $this->prepareOriginalDateFrom($event),
'DESCRIPTION' => $event->getDescription(),
'ACCESSIBILITY' => $event->getAccessibility(),
'PRIVATE_EVENT' => $event->isPrivate(),
'IMPORTANCE' => $event->getImportance(),
'OWNER_ID' => $event->getOwner() ? $event->getOwner()->getId() : null,
'CREATED_BY' => $event->getOwner() ? $event->getOwner()->getId() : null,
'CAL_TYPE' => $event->getCalendarType(),
'EVENT_TYPE' => $event->getSpecialLabel(),
'LOCATION' => $event->getLocation() ? $event->getLocation()->getActualLocation() : '',
'REMIND' => ($event->getRemindCollection() && $event->getRemindCollection()->count())
? $this->prepareReminders($event->getRemindCollection(), $event->getStart())
: null,
'RRULE' => $event->isRecurrence()
? $event->getRecurringRule()->toArray()
: null,
'EXDATE' => $event->getExcludedDateCollection()
? $event->getExcludedDateCollection()->toString()
: null,
'RECURRENCE_ID' => $event->getRecurrenceId(),
'IS_MEETING' => $event->isMeeting(),
'MEETING_STATUS' => $event->getMeetingStatus(),
'MEETING_HOST' => $event->getEventHost() ? $event->getEventHost()->getId() : null,
'MEETING' => $event->getMeetingDescription() ? $event->getMeetingDescription()->getFields() : null,
'ATTENDEES_CODES' => $event->getAttendeesCollection()
? $event->getAttendeesCollection()->getFields()['attendeesCodesCollection']
: null,
'SECTIONS' => $event->getSection() ? [$event->getSection()->getId()] : null,
'SECTION_ID' => $event->getSection() ? $event->getSection()->getId() : null,
'RELATIONS' => $event->getRelations() ? $event->getRelations()->getFields() : null,
];
}