- Модуль: 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;
}