protected function DiffFormatter::_changed

protected DiffFormatter::_changed($orig, $closing)

Overrides DiffFormatter::_changed

File

core/lib/Drupal/Core/Diff/DiffFormatter.php, line 195

Class

DiffFormatter
Diff formatter which uses returns output that can be rendered to a table.

Namespace

Drupal\Core\Diff

Code

protected function _changed($orig, $closing) {
  $orig = array_map('\Drupal\Component\Utility\Html::escape', $orig);
  $closing = array_map('\Drupal\Component\Utility\Html::escape', $closing);
  $diff = new WordLevelDiff($orig, $closing);
  $del = $diff->orig();
  $add = $diff->closing();

  // Notice that WordLevelDiff returns HTML-escaped output. Hence, we will be
  // calling addedLine/deletedLine without HTML-escaping.
  while ($line = array_shift($del)) {
    $aline = array_shift($add);
    $this->rows[] = array_merge($this->deletedLine($line), isset($aline) ? $this->addedLine($aline) : $this->emptyLine());
  }

  // If any leftovers.
  foreach ($add as $line) {
    $this->rows[] = array_merge($this->emptyLine(), $this->addedLine($line));
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Diff!DiffFormatter.php/function/DiffFormatter::_changed/8.1.x