[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/transactions/view/ -> PhabricatorApplicationTransactionTextDiffDetailView.php (source)

   1  <?php
   2  
   3  final class PhabricatorApplicationTransactionTextDiffDetailView
   4    extends AphrontView {
   5  
   6    private $oldText;
   7    private $newText;
   8  
   9    public function setNewText($new_text) {
  10      $this->newText = $new_text;
  11      return $this;
  12    }
  13  
  14    public function setOldText($old_text) {
  15      $this->oldText = $old_text;
  16      return $this;
  17    }
  18  
  19    public function render() {
  20      $old = $this->oldText;
  21      $new = $this->newText;
  22  
  23      // TODO: On mobile, or perhaps by default, we should switch to 1-up once
  24      // that is built.
  25  
  26      if (strlen($old)) {
  27        $old = phutil_utf8_hard_wrap($old, 80);
  28        $old = implode("\n", $old)."\n";
  29      }
  30  
  31      if (strlen($new)) {
  32        $new = phutil_utf8_hard_wrap($new, 80);
  33        $new = implode("\n", $new)."\n";
  34      }
  35  
  36      try {
  37        $engine = new PhabricatorDifferenceEngine();
  38        $changeset = $engine->generateChangesetFromFileContent($old, $new);
  39  
  40        $whitespace_mode = DifferentialChangesetParser::WHITESPACE_SHOW_ALL;
  41  
  42        $markup_engine = new PhabricatorMarkupEngine();
  43        $markup_engine->setViewer($this->getUser());
  44  
  45        $parser = new DifferentialChangesetParser();
  46        $parser->setChangeset($changeset);
  47        $parser->setMarkupEngine($markup_engine);
  48        $parser->setWhitespaceMode($whitespace_mode);
  49  
  50        return $parser->render(0, PHP_INT_MAX, array());
  51      } catch (Exception $ex) {
  52        return $ex->getMessage();
  53      }
  54    }
  55  
  56  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1