• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_event_handlers.php
  • Класс: CCalendarEventHandlers
  • Вызов: CCalendarEventHandlers::plannerActionAdd
static function plannerActionAdd($arParams)
{
	global $USER;
	$today = ConvertTimeStamp(time()+CTimeZone::GetOffset(), 'SHORT');
	$userId = $USER->GetID();
	$userSettings = UserSettings::get($userId);
	$reminderList = $userSettings['defaultReminders']['withTime'];
	$data = [
		'CAL_TYPE' => 'user',
		'OWNER_ID' => $USER->GetID(),
		'NAME' => $arParams['NAME'],
		'DT_FROM' => self::MakeDateTime($today, $arParams['FROM']),
		'DT_TO' => self::MakeDateTime($today, $arParams['TO']),
		'SECTIONS' => CCalendar::GetMeetingSection($userId, true),
		'ATTENDEES_CODES' => ['U' . $userId],
		'ATTENDEES' => [$userId],
		'MEETING_HOST' => $userId,
		'REMIND' => $reminderList,
	];

	if ($arParams['ABSENCE'] === 'Y')
	{
		$data['ACCESSIBILITY'] = 'absent';
	}

	CCalendar::SaveEvent(array(
		'arFields' => $data,
		'userId' => $userId
	));
}