static function FormatEvent_News($arFields, $arParams, $bMail = false)
{
global $APPLICATION;
$APPLICATION->SetAdditionalCSS("/bitrix/themes/.default/intranet_sonet_log.css");
$arResult = array(
"EVENT" => $arFields,
"ENTITY" => CIntranetEventHandlers::GetEntity_News($arFields, $bMail),
"URL" => "",
"CACHED_CSS_PATH" => "/bitrix/themes/.default/intranet_sonet_log.css"
);
if (!CModule::IncludeModule("socialnetwork"))
return $arResult;
$title = "";
if ($arFields["TITLE_TEMPLATE"] <> '')
{
$title_tmp = (
!$bMail
&& $arFields["URL"] <> ''
? ''.$arFields["TITLE"].''
: $arFields["TITLE"]
);
$title = str_replace(
array("#TITLE#", "#ENTITY#"),
array($title_tmp, ($bMail ? $arResult["ENTITY"]["FORMATTED"] : $arResult["ENTITY"]["FORMATTED"]["NAME"])),
($bMail ? GetMessage("INTR_SOCNET_LOG_NEWS_TITLE_MAIL") : GetMessage("INTR_SOCNET_LOG_NEWS_TITLE"))
);
}
$url = false;
if (
$arFields["URL"] <> ''
&& $arFields["SITE_ID"] <> ''
)
{
if (mb_substr($arFields["URL"], 0, 1) === "/")
{
$rsSites = CSite::GetByID($arFields["SITE_ID"]);
$arSite = $rsSites->Fetch();
$server_name = (
$arSite["SERVER_NAME"] <> ''
? $arSite["SERVER_NAME"]
: COption::GetOptionString("main", "server_name", $GLOBALS["SERVER_NAME"])
);
$protocol = (CMain::IsHTTPS() ? "https" : "http");
$url = $protocol."://".$server_name.$arFields["URL"];
}
else
{
$url = $arFields["URL"];
}
}
$arResult["EVENT_FORMATTED"] = array(
"TITLE" => $title,
"MESSAGE" => ($bMail ? CSocNetTextParser::killAllTags($arFields["MESSAGE"]) : $arFields["MESSAGE"]),
"IS_IMPORTANT" => true,
"TITLE_24" => GetMessage("INTR_SONET_LOG_DATA_TITLE_IMPORTANT_24"),
"TITLE_24_2" => $arFields["TITLE"],
"STYLE" => "imp-post",
);
if ($arParams["MOBILE"] == "Y")
{
$arResult["EVENT_FORMATTED"]["STYLE"] = "item-top-text-important";
$arResult["EVENT_FORMATTED"]["AVATAR_STYLE"] = "avatar-info";
}
else
{
$arResult["EVENT_FORMATTED"]["STYLE"] = "info";
}
if ($url <> '')
{
$arResult["EVENT_FORMATTED"]["URL"] = $url;
}
if (!$bMail)
{
if (
intval($arFields["SOURCE_ID"]) > 0
&& CModule::IncludeModule("iblock")
)
{
$rsIBlockElement = CIBlockElement::GetList(
array(),
array("ID" => $arFields["SOURCE_ID"]),
false,
false,
array("ID", "PREVIEW_TEXT", "PREVIEW_TEXT_TYPE", "DETAIL_TEXT", "DETAIL_TEXT_TYPE")
);
if ($arIBlockElement = $rsIBlockElement->fetch())
{
if (!empty($arIBlockElement["DETAIL_TEXT"]))
{
$detailText = $arIBlockElement["DETAIL_TEXT"];
$detailTextType = $arIBlockElement["DETAIL_TEXT_TYPE"];
}
else
{
$detailText = $arIBlockElement["PREVIEW_TEXT"];
$detailTextType = $arIBlockElement["PREVIEW_TEXT_TYPE"];
}
if ($detailTextType != 'html')
{
$detailText = htmlspecialcharsEx(htmlspecialcharsEx($detailText));
}
else
{
$sanitizer = new CBXSanitizer();
$sanitizer->SetLevel(CBXSanitizer::SECURE_LEVEL_LOW);
$detailText = $sanitizer->SanitizeHtml($detailText);
if($arParams["MOBILE"] == "Y")
{
$detailText = preg_replace("/