From: David Causse Date: Wed, 10 May 2017 14:44:54 +0000 (+0200) Subject: Add 'show-multimedia-search-results' to SearchEngine feature data X-Git-Tag: 1.31.0-rc.0~3190^2 X-Git-Url: https://git.cyclocoop.org/%7B%7B%20url_for%28?a=commitdiff_plain;h=6ffa1e302eaf2f4fdb7baeec541ba89f9c37fd6d;p=lhc%2Fweb%2Fwiklou.git 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 --- 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 = [];