• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/calendarsharing/controller.php
  • Класс: Bitrix\Crm\Timeline\CalendarSharing\Controller
  • Вызов: Controller::handleCalendarSharingEvent
protected function handleCalendarSharingEvent(
	int $typeCategoryId,
	int $typeId,
	ItemIdentifier $identifier,
	EventData $eventData
): ?int
{
	$bindings = $this->getBindings($identifier, $eventData);

	$timelineEntry = $this->getTimelineEntryFacade()->create(
		Timeline\TimelineEntry\Facade::CALENDAR_SHARING,
		[
			'ENTITY_TYPE_ID' => $identifier->getEntityTypeId(),
			'ENTITY_ID' => $identifier->getEntityId(),
			'TYPE_ID' => $typeId,
			'TYPE_CATEGORY_ID' => $typeCategoryId,
			'AUTHOR_ID' => $eventData->getOwnerId(),
			'SETTINGS' => $this->getSettings($eventData),
			'BINDINGS' => $bindings,
			'ASSOCIATED_ENTITY_ID' => $eventData->getAssociatedEntityId(),
			'ASSOCIATED_ENTITY_TYPE_ID' => $eventData->getAssociatedEntityTypeId(),
		],
	);

	if (!$timelineEntry)
	{
		return null;
	}

	foreach ($bindings as $binding)
	{
		$this->sendPullEventOnAdd($binding, $timelineEntry);
	}

	return $timelineEntry;
}