Differential D12186 Diff 29293 src/infrastructure/diff/PhabricatorInlineCommentPreviewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/diff/PhabricatorInlineCommentPreviewController.php
| <?php | <?php | ||||
| abstract class PhabricatorInlineCommentPreviewController | abstract class PhabricatorInlineCommentPreviewController | ||||
| extends PhabricatorController { | extends PhabricatorController { | ||||
| abstract protected function loadInlineComments(); | abstract protected function loadInlineComments(); | ||||
| abstract protected function loadObjectOwnerPHID(); | |||||
| public function processRequest() { | public function processRequest() { | ||||
| $request = $this->getRequest(); | $request = $this->getRequest(); | ||||
| $viewer = $request->getUser(); | $viewer = $request->getUser(); | ||||
| $inlines = $this->loadInlineComments(); | $inlines = $this->loadInlineComments(); | ||||
| assert_instances_of($inlines, 'PhabricatorInlineCommentInterface'); | assert_instances_of($inlines, 'PhabricatorInlineCommentInterface'); | ||||
| $engine = new PhabricatorMarkupEngine(); | $engine = new PhabricatorMarkupEngine(); | ||||
| $engine->setViewer($viewer); | $engine->setViewer($viewer); | ||||
| foreach ($inlines as $inline) { | foreach ($inlines as $inline) { | ||||
| $engine->addObject( | $engine->addObject( | ||||
| $inline, | $inline, | ||||
| PhabricatorInlineCommentInterface::MARKUP_FIELD_BODY); | PhabricatorInlineCommentInterface::MARKUP_FIELD_BODY); | ||||
| } | } | ||||
| $engine->process(); | $engine->process(); | ||||
| $phids = array($viewer->getPHID()); | $phids = array($viewer->getPHID()); | ||||
| $handles = $this->loadViewerHandles($phids); | $handles = $this->loadViewerHandles($phids); | ||||
| $object_owner_phid = $this->loadObjectOwnerPHID(); | |||||
| $views = array(); | $views = array(); | ||||
| foreach ($inlines as $inline) { | foreach ($inlines as $inline) { | ||||
| // TODO: This is incorrect, but figuring it out is somewhat involved. | |||||
| $object_owner_phid = null; | |||||
| $view = id(new PHUIDiffInlineCommentDetailView()) | $view = id(new PHUIDiffInlineCommentDetailView()) | ||||
| ->setUser($viewer) | |||||
| ->setInlineComment($inline) | ->setInlineComment($inline) | ||||
| ->setMarkupEngine($engine) | ->setMarkupEngine($engine) | ||||
| ->setHandles($handles) | ->setHandles($handles) | ||||
| ->setEditable(false) | ->setEditable(false) | ||||
| ->setPreview(true) | ->setPreview(true) | ||||
| ->setCanMarkDone(false) | ->setCanMarkDone(false) | ||||
| ->setObjectOwnerPHID($object_owner_phid); | ->setObjectOwnerPHID($object_owner_phid); | ||||
| $views[] = $view->render(); | $views[] = $view->render(); | ||||
| } | } | ||||
| $views = phutil_implode_html("\n", $views); | $views = phutil_implode_html("\n", $views); | ||||
| return id(new AphrontAjaxResponse()) | return id(new AphrontAjaxResponse()) | ||||
| ->setContent($views); | ->setContent($views); | ||||
| } | } | ||||
| } | } | ||||