• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/link/eventlinkmapper.php
  • Класс: BitrixCalendarSharingLinkEventLinkMapper
  • Вызов: EventLinkMapper::convertToObject
protected function convertToObject($objectEO): ?EventLink
{
	$sharingEventLink = (new EventLink())
		->setId($objectEO->getId())
		->setEventId($objectEO->getObjectId())
		->setDateCreate($objectEO->getDateCreate())
		->setDateExpire($objectEO->getDateExpire())
		->setActive($objectEO->getActive())
		->setHash($objectEO->getHash())
		->setOwnerId($objectEO->getOwnerId())
		->setHostId($objectEO->getHostId())
		->setConferenceId($objectEO->getConferenceId())
		->setParentLinkHash($objectEO->getParentLinkHash())
	;

	//backward compatibility
	$options = $objectEO->getOptions();
	if (!empty($options))
	{
		$options = Json::decode($options);
	}
	if (empty($sharingEventLink->getOwnerId()) && !empty($options['ownerId']))
	{
		$sharingEventLink->setOwnerId($options['ownerId']);
	}
	if (empty($sharingEventLink->getHostId()) && !empty($options['hostId']))
	{
		$sharingEventLink->setHostId($options['hostId']);
	}
	if (empty($sharingEventLink->getConferenceId()) && !empty($options['conferenceId']))
	{
		$sharingEventLink->setConferenceId($options['conferenceId']);
	}
	if (empty($sharingEventLink->getParentLinkHash()) && !empty($options['userLinkHash']))
	{
		$sharingEventLink->setParentLinkHash($options['userLinkHash']);
	}
	if (!empty($options['canceledTimestamp']))
	{
		$sharingEventLink->setCanceledTimestamp($options['canceledTimestamp']);
	}

	if (!empty($options['externalUserName']))
	{
		$sharingEventLink->setExternalUserName($options['externalUserName']);
	}

	return $sharingEventLink;
}