@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 55 lines 1.4 kB view raw
1<?php 2 3final class PhabricatorSearchManagementQueryWorkflow 4 extends PhabricatorSearchManagementWorkflow { 5 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.'), 17 ), 18 )); 19 } 20 21 public function execute(PhutilArgumentParser $args) { 22 $viewer = $this->getViewer(); 23 $raw_query = $args->getArg('query'); 24 if (!phutil_nonempty_string($raw_query)) { 25 throw new PhutilArgumentUsageException( 26 pht('Specify a query with --query.')); 27 } 28 29 $engine = id(new PhabricatorSearchApplicationSearchEngine()) 30 ->setViewer($viewer); 31 32 $saved = $engine->newSavedQuery(); 33 $saved->setParameter('query', $raw_query); 34 35 $query = $engine->buildQueryFromSavedQuery($saved); 36 $pager = $engine->newPagerForSavedQuery($saved); 37 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()); 45 } 46 } else { 47 echo tsprintf( 48 "%s\n", 49 pht('No results.')); 50 } 51 52 return 0; 53 } 54 55}