@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<?php
2
3final class PhabricatorSearchOrderController
4 extends PhabricatorSearchBaseController {
5
6 public function handleRequest(AphrontRequest $request) {
7 $viewer = $this->getViewer();
8 $engine_class = $request->getURIData('engine');
9
10 $request->validateCSRF();
11
12 $base_class = 'PhabricatorApplicationSearchEngine';
13 if (!is_subclass_of($engine_class, $base_class)) {
14 return new Aphront400Response();
15 }
16
17 $engine = newv($engine_class, array());
18 $engine->setViewer($viewer);
19
20 $queries = $engine->loadAllNamedQueries();
21 $queries = mpull($queries, null, 'getQueryKey');
22
23 $order = $request->getStrList('order');
24 $queries = array_select_keys($queries, $order) + $queries;
25
26 $sequence = 1;
27 foreach ($queries as $query) {
28 $query->setSequence($sequence++);
29 $query->save();
30 }
31
32 return id(new AphrontAjaxResponse());
33 }
34
35}