[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorOAuthServerClientSearchEngine 4 extends PhabricatorApplicationSearchEngine { 5 6 public function getResultTypeDescription() { 7 return pht('OAuth Clients'); 8 } 9 10 public function getApplicationClassName() { 11 return 'PhabricatorOAuthServerApplication'; 12 } 13 14 public function buildSavedQueryFromRequest(AphrontRequest $request) { 15 $saved = new PhabricatorSavedQuery(); 16 17 $saved->setParameter( 18 'creatorPHIDs', 19 $this->readUsersFromRequest($request, 'creators')); 20 21 return $saved; 22 } 23 24 public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { 25 $query = id(new PhabricatorOAuthServerClientQuery()); 26 27 $creator_phids = $saved->getParameter('creatorPHIDs', array()); 28 if ($creator_phids) { 29 $query->withCreatorPHIDs($saved->getParameter('creatorPHIDs', array())); 30 } 31 32 return $query; 33 } 34 35 public function buildSearchForm( 36 AphrontFormView $form, 37 PhabricatorSavedQuery $saved_query) { 38 39 $phids = $saved_query->getParameter('creatorPHIDs', array()); 40 $creator_handles = id(new PhabricatorHandleQuery()) 41 ->setViewer($this->requireViewer()) 42 ->withPHIDs($phids) 43 ->execute(); 44 45 $form 46 ->appendChild( 47 id(new AphrontFormTokenizerControl()) 48 ->setDatasource(new PhabricatorPeopleDatasource()) 49 ->setName('creators') 50 ->setLabel(pht('Creators')) 51 ->setValue($creator_handles)); 52 } 53 54 protected function getURI($path) { 55 return '/oauthserver/'.$path; 56 } 57 58 public function getBuiltinQueryNames() { 59 $names = array(); 60 61 if ($this->requireViewer()->isLoggedIn()) { 62 $names['created'] = pht('Created'); 63 } 64 65 $names['all'] = pht('All Applications'); 66 67 return $names; 68 } 69 70 public function buildSavedQueryFromBuiltin($query_key) { 71 $query = $this->newSavedQuery(); 72 $query->setQueryKey($query_key); 73 74 switch ($query_key) { 75 case 'all': 76 return $query; 77 case 'created': 78 return $query->setParameter( 79 'creatorPHIDs', 80 array($this->requireViewer()->getPHID())); 81 } 82 83 return parent::buildSavedQueryFromBuiltin($query_key); 84 } 85 86 protected function getRequiredHandlePHIDsForResultList( 87 array $clients, 88 PhabricatorSavedQuery $query) { 89 return mpull($clients, 'getCreatorPHID'); 90 } 91 92 protected function renderResultList( 93 array $clients, 94 PhabricatorSavedQuery $query, 95 array $handles) { 96 assert_instances_of($clients, 'PhabricatorOauthServerClient'); 97 98 $viewer = $this->requireViewer(); 99 100 $list = id(new PHUIObjectItemListView()) 101 ->setUser($viewer); 102 foreach ($clients as $client) { 103 $creator = $handles[$client->getCreatorPHID()]; 104 105 $item = id(new PHUIObjectItemView()) 106 ->setObjectName(pht('Application %d', $client->getID())) 107 ->setHeader($client->getName()) 108 ->setHref($client->getViewURI()) 109 ->setObject($client) 110 ->addByline(pht('Creator: %s', $creator->renderLink())); 111 112 $list->addItem($item); 113 } 114 115 return $list; 116 } 117 118 }
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 |