3 final class PhabricatorTokenLeaderController
4 extends PhabricatorTokenController
{
6 public function shouldAllowPublic() {
10 public function handleRequest(AphrontRequest
$request) {
11 $viewer = $request->getViewer();
13 $pager = new PHUIPagerView();
14 $pager->setURI($request->getRequestURI(), 'page');
15 $pager->setOffset($request->getInt('page'));
17 $query = id(new PhabricatorTokenReceiverQuery());
18 $objects = $query->setViewer($viewer)->executeWithOffsetPager($pager);
19 $counts = $query->getTokenCounts();
24 $phids = mpull($objects, 'getPHID');
25 $handles = id(new PhabricatorHandleQuery())
31 $list = new PHUIObjectItemListView();
32 foreach ($phids as $object) {
33 $count = idx($counts, $object, 0);
34 $item = id(new PHUIObjectItemView());
35 $handle = $handles[$object];
37 $item->setHeader($handle->getFullName());
38 $item->setHref($handle->getURI());
39 $item->addAttribute(pht('Tokens: %s', $count));
40 $list->addItem($item);
43 $title = pht('Token Leader Board');
45 $box = id(new PHUIObjectBoxView())
46 ->setHeaderText($title)
47 ->setObjectList($list);
49 $nav = $this->buildSideNav();
51 $this->buildApplicationCrumbs()
52 ->addTextCrumb($title));
53 $nav->selectFilter('leaders/');
55 $nav->appendChild($box);
56 $nav->appendChild($pager);
58 return $this->newPage()