• Модуль: wiki
  • Путь к файлу: ~/bitrix/modules/wiki/classes/general/wiki_socnet.php
  • Класс: CWikiSocnet
  • Вызов: CWikiSocnet::FormatComment_Wiki
static function FormatComment_Wiki($arFields, $arParams, $bMail = false, $arLog = array())
{
	$arResult = array(
		"EVENT_FORMATTED" => array()
	);

	if ($bMail)
	{
		$arResult['CREATED_BY'] = CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail);
		$arResult['ENTITY'] = CSocNetLogTools::FormatEvent_GetEntity($arLog, $arParams, $bMail);
	}

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

	$title = str_replace(
		array('#TITLE#', '#ENTITY#', '#CREATED_BY#'),
		array($wiki_tmp, $arResult['ENTITY']['FORMATTED'], ($bMail ? $arResult['CREATED_BY']['FORMATTED'] : '')),
		($bMail ? GetMessage('WIKI_SOCNET_LOG_COMMENT_TITLE_MAIL') : GetMessage('WIKI_SOCNET_LOG_COMMENT_TITLE'))
	);

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

	if ($bMail)
	{
		$url = CSocNetLogTools::FormatEvent_GetURL($arLog);
		if ($url <> '')
			$arResult['EVENT_FORMATTED']['URL'] = $url;
	}
	else
	{
		static $parserLog = false;
		if (CModule::IncludeModule("forum"))
		{
			if (!$parserLog)
				$parserLog = new forumTextParser(LANGUAGE_ID);

			$arAllow = array(
				"HTML" => "N",
				"ALIGN" => "Y",
				"ANCHOR" => "Y", "BIU" => "Y",
				"IMG" => "Y", "QUOTE" => "Y",
				"CODE" => "Y", "FONT" => "Y",
				"LIST" => "Y", "SMILES" => "Y",
				"NL2BR" => "Y", "VIDEO" => "Y",
				"LOG_VIDEO" => "N", "SHORT_ANCHOR" => "Y",
				"USERFIELDS" => $arFields["UF"],
				"USER" => "Y"
			);

			$parserLog->pathToUser = $parserLog->userPath = $arParams["PATH_TO_USER"];
			$parserLog->arUserfields = $arFields["UF"];
			$parserLog->bMobile = ($arParams["MOBILE"] == "Y");
			$arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow));
		}
		else
		{
			if (!$parserLog)
				$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" => "Y",
				"MULTIPLE_BR" => "Y",
				"VIDEO" => "Y", "LOG_VIDEO" => "N"
			);

			$arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow));
		}

		if (
			$arParams["MOBILE"] != "Y"
			&& $arParams["NEW_TEMPLATE"] != "Y"
		)
		{
			if (CModule::IncludeModule("forum"))
				$arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut(
					$parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow),
					500
				);
			else
				$arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut(
					$parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow),
					500
				);

			$arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = CSocNetLogTools::FormatEvent_IsMessageShort($arResult["EVENT_FORMATTED"]["MESSAGE"], $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"]);
		}
	}

	return $arResult;
}