• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/controller/secretary.php
  • Класс: BitrixMailControllerSecretary
  • Вызов: Secretary::assignCreatedCalendarLabelToMessage
private function assignCreatedCalendarLabelToMessage(int $messageId, int $calendarEventId): bool
{
	if (Loader::includeModule('pull'))
	{
		$mailboxId = BitrixMailIntegrationIntranetSecretary::getMailboxIdForMessage($messageId);

		if($mailboxId)
		{
			global $USER;

			$userPage = BitrixMainConfigOption::get('socialnetwork', 'user_page', '/company/personal/', SITE_ID);

			CPullWatch::addToStack(
				'mail_mailbox_' . $mailboxId,
				[
					'module_id' => 'mail',
					'command' => 'messageBindingCreated',
					'params' => [
						'messageId' => $messageId,
						'mailboxId' => $mailboxId,
						'entityType' => Message::ENTITY_TYPE_CALENDAR_EVENT,
						'entityId' => $calendarEventId,
						'bindingEntityLink' =>
							CComponentEngine::makePathFromTemplate(
								$userPage . 'user/#user_id#/calendar/?EVENT_ID=#event_id#',
								[
									'user_id' => $USER->getId(),
									'event_id' => $calendarEventId,
								]
							),
					],
				]
			);
		}

		return true;
	}

	return false;
}