• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/publicpage.php
  • Класс: BitrixMainPublicPage
  • Вызов: PublicPage::initializeSite
protected function initializeSite()
{
	$request = $this->getRequest();

	$currentDirectory = $request->getRequestedPageDirectory();
	$currentDomain = $request->getHttpHost(false);

	$site = SiteTable::getByDomainAndPath($currentDomain, $currentDirectory);

	if ($site === false)
	{
		$siteList = SiteTable::getList(
			array(
				'filter' => array('ACTIVE' => 'Y'),
				'order' => array('DEF' => 'DESC', 'SORT' => 'ASC'),
				'select' => array('*', 'ID' => 'LID')
			)
		);
		$site = $siteList->fetch();
	}

	if ($site === false)
		throw new SystemException("Site not found");

	$culture = ContextCulture::wakeUp($site["CULTURE_ID"]);
	if ($culture === null)
		$culture = new ContextCulture();

	$this->site = new ContextSite($site);
	$this->site->setCulture($culture);

	$this->setContextCulture($culture, $this->site->getLanguage());
}