@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.

at recaptime-dev/main 114 lines 3.0 kB view raw
1<?php 2 3final class PhabricatorStandardCustomFieldRemarkup 4 extends PhabricatorStandardCustomField { 5 6 public function getFieldType() { 7 return 'remarkup'; 8 } 9 10 public function renderEditControl(array $handles) { 11 return id(new PhabricatorRemarkupControl()) 12 ->setViewer($this->getViewer()) 13 ->setLabel($this->getFieldName()) 14 ->setName($this->getFieldKey()) 15 ->setCaption($this->getCaption()) 16 ->setValue($this->getFieldValue()); 17 } 18 19 public function getStyleForPropertyView() { 20 return 'block'; 21 } 22 23 public function getApplicationTransactionRemarkupBlocks( 24 PhabricatorApplicationTransaction $xaction) { 25 return array( 26 $xaction->getNewValue(), 27 ); 28 } 29 30 protected function renderValue() { 31 $value = $this->getFieldValue(); 32 33 if (!phutil_nonempty_string($value)) { 34 return null; 35 } 36 37 // TODO: Once this stabilizes, it would be nice to let fields batch this. 38 // For now, an extra query here and there on object detail pages isn't the 39 // end of the world. 40 41 $viewer = $this->getViewer(); 42 return new PHUIRemarkupView($viewer, $value); 43 } 44 45 public function getApplicationTransactionTitle( 46 PhabricatorApplicationTransaction $xaction) { 47 $author_phid = $xaction->getAuthorPHID(); 48 return pht( 49 '%s edited %s.', 50 $xaction->renderHandleLink($author_phid), 51 $this->getFieldName()); 52 } 53 54 public function getApplicationTransactionTitleForFeed( 55 PhabricatorApplicationTransaction $xaction) { 56 $author_phid = $xaction->getAuthorPHID(); 57 $object_phid = $xaction->getObjectPHID(); 58 return pht( 59 '%s edited %s on %s.', 60 $xaction->renderHandleLink($author_phid), 61 $this->getFieldName(), 62 $xaction->renderHandleLink($object_phid)); 63 } 64 65 public function getApplicationTransactionHasChangeDetails( 66 PhabricatorApplicationTransaction $xaction) { 67 return true; 68 } 69 70 public function getApplicationTransactionChangeDetails( 71 PhabricatorApplicationTransaction $xaction, 72 PhabricatorUser $viewer) { 73 return $xaction->renderTextCorpusChangeDetails( 74 $viewer, 75 $xaction->getOldValue(), 76 $xaction->getNewValue()); 77 } 78 79 public function shouldAppearInHerald() { 80 return true; 81 } 82 83 public function getHeraldFieldConditions() { 84 return array( 85 HeraldAdapter::CONDITION_CONTAINS, 86 HeraldAdapter::CONDITION_NOT_CONTAINS, 87 HeraldAdapter::CONDITION_IS, 88 HeraldAdapter::CONDITION_IS_NOT, 89 HeraldAdapter::CONDITION_REGEXP, 90 HeraldAdapter::CONDITION_NOT_REGEXP, 91 ); 92 } 93 94 public function getHeraldFieldStandardType() { 95 return HeraldField::STANDARD_TEXT; 96 } 97 98 protected function getHTTPParameterType() { 99 return new AphrontStringHTTPParameterType(); 100 } 101 102 public function shouldAppearInApplicationSearch() { 103 return false; 104 } 105 106 public function getConduitEditParameterType() { 107 return new ConduitStringParameterType(); 108 } 109 110 protected function newExportFieldType() { 111 return new PhabricatorStringExportField(); 112 } 113 114}