From 6ffa1e302eaf2f4fdb7baeec541ba89f9c37fd6d Mon Sep 17 00:00:00 2001 From: David Causse Date: Wed, 10 May 2017 16:44:54 +0200 Subject: [PATCH] Add 'show-multimedia-search-results' to SearchEngine feature data Let the search engine controls if multimedia results have to be shown in the new interwiki sidebar. Bug: T164925 Change-Id: Ie3ccb28bf73110b136475e9527a2653bf06b8e45 --- includes/specials/SpecialSearch.php | 3 ++- .../widget/search/InterwikiSearchResultSetWidget.php | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index ceb6b7be6f..57be6f0c7e 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -405,7 +405,8 @@ class SpecialSearch extends SpecialPage { $this, $sidebarResultWidget, $linkRenderer, - MediaWikiServices::getInstance()->getInterwikiLookup() + MediaWikiServices::getInstance()->getInterwikiLookup(), + $search->getFeatureData( 'show-multimedia-search-results' ) ); } else { $sidebarResultWidget = new SimpleSearchResultWidget( $this, $linkRenderer ); diff --git a/includes/widget/search/InterwikiSearchResultSetWidget.php b/includes/widget/search/InterwikiSearchResultSetWidget.php index 3cdda0262a..6d942de1ab 100644 --- a/includes/widget/search/InterwikiSearchResultSetWidget.php +++ b/includes/widget/search/InterwikiSearchResultSetWidget.php @@ -28,18 +28,22 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { protected $iwLookup; /** @var $output */ protected $output; + /** @var bool $showMultimedia */ + protected $showMultimedia; public function __construct( SpecialSearch $specialSearch, SearchResultWidget $resultWidget, LinkRenderer $linkRenderer, - InterwikiLookup $iwLookup + InterwikiLookup $iwLookup, + $showMultimedia = false ) { $this->specialSearch = $specialSearch; $this->resultWidget = $resultWidget; $this->linkRenderer = $linkRenderer; $this->iwLookup = $iwLookup; $this->output = $specialSearch->getOutput(); + $this->showMultimedia = $showMultimedia; } /** * @param string $term User provided search term @@ -54,7 +58,9 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { $this->loadCustomCaptions(); - $this->output->addModules( 'mediawiki.special.search.commonsInterwikiWidget' ); + if ( $this->showMultimedia ) { + $this->output->addModules( 'mediawiki.special.search.commonsInterwikiWidget' ); + } $this->output->addModuleStyles( 'mediawiki.special.search.interwikiwidget.styles' ); $iwResults = []; -- 2.20.1