[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/almanac/query/ -> AlmanacNetworkSearchEngine.php (source)

   1  <?php
   2  
   3  final class AlmanacNetworkSearchEngine
   4    extends PhabricatorApplicationSearchEngine {
   5  
   6    public function getResultTypeDescription() {
   7      return pht('Almanac Networks');
   8    }
   9  
  10    protected function getApplicationClassName() {
  11      return 'PhabricatorAlmanacApplication';
  12    }
  13  
  14    public function buildSavedQueryFromRequest(AphrontRequest $request) {
  15      $saved = new PhabricatorSavedQuery();
  16  
  17      return $saved;
  18    }
  19  
  20    public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) {
  21      $query = id(new AlmanacNetworkQuery());
  22  
  23      return $query;
  24    }
  25  
  26    public function buildSearchForm(
  27      AphrontFormView $form,
  28      PhabricatorSavedQuery $saved_query) {}
  29  
  30    protected function getURI($path) {
  31      return '/almanac/network/'.$path;
  32    }
  33  
  34    public function getBuiltinQueryNames() {
  35      $names = array(
  36        'all' => pht('All Networks'),
  37      );
  38  
  39      return $names;
  40    }
  41  
  42    public function buildSavedQueryFromBuiltin($query_key) {
  43  
  44      $query = $this->newSavedQuery();
  45      $query->setQueryKey($query_key);
  46  
  47      switch ($query_key) {
  48        case 'all':
  49          return $query;
  50      }
  51  
  52      return parent::buildSavedQueryFromBuiltin($query_key);
  53    }
  54  
  55    protected function getRequiredHandlePHIDsForResultList(
  56      array $networks,
  57      PhabricatorSavedQuery $query) {
  58      return array();
  59    }
  60  
  61    protected function renderResultList(
  62      array $networks,
  63      PhabricatorSavedQuery $query,
  64      array $handles) {
  65      assert_instances_of($networks, 'AlmanacNetwork');
  66  
  67      $viewer = $this->requireViewer();
  68  
  69      $list = new PHUIObjectItemListView();
  70      $list->setUser($viewer);
  71      foreach ($networks as $network) {
  72        $id = $network->getID();
  73  
  74        $item = id(new PHUIObjectItemView())
  75          ->setObjectName(pht('Network %d', $id))
  76          ->setHeader($network->getName())
  77          ->setHref($this->getApplicationURI("network/{$id}/"))
  78          ->setObject($network);
  79  
  80        $list->addItem($item);
  81      }
  82  
  83      return $list;
  84    }
  85  }


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