- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
- Класс: CIntranetEventHandlers
- Вызов: CIntranetEventHandlers::addNewsComment
static function addNewsComment($params = array())
{
global $DB, $USER_FIELD_MANAGER;
$entityId = (!empty($params['entityId']) ? intval($params['entityId']) : 0);
$logDate = (!empty($params['logDate']) ? $params['logDate'] : false);
$message = (!empty($params['message']) ? $params['message'] : '');
$textMessage = (!empty($params['textMessage']) ? $params['textMessage'] : '');
$url = (!empty($params['url']) ? $params['url'] : '');
$forumMessageId = (!empty($params['forumMessageId']) ? intval($params['forumMessageId']) : 0);
$logId = (!empty($params['logId']) ? intval($params['logId']) : 0);
$authorId = (!empty($params['authorId']) ? intval($params['authorId']) : 0);
if (
$entityId <= 0
|| $forumMessageId <= 0
)
{
return;
}
$fields = array(
"ENTITY_TYPE" => SONET_SUBSCRIBE_ENTITY_NEWS,
"ENTITY_ID" => $entityId,
"EVENT_ID" => "news_comment",
"MESSAGE" => $message,
"TEXT_MESSAGE" => $textMessage,
"URL" => $url,
"MODULE_ID" => false,
"SOURCE_ID" => $forumMessageId,
"LOG_ID" => $logId,
"RATING_TYPE_ID" => "FORUM_POST",
"RATING_ENTITY_ID" => $forumMessageId
);
if ($logDate)
{
$fields["LOG_DATE"] = $logDate;
}
else
{
$fields["=LOG_DATE"] = $DB->currentTimeFunction();
}
if ($authorId > 0)
{
$fields["USER_ID"] = $authorId;
}
$ufFileID = array();
if (
Loader::includeModule('forum')
&& Loader::includeModule('socialnetwork')
)
{
$res = CForumFiles::getList(array("ID" => "ASC"), array("MESSAGE_ID" => $forumMessageId));
while ($forumFile = $res->fetch())
{
$ufFileID[] = $forumFile["FILE_ID"];
}
if (count($ufFileID) > 0)
{
$fields["UF_SONET_COM_FILE"] = $ufFileID;
}
$ufDocID = $USER_FIELD_MANAGER->getUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_DOC", $forumMessageId, LANGUAGE_ID);
if ($ufDocID)
{
$fields["UF_SONET_COM_DOC"] = $ufDocID;
}
$commentId = CSocNetLogComments::add($fields, false, false);
if (
!is_array($commentId)
&& intval($commentId) > 0
)
{
CSocNetLog::counterIncrement($commentId, false, false, "LC");
}
}
}