- Модуль: 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;
}