Path: blob/master/src/applications/packages/query/PhabricatorPackagesPublisherSearchEngine.php
12242 views
<?php12final class PhabricatorPackagesPublisherSearchEngine3extends PhabricatorApplicationSearchEngine {45public function getResultTypeDescription() {6return pht('Package Publishers');7}89public function getApplicationClassName() {10return 'PhabricatorPackagesApplication';11}1213public function newQuery() {14return id(new PhabricatorPackagesPublisherQuery());15}1617public function canUseInPanelContext() {18return false;19}2021protected function buildQueryFromParameters(array $map) {22$query = $this->newQuery();2324if ($map['match'] !== null) {25$query->withNameNgrams($map['match']);26}2728return $query;29}3031protected function buildCustomSearchFields() {32return array(33id(new PhabricatorSearchTextField())34->setLabel(pht('Name Contains'))35->setKey('match')36->setDescription(pht('Search for publishers by name substring.')),37);38}3940protected function getURI($path) {41return '/packages/publisher/'.$path;42}4344protected function getBuiltinQueryNames() {45$names = array(46'all' => pht('All Publishers'),47);4849return $names;50}5152public function buildSavedQueryFromBuiltin($query_key) {53$query = $this->newSavedQuery();54$query->setQueryKey($query_key);5556switch ($query_key) {57case 'all':58return $query;59}6061return parent::buildSavedQueryFromBuiltin($query_key);62}6364protected function renderResultList(65array $publishers,66PhabricatorSavedQuery $query,67array $handles) {6869assert_instances_of($publishers, 'PhabricatorPackagesPublisher');7071$viewer = $this->requireViewer();7273$list = id(new PhabricatorPackagesPublisherListView())74->setViewer($viewer)75->setPublishers($publishers)76->newListView();7778return id(new PhabricatorApplicationSearchResultView())79->setObjectList($list)80->setNoDataString(pht('No publishers found.'));81}8283}848586