• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/sitebutton/resourcemanager.php
  • Класс: Bitrix\Crm\SiteButton\ResourceManager
  • Вызов: ResourceManager::getServerAddress
static function getServerAddress()
{
	$server = Context::getCurrent()->getServer();
	$url = $server->getHttpHost();

	$canSave = !empty($url);
	$isRestored = false;

	if (!$url)
	{
		$url = Option::get('crm', 'last_site_button_res_url', null);
		if ($url)
		{
			$isRestored = true;
		}
		else
		{
			$url = $server->getServerName();
		}
	}

	if (!$isRestored)
	{
		if (mb_strpos($url, ':') === false && $server->getServerPort())
		{
			if (!in_array($server->getServerPort(), array('80', '443')))
			{
				$url .= ':' . $server->getServerPort();
			}
		}

		$url = (Context::getCurrent()->getRequest()->isHttps() ? "https" : "http")
			. "://" . $url;
	}

	$uri = new Uri($url);
	$url = $uri->getLocator();
	if (mb_substr($url, -1) == '/')
	{
		$url = mb_substr($url, 0, -1);
	}

	if ($canSave)
	{
		Option::set('crm', 'last_site_button_res_url', $url);
	}

	return $url;
}