• Модуль: 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);
}