X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialSearch.php;h=86dcb721f862dfd204404b61519110eb85f7c6c1;hb=b7625d63a6f1f8867c911dbd6e93eebdaca3312f;hp=78a54f5cd69a30bd411a9a1d82603d2b574b1d44;hpb=6c2a31bbf5b2cf8cfcbd4f9df382217d69b5e18f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index 78a54f5cd6..86dcb721f8 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -76,6 +76,11 @@ class SpecialSearch extends SpecialPage { */ protected $fulltext; + /** + * @var string + */ + protected $sort; + /** * @var bool */ @@ -198,6 +203,11 @@ class SpecialSearch extends SpecialPage { $this->setExtraParam( 'prefix', $this->mPrefix ); } + $this->sort = $request->getVal( 'sort', SearchEngine::DEFAULT_SORT ); + if ( $this->sort !== SearchEngine::DEFAULT_SORT ) { + $this->setExtraParam( 'sort', $this->sort ); + } + $user = $this->getUser(); # Extract manually requested namespaces @@ -301,6 +311,7 @@ class SpecialSearch extends SpecialPage { $search->setFeatureData( 'rewrite', $this->runSuggestion ); $search->setLimitOffset( $this->limit, $this->offset ); $search->setNamespaces( $this->namespaces ); + $search->setSort( $this->sort ); $search->prefix = $this->mPrefix; Hooks::run( 'SpecialSearchSetupEngine', [ $this, $this->profile, $search ] ); @@ -709,9 +720,10 @@ class SpecialSearch extends SpecialPage { */ public function getSearchEngine() { if ( $this->searchEngine === null ) { + $services = MediaWikiServices::getInstance(); $this->searchEngine = $this->searchEngineType ? - MediaWikiServices::getInstance()->getSearchEngineFactory()->create( $this->searchEngineType ) : - MediaWikiServices::getInstance()->newSearchEngine(); + $services->getSearchEngineFactory()->create( $this->searchEngineType ) : + $services->newSearchEngine(); } return $this->searchEngine;