Differential D18426 Diff 44366 src/applications/search/engine/PhabricatorApplicationSearchEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/search/engine/PhabricatorApplicationSearchEngine.php
| Show First 20 Lines • Show All 468 Lines • ▼ Show 20 Lines | abstract class PhabricatorApplicationSearchEngine extends Phobject { | ||||
| public function loadAllNamedQueries() { | public function loadAllNamedQueries() { | ||||
| $viewer = $this->requireViewer(); | $viewer = $this->requireViewer(); | ||||
| $builtin = $this->getBuiltinQueries(); | $builtin = $this->getBuiltinQueries(); | ||||
| if ($this->namedQueries === null) { | if ($this->namedQueries === null) { | ||||
| $named_queries = id(new PhabricatorNamedQueryQuery()) | $named_queries = id(new PhabricatorNamedQueryQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->withUserPHIDs(array($viewer->getPHID())) | |||||
| ->withEngineClassNames(array(get_class($this))) | ->withEngineClassNames(array(get_class($this))) | ||||
| ->withUserPHIDs( | |||||
| array( | |||||
| $viewer->getPHID(), | |||||
| PhabricatorNamedQuery::SCOPE_GLOBAL, | |||||
| )) | |||||
| ->execute(); | ->execute(); | ||||
| $named_queries = mpull($named_queries, null, 'getQueryKey'); | $named_queries = mpull($named_queries, null, 'getQueryKey'); | ||||
| $builtin = mpull($builtin, null, 'getQueryKey'); | $builtin = mpull($builtin, null, 'getQueryKey'); | ||||
| foreach ($named_queries as $key => $named_query) { | foreach ($named_queries as $key => $named_query) { | ||||
| if ($named_query->getIsBuiltin()) { | if ($named_query->getIsBuiltin()) { | ||||
| if (isset($builtin[$key])) { | if (isset($builtin[$key])) { | ||||
| $named_queries[$key]->setQueryName($builtin[$key]->getQueryName()); | $named_queries[$key]->setQueryName($builtin[$key]->getQueryName()); | ||||
| unset($builtin[$key]); | unset($builtin[$key]); | ||||
| } else { | } else { | ||||
| unset($named_queries[$key]); | unset($named_queries[$key]); | ||||
| } | } | ||||
| } | } | ||||
| unset($builtin[$key]); | unset($builtin[$key]); | ||||
| } | } | ||||
| $named_queries = msort($named_queries, 'getSortKey'); | $named_queries = msortv($named_queries, 'getNamedQuerySortVector'); | ||||
| $this->namedQueries = $named_queries; | $this->namedQueries = $named_queries; | ||||
| } | } | ||||
| return $this->namedQueries + $builtin; | return $this->namedQueries + $builtin; | ||||
| } | } | ||||
| public function loadEnabledNamedQueries() { | public function loadEnabledNamedQueries() { | ||||
| $named_queries = $this->loadAllNamedQueries(); | $named_queries = $this->loadAllNamedQueries(); | ||||
| ▲ Show 20 Lines • Show All 120 Lines • ▼ Show 20 Lines | /* -( Builtin Queries )---------------------------------------------------- */ | ||||
| */ | */ | ||||
| public function getBuiltinQueries() { | public function getBuiltinQueries() { | ||||
| $names = $this->getBuiltinQueryNames(); | $names = $this->getBuiltinQueryNames(); | ||||
| $queries = array(); | $queries = array(); | ||||
| $sequence = 0; | $sequence = 0; | ||||
| foreach ($names as $key => $name) { | foreach ($names as $key => $name) { | ||||
| $queries[$key] = id(new PhabricatorNamedQuery()) | $queries[$key] = id(new PhabricatorNamedQuery()) | ||||
| ->setUserPHID($this->requireViewer()->getPHID()) | ->setUserPHID(PhabricatorNamedQuery::SCOPE_GLOBAL) | ||||
| ->setEngineClassName(get_class($this)) | ->setEngineClassName(get_class($this)) | ||||
| ->setQueryName($name) | ->setQueryName($name) | ||||
| ->setQueryKey($key) | ->setQueryKey($key) | ||||
| ->setSequence((1 << 24) + $sequence++) | ->setSequence((1 << 24) + $sequence++) | ||||
| ->setIsBuiltin(true); | ->setIsBuiltin(true); | ||||
| } | } | ||||
| return $queries; | return $queries; | ||||
| ▲ Show 20 Lines • Show All 795 Lines • Show Last 20 Lines | |||||