Merge "RCFilters UI: Prevent the popup from disappearing when input is out of view"
[lhc/web/wiklou.git] / includes / specials / SpecialSearch.php
index 9356a3a..b7356e7 100644 (file)
 
 use MediaWiki\MediaWikiServices;
 use MediaWiki\Widget\Search\BasicSearchResultSetWidget;
-use MediaWiki\Widget\Search\InterwikiSearchResultSetWidget;
 use MediaWiki\Widget\Search\FullSearchResultWidget;
+use MediaWiki\Widget\Search\InterwikiSearchResultWidget;
+use MediaWiki\Widget\Search\InterwikiSearchResultSetWidget;
 use MediaWiki\Widget\Search\SimpleSearchResultWidget;
+use MediaWiki\Widget\Search\SimpleSearchResultSetWidget;
 
 /**
  * implements Special:Search - Run text & title search and display the output
@@ -371,7 +373,7 @@ class SpecialSearch extends SpecialPage {
                // Show the create link ahead
                $this->showCreateLink( $title, $num, $titleMatches, $textMatches );
 
-               Hooks::run( 'SpecialSearchResults', [ $term, $titleMatches, $textMatches ] );
+               Hooks::run( 'SpecialSearchResults', [ $term, &$titleMatches, &$textMatches ] );
 
                // If we have no results and have not already displayed an error message
                if ( $num === 0 && !$hasErrors ) {
@@ -385,13 +387,26 @@ class SpecialSearch extends SpecialPage {
                // results to display.
                $linkRenderer = $this->getLinkRenderer();
                $mainResultWidget = new FullSearchResultWidget( $this, $linkRenderer );
-               $sidebarResultWidget = new SimpleSearchResultWidget( $this, $linkRenderer );
-               $sidebarResultsWidget = new InterwikiSearchResultSetWidget(
-                       $this,
-                       $sidebarResultWidget,
-                       $linkRenderer,
-                       MediaWikiServices::getInstance()->getInterwikiLookup()
-               );
+
+               if ( $search->getFeatureData( 'enable-new-crossproject-page' ) ) {
+
+                       $sidebarResultWidget = new InterwikiSearchResultWidget( $this, $linkRenderer );
+                       $sidebarResultsWidget = new InterwikiSearchResultSetWidget(
+                               $this,
+                               $sidebarResultWidget,
+                               $linkRenderer,
+                               MediaWikiServices::getInstance()->getInterwikiLookup()
+                       );
+               } else {
+                       $sidebarResultWidget = new SimpleSearchResultWidget( $this, $linkRenderer );
+                       $sidebarResultsWidget = new SimpleSearchResultSetWidget(
+                               $this,
+                               $sidebarResultWidget,
+                               $linkRenderer,
+                               MediaWikiServices::getInstance()->getInterwikiLookup()
+                       );
+               }
+
                $widget = new BasicSearchResultSetWidget( $this, $mainResultWidget, $sidebarResultsWidget );
 
                $out->addHTML( $widget->render(