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