Correct Aphlict websocket URI construction after PHP8 compatibility changes
[phabricator.git] / src / applications / search / management / PhabricatorSearchManagementQueryWorkflow.php
blob8e40162a980dd9068e7b3687c2daa166b118f009
1 <?php
3 final class PhabricatorSearchManagementQueryWorkflow
4 extends PhabricatorSearchManagementWorkflow {
6 protected function didConstruct() {
7 $this
8 ->setName('query')
9 ->setSynopsis(
10 pht('Run a search query. Intended for debugging and development.'))
11 ->setArguments(
12 array(
13 array(
14 'name' => 'query',
15 'param' => 'query',
16 'help' => pht('Raw query to execute.'),
18 ));
21 public function execute(PhutilArgumentParser $args) {
22 $viewer = $this->getViewer();
23 $raw_query = $args->getArg('query');
24 if (!strlen($raw_query)) {
25 throw new PhutilArgumentUsageException(
26 pht('Specify a query with --query.'));
29 $engine = id(new PhabricatorSearchApplicationSearchEngine())
30 ->setViewer($viewer);
32 $saved = $engine->newSavedQuery();
33 $saved->setParameter('query', $raw_query);
35 $query = $engine->buildQueryFromSavedQuery($saved);
36 $pager = $engine->newPagerForSavedQuery($saved);
38 $results = $engine->executeQuery($query, $pager);
39 if ($results) {
40 foreach ($results as $result) {
41 echo tsprintf(
42 "%s\t%s\n",
43 $result->getPHID(),
44 $result->getName());
46 } else {
47 echo tsprintf(
48 "%s\n",
49 pht('No results.'));
52 return 0;