• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/History/Action/EditLinkAction.php
  • Класс: BitrixLandingHistoryActionEditLinkAction
  • Вызов: EditLinkAction::execute
public function execute(bool $undo = true): bool
{
	$block = new Block((int)$this->params['block']);
	$selector = $this->params['selector'] ?: '';
	$position = (int)($this->params['position'] ?: 0);
	$value = $undo ? $this->params['valueBefore'] : $this->params['valueAfter'];

	if ($selector)
	{
		$doc = $block->getDom();
		$resultList = $doc->querySelectorAll($selector);
		if (isset($resultList[$position]))
		{
			NodeLink::saveNode($block, $selector, [
				$position => $value,
			]);

			$block->saveContent($doc->saveHTML());

			return $block->save();
		}
	}

	return false;
}