- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/uf/blogpostconnector.php
- Класс: BitrixDiskUfBlogPostConnector
- Вызов: BlogPostConnector::addComment
public function addComment($authorId, array $data)
{
static $blogPostEventIdList = null;
$this->loadBlogPostData();
$commentFields = Array(
"POST_ID" => $this->entityId,
"BLOG_ID" => $this->blogPostData['BLOG_ID'],
"POST_TEXT" => CommentAuxFileVersion::getPostText(),
"DATE_CREATE" => new DateTime,
"PARENT_ID" => false,
"AUTHOR_ID" => $authorId,
"HAS_PROPS" => 'Y',
);
if(!empty($data['fileId']))
{
$commentFields['UF_BLOG_COMMENT_FILE'] = array($data['fileId']);
}
elseif(!empty($data['versionId']))
{
$commentFields['UF_BLOG_COMMENT_FH'] = $data['versionId'];
}
$comId = CBlogComment::add($commentFields);
if(!$comId)
{
return;
}
if(!Loader::includeModule('socialnetwork'))
{
return;
}
$provider = CommentAuxBase::init(CommentAuxFileVersion::getType(), array(
'liveParamList' => array(
'userId' => $authorId,
'userGender' => (isset($data['authorGender']) ? $data['authorGender'] : ''),
'isEnabledKeepVersion' => Configuration::isEnabledKeepVersion()
)
));
CBlogComment::addLiveComment($comId, [
'MODE' => 'PULL_MESSAGE',
'AUX' => 'fileversion',
'AUX_LIVE_PARAMS' => $provider->getLiveParams(),
'CURRENT_USER_ID' => $authorId,
]);
BXClearCache(true, "/blog/comment/".intval($this->entityId / 100)."/".$this->entityId."/");
if ($blogPostEventIdList === null)
{
$blogPostLivefeedProvider = new BitrixSocialnetworkLivefeedBlogPost;
$blogPostEventIdList = $blogPostLivefeedProvider->getEventId();
}
$query = CSocNetLog::getList(
array("ID" => "DESC"),
array(
"EVENT_ID" => $blogPostEventIdList,
"SOURCE_ID" => $this->entityId
),
false,
false,
array("ID", "TMP_ID")
);
$row = $query->fetch();
if(!$row)
{
return;
}
$fieldsForSocnet = array(
"ENTITY_TYPE" => SONET_ENTITY_USER,
"ENTITY_ID" => $this->blogPostData["AUTHOR_ID"],
"EVENT_ID" => "blog_comment",
"=LOG_DATE" => Application::getInstance()->getConnection()->getSqlHelper()->getCurrentDateTimeFunction(),
"MESSAGE" => "file",
"TEXT_MESSAGE" => "file",
"URL" => "",
"MODULE_ID" => false,
"SOURCE_ID" => $comId,
"LOG_ID" => $row["ID"],
"RATING_TYPE_ID" => "BLOG_COMMENT",
"RATING_ENTITY_ID" => $comId,
"USER_ID" => $authorId,
);
CSocNetLogComments::add($fieldsForSocnet, false, false, false);
}