• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/livefeed/blogcomment.php
  • Класс: BitrixSocialnetworkLivefeedBlogComment
  • Вызов: BlogComment::initSourceFields
public function initSourceFields()
{
	$commentId = $this->entityId;

	if ($commentId <= 0 || !Loader::includeModule('blog'))
	{
		return;
	}

	$res = CBlogComment::getList(
		[],
		['ID' => $commentId],
		false,
		false,
		[
			'ID',
			'BLOG_ID',
			'POST_ID',
			'PARENT_ID',
			'AUTHOR_ID',
			'AUTHOR_NAME',
			'AUTHOR_EMAIL',
			'AUTHOR_IP',
		 	'AUTHOR_IP1',
			'TITLE',
			'POST_TEXT',
			'SHARE_DEST',
			'PUBLISH_STATUS',
		]
	);
	if (
		!($comment = $res->fetch())
		|| (
			$comment['PUBLISH_STATUS'] === BLOG_PUBLISH_STATUS_READY
			&& !$this->isCurrentUserAdmin()
		)
	)
	{
		return;
	}

	$res = CBlogPost::getList([], ['ID' => $comment['POST_ID']]);
	if (!($post = $res->fetch()))
	{
		return;
	}

	if (
		$this->getOption('checkAccess') !== false
		&& !BlogPost::canRead(['POST' => $post])
	)
	{
		return;
	}

	if (!empty($post['DETAIL_TEXT']))
	{
		$post['DETAIL_TEXT'] = Emoji::decode($post['DETAIL_TEXT']);
	}

	$this->setSourceFields(array_merge($comment, ['POST' => $post]));
	$this->setSourceDescription(htmlspecialcharsback($comment['POST_TEXT']));

	$title = htmlspecialcharsback($comment['POST_TEXT']);
	$title = Mention::clear($title);
	$title = (new blogTextParser())->convert($title, false);
	$title = preg_replace(
		[
			"/n+/is" . BX_UTF_PCRE_MODIFIER,
			"/s+/is" . BX_UTF_PCRE_MODIFIER,
			"/ +/is" . BX_UTF_PCRE_MODIFIER
		],
		" ",
		blogTextParser::killAllTags($title)
	);

	$this->setSourceTitle(truncateText($title, 100));
	$this->setSourceAttachedDiskObjects($this->getAttachedDiskObjects($this->cloneDiskObjects));
	$this->setSourceDiskObjects($this->getDiskObjects($commentId, $this->cloneDiskObjects));
	$this->setSourceOriginalText($comment['POST_TEXT']);
	$this->setSourceAuxData($comment);
}