• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/block.php
  • Класс: BitrixLandingBlock
  • Вызов: Block::saveDynamicParams
public function saveDynamicParams(array $sourceParams = [], array $params = [])
{
	if ($this->access < $this::ACCESS_W)
	{
		$this->error->addError(
			'ACCESS_DENIED',
			Loc::getMessage('LANDING_BLOCK_ACCESS_DENIED')
		);
		return;
	}
	// replace old link to new in dynamic manifest
	if (
		isset($params['linkReplace']) &&
		is_array($params['linkReplace'])
	)
	{
		$sourceParams = $this->dynamicLinkReplacer(
			$sourceParams,
			$params['linkReplace']
		);
	}
	// save
	$paramsBefore = $this->dynamicParams;
	$this->dynamicParams = $sourceParams;
	$resUpdate = InternalsBlockTable::update($this->id, [
		'SOURCE_PARAMS' => $sourceParams
	]);

	if ($resUpdate->isSuccess())
	{
		if (History::isActive())
		{
			$history = new History($this->getLandingId(), History::ENTITY_TYPE_LANDING);
			$history->push('UPDATE_DYNAMIC', [
				'block' => $this,
				'valueBefore' => $paramsBefore,
				'valueAfter' => $sourceParams,
			]);
		}
	}

	unset($sourceParams, $params);
}