• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/commentaux/createentity.php
  • Класс: BitrixSocialnetworkCommentAuxCreateEntity
  • Вызов: CreateEntity::getSourceCommentData
protected function getSourceCommentData(array $additionalParams = []): array
{
	$result = [
		'path' => '',
		'suffix' => '',
	];

	$params = $this->params;
	$options = $this->options;

	$userPage = ($additionalParams['userPage'] ?? '');
	$params['sourceType'] = ($params['sourceType'] ?? $params['sourcetype']);
	$params['sourceId'] = (int)($params['sourceId'] ?? $params['sourceid']);

	if (
		$params['sourceType'] === static::SOURCE_TYPE_BLOG_COMMENT
		&& Loader::includeModule('blog')
		&& ($comment = static::$blogCommentClass::getById($params['sourceId']))
		&& ($post = static::$blogPostClass::getById($comment['POST_ID']))
	)
	{
		$result['path'] = (
			(!isset($options['im']) || !$options['im'])
			&& (!isset($options['bPublicPage']) || !$options['bPublicPage'])
			&& (!isset($options['mail']) || !$options['mail'])
				? str_replace([ '#user_id#', '#USER_ID#' ], $post['AUTHOR_ID'], $userPage) . 'blog/' . $post['ID'] . '/?commentId=' . $params['sourceId'] . '#com' . $params['sourceId']
				: ''
		);
	}
	else
	{
		$commentProvider = BitrixSocialnetworkLivefeedProvider::getProvider($params['sourceType']);

		if (
			$commentProvider
			&& (!isset($options['im']) || !$options['im'])
			&& (!isset($options['bPublicPage']) || !$options['bPublicPage'])
			&& (!isset($options['mail']) || !$options['mail'])
			&& isset($options['logId'])
			&& (int)$options['logId'] > 0
		)
		{
			$commentProvider->setEntityId((int)$params['sourceId']);
			$commentProvider->setLogId($options['logId']);
			$commentProvider->initSourceFields();

			$result['path'] = $commentProvider->getLiveFeedUrl();
		}
	}

	$result['suffix'] = ($options['suffix'] ?? ($params['sourceType'] === static::SOURCE_TYPE_BLOG_COMMENT ? '2' : ''));

	return $result;
}