[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class LegalpadDocumentCommentController extends LegalpadController { 4 5 private $id; 6 7 public function willProcessRequest(array $data) { 8 $this->id = $data['id']; 9 } 10 11 public function processRequest() { 12 $request = $this->getRequest(); 13 $user = $request->getUser(); 14 15 if (!$request->isFormPost()) { 16 return new Aphront400Response(); 17 } 18 19 $document = id(new LegalpadDocumentQuery()) 20 ->setViewer($user) 21 ->withIDs(array($this->id)) 22 ->needDocumentBodies(true) 23 ->executeOne(); 24 25 if (!$document) { 26 return new Aphront404Response(); 27 } 28 29 $is_preview = $request->isPreviewRequest(); 30 31 $draft = PhabricatorDraft::buildFromRequest($request); 32 33 $document_uri = $this->getApplicationURI('view/'.$document->getID()); 34 35 $comment = $request->getStr('comment'); 36 37 $xactions = array(); 38 39 if (strlen($comment)) { 40 $xactions[] = id(new LegalpadTransaction()) 41 ->setTransactionType(PhabricatorTransactions::TYPE_COMMENT) 42 ->attachComment( 43 id(new LegalpadTransactionComment()) 44 ->setDocumentID($document->getID()) 45 ->setLineNumber(0) 46 ->setLineLength(0) 47 ->setContent($comment)); 48 } 49 50 $editor = id(new LegalpadDocumentEditor()) 51 ->setActor($user) 52 ->setContentSourceFromRequest($request) 53 ->setContinueOnNoEffect($request->isContinueRequest()) 54 ->setIsPreview($is_preview); 55 56 try { 57 $xactions = $editor->applyTransactions($document, $xactions); 58 } catch (PhabricatorApplicationTransactionNoEffectException $ex) { 59 return id(new PhabricatorApplicationTransactionNoEffectResponse()) 60 ->setCancelURI($document_uri) 61 ->setException($ex); 62 } 63 64 if ($draft) { 65 $draft->replaceOrDelete(); 66 } 67 68 if ($request->isAjax() && $is_preview) { 69 return id(new PhabricatorApplicationTransactionResponse()) 70 ->setViewer($user) 71 ->setTransactions($xactions) 72 ->setIsPreview($is_preview); 73 } else { 74 return id(new AphrontRedirectResponse())->setURI($document_uri); 75 } 76 } 77 78 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |