• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/settings/section/calendar.php
  • Класс: Bitrix\Crm\Activity\Settings\Section\Calendar
  • Вызов: Calendar::fetchSettings
public function fetchSettings(): array
{
	$result = [];

	$calendarEventId = $this->activityData['calendarEventId'];
	if ($calendarEventId)
	{
		$eventData = \CCalendarEvent::GetById($calendarEventId);
		if (is_array($eventData))
		{
			$result = [
				'id' => self::TYPE_NAME,
				'active' => true,
				'settings' => [
					'from' => DateTime::createFromUserTime($eventData['DATE_FROM'])->getTimestamp(),
					'to' => DateTime::createFromUserTime($eventData['DATE_TO'])->getTimestamp(),
					'duration' => $eventData['DT_LENGTH'],
				],
			];
		}
	}
	elseif ($this->activityData['deadline'])
	{
		$deadline = $this->activityData['deadline'];

		$from = $deadline->getTimestamp();

		$result = [
			'id' => self::TYPE_NAME,
			'active' => false,
			'settings' => [
				'from' => $from,
				'to' => $from + self::DEFAULT_DURATION,
				'duration' => self::DEFAULT_DURATION,
			],
		];
	}

	return $result;
}