• Модуль: 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;
}