[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorMailingListSearchEngine 4 extends PhabricatorApplicationSearchEngine { 5 6 public function getResultTypeDescription() { 7 return pht('Mailing Lists'); 8 } 9 10 public function getApplicationClassName() { 11 return 'PhabricatorMailingListsApplication'; 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 PhabricatorMailingListQuery()); 22 23 return $query; 24 } 25 26 public function buildSearchForm( 27 AphrontFormView $form, 28 PhabricatorSavedQuery $saved_query) { 29 30 // This just makes it clear to the user that the lack of filters is 31 // intentional, not a bug. 32 $form->appendChild( 33 id(new AphrontFormMarkupControl()) 34 ->setValue(pht('No query filters are available for mailing lists.'))); 35 } 36 37 protected function getURI($path) { 38 return '/mailinglists/'.$path; 39 } 40 41 public function getBuiltinQueryNames() { 42 return array( 43 'all' => pht('All Lists'), 44 ); 45 } 46 47 public function buildSavedQueryFromBuiltin($query_key) { 48 $query = $this->newSavedQuery(); 49 $query->setQueryKey($query_key); 50 51 switch ($query_key) { 52 case 'all': 53 return $query; 54 } 55 56 return parent::buildSavedQueryFromBuiltin($query_key); 57 } 58 59 protected function renderResultList( 60 array $lists, 61 PhabricatorSavedQuery $query, 62 array $handles) { 63 assert_instances_of($lists, 'PhabricatorMetaMTAMailingList'); 64 65 $view = id(new PHUIObjectItemListView()); 66 67 foreach ($lists as $list) { 68 $item = new PHUIObjectItemView(); 69 70 $item->setHeader($list->getName()); 71 $item->setHref($list->getURI()); 72 $item->addAttribute($list->getEmail()); 73 $item->addAction( 74 id(new PHUIListItemView()) 75 ->setIcon('fa-pencil') 76 ->setHref($this->getApplicationURI('/edit/'.$list->getID().'/'))); 77 78 $view->addItem($item); 79 } 80 81 return $view; 82 } 83 84 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |