Path: blob/master/src/applications/calendar/query/PhabricatorCalendarImportSearchEngine.php
12256 views
<?php12final class PhabricatorCalendarImportSearchEngine3extends PhabricatorApplicationSearchEngine {45public function getResultTypeDescription() {6return pht('Calendar Imports');7}89public function getApplicationClassName() {10return 'PhabricatorCalendarApplication';11}1213public function canUseInPanelContext() {14return false;15}1617public function newQuery() {18return new PhabricatorCalendarImportQuery();19}2021protected function buildCustomSearchFields() {22return array();23}2425protected function buildQueryFromParameters(array $map) {26$query = $this->newQuery();2728return $query;29}3031protected function getURI($path) {32return '/calendar/import/'.$path;33}3435protected function getBuiltinQueryNames() {36$names = array(37'all' => pht('All Imports'),38);3940return $names;41}4243public function buildSavedQueryFromBuiltin($query_key) {44$query = $this->newSavedQuery();45$query->setQueryKey($query_key);4647switch ($query_key) {48case 'all':49return $query;50}5152return parent::buildSavedQueryFromBuiltin($query_key);53}5455protected function renderResultList(56array $imports,57PhabricatorSavedQuery $query,58array $handles) {5960assert_instances_of($imports, 'PhabricatorCalendarImport');61$viewer = $this->requireViewer();6263$list = new PHUIObjectItemListView();64foreach ($imports as $import) {65$item = id(new PHUIObjectItemView())66->setViewer($viewer)67->setObjectName(pht('Import %d', $import->getID()))68->setHeader($import->getDisplayName())69->setHref($import->getURI());7071if ($import->getIsDisabled()) {72$item->setDisabled(true);73}7475$list->addItem($item);76}7778$result = new PhabricatorApplicationSearchResultView();79$result->setObjectList($list);80$result->setNoDataString(pht('No imports found.'));8182return $result;83}84}858687