• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/commentitem.php
  • Класс: CTaskCommentItem
  • Вызов: CTaskCommentItem::parseCommentPostMessage
static function parseCommentPostMessage(array $comment): array
{
	if (
		isset($comment['SERVICE_TYPE'])
		&& $serviceProvider = BitrixForumCommentsServiceManager::find([
			'SERVICE_TYPE' => (int)$comment['SERVICE_TYPE'],
		])
	)
	{
		$serviceData = ($comment['SERVICE_DATA'] ?? $comment['POST_MESSAGE']);
		$comment['POST_MESSAGE'] = $serviceProvider->getText($serviceData);
	} // new
	elseif ($commentAuxProvider = SocialnetworkCommentAuxBase::findProvider(
		['POST_TEXT' => $comment['POST_MESSAGE']],
		['needSetParams' => false]
	)) // old
	{
		$forumPostLivefeedProvider = new SocialnetworkLivefeedForumPost();
		$dbres = SocialnetworkLogCommentTable::getList([
			'filter' => [
				'SOURCE_ID' => $comment['ID'],
				'EVENT_ID' => $forumPostLivefeedProvider->getEventId(),
			],
			'select' => ['EVENT_ID', 'SHARE_DEST', 'LOG_ID'],
		]);
		if ($sonetCommentFields = $dbres->fetch())
		{
			$auxParams = $commentAuxProvider->getParamsFromFields($sonetCommentFields);
			if (!empty($auxParams))
			{
				$commentAuxProvider->setParams($auxParams);
				$comment['POST_MESSAGE'] = $commentAuxProvider->getText();
			}
		}
	}

	return $comment;
}