• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_livefeed.php
  • Класс: CCalendarLiveFeed
  • Вызов: CCalendarLiveFeed::FormatEvent
static function FormatEvent($arFields, $arParams): array
{
	global $APPLICATION, $CACHE_MANAGER;

	$arResult = array(
		"EVENT" => $arFields
	);

	if (defined("BX_COMP_MANAGED_CACHE"))
	{
		$CACHE_MANAGER->RegisterTag("CALENDAR_EVENT_" . (int)$arFields["SOURCE_ID"]);
		$CACHE_MANAGER->RegisterTag("CALENDAR_EVENT_LIST");
	}

	if ((string)$arFields['~PARAMS'] !== "")
	{
		$arFields['~PARAMS'] = unserialize($arFields['~PARAMS'], ['allowed_classes' => false]);
		if (!is_array($arFields['~PARAMS']))
		{
			$arFields['~PARAMS'] = [];
		}
	}

	$eventViewResult = $APPLICATION->IncludeComponent('bitrix:calendar.livefeed.view', '', array(
		"EVENT_ID" => $arFields["SOURCE_ID"],
		"USER_ID" => $arFields["USER_ID"],
		"PATH_TO_USER" => $arParams["PATH_TO_USER"],
		"MOBILE" => ($arParams["MOBILE"] ?? null),
		"LIVEFEED_ENTRY_PARAMS" => $arFields['~PARAMS']
		),
		null,
		array('HIDE_ICONS' => 'Y')
	);

	$arResult["EVENT_FORMATTED"] = Array(
		"TITLE" => GetMessage("EC_EDEV_EVENT"),
		"TITLE_24" => GetMessage("EC_EDEV_EVENT"),
		"MESSAGE" => $eventViewResult['MESSAGE'],
		"FOOTER_MESSAGE" => $eventViewResult['FOOTER_MESSAGE'],
		"IS_IMPORTANT" => false,
		"STYLE" => "calendar-confirm"
	);

	$eventId = $arFields["SOURCE_ID"];
	if (!$eventId)
	{
		$eventId = 0;
	}

	$calendarUrl = CCalendar::GetPath('user', $arFields["USER_ID"]);

	$arResult["EVENT_FORMATTED"]["URL"] = $calendarUrl.((mb_strpos($calendarUrl, "?") === false) ? '?' : '&').'EVENT_ID='.$eventId;

	$arRights = [];
	$dbRight = CSocNetLogRights::GetList([], array("LOG_ID" => $arFields["ID"]));
	while ($arRight = $dbRight->Fetch())
	{
		$arRights[] = $arRight["GROUP_CODE"];
	}

	$arResult["EVENT_FORMATTED"]["DESTINATION"] = CSocNetLogTools::FormatDestinationFromRights($arRights, array_merge($arParams, array("CREATED_BY" => $arFields["USER_ID"])));

	if (isset($eventViewResult['CACHED_JS_PATH']))
	{
		$arResult['CACHED_JS_PATH'] = $eventViewResult['CACHED_JS_PATH'];
	}

	$arResult['ENTITY']['FORMATTED']["NAME"] = "ENTITY FORMATTED NAME";
	$arResult['ENTITY']['FORMATTED']["URL"] = $arResult["EVENT_FORMATTED"]["URL"];

	$arResult['AVATAR_SRC'] = CSocNetLog::FormatEvent_CreateAvatar($arFields, $arParams, 'CREATED_BY');
	$arFieldsTooltip = array(
		'ID' => $arFields['USER_ID'],
		'NAME' => $arFields['~CREATED_BY_NAME'],
		'LAST_NAME' => $arFields['~CREATED_BY_LAST_NAME'],
		'SECOND_NAME' => $arFields['~CREATED_BY_SECOND_NAME'],
		'LOGIN' => $arFields['~CREATED_BY_LOGIN'],
	);
	$arResult['CREATED_BY']['TOOLTIP_FIELDS'] = CSocNetLog::FormatEvent_FillTooltip($arFieldsTooltip, $arParams);

	return $arResult;
}