static function FormatComment_Report($arFields, $arParams, $bMail = false, $arLog = array())
{
$arResult = array(
"EVENT_FORMATTED" => array(),
);
if (!CModule::IncludeModule("socialnetwork"))
return $arResult;
if (!$bMail && ($arParams["USE_COMMENT"] ?? '') != "Y")
{
$arLog["ENTITY_ID"] = $arFields["ENTITY_ID"];
$arLog["ENTITY_TYPE"] = $arFields["ENTITY_TYPE"];
}
$news_tmp = $arLog["TITLE"] ?? '';
$title_tmp = GetMessage("REPORT_NEW_COMMENT").'"'.($arLog["TITLE"] ?? '').'"'."n";
$title_tmp.= GetMessage("COMMENT_AUTHOR").CUser::FormatName(CSite::GetNameFormat(false),
array("NAME" => $arFields["CREATED_BY_NAME"], "LAST_NAME" => $arFields["CREATED_BY_LAST_NAME"], "SECOND_NAME" => $arFields["CREATED_BY_SECOND_NAME"], "LOGIN" => $arFields["CREATED_BY_LOGIN"]), true)."n";
$title_tmp.= GetMessage("COMMENT_TEXT");
$title = str_replace(
[
"#TITLE#",
"#ENTITY#"
],
[
$news_tmp,
(
$bMail
? (isset($arResult["ENTITY"]) ? $arResult["ENTITY"]["FORMATTED"] : '')
: (isset($arResult["ENTITY"]) ? $arResult["ENTITY"]["FORMATTED"]["NAME"] : '')
)
],
$title_tmp
);
$arResult["EVENT_FORMATTED"] = array(
"TITLE" => ($bMail || ($arParams["USE_COMMENT"] ?? '') != "Y" ? $title : ""),
"MESSAGE" => ($bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"])
);
$arResult["ENTITY"]["TYPE_MAIL"] = GetMessage("REPORT_TITLE_FOR_MAIL");
if ($bMail)
{
$reportURL = COption::GetOptionString("timeman","WORK_REPORT_PATH","/timeman/work_report.php");
if ($reportURL == '')
$reportURL = "/timeman/work_report.php";
$reportURL = CSocNetLogTools::FormatEvent_GetURL(Array("URL"=>$reportURL,"SITE_ID"=>$arFields["LOG_SITE_ID"]));
if ($reportURL <> '')
$arResult["EVENT_FORMATTED"]["URL"] = $reportURL."#user_id=".$arLog["ENTITY_ID"]."&report=".$arLog["SOURCE_ID"];
}
else
{
static $parserLog = false;
if (CModule::IncludeModule("forum"))
{
$arAllow = array(
"HTML" => "N",
"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" => "N",
"VIDEO" => "Y", "LOG_VIDEO" => "N",
"USERFIELDS" => $arFields["UF"],
"USER" => (($arParams["IM"] ?? '') == "Y" ? "N" : "Y")
);
if (!$parserLog)
$parserLog = new forumTextParser(LANGUAGE_ID);
$parserLog->pathToUser = $parserLog->userPath = $arParams["PATH_TO_USER"];
$parserLog->bMobile = (($arParams["MOBILE"] ?? '') == "Y");
$arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow));
$arResult["EVENT_FORMATTED"]["MESSAGE"] = preg_replace("/[users*=s*([^]]*)](.+?)[/user]/is".BX_UTF_PCRE_MODIFIER, "\2", $arResult["EVENT_FORMATTED"]["MESSAGE"]);
}
else
{
$arAllow = array(
"HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y",
"IMG" => "N", "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" => "N",
"VIDEO" => "Y", "LOG_VIDEO" => "N",
"USERFIELDS" => $arFields["UF"]
);
if (!$parserLog)
$parserLog = new logTextParser(false, $arParams["PATH_TO_SMILE"]);
$arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow));
}
if (
($arParams["MOBILE"] ?? null) != "Y"
&& ($arParams["NEW_TEMPLATE"] ?? null) != "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;
}