• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/internals/site.php
  • Класс: BitrixLandingInternalsSiteTable
  • Вызов: SiteTable::randomizeDomain
static function randomizeDomain(int $siteId): bool
{
	$res = self::getList([
		'select' => [
			'ID',
			'TYPE',
			'DOMAIN_ID',
			'DOMAIN_NAME' => 'DOMAIN.DOMAIN'
		],
		'filter' => [
			'ID' => $siteId
		]
	]);
	if ($row = $res->fetch())
	{
		$siteController = self::getSiteController();
		$publicUrl = Manager::getPublicationPath($row['ID']);
		try
		{
			$siteController::deleteDomain($row['DOMAIN_NAME']);
			$domainName = $siteController::addRandomDomain(
				$publicUrl,
				($row['TYPE'] == 'STORE') ? 'shop' : $row['TYPE'],
				self::prepareLangForController(Manager::getZone())
			);
			if ($domainName)
			{
				$res = Domain::update($row['DOMAIN_ID'], [
					'DOMAIN' => $domainName,
					'FAIL_COUNT' => null,
					'PROVIDER' => null
				]);
				return $res->isSuccess();
			}
		}
		catch (SystemException $ex) {}
	}

	return false;
}