@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update Paste for handleRequest

Summary: Updates Paste

Test Plan: New paste, edit, view lists

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T8628

Differential Revision: https://secure.phabricator.com/D13766

+39 -57
+7 -13
src/applications/paste/controller/PhabricatorPasteCommentController.php
··· 3 3 final class PhabricatorPasteCommentController 4 4 extends PhabricatorPasteController { 5 5 6 - private $id; 7 - 8 - public function willProcessRequest(array $data) { 9 - $this->id = idx($data, 'id'); 10 - } 11 - 12 - public function processRequest() { 13 - $request = $this->getRequest(); 14 - $user = $request->getUser(); 6 + public function handleRequest(AphrontRequest $request) { 7 + $viewer = $request->getViewer(); 8 + $id = $request->getURIData('id'); 15 9 16 10 if (!$request->isFormPost()) { 17 11 return new Aphront400Response(); 18 12 } 19 13 20 14 $paste = id(new PhabricatorPasteQuery()) 21 - ->setViewer($user) 22 - ->withIDs(array($this->id)) 15 + ->setViewer($viewer) 16 + ->withIDs(array($id)) 23 17 ->executeOne(); 24 18 if (!$paste) { 25 19 return new Aphront404Response(); ··· 38 32 ->setContent($request->getStr('comment'))); 39 33 40 34 $editor = id(new PhabricatorPasteEditor()) 41 - ->setActor($user) 35 + ->setActor($viewer) 42 36 ->setContinueOnNoEffect($request->isContinueRequest()) 43 37 ->setContentSourceFromRequest($request) 44 38 ->setIsPreview($is_preview); ··· 57 51 58 52 if ($request->isAjax() && $is_preview) { 59 53 return id(new PhabricatorApplicationTransactionResponse()) 60 - ->setViewer($user) 54 + ->setViewer($viewer) 61 55 ->setTransactions($xactions) 62 56 ->setIsPreview($is_preview); 63 57 } else {
+15 -21
src/applications/paste/controller/PhabricatorPasteEditController.php
··· 2 2 3 3 final class PhabricatorPasteEditController extends PhabricatorPasteController { 4 4 5 - private $id; 6 - 7 - public function willProcessRequest(array $data) { 8 - $this->id = idx($data, 'id'); 9 - } 10 - 11 - public function processRequest() { 12 - $request = $this->getRequest(); 13 - $user = $request->getUser(); 5 + public function handleRequest(AphrontRequest $request) { 6 + $viewer = $request->getViewer(); 7 + $id = $request->getURIData('id'); 14 8 15 9 $parent = null; 16 10 $parent_id = null; 17 - if (!$this->id) { 11 + if (!$id) { 18 12 $is_create = true; 19 13 20 - $paste = PhabricatorPaste::initializeNewPaste($user); 14 + $paste = PhabricatorPaste::initializeNewPaste($viewer); 21 15 22 16 $parent_id = $request->getStr('parent'); 23 17 if ($parent_id) { 24 18 // NOTE: If the Paste is forked from a paste which the user no longer 25 19 // has permission to see, we still let them edit it. 26 20 $parent = id(new PhabricatorPasteQuery()) 27 - ->setViewer($user) 21 + ->setViewer($viewer) 28 22 ->withIDs(array($parent_id)) 29 23 ->needContent(true) 30 24 ->needRawContent(true) ··· 37 31 } 38 32 } 39 33 40 - $paste->setAuthorPHID($user->getPHID()); 34 + $paste->setAuthorPHID($viewer->getPHID()); 41 35 $paste->attachRawContent(''); 42 36 } else { 43 37 $is_create = false; 44 38 45 39 $paste = id(new PhabricatorPasteQuery()) 46 - ->setViewer($user) 40 + ->setViewer($viewer) 47 41 ->requireCapabilities( 48 42 array( 49 43 PhabricatorPolicyCapability::CAN_VIEW, 50 44 PhabricatorPolicyCapability::CAN_EDIT, 51 45 )) 52 - ->withIDs(array($this->id)) 46 + ->withIDs(array($id)) 53 47 ->needRawContent(true) 54 48 ->executeOne(); 55 49 if (!$paste) { ··· 97 91 98 92 if ($is_create || ($v_text !== $paste->getRawContent())) { 99 93 $file = PhabricatorPasteEditor::initializeFileForPaste( 100 - $user, 94 + $viewer, 101 95 $v_title, 102 96 $v_text); 103 97 ··· 129 123 ->setNewValue(array('=' => array_fuse($v_projects))); 130 124 131 125 $editor = id(new PhabricatorPasteEditor()) 132 - ->setActor($user) 126 + ->setActor($viewer) 133 127 ->setContentSourceFromRequest($request) 134 128 ->setContinueOnNoEffect(true); 135 129 ··· 148 142 ) + PhabricatorEnv::getEnvConfig('pygments.dropdown-choices'); 149 143 150 144 $form 151 - ->setUser($user) 145 + ->setUser($viewer) 152 146 ->addHiddenInput('parent', $parent_id) 153 147 ->appendChild( 154 148 id(new AphrontFormTextControl()) ··· 163 157 ->setOptions($langs)); 164 158 165 159 $policies = id(new PhabricatorPolicyQuery()) 166 - ->setViewer($user) 160 + ->setViewer($viewer) 167 161 ->setObject($paste) 168 162 ->execute(); 169 163 170 164 $form->appendChild( 171 165 id(new AphrontFormPolicyControl()) 172 - ->setUser($user) 166 + ->setUser($viewer) 173 167 ->setCapability(PhabricatorPolicyCapability::CAN_VIEW) 174 168 ->setPolicyObject($paste) 175 169 ->setPolicies($policies) ··· 179 173 180 174 $form->appendChild( 181 175 id(new AphrontFormPolicyControl()) 182 - ->setUser($user) 176 + ->setUser($viewer) 183 177 ->setCapability(PhabricatorPolicyCapability::CAN_EDIT) 184 178 ->setPolicyObject($paste) 185 179 ->setPolicies($policies)
+3 -7
src/applications/paste/controller/PhabricatorPasteListController.php
··· 2 2 3 3 final class PhabricatorPasteListController extends PhabricatorPasteController { 4 4 5 - private $queryKey; 6 - 7 5 public function shouldAllowPublic() { 8 6 return true; 9 7 } 10 8 11 - public function willProcessRequest(array $data) { 12 - $this->queryKey = idx($data, 'queryKey'); 13 - } 9 + public function handleRequest(AphrontRequest $request) { 10 + $querykey = $request->getURIData('queryKey'); 14 11 15 - public function processRequest() { 16 12 $controller = id(new PhabricatorApplicationSearchController()) 17 - ->setQueryKey($this->queryKey) 13 + ->setQueryKey($querykey) 18 14 ->setSearchEngine(new PhabricatorPasteSearchEngine()) 19 15 ->setNavigation($this->buildSideNavView()); 20 16
+14 -16
src/applications/paste/controller/PhabricatorPasteViewController.php
··· 5 5 */ 6 6 final class PhabricatorPasteViewController extends PhabricatorPasteController { 7 7 8 - private $id; 9 8 private $highlightMap; 10 9 11 10 public function shouldAllowPublic() { ··· 13 12 } 14 13 15 14 public function willProcessRequest(array $data) { 16 - $this->id = $data['id']; 17 15 $raw_lines = idx($data, 'lines'); 18 16 $map = array(); 19 17 if ($raw_lines) { ··· 31 29 $this->highlightMap = $map; 32 30 } 33 31 34 - public function processRequest() { 35 - $request = $this->getRequest(); 36 - $user = $request->getUser(); 32 + public function handleRequest(AphrontRequest $request) { 33 + $viewer = $request->getViewer(); 34 + $id = $request->getURIData('id'); 37 35 38 36 $paste = id(new PhabricatorPasteQuery()) 39 - ->setViewer($user) 40 - ->withIDs(array($this->id)) 37 + ->setViewer($viewer) 38 + ->withIDs(array($id)) 41 39 ->needContent(true) 42 40 ->executeOne(); 43 41 if (!$paste) { ··· 45 43 } 46 44 47 45 $file = id(new PhabricatorFileQuery()) 48 - ->setViewer($user) 46 + ->setViewer($viewer) 49 47 ->withPHIDs(array($paste->getFilePHID())) 50 48 ->executeOne(); 51 49 if (!$file) { ··· 53 51 } 54 52 55 53 $forks = id(new PhabricatorPasteQuery()) 56 - ->setViewer($user) 54 + ->setViewer($viewer) 57 55 ->withParentPHIDs(array($paste->getPHID())) 58 56 ->execute(); 59 57 $fork_phids = mpull($forks, 'getPHID'); 60 58 61 59 $header = $this->buildHeaderView($paste); 62 - $actions = $this->buildActionView($user, $paste, $file); 60 + $actions = $this->buildActionView($viewer, $paste, $file); 63 61 $properties = $this->buildPropertyView($paste, $fork_phids, $actions); 64 62 65 63 $object_box = id(new PHUIObjectBoxView()) ··· 90 88 ? pht('Add Comment') 91 89 : pht('Eat Paste'); 92 90 93 - $draft = PhabricatorDraft::newFromUserAndKey($user, $paste->getPHID()); 91 + $draft = PhabricatorDraft::newFromUserAndKey($viewer, $paste->getPHID()); 94 92 95 93 $add_comment_form = id(new PhabricatorApplicationTransactionCommentView()) 96 - ->setUser($user) 94 + ->setUser($viewer) 97 95 ->setObjectPHID($paste->getPHID()) 98 96 ->setDraft($draft) 99 97 ->setHeaderText($add_comment_header) ··· 126 124 } 127 125 128 126 private function buildActionView( 129 - PhabricatorUser $user, 127 + PhabricatorUser $viewer, 130 128 PhabricatorPaste $paste, 131 129 PhabricatorFile $file) { 132 130 133 131 $can_edit = PhabricatorPolicyFilter::hasCapability( 134 - $user, 132 + $viewer, 135 133 $paste, 136 134 PhabricatorPolicyCapability::CAN_EDIT); 137 135 138 - $can_fork = $user->isLoggedIn(); 136 + $can_fork = $viewer->isLoggedIn(); 139 137 $fork_uri = $this->getApplicationURI('/create/?parent='.$paste->getID()); 140 138 141 139 return id(new PhabricatorActionListView()) 142 - ->setUser($user) 140 + ->setUser($viewer) 143 141 ->setObject($paste) 144 142 ->setObjectURI($this->getRequest()->getRequestURI()) 145 143 ->addAction(