• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/commentaux/base.php
  • Класс: BitrixSocialnetworkCommentAuxBase
  • Вызов: Base::getRatingCommentLink
protected function getRatingCommentLink($params)
{
	$result = '';

	if (Loader::includeModule('im'))
	{
		$options = $this->options;

		$commentAuthorId = (!empty($params['commentAuthorId']) && (int)$params['commentAuthorId'] > 0 ? (int)$params['commentAuthorId'] : 0);

		$siteList = $intranetSiteId = $extranetSiteId = false;

		if (Loader::includeModule('extranet'))
		{
			$siteList = array();
			$intranetSiteId = CExtranet::getExtranetSiteID();
			$extranetSiteId = CSite::getDefSite();
			$res = CSite::getList("sort", "desc", array("ACTIVE" => "Y"));
			while($site = $res->fetch())
			{
				$siteList[$site["ID"]] = array(
					"DIR" => (trim($site["DIR"]) !== '' ? $site["DIR"] : '/'),
					"SERVER_NAME" => (trim($site["SERVER_NAME"]) !== '' ? $site["SERVER_NAME"] : Option::get("main", "server_name", $_SERVER["HTTP_HOST"]))
				);
			}
		}

		$contentId = LivefeedProvider::getContentId([
			'RATING_TYPE_ID' => $params['ratingEntityTypeId'],
			'RATING_ENTITY_ID' => $params['ratingEntityId'],
		]);

		if (
			!empty($contentId['ENTITY_TYPE'])
			&& ($liveFeedProvider = LivefeedProvider::init([
				'ENTITY_TYPE' => $contentId['ENTITY_TYPE'],
				'ENTITY_ID' => $contentId['ENTITY_ID'],
				'SITE_ID' => (!empty($options['siteId']) ? $options['siteId'] : SITE_ID)
			]))
		)
		{
			$liveFeedProvider->initSourceFields();
			$originalLink = $liveFeedProvider->getLiveFeedUrl();

			$result = CIMEvent::getMessageRatingEntityURL(
				$originalLink,
				$commentAuthorId,
				$siteList,
				$intranetSiteId,
				$extranetSiteId
			);
		}
	}

	return $result;
}