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