@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 recaptime-dev/main 45 lines 1.0 kB view raw
1<?php 2 3abstract class PhabricatorDatasourceEngineExtension extends Phobject { 4 5 private $viewer; 6 7 final public function setViewer(PhabricatorUser $viewer) { 8 $this->viewer = $viewer; 9 return $this; 10 } 11 12 final public function getViewer() { 13 return $this->viewer; 14 } 15 16 public function newQuickSearchDatasources() { 17 return array(); 18 } 19 20 public function newJumpURI($query) { 21 return null; 22 } 23 24 public function newDatasourcesForCompositeDatasource( 25 PhabricatorTypeaheadCompositeDatasource $datasource) { 26 return array(); 27 } 28 29 final public static function getAllExtensions() { 30 return id(new PhutilClassMapQuery()) 31 ->setAncestorClass(self::class) 32 ->execute(); 33 } 34 35 final public static function getAllQuickSearchDatasources() { 36 $extensions = self::getAllExtensions(); 37 38 $datasources = array(); 39 foreach ($extensions as $extension) { 40 $datasources[] = $extension->newQuickSearchDatasources(); 41 } 42 43 return array_mergev($datasources); 44 } 45}