- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
- Класс: CIntranetEventHandlers
- Вызов: CIntranetEventHandlers::onAfterForumMessageAdd
static function onAfterForumMessageAdd($ID, $arForumMessage, $arTopicInfo, $arForumInfo, $arFields)
{
// add log comment
if (
array_key_exists("ADD_TO_LOG", $arFields)
&& $arFields["ADD_TO_LOG"] == "N"
)
{
return;
}
if (
array_key_exists("NEW_TOPIC", $arFields)
&& $arFields["NEW_TOPIC"] == "Y"
)
{
return;
}
if (
!array_key_exists("TOPIC_INFO", $arForumMessage)
|| !is_array($arForumMessage["TOPIC_INFO"])
|| !array_key_exists("XML_ID", $arForumMessage["TOPIC_INFO"])
|| empty($arForumMessage["TOPIC_INFO"]["XML_ID"])
|| mb_strpos($arForumMessage["TOPIC_INFO"]["XML_ID"], "IBLOCK_") !== 0
)
{
return;
}
$val = COption::GetOptionString("intranet", "sonet_log_news_iblock_forum");
$arIBlockForum = ($val <> '' ? unserialize($val, ["allowed_classes" => false]) : array());
if (
CModule::IncludeModule("socialnetwork")
&& CModule::IncludeModule("forum")
&& in_array($arFields["FORUM_ID"], $arIBlockForum)
&& array_key_exists("PARAM2", $arFields)
&& intval($arFields["PARAM2"]) > 0
)
{
CSocNetAllowed::GetAllowedEntityTypes();
$dbRes = CSocNetLog::GetList(
array("ID" => "DESC"),
array(
"EVENT_ID" => "news",
"SOURCE_ID" => $arFields["PARAM2"] // file element id
),
false,
false,
array("ID", "ENTITY_TYPE", "ENTITY_ID", "TMP_ID")
);
if ($arRes = $dbRes->Fetch())
{
$arForum = CForumNew::GetByID($arFields["FORUM_ID"]);
$parser = new forumTextParser(LANGUAGE_ID);
$parser->image_params["width"] = false;
$parser->image_params["height"] = false;
$arAllow = array(
"HTML" => "N",
"ANCHOR" => "N",
"BIU" => "N",
"IMG" => "N",
"LIST" => "N",
"QUOTE" => "N",
"CODE" => "N",
"FONT" => "N",
"UPLOAD" => $arForum["ALLOW_UPLOAD"],
"NL2BR" => "N",
"VIDEO" => "N",
"SMILES" => "N"
);
$arMessage = CForumMessage::GetByIDEx($ID);
self::addNewsComment(array(
'entityId' => $arRes["ENTITY_ID"],
'message' => $parser->convert($arFields["POST_MESSAGE"], $arAllow),
'textMessage' => $parser->convert4mail($arFields["POST_MESSAGE"]),
'url' => $arMessage['URL'],
'forumMessageId' => $ID,
'authorId' => intval($arMessage["AUTHOR_ID"]),
'logId' => $arRes["ID"],
));
}
}
}