[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/search/controller/ -> PhabricatorSearchOrderController.php (source)

   1  <?php
   2  
   3  final class PhabricatorSearchOrderController
   4    extends PhabricatorSearchBaseController {
   5  
   6    private $engineClass;
   7  
   8    public function willProcessRequest(array $data) {
   9      $this->engineClass = idx($data, 'engine');
  10    }
  11  
  12    public function processRequest() {
  13      $request = $this->getRequest();
  14      $user = $request->getUser();
  15  
  16      $request->validateCSRF();
  17  
  18      $base_class = 'PhabricatorApplicationSearchEngine';
  19      if (!is_subclass_of($this->engineClass, $base_class)) {
  20        return new Aphront400Response();
  21      }
  22  
  23      $engine = newv($this->engineClass, array());
  24      $engine->setViewer($user);
  25  
  26      $queries = $engine->loadAllNamedQueries();
  27      $queries = mpull($queries, null, 'getQueryKey');
  28  
  29      $order = $request->getStrList('order');
  30      $queries = array_select_keys($queries, $order) + $queries;
  31  
  32      $sequence = 1;
  33      foreach ($queries as $query) {
  34        $query->setSequence($sequence++);
  35        $query->save();
  36      }
  37  
  38      return id(new AphrontAjaxResponse());
  39    }
  40  
  41  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1