• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/model/pagetable.php
  • Класс: BitrixSalesCenterModelPageTable
  • Вызов: PageTable::onChange
static function onChange(array $fields, array $oldFields = [])
{
	$result = new MainORMEventResult();

	$landingId = null;
	if(isset($fields['LANDING_ID']))
	{
		$landingId = $fields['LANDING_ID'];
	}
	elseif(isset($oldFields['LANDING_ID']))
	{
		$landingId = $oldFields['LANDING_ID'];
	}

	if($landingId)
	{
		$pageInfo = LandingManager::getInstance()->getLanding($landingId, false);
		if($pageInfo)
		{
			if(isset($fields['NAME']) && $pageInfo['TITLE'] === $fields['NAME'])
			{
				$result->modifyFields(['NAME' => '']);
			}
			$result->unsetField('URL');
		}
		else
		{
			$result->addError(new MainORMEntityError('Landing not found'));
		}
	}
	else
	{
		if(empty($fields['NAME']) && empty($oldFields['NAME']))
		{
			$result->addError(new MainORMEntityError('Name cannot be empty'));
		}
		if(empty($fields['URL']) && empty($oldFields['URL']))
		{
			$result->addError(new MainORMEntityError('Url cannot be empty'));
		}
	}

	return $result;
}