- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/controller/controlbutton.php
- Класс: BitrixIntranetControllerControlButton
- Вызов: ControlButton::getCalendarData
public function getCalendarData($entityId, $entityData = []): array
{
global $USER;
$res = [];
if (!Loader::includeModule('calendar'))
{
return $res;
}
$entry = CCalendarEvent::getEventForViewInterface($entityId);
if (!$entry)
{
return $res;
}
$pathToCalendar = CCalendar::GetPathForCalendarEx($USER->GetID());
$pathToEvent = CHTTP::urlAddParams($pathToCalendar, ['EVENT_ID' => $entry['ID']]);
$res = [
'ID' => $entry['ID'],
'TITLE' => $entry['NAME'],
'DESCRIPTION' => $entry['DESCRIPTION'],
'CREATED_BY' => $entry['CREATED_BY'],
'MEETING' => $entry['MEETING'],
'DATE_FROM' => $entry['DATE_FROM'],
'DT_SKIP_TIME' => $entry['DT_SKIP_TIME'],
'RECURRENCE_ID' => $entry['RECURRENCE_ID'],
'USER_IDS' => is_array($entry['ATTENDEE_LIST']) ? array_column($entry['ATTENDEE_LIST'], 'id') : [$entry['CREATED_BY']],
'LINK' => $pathToEvent,
'URL' => $pathToEvent,
];
$this->checkUsers($res['USER_IDS']);
return $res;
}