• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/livefeed/calendarevent.php
  • Класс: BitrixSocialnetworkLivefeedCalendarEvent
  • Вызов: CalendarEvent::initSourceFields
public function initSourceFields()
{
	static $cache = [];

	$calendarEventId = $this->entityId;

	if ($calendarEventId <= 0)
	{
		return;
	}

	$calendarEvent = [];

	if (isset($cache[$calendarEventId]))
	{
		$calendarEvent = $cache[$calendarEventId];
	}
	elseif (Loader::includeModule('calendar'))
	{
		$res = self::$calendarEventClass::getList(
			[
				'arFilter' => [
					"ID" => $calendarEventId,
				],
				'parseRecursion' => false,
				'fetchAttendees' => false,
				'checkPermissions' => false,
				'setDefaultLimit' => false
			]
		);

		$calendarEvent = is_array($res) && is_array($res[0]) ? $res[0] : [];
		$cache[$calendarEventId] = $calendarEvent;
	}

	if (empty($calendarEvent))
	{
		return;
	}

	$this->setSourceFields($calendarEvent);
	$this->setSourceDescription($calendarEvent['DESCRIPTION']);
	$this->setSourceTitle($calendarEvent['NAME']);
	$this->setSourceAttachedDiskObjects($this->getAttachedDiskObjects($this->cloneDiskObjects));
	$this->setSourceDiskObjects($this->getDiskObjects($calendarEventId, $this->cloneDiskObjects));
}