@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<?php
2
3final class NuanceConsoleController extends NuanceController {
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 ->setUser($viewer);
14
15 $menu->addItem(
16 id(new PHUIObjectItemView())
17 ->setHeader(pht('Queues'))
18 ->setHref($this->getApplicationURI('queue/'))
19 ->setImageIcon('fa-align-left')
20 ->addAttribute(pht('Manage Nuance queues.')));
21
22 $menu->addItem(
23 id(new PHUIObjectItemView())
24 ->setHeader(pht('Sources'))
25 ->setHref($this->getApplicationURI('source/'))
26 ->setImageIcon('fa-filter')
27 ->addAttribute(pht('Manage Nuance sources.')));
28
29 $menu->addItem(
30 id(new PHUIObjectItemView())
31 ->setHeader(pht('Items'))
32 ->setHref($this->getApplicationURI('item/'))
33 ->setImageIcon('fa-clone')
34 ->addAttribute(pht('Manage Nuance items.')));
35
36 $crumbs = $this->buildApplicationCrumbs();
37 $crumbs->addTextCrumb(pht('Console'));
38 $crumbs->setBorder(true);
39
40 $box = id(new PHUIObjectBoxView())
41 ->setObjectList($menu);
42
43 $header = id(new PHUIHeaderView())
44 ->setHeader(pht('Nuance Console'))
45 ->setHeaderIcon('fa-fax');
46
47 $view = id(new PHUITwoColumnView())
48 ->setHeader($header)
49 ->setFooter(array(
50 $box,
51 ));
52
53 return $this->newPage()
54 ->setTitle(pht('Nuance Console'))
55 ->setCrumbs($crumbs)
56 ->appendChild($view);
57 }
58
59}