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