• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_notify.php
  • Класс: CCalendarNotify
  • Вызов: CCalendarNotify::CancelBooking
static function CancelBooking($fields = [], $params = [])
{
	$fields['NOTIFY_EVENT'] = 'release_location';
	$fields['FROM_USER_ID'] = (int)$params['userId'];
	$fields['TO_USER_ID'] = (int)$params['guestId'];
	$fields['NOTIFY_TAG'] =
		'CALENDAR|LOCATION|' . (int)$params['locationId']
		. '|' . (int)$params['userId'] . '|' . (int)$params['eventId'] . '|' . 'cancel'
	;
	$fields['NOTIFY_SUB_TAG'] = 'CALENDAR|LOCATION|' . $params['locationId'];

	switch ($params['recursionMode'])
	{
		case 'all':
			$notificationCode = 'EC_NOTIFY_CANCEL_BOOKING_ALL';
			break;
		case 'next':
			$notificationCode = 'EC_NOTIFY_CANCEL_BOOKING_NEXT';
			break;
		default:
			$notificationCode = 'EC_NOTIFY_CANCEL_BOOKING_THIS';
			break;
	}
	$fromTime = '';
	$fromDate = '';
	if($params['fields']['DT_SKIP_TIME'] === 'N')
	{
		$fromTime = Loc::getMessage('EC_NOTIFY_CANCEL_BOOKING_TIME', [
			'#FROM_TIME#'=> mb_substr($params['from'], -5, 5)
		]);
		$fromDate = mb_substr($params['from'], 0, -6);
	}
	$fields['MESSAGE'] =
		Loc::getMessage($notificationCode, [
			'#FROM#' => $params['from_formatted'],
			'#LINK#' => $params['pathToEvent'],
			'#EVENT#' => $params['eventName'],
			'#FREQUENCY#' => $params['rrule'],
			'#FROM_TIME#' => $fromTime,
			'#FROM_DATE#' => $fromDate,
		])
		.
		Loc::getMessage('EC_NOTIFY_CANCEL_BOOKING_ENDING')
	;

	return $fields;
}