• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/componenthelper.php
  • Класс: BitrixSocialnetworkComponentHelper
  • Вызов: ComponentHelper::processCommentData
static function processCommentData(&$comment, $languageId, $p, $params = []): void
{
	global $USER_FIELD_MANAGER;

	$isMail = (
		is_array($params)
		&& isset($params["MAIL"])
		&& $params["MAIL"] === 'Y'
	);

	$comment["ATTACHMENTS"] = $comment["PROPS"] = [];

	if ($commentAuxProvider = BitrixSocialnetworkCommentAuxBase::findProvider(
		$comment,
		[
			"mobile" => (isset($params["MOBILE"]) && $params["MOBILE"] === "Y"),
			"mail" => (isset($params["MAIL"]) && $params["MAIL"] === "Y"),
			"cache" => true
		]
	))
	{
		$comment["POST_TEXT_FORMATTED"] = $commentAuxProvider->getText();
		$arComment["AUX_TYPE"] = $commentAuxProvider->getType();
	}
	else
	{
		if($comment["HAS_PROPS"] !== "N")
		{
			$userFields = $comment["PROPS"] = $USER_FIELD_MANAGER->getUserFields("BLOG_COMMENT", $comment["ID"], $languageId);
			$commentUf = [ 'UF_BLOG_COMMENT_FILE' ];
			foreach ($userFields as $fieldName => $userField)
			{
				if (!in_array($fieldName, $commentUf, true))
				{
					unset($userFields[$fieldName]);
				}
			}

			if (
				!empty($userFields["UF_BLOG_COMMENT_FILE"])
				&& !empty($userFields["UF_BLOG_COMMENT_FILE"]["VALUE"])
			)
			{
				$comment["ATTACHMENTS"] = self::getAttachmentsData($userFields["UF_BLOG_COMMENT_FILE"]["VALUE"], $comment["BLOG_GROUP_SITE_ID"]);
			}

			if (
				$isMail
				&& isset($comment["PROPS"]["UF_BLOG_COMM_URL_PRV"])
			)
			{
				unset($comment["PROPS"]["UF_BLOG_COMM_URL_PRV"]);
			}
		}

		$comment["POST_TEXT"] = self::convertDiskFileBBCode(
			$comment["POST_TEXT"],
			'BLOG_COMMENT',
			$comment["ID"],
			$comment["AUTHOR_ID"],
			$comment["ATTACHMENTS"]
		);

		$comment["POST_TEXT_FORMATTED"] = preg_replace(
			[
				'|[DISKsFILEsID=[n]*d+]|',
				'|[DOCUMENTsID=[n]*d+]|'
			],
			'',
			$comment["POST_TEXT"]
		);

		$comment['POST_TEXT_FORMATTED'] = Mention::clear($comment['POST_TEXT_FORMATTED']);

		if ($p)
		{
			$p->arUserfields = [];
		}
		$images = [];
		$allow = [ 'IMAGE' => 'Y' ];
		$parserParameters = [];

		$comment["POST_TEXT_FORMATTED"] = $p->convert($comment["POST_TEXT_FORMATTED"], false, $images, $allow, $parserParameters);
	}

	$comment["DATE_CREATE_FORMATTED"] = self::formatDateTimeToGMT($comment['DATE_CREATE'], $comment['AUTHOR_ID']);
}