@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 80 lines 2.1 kB view raw
1<?php 2 3final class PhabricatorAuthMessageListController 4 extends PhabricatorAuthProviderController { 5 6 public function handleRequest(AphrontRequest $request) { 7 $viewer = $this->getViewer(); 8 9 $can_manage = $this->hasApplicationCapability( 10 AuthManageProvidersCapability::CAPABILITY); 11 12 $types = PhabricatorAuthMessageType::getAllMessageTypes(); 13 14 $messages = id(new PhabricatorAuthMessageQuery()) 15 ->setViewer($viewer) 16 ->execute(); 17 $messages = mpull($messages, null, 'getMessageKey'); 18 19 $list = new PHUIObjectItemListView(); 20 foreach ($types as $type) { 21 $message = idx($messages, $type->getMessageTypeKey()); 22 23 if ($message) { 24 $href = $message->getURI(); 25 $name = $message->getMessageTypeDisplayName(); 26 } else { 27 $href = urisprintf( 28 '/auth/message/%s/', 29 $type->getMessageTypeKey()); 30 $name = $type->getDisplayName(); 31 } 32 33 $item = id(new PHUIObjectItemView()) 34 ->setHeader($name) 35 ->setHref($href) 36 ->addAttribute($type->getShortDescription()); 37 38 if ($message) { 39 $item->addIcon('fa-circle', pht('Customized')); 40 } else { 41 $item->addIcon('fa-circle-o grey', pht('Default')); 42 } 43 44 $list->addItem($item); 45 } 46 47 $crumbs = $this->buildApplicationCrumbs() 48 ->addTextCrumb(pht('Messages')) 49 ->setBorder(true); 50 51 $list->setFlush(true); 52 $list = id(new PHUIObjectBoxView()) 53 ->setHeaderText(pht('Auth Messages')) 54 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 55 ->appendChild($list); 56 57 $title = pht('Auth Messages'); 58 $header = id(new PHUIHeaderView()) 59 ->setHeader($title) 60 ->setHeaderIcon('fa-commenting-o'); 61 62 $view = id(new PHUITwoColumnView()) 63 ->setHeader($header) 64 ->setFooter( 65 array( 66 $list, 67 )); 68 69 $nav = $this->newNavigation() 70 ->setCrumbs($crumbs) 71 ->appendChild($view); 72 73 $nav->selectFilter('message'); 74 75 return $this->newPage() 76 ->setTitle($title) 77 ->appendChild($nav); 78 } 79 80}