• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/ical/incomingeventmanager.php
  • Класс: BitrixCalendarICalIncomingEventManager
  • Вызов: IncomingEventManager::handleRequest
static function handleRequest($params)
{
	$event = $params['event'];
	$userId = $params['userId'];
	$answer = $params['answer'];
	$userEmail = $params['emailTo'];
	$organizerEmail = $event['ORGANIZER_MAIL']['EMAIL'];

	$event = static::updateEvent($event, $userId, $answer);
	$attendees = static::handleAttendeesFromRequest([
		'attendees' => $event['ATTENDEES_MAIL'],
		'answer' => $answer,
		'userId' => $userId,
		'userEmail' => $userEmail,
		'organizerEmail' => $organizerEmail
	]);

	$parentId = CCalendar::SaveEvent([
		'arFields' => static::updateParentEvent($event),
	]);

	CCalendar::SaveEvent([
		'arFields' => static::updateChildEvent($event, $parentId),
	]);


	$replyStatus = OutcomingEventManager::getInstance([
		'icalMethod' => 'reply',
		'arFields' => $event,
		'userIndex' => $attendees,
		'receiver' => $event['ORGANIZER_MAIL'],
		'sender' => $attendees[$event['OWNER_ID']],
	])->replyInvitation()->getStatus();
}