- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
- Класс: CCalendar
- Вызов: CCalendar::GetServerName
static function GetServerName()
{
$server_name = '';
if (defined("SITE_SERVER_NAME") && SITE_SERVER_NAME <> '')
{
$server_name = SITE_SERVER_NAME;
}
if (!$server_name)
{
$server_name = COption::GetOptionString("main", "server_name", "");
}
if (!$server_name)
{
$server_name = $_SERVER['HTTP_HOST'];
}
$server_name = rtrim($server_name, '/');
if (!preg_match('/^[a-z0-9.-]+$/i', $server_name)) // cyrillic domain hack
{
$converter = new CBXPunycode(defined('BX_UTF') && BX_UTF === true ? 'UTF-8' : 'windows-1251');
$host = $converter->Encode($server_name);
if (!preg_match('#--p1ai$#', $host)) // trying to guess
{
$host = $converter->Encode(CharsetConverter::ConvertCharset($server_name, 'utf-8', 'windows-1251'));
}
$server_name = $host;
}
return $server_name;
}