@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
at upstream/main 93 lines 2.2 kB view raw
1<?php 2 3final class DifferentialInlineComment 4 extends PhabricatorInlineComment { 5 6 protected function newStorageObject() { 7 return new DifferentialTransactionComment(); 8 } 9 10 public function getControllerURI() { 11 return urisprintf( 12 '/differential/comment/inline/edit/%s/', 13 $this->getRevisionID()); 14 } 15 16 public function getTransactionCommentForSave() { 17 $content_source = PhabricatorContentSource::newForSource( 18 PhabricatorOldWorldContentSource::SOURCECONST); 19 20 $this->getStorageObject() 21 ->setViewPolicy('public') 22 ->setEditPolicy($this->getAuthorPHID()) 23 ->setContentSource($content_source) 24 ->attachIsHidden(false) 25 ->setCommentVersion(1); 26 27 return $this->getStorageObject(); 28 } 29 30 public function supportsHiding() { 31 if ($this->getSyntheticAuthor()) { 32 return false; 33 } 34 return true; 35 } 36 37 public function isHidden() { 38 if (!$this->supportsHiding()) { 39 return false; 40 } 41 return $this->getStorageObject()->getIsHidden(); 42 } 43 44 public static function newFromModernComment( 45 DifferentialTransactionComment $comment) { 46 47 $obj = new DifferentialInlineComment(); 48 $obj->setStorageObject($comment); 49 50 return $obj; 51 } 52 53 public function setChangesetID($id) { 54 $this->getStorageObject()->setChangesetID($id); 55 return $this; 56 } 57 58 public function getChangesetID() { 59 return $this->getStorageObject()->getChangesetID(); 60 } 61 62 public function setRevision(DifferentialRevision $revision) { 63 $this->getStorageObject()->setRevisionPHID($revision->getPHID()); 64 return $this; 65 } 66 67 public function getRevisionPHID() { 68 return $this->getStorageObject()->getRevisionPHID(); 69 } 70 71 // Although these are purely transitional, they're also *extra* dumb. 72 73 public function setRevisionID($revision_id) { 74 $revision = id(new DifferentialRevision())->load($revision_id); 75 return $this->setRevision($revision); 76 } 77 78 public function getRevisionID() { 79 $phid = $this->getStorageObject()->getRevisionPHID(); 80 if (!$phid) { 81 return null; 82 } 83 84 $revision = id(new DifferentialRevision())->loadOneWhere( 85 'phid = %s', 86 $phid); 87 if (!$revision) { 88 return null; 89 } 90 return $revision->getID(); 91 } 92 93}