• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/controller/secretary.php
  • Класс: BitrixMailControllerSecretary
  • Вызов: Secretary::getCalendarEventDataFromMessageAction
public function getCalendarEventDataFromMessageAction(int $messageId)
{
	if (! Loader::includeModule('intranet'))
	{
		$this->addError(new Error('module intranet unloaded')); // FIXME translate
		return null;
	}

	global $USER;
	if (!$this->canBindEntities($messageId, (int)$USER->getId()))
	{
		$this->addError(new Error(Loc::getMessage('MAIL_SECRETARY_ACCESS_DENIED')));
		return null;
	}

	$message = BitrixMailIntegrationIntranetSecretary::getMessage($messageId);
	$address = new BitrixMainMailAddress($message->getFrom());
	$desc = Loc::getMessage('MAIL_SECRETARY_CALENDAR_EVENT_DESC', [
		'#SUBJECT#' => htmlspecialcharsbx($message->getSubject()),
		'#FROM#' => htmlspecialcharsbx($message->getFrom()),
		'#DATE#' => $message->getDate()->toString(),
		'#LINK_FROM#' => 'mailto:' . htmlspecialcharsbx($address->getEmail()),
		'#LINK#' => BitrixMailIntegrationIntranetSecretary::getDirectMessageUrl($message->getId()),
	]);

	return [
		'name' => htmlspecialcharsbx($message->getSubject()),
		'desc' => $desc,
		// 'userIds' => $data['USER_IDS'],
	];
}