@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 recaptime-dev/main 89 lines 2.6 kB view raw
1<?php 2 3final class AlmanacConsoleController extends AlmanacController { 4 5 public function shouldAllowPublic() { 6 return true; 7 } 8 9 public function handleRequest(AphrontRequest $request) { 10 $viewer = $request->getViewer(); 11 12 $menu = id(new PHUIObjectItemListView()) 13 ->setViewer($viewer) 14 ->setBig(true); 15 16 $menu->addItem( 17 id(new PHUIObjectItemView()) 18 ->setHeader(pht('Devices')) 19 ->setHref($this->getApplicationURI('device/')) 20 ->setImageIcon('fa-server') 21 ->setClickable(true) 22 ->addAttribute( 23 pht( 24 'Create an inventory of physical and virtual hosts and '. 25 'devices.'))); 26 27 $menu->addItem( 28 id(new PHUIObjectItemView()) 29 ->setHeader(pht('Services')) 30 ->setHref($this->getApplicationURI('service/')) 31 ->setImageIcon('fa-plug') 32 ->setClickable(true) 33 ->addAttribute( 34 pht( 35 'Create and update services, and map them to interfaces on '. 36 'devices.'))); 37 38 $menu->addItem( 39 id(new PHUIObjectItemView()) 40 ->setHeader(pht('Networks')) 41 ->setHref($this->getApplicationURI('network/')) 42 ->setImageIcon('fa-globe') 43 ->setClickable(true) 44 ->addAttribute( 45 pht( 46 'Manage public and private networks.'))); 47 48 $menu->addItem( 49 id(new PHUIObjectItemView()) 50 ->setHeader(pht('Namespaces')) 51 ->setHref($this->getApplicationURI('namespace/')) 52 ->setImageIcon('fa-asterisk') 53 ->setClickable(true) 54 ->addAttribute( 55 pht('Control who can create new named services and devices.'))); 56 57 $docs_uri = PhabricatorEnv::getDoclink( 58 'Almanac User Guide'); 59 60 $menu->addItem( 61 id(new PHUIObjectItemView()) 62 ->setHeader(pht('Documentation')) 63 ->setHref($docs_uri) 64 ->setImageIcon('fa-book') 65 ->setClickable(true) 66 ->addAttribute(pht('Browse documentation for Almanac.'))); 67 68 $crumbs = $this->buildApplicationCrumbs(); 69 $crumbs->addTextCrumb(pht('Console')); 70 $crumbs->setBorder(true); 71 72 $box = id(new PHUIObjectBoxView()) 73 ->setHeaderText(pht('Almanac Console')) 74 ->setBackground(PHUIObjectBoxView::WHITE_CONFIG) 75 ->setObjectList($menu); 76 77 $launcher_view = id(new PHUILauncherView()) 78 ->appendChild($box); 79 80 $view = id(new PHUITwoColumnView()) 81 ->setFooter($launcher_view); 82 83 return $this->newPage() 84 ->setTitle(pht('Almanac Console')) 85 ->setCrumbs($crumbs) 86 ->appendChild($view); 87 } 88 89}