• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/History/Action/EditTextAction.php
  • Класс: BitrixLandingHistoryActionEditTextAction
  • Вызов: EditTextAction::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);

	if ($selector)
	{
		$doc = $block->getDom();
		$resultList = $doc->querySelectorAll($selector);
		if (isset($resultList[$position]))
		{
			$content = $undo ? $this->params['valueBefore'] : $this->params['valueAfter'];
			$content = Emoji::decode($content);
			$resultList[$position]->setInnerHTML($content);
			$block->saveContent($doc->saveHTML());

			return $block->save();
		}
	}

	return false;
}