Path: blob/master/src/applications/differential/mail/DifferentialChangeDetailMailView.php
12256 views
<?php12final class DifferentialChangeDetailMailView3extends DifferentialMailView {45private $viewer;6private $diff;7private $patch;89public function setViewer(PhabricatorUser $viewer) {10$this->viewer = $viewer;11return $this;12}1314public function getViewer() {15return $this->viewer;16}1718public function setDiff(DifferentialDiff $diff) {19$this->diff = $diff;20return $this;21}2223public function getDiff() {24return $this->diff;25}2627public function setPatch($patch) {28$this->patch = $patch;29return $this;30}3132public function getPatch() {33return $this->patch;34}3536public function buildMailSection() {37$viewer = $this->getViewer();3839$diff = $this->getDiff();4041$engine = new PhabricatorMarkupEngine();42$viewstate = new PhabricatorChangesetViewState();4344$out = array();45foreach ($diff->getChangesets() as $changeset) {46$parser = id(new DifferentialChangesetParser())47->setViewer($viewer)48->setViewState($viewstate)49->setChangeset($changeset)50->setLinesOfContext(2)51->setMarkupEngine($engine);5253$parser->setRenderer(new DifferentialChangesetOneUpMailRenderer());54$block = $parser->render();5556$filename = $changeset->getFilename();57$filename = $this->renderHeaderBold($filename);58$header = $this->renderHeaderBlock($filename);5960$out[] = $this->renderContentBox(61array(62$header,63$this->renderCodeBlock($block),64));65}6667$out = phutil_implode_html(phutil_tag('br'), $out);6869$patch_html = $out;7071$patch_text = $this->getPatch();7273return id(new PhabricatorMetaMTAMailSection())74->addPlaintextFragment($patch_text)75->addHTMLFragment($patch_html);76}7778}798081