• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/internals/site.php
  • Класс: BitrixLandingInternalsSiteTable
  • Вызов: SiteTable::onAfterDelete
static function onAfterDelete(EntityEvent $event)
{
	$result = new EntityEventResult();
	$primary = $event->getParameter('primary');

	if (self::$disableCallback)
	{
		return $result;
	}

	// delete all inner landings
	if ($primary)
	{
		Rights::setOff();

		$res = LandingTable::getList(array(
			'select' => array(
				'ID'
			),
			'filter' => array(
				'SITE_ID' => $primary['ID']
			)
		));
		while ($row = $res->fetch())
		{
			BitrixLandingLanding::delete($row['ID'], true);
		}

		BitrixLandingSyspage::deleteForSite($primary['ID']);
		BitrixLandingFile::deleteFromSite($primary['ID']);
		BitrixLandingHook::deleteForSite($primary['ID']);
		BitrixLandingTemplateRef::setForSite($primary['ID'], []);
		BitrixLandingUrlRewrite::removeForSite($primary['ID']);
		BitrixLandingRights::setOperationsForSite($primary['ID'], []);
		BitrixLandingFolder::deleteForSite($primary['ID']);
		BitrixLandingSiteCookies::removeAgreementsForSite($primary['ID']);
		BindingTable::siteClear($primary['ID']);

		if (BitrixMainLoader::includeModule('ai'))
		{
			BitrixAIContext::clearContext([
				"image_site_{$primary['ID']}",
				"text_site_{$primary['ID']}",
			]);
		}

		Rights::setOn();
	}

	return $result;
}