@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
at upstream/main 41 lines 1.1 kB view raw
1<?php 2 3final class ConpherenceThreadSearchController 4 extends ConpherenceController { 5 6 public function shouldAllowPublic() { 7 return true; 8 } 9 10 public function handleRequest(AphrontRequest $request) { 11 $viewer = $request->getViewer(); 12 $conpherence_id = $request->getURIData('id'); 13 $fulltext = $request->getStr('fulltext'); 14 15 $conpherence = id(new ConpherenceThreadQuery()) 16 ->setViewer($viewer) 17 ->withIDs(array($conpherence_id)) 18 ->executeOne(); 19 20 if (!$conpherence) { 21 return new Aphront404Response(); 22 } 23 24 $engine = new ConpherenceThreadSearchEngine(); 25 $engine->setViewer($viewer); 26 $saved = $engine->buildSavedQueryFromBuiltin('all') 27 ->setParameter('phids', array($conpherence->getPHID())) 28 ->setParameter('fulltext', $fulltext); 29 30 $pager = $engine->newPagerForSavedQuery($saved); 31 $pager->setPageSize(15); 32 33 $query = $engine->buildQueryFromSavedQuery($saved); 34 35 $results = $engine->executeQuery($query, $pager); 36 $view = $engine->renderResults($results, $saved); 37 38 return id(new AphrontAjaxResponse()) 39 ->setContent($view->getContent()); 40 } 41}