• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
  • Класс: CIntranetEventHandlers
  • Вызов: CIntranetEventHandlers::FormatEvent_News
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("/