From 584883b69e45754ea7d40641013c84e70af60f26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Robert=20Stojni=C4=87?= Date: Wed, 31 Dec 2008 04:48:23 +0000 Subject: [PATCH] Backport r45215 to old search ui and move search engine creation before page setup so we can do the setup properly. --- includes/SearchEngine.php | 1 + includes/specials/SpecialSearch.php | 36 ++++++++++++++++------------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/includes/SearchEngine.php b/includes/SearchEngine.php index bf0a722b62..db7431e36f 100644 --- a/includes/SearchEngine.php +++ b/includes/SearchEngine.php @@ -13,6 +13,7 @@ class SearchEngine { var $limit = 10; var $offset = 0; + var $prefix = ''; var $searchTerms = array(); var $namespaces = array( NS_MAIN ); var $showRedirects = false; diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index 90cbca567b..3dcf3b09e0 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -115,9 +115,16 @@ class SpecialSearch { public function showResults( $term ) { global $wgOut, $wgDisableTextSearch, $wgContLang; wfProfileIn( __METHOD__ ); - - $this->setupPage( $term ); + $this->searchEngine = SearchEngine::create(); + $search =& $this->searchEngine; + $search->setLimitOffset( $this->limit, $this->offset ); + $search->setNamespaces( $this->namespaces ); + $search->showRedirects = $this->searchRedirects; + $search->prefix = $this->mPrefix; + $term = $search->transformSearchTerm($term); + + $this->setupPage( $term ); if( $wgDisableTextSearch ) { global $wgSearchForwardUrl; @@ -144,13 +151,8 @@ class SpecialSearch { } $t = Title::newFromText( $term ); - // fetch search results - $search =& $this->searchEngine; - $search->setLimitOffset( $this->limit, $this->offset ); - $search->setNamespaces( $this->namespaces ); - $search->showRedirects = $this->searchRedirects; - $search->prefix = $this->mPrefix; - $term = $search->transformSearchTerm($term); + + // fetch search results $rewritten = $search->replacePrefixes($term); $titleMatches = $search->searchTitle( $rewritten ); @@ -854,7 +856,7 @@ class SpecialSearchOld { */ function __construct( &$request, &$user ) { list( $this->limit, $this->offset ) = $request->getLimitOffset( 20, 'searchlimit' ); - + $this->mPrefix = $request->getVal('prefix', ''); $this->namespaces = $this->powerSearch( $request ); if( empty( $this->namespaces ) ) { $this->namespaces = SearchEngine::userNamespaces( $user ); @@ -919,6 +921,13 @@ class SpecialSearchOld { global $wgOut, $wgUser; $sk = $wgUser->getSkin(); + $search = SearchEngine::create(); + $search->setLimitOffset( $this->limit, $this->offset ); + $search->setNamespaces( $this->namespaces ); + $search->showRedirects = $this->searchRedirects; + $search->prefix = $this->mPrefix; + $term = $search->transformSearchTerm($term); + $this->setupPage( $term ); $wgOut->addWikiMsg( 'searchresulttext' ); @@ -957,12 +966,7 @@ class SpecialSearchOld { return; } - $wgOut->addHTML( $this->shortDialog( $term ) ); - - $search = SearchEngine::create(); - $search->setLimitOffset( $this->limit, $this->offset ); - $search->setNamespaces( $this->namespaces ); - $search->showRedirects = $this->searchRedirects; + $wgOut->addHTML( $this->shortDialog( $term ) ); $rewritten = $search->replacePrefixes($term); $titleMatches = $search->searchTitle( $rewritten ); -- 2.20.1