/** * @see DifferenceEngine::generateContentDiffBody * * @param Content $old * @param Content $new * * @throws MWException If the two content objects are neither EntityContent nor TextContent. * @return string */ public function generateContentDiffBody(Content $old, Content $new) { if ($old instanceof EntityContent && $new instanceof EntityContent) { $diff = $old->getDiff($new); return $this->diffVisualizer->visualizeEntityContentDiff($diff); } return parent::generateContentDiffBody($old, $new); }
/** * @param EntityContentDiff $diff */ private function displayUndoDiff(EntityContentDiff $diff) { $tableClass = 'diff diff-contentalign-' . htmlspecialchars($this->getTitle()->getPageLanguage()->alignStart()); $this->getOutput()->addHTML(Html::openElement('table', array('class' => $tableClass))); $this->getOutput()->addHTML('<colgroup>' . '<col class="diff-marker"><col class="diff-content">' . '<col class="diff-marker"><col class="diff-content">' . '</colgroup>'); $this->getOutput()->addHTML(Html::openElement('tbody')); $old = $this->msg('currentrev')->parse(); $new = $this->msg('yourtext')->parse(); //XXX: better message? $this->getOutput()->addHTML(Html::openElement('tr', array('valign' => 'top'))); $this->getOutput()->addHTML(Html::rawElement('td', array('colspan' => '2'), Html::rawElement('div', array('id' => 'mw-diff-otitle1'), $old))); $this->getOutput()->addHTML(Html::rawElement('td', array('colspan' => '2'), Html::rawElement('div', array('id' => 'mw-diff-ntitle1'), $new))); $this->getOutput()->addHTML(Html::closeElement('tr')); $this->getOutput()->addHTML($this->entityDiffVisualizer->visualizeEntityContentDiff($diff)); $this->getOutput()->addHTML(Html::closeElement('tbody')); $this->getOutput()->addHTML(Html::closeElement('table')); $this->showDiffStyle(); }