@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 108 lines 2.5 kB view raw
1<?php 2 3final class PhabricatorAuthMessageEditEngine 4 extends PhabricatorEditEngine { 5 6 private $messageType; 7 8 const ENGINECONST = 'auth.message'; 9 10 public function isEngineConfigurable() { 11 return false; 12 } 13 14 public function getEngineName() { 15 return pht('Auth Messages'); 16 } 17 18 public function getSummaryHeader() { 19 return pht('Edit Auth Messages'); 20 } 21 22 public function getSummaryText() { 23 return pht('This engine is used to edit authentication messages.'); 24 } 25 26 public function getEngineApplicationClass() { 27 return PhabricatorAuthApplication::class; 28 } 29 30 public function setMessageType(PhabricatorAuthMessageType $type) { 31 $this->messageType = $type; 32 return $this; 33 } 34 35 public function getMessageType() { 36 return $this->messageType; 37 } 38 39 protected function newEditableObject() { 40 $type = $this->getMessageType(); 41 42 if ($type) { 43 $message = PhabricatorAuthMessage::initializeNewMessage($type); 44 } else { 45 $message = new PhabricatorAuthMessage(); 46 } 47 48 return $message; 49 } 50 51 protected function newObjectQuery() { 52 return new PhabricatorAuthMessageQuery(); 53 } 54 55 protected function getObjectCreateTitleText($object) { 56 return pht('Create Auth Message'); 57 } 58 59 protected function getObjectCreateButtonText($object) { 60 return pht('Create Auth Message'); 61 } 62 63 protected function getObjectEditTitleText($object) { 64 return pht('Edit Auth Message'); 65 } 66 67 protected function getObjectEditShortText($object) { 68 return $object->getObjectName(); 69 } 70 71 protected function getObjectCreateShortText() { 72 return pht('Create Auth Message'); 73 } 74 75 protected function getObjectName() { 76 return pht('Auth Message'); 77 } 78 79 protected function getEditorURI() { 80 return '/auth/message/edit/'; 81 } 82 83 protected function getObjectCreateCancelURI($object) { 84 return '/auth/message/'; 85 } 86 87 protected function getObjectViewURI($object) { 88 return $object->getURI(); 89 } 90 91 protected function getCreateNewObjectPolicy() { 92 return $this->getApplication()->getPolicy( 93 AuthManageProvidersCapability::CAPABILITY); 94 } 95 96 protected function buildCustomEditFields($object) { 97 return array( 98 id(new PhabricatorRemarkupEditField()) 99 ->setKey('messageText') 100 ->setTransactionType( 101 PhabricatorAuthMessageTextTransaction::TRANSACTIONTYPE) 102 ->setLabel(pht('Message Text')) 103 ->setDescription(pht('Custom text for the message.')) 104 ->setValue($object->getMessageText()), 105 ); 106 } 107 108}