• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/site.php
  • Класс: BitrixLandingSite
  • Вызов: Site::getPublicHash
static function getPublicHash($id, $domain = null)
{
	static $hashes = [];
	static $domains = [];

	if (isset($hashes[$id]))
	{
		return $hashes[$id];
	}

	$hash = [];

	if (Manager::isB24())
	{
		$hash[] = Manager::getHttpHost();
	}
	else
	{
		// detect domain
		if ($domain === null)
		{
			if (!isset($domains[$id]))
			{
				$domains[$id] = '';
				$res = self::getList(array(
					'select' => array(
						'SITE_DOMAIN' => 'DOMAIN.DOMAIN'
					),
					'filter' => array(
						'ID' => $id
					)
				));
				if ($row = $res->fetch())
				{
					$domains[$id] = $row['SITE_DOMAIN'];
				}
			}
			$domain = $domains[$id];
		}
		$hash[] = $domain;
	}

	if (Manager::isB24())
	{
		$hash[] = rtrim(Manager::getPublicationPath($id), '/');
	}
	else
	{
		$hash[] = $id;
		$hash[] = LICENSE_KEY;
	}

	$hashes[$id] = md5(implode('', $hash));

	return $hashes[$id];
}