- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/internals/site.php
- Класс: BitrixLandingInternalsSiteTable
- Вызов: SiteTable::OnAfterUpdate
static function OnAfterUpdate(EntityEvent $event)
{
if (self::$disableCallback)
{
return true;
}
// for B24 we must update domain
if (Manager::isB24() && !self::$touchMode)
{
static $domainUpdated = [];
$primary = $event->getParameter('primary');
if (!in_array($primary['ID'], $domainUpdated))
{
$domainUpdated[] = $primary['ID'];
$siteController = self::getSiteController();
$res = self::getList([
'select' => [
'ACTIVE', 'DELETED',
'DOMAIN_NAME' => 'DOMAIN.DOMAIN',
'LANG'
],
'filter' => [
'ID' => $primary['ID'],
'=DELETED' => ['Y', 'N'],
'CHECK_PERMISSIONS' => 'N',
'>DOMAIN_ID' => 0
]
]);
if ($row = $res->fetch())
{
try
{
// now external domains always are active
$siteController::activateDomain(
$row['DOMAIN_NAME'],
'Y',
self::prepareLangForController($row['LANG'] ?? Manager::getZone())
);
}
catch (BitrixMainSystemException $ex) {}
}
}
}
return self::saveAdditionalFields($event);
}