static function FormatComment_Photo($arFields, $arParams, $bMail = false, $arLog = array())
{
if (
$bMail
&& $arFields["MAIL_LANGUAGE_ID"] <> ''
)
IncludeModuleLangFile(__FILE__, $arFields["MAIL_LANGUAGE_ID"]);
$arResult = [
"EVENT_FORMATTED" => [],
];
if ($bMail)
{
$arResult["CREATED_BY"] = CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail);
$arResult["ENTITY"] = CSocNetLogTools::FormatEvent_GetEntity($arLog, $arParams, $bMail);
}
elseif ($arParams["USE_COMMENT"] !== "Y")
{
$arResult["ENTITY"] = CSocNetLogTools::FormatEvent_GetEntity($arFields, $arParams, false);
}
$photo_tmp = (
!$bMail
&& array_key_exists("URL", $arLog)
&& $arLog["URL"] <> ''
? ''.$arLog["TITLE"].''
: $arLog["TITLE"]
);
$album_name = "";
if (
array_key_exists("PARAMS", $arLog)
&& $arLog["PARAMS"] <> ''
)
{
$arTmp = unserialize($arLog["PARAMS"], [ 'allowed_classes' => false ]);
if ($arTmp && array_key_exists("SECTION_NAME", $arTmp))
$album_name = $arTmp["SECTION_NAME"];
}
$title_tmp = (
$bMail
? GetMessage("SONET_GL_EVENT_TITLE_".($arFields["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_GROUP ? "GROUP" : "USER")."_PHOTO_COMMENT_MAIL")
: GetMessage("SONET_GL_EVENT_TITLE_PHOTO_COMMENT")
);
$title = str_replace(
array("#TITLE#", "#ENTITY#", "#CREATED_BY#", "#ALBUM#"),
array($photo_tmp, $arResult["ENTITY"]["FORMATTED"], ($bMail ? $arResult["CREATED_BY"]["FORMATTED"] : ""), $album_name),
$title_tmp
);
$arResult["EVENT_FORMATTED"] = array(
"TITLE" => ($bMail || $arParams["USE_COMMENT"] !== "Y" ? $title : ""),
"MESSAGE" => ($bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"])
);
if ($bMail)
{
$url = CSocNetLogTools::FormatEvent_GetURL($arLog);
if ($url <> '')
$arResult["EVENT_FORMATTED"]["URL"] = $url;
}
else
{
static $parserLog = false;
if (CModule::IncludeModule("forum"))
{
$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" => "N",
"VIDEO" => "Y", "LOG_VIDEO" => "N",
"USERFIELDS" => $arFields["UF"],
"USER" => ($arParams["IM"] == "Y" ? "N" : "Y")
);
if (!$parserLog)
$parserLog = new forumTextParser(LANGUAGE_ID);
$parserLog->arUserfields = $arFields["UF"];
$parserLog->pathToUser = $parserLog->userPath = $arParams["PATH_TO_USER"];
$parserLog->bMobile = (($arParams["MOBILE"] ?? null) === "Y");
$arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow));
$arResult['EVENT_FORMATTED']['MESSAGE'] = Mention::clear($arResult['EVENT_FORMATTED']['MESSAGE']);
}
else
{
$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" => "N",
"VIDEO" => "Y", "LOG_VIDEO" => "N"
);
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"] != "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"]);
}
}
if (
$bMail
&& $arFields["MAIL_LANGUAGE_ID"] <> ''
)
IncludeModuleLangFile(__FILE__, LANGUAGE_ID);
return $arResult;
}