Path: blob/master/src/applications/dashboard/query/PhabricatorDashboardPortalSearchEngine.php
12242 views
<?php12final class PhabricatorDashboardPortalSearchEngine3extends PhabricatorApplicationSearchEngine {45public function getResultTypeDescription() {6return pht('Portals');7}89public function getApplicationClassName() {10return 'PhabricatorDashboardApplication';11}1213public function newQuery() {14return new PhabricatorDashboardPortalQuery();15}1617protected function buildQueryFromParameters(array $map) {18$query = $this->newQuery();19return $query;20}2122protected function buildCustomSearchFields() {23return array();24}2526protected function getURI($path) {27return '/portal/'.$path;28}2930protected function getBuiltinQueryNames() {31$names = array();3233$names['all'] = pht('All Portals');3435return $names;36}3738public function buildSavedQueryFromBuiltin($query_key) {39$query = $this->newSavedQuery();40$query->setQueryKey($query_key);41$viewer = $this->requireViewer();4243switch ($query_key) {44case 'all':45return $query;46}4748return parent::buildSavedQueryFromBuiltin($query_key);49}5051protected function renderResultList(52array $portals,53PhabricatorSavedQuery $query,54array $handles) {5556assert_instances_of($portals, 'PhabricatorDashboardPortal');5758$viewer = $this->requireViewer();5960$list = new PHUIObjectItemListView();61$list->setUser($viewer);62foreach ($portals as $portal) {63$item = id(new PHUIObjectItemView())64->setObjectName($portal->getObjectName())65->setHeader($portal->getName())66->setHref($portal->getURI())67->setObject($portal);6869$list->addItem($item);70}7172return id(new PhabricatorApplicationSearchResultView())73->setObjectList($list)74->setNoDataString(pht('No portals found.'));75}7677}787980