Differential D21137 Diff 50334 src/applications/differential/controller/DifferentialChangesetViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/controller/DifferentialChangesetViewController.php
| Show First 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | public function handleRequest(AphrontRequest $request) { | ||||
| if ($right_new) { | if ($right_new) { | ||||
| $coverage = $this->loadCoverage($right); | $coverage = $this->loadCoverage($right); | ||||
| } | } | ||||
| $spec = $request->getStr('range'); | $spec = $request->getStr('range'); | ||||
| list($range_s, $range_e, $mask) = | list($range_s, $range_e, $mask) = | ||||
| DifferentialChangesetParser::parseRangeSpecification($spec); | DifferentialChangesetParser::parseRangeSpecification($spec); | ||||
| $parser = id(new DifferentialChangesetParser()) | |||||
| ->setViewer($viewer) | |||||
| ->setCoverage($coverage) | |||||
| ->setChangeset($changeset) | |||||
| ->setRenderingReference($rendering_reference) | |||||
| ->setRenderCacheKey($render_cache_key) | |||||
| ->setRightSideCommentMapping($right_source, $right_new) | |||||
| ->setLeftSideCommentMapping($left_source, $left_new); | |||||
| $parser->readParametersFromRequest($request); | |||||
| if ($left && $right) { | |||||
| $parser->setOriginals($left, $right); | |||||
| } | |||||
| $diff = $changeset->getDiff(); | $diff = $changeset->getDiff(); | ||||
| $revision_id = $diff->getRevisionID(); | $revision_id = $diff->getRevisionID(); | ||||
| $can_mark = false; | $can_mark = false; | ||||
| $object_owner_phid = null; | $object_owner_phid = null; | ||||
| $revision = null; | $revision = null; | ||||
| if ($revision_id) { | if ($revision_id) { | ||||
| $revision = id(new DifferentialRevisionQuery()) | $revision = id(new DifferentialRevisionQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->withIDs(array($revision_id)) | ->withIDs(array($revision_id)) | ||||
| ->executeOne(); | ->executeOne(); | ||||
| if ($revision) { | if ($revision) { | ||||
| $can_mark = ($revision->getAuthorPHID() == $viewer->getPHID()); | $can_mark = ($revision->getAuthorPHID() == $viewer->getPHID()); | ||||
| $object_owner_phid = $revision->getAuthorPHID(); | $object_owner_phid = $revision->getAuthorPHID(); | ||||
| } | } | ||||
| } | } | ||||
| if ($revision) { | |||||
| $container_phid = $revision->getPHID(); | |||||
| } else { | |||||
| $container_phid = $diff->getPHID(); | |||||
| } | |||||
| $viewstate_engine = id(new PhabricatorChangesetViewStateEngine()) | |||||
| ->setViewer($viewer) | |||||
| ->setObjectPHID($container_phid) | |||||
| ->setChangeset($changeset); | |||||
| $viewstate = $viewstate_engine->newViewStateFromRequest($request); | |||||
| $parser = id(new DifferentialChangesetParser()) | |||||
| ->setViewer($viewer) | |||||
| ->setViewState($viewstate) | |||||
| ->setCoverage($coverage) | |||||
| ->setChangeset($changeset) | |||||
| ->setRenderingReference($rendering_reference) | |||||
| ->setRenderCacheKey($render_cache_key) | |||||
| ->setRightSideCommentMapping($right_source, $right_new) | |||||
| ->setLeftSideCommentMapping($left_source, $left_new); | |||||
| $parser->readParametersFromRequest($request); | |||||
| if ($left && $right) { | |||||
| $parser->setOriginals($left, $right); | |||||
| } | |||||
| // Load both left-side and right-side inline comments. | // Load both left-side and right-side inline comments. | ||||
| if ($revision) { | if ($revision) { | ||||
| $query = id(new DifferentialInlineCommentQuery()) | $query = id(new DifferentialInlineCommentQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->needHidden(true) | ->needHidden(true) | ||||
| ->withRevisionPHIDs(array($revision->getPHID())); | ->withRevisionPHIDs(array($revision->getPHID())); | ||||
| $inlines = $query->execute(); | $inlines = $query->execute(); | ||||
| $inlines = $query->adjustInlinesForChangesets( | $inlines = $query->adjustInlinesForChangesets( | ||||
| Show All 36 Lines | foreach ($inlines as $inline) { | ||||
| $engine->addObject( | $engine->addObject( | ||||
| $inline, | $inline, | ||||
| PhabricatorInlineCommentInterface::MARKUP_FIELD_BODY); | PhabricatorInlineCommentInterface::MARKUP_FIELD_BODY); | ||||
| } | } | ||||
| $engine->process(); | $engine->process(); | ||||
| $parser | $parser | ||||
| ->setUser($viewer) | ->setViewer($viewer) | ||||
| ->setMarkupEngine($engine) | ->setMarkupEngine($engine) | ||||
| ->setShowEditAndReplyLinks(true) | ->setShowEditAndReplyLinks(true) | ||||
| ->setCanMarkDone($can_mark) | ->setCanMarkDone($can_mark) | ||||
| ->setObjectOwnerPHID($object_owner_phid) | ->setObjectOwnerPHID($object_owner_phid) | ||||
| ->setRange($range_s, $range_e) | ->setRange($range_s, $range_e) | ||||
| ->setMask($mask); | ->setMask($mask); | ||||
| if ($request->isAjax()) { | if ($request->isAjax()) { | ||||
| ▲ Show 20 Lines • Show All 205 Lines • Show Last 20 Lines | |||||