• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_event.php
  • Класс: CIMEvent
  • Вызов: CIMEvent::GetMessageRatingLogCommentURL
static function GetMessageRatingLogCommentURL($arComment, $user_id = false, $arSites = false, $intranet_site_id = false, $extranet_site_id = false)
{
	$url = false;

	if (
		!is_array($arComment)
		|| !isset($arComment["ENTITY_TYPE"]) || $arComment["ENTITY_TYPE"] == ''
		|| !isset($arComment["ID"]) || intval($arComment["ID"]) <= 0
		|| !isset($arComment["LOG_ID"]) || intval($arComment["LOG_ID"]) <= 0
	)
	{
		return false;
	}

	if (
		is_array($arSites)
		&& intval($user_id) > 0
		&& $extranet_site_id <> ''
		&& $intranet_site_id <> ''
	)
	{
		$bExtranetUser = false;
		if ($arSites[$extranet_site_id])
		{
			$bExtranetUser = true;
			$rsUser = CUser::GetByID($user_id);
			if ($arUser = $rsUser->Fetch())
			{
				if (intval($arUser["UF_DEPARTMENT"][0]) > 0)
				{
					$bExtranetUser = false;
				}
			}
		}

		$user_site_id = ($bExtranetUser ? $extranet_site_id : $intranet_site_id);

		$url = (in_array($arComment["ENTITY_TYPE"], ["CRMLEAD", "CRMCONTACT", "CRMCOMPANY", "CRMDEAL", "CRMACTIVITY"]) ? $arSites[$user_site_id]["DIR"]."crm/stream?log_id=#log_id#" : COption::GetOptionString("socialnetwork", "log_entry_page", $arSites[$user_site_id]["DIR"]."company/personal/log/#log_id#/", $user_site_id));
		$url = str_replace("#log_id#", $arComment["LOG_ID"], $url);
		$url .= (mb_strpos($url, "?") !== false ? "&" : "?")."commentId=".$arComment["ID"]."#com".$arComment["ID"];
		$url = (CMain::IsHTTPS() ? "https" : "http")."://".$arSites[$user_site_id]['SERVER_NAME'].$url;
	}
	else
	{
		$url = (in_array($arComment["ENTITY_TYPE"], ["CRMLEAD", "CRMCONTACT", "CRMCOMPANY", "CRMDEAL", "CRMACTIVITY"]) ? SITE_DIR."crm/stream?log_id=#log_id#" : COption::GetOptionString("socialnetwork", "log_entry_page", SITE_DIR."company/personal/log/#log_id#/", SITE_ID));
		$url = str_replace("#log_id#", $arComment["LOG_ID"], $url);
		$url .= (mb_strpos($url, "?") !== false ? "&" : "?")."commentId=".$arComment["ID"]."#com".$arComment["ID"];

		$SiteServerName = (defined('SITE_SERVER_NAME') && SITE_SERVER_NAME <> '' ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name", $_SERVER['SERVER_NAME']));
		if ($SiteServerName <> '')
		{
			$url = (CMain::IsHTTPS() ? "https" : "http")."://".$SiteServerName.$url;
		}
	}

	return $url;
}