[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/tokens/controller/ -> PhabricatorTokenLeaderController.php (source)

   1  <?php
   2  
   3  final class PhabricatorTokenLeaderController
   4    extends PhabricatorTokenController {
   5  
   6    public function shouldAllowPublic() {
   7      return true;
   8    }
   9  
  10    public function processRequest() {
  11      $request = $this->getRequest();
  12      $user = $request->getUser();
  13  
  14      $pager = new AphrontPagerView();
  15      $pager->setURI($request->getRequestURI(), 'page');
  16      $pager->setOffset($request->getInt('page'));
  17  
  18      $query = id(new PhabricatorTokenReceiverQuery());
  19      $objects = $query->setViewer($user)->executeWithOffsetPager($pager);
  20      $counts = $query->getTokenCounts();
  21  
  22      $handles = array();
  23      $phids = array();
  24      if ($counts) {
  25        $phids = mpull($objects, 'getPHID');
  26        $handles = id(new PhabricatorHandleQuery())
  27          ->setViewer($user)
  28          ->withPHIDs($phids)
  29          ->execute();
  30      }
  31  
  32      $list = new PHUIObjectItemListView();
  33      foreach ($phids as $object) {
  34        $count = idx($counts, $object, 0);
  35        $item = id(new PHUIObjectItemView());
  36        $handle = $handles[$object];
  37  
  38        $item->setHeader($handle->getFullName());
  39        $item->setHref($handle->getURI());
  40        $item->addAttribute(pht('Tokens: %s', $count));
  41        $list->addItem($item);
  42      }
  43  
  44      $title = pht('Token Leader Board');
  45  
  46      $nav = $this->buildSideNav();
  47      $nav->setCrumbs(
  48        $this->buildApplicationCrumbs()
  49          ->addTextCrumb($title));
  50      $nav->selectFilter('leaders/');
  51  
  52      $nav->appendChild($list);
  53      $nav->appendChild($pager);
  54  
  55      return $this->buildApplicationPage(
  56        $nav,
  57        array(
  58          'title' => $title,
  59        ));
  60    }
  61  
  62  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1