• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools.php
  • Класс: CSocNetLogTools
  • Вызов: CSocNetLogTools::FormatEvent_Microblog
static function FormatEvent_Microblog($arFields, $arParams, $bMail = false)
{
	if (
		$bMail
		&& $arFields["MAIL_LANGUAGE_ID"] <> ''
	)
		IncludeModuleLangFile(__FILE__, $arFields["MAIL_LANGUAGE_ID"]);

	$arResult = array(
		"EVENT" => $arFields,
		"CREATED_BY" => CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail),
		"ENTITY" => CSocNetLogTools::FormatEvent_GetEntity($arFields, $arParams, $bMail),
		"EVENT_FORMATTED" => array(),
	);
	$arResult["CREATED_BY"]["ACTION_TYPE"] = "wrote";

	if (!$bMail)
		$arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatar($arFields, $arParams);

	if ($bMail)
		$title_tmp = GetMessage("SONET_GL_EVENT_TITLE_".($arFields["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_GROUP ? "GROUP" : "USER")."_BLOG_POST_MICRO_MAIL");
	else
	{
		if($arFields["URL"] <> '')
			$title_tmp = "".GetMessage("SONET_GL_EVENT_TITLE_BLOG_POST_MICRO")."";
		else
			$title_tmp = GetMessage("SONET_GL_EVENT_TITLE_BLOG_POST_MICRO");
	}

	if (
		!$bMail
		&& array_key_exists("URL", $arFields)
		&& $arFields["URL"] <> ''
	)
		$post_tmp = ''.$arFields["TITLE"].'';
	else
		$post_tmp = $arFields["TITLE"];

	$title = str_replace(
		array("#TITLE#", "#ENTITY#", "#CREATED_BY#"),
		array($post_tmp, $arResult["ENTITY"]["FORMATTED"], ($bMail ? $arResult["CREATED_BY"]["FORMATTED"] : "")),
		$title_tmp
	);

	$arResult["EVENT_FORMATTED"] = array(
		"TITLE" => $title,
		"MESSAGE" => ($bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"])
	);

	if (!$bMail)
	{
		if ($arParams["NEW_TEMPLATE"] != "Y")
		{
			$parserLog = new logTextParser(false, $arParams["PATH_TO_SMILE"]);
			$arAllow = array(
				"HTML" => "Y", "ANCHOR" => "Y", "BIU" => "Y",
				"IMG" => "Y", "LOG_IMG" => "N",
				"QUOTE" => "Y", "LOG_QUOTE" => "N",
				"CODE" => "Y", "LOG_CODE" => "N",
				"FONT" => "Y", "LOG_FONT" => "N",
				"LIST" => "Y",
				"SMILES" => "Y",
				"NL2BR" => "N",
				"MULTIPLE_BR" => "N",
				"VIDEO" => "Y", "LOG_VIDEO" => "N"
			);

			$arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut(
				$parserLog->convert(htmlspecialcharsback(str_replace("#CUT#",	"", $arResult["EVENT_FORMATTED"]["MESSAGE"])), array(), $arAllow),
				1000
			);

			$arAllow = array("HTML" => "Y", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "N", "MULTIPLE_BR" => "N", "VIDEO" => "Y", "LOG_VIDEO" => "N");
			$arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow));

			$arResult["EVENT_FORMATTED"]["MESSAGE"] = str_replace(
				"#CUT#",
				'
'.GetMessage("SONET_GL_EVENT_BLOG_MORE").'', $arResult["EVENT_FORMATTED"]["MESSAGE"] ); $arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = CSocNetLogTools::FormatEvent_IsMessageShort($arResult["EVENT_FORMATTED"]["MESSAGE"], $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"]); } } else { $url = CSocNetLogTools::FormatEvent_GetURL($arFields); if ($url <> '') $arResult["EVENT_FORMATTED"]["URL"] = $url; } $arResult["HAS_COMMENTS"] = (intval($arFields["SOURCE_ID"]) > 0 ? "Y" : "N"); if ( $bMail && $arFields["MAIL_LANGUAGE_ID"] <> '' ) IncludeModuleLangFile(__FILE__, LANGUAGE_ID); return $arResult; }