searchwidgets: Remove SimpleSearchResult(Set)Widget.php
This class was hard deprecated in 1.31 and is no longer used anywhere per else after last usage. See: https://codesearch.wmcloud.org/search/?q=%28SimpleSearchResultSetWidget%7CSimpleSearchResultWidget%29&files=&excludeFiles=&repos= Change-Id: I6b4ecef871248e9978ee7afc1bd27de364525552
This commit is contained in:
parent
6ea99adea0
commit
68ccccfe0c
5 changed files with 10 additions and 224 deletions
|
|
@ -157,6 +157,8 @@ because of Phabricator reports.
|
|||
Query object as argument instead of a raw SQL string.
|
||||
* Database::unionConditionPermutations(), unused, has been removed without
|
||||
deprecation.
|
||||
* SimpleSearchResultSetWidget and SimpleSearchResultWidget classes, deprecated
|
||||
in 1.31, have been removed.
|
||||
* Database::factory(), deprecated in 1.39, has been removed.
|
||||
* Calling IDatabase::delete() or IDatabase::update() with empty conditions
|
||||
has been deprecated since 1.35. This now throws an error.
|
||||
|
|
|
|||
|
|
@ -1868,8 +1868,6 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Search\\SearchWidgets\\SearchFormWidget' => __DIR__ . '/includes/search/searchwidgets/SearchFormWidget.php',
|
||||
'MediaWiki\\Search\\SearchWidgets\\SearchResultSetWidget' => __DIR__ . '/includes/search/searchwidgets/SearchResultSetWidget.php',
|
||||
'MediaWiki\\Search\\SearchWidgets\\SearchResultWidget' => __DIR__ . '/includes/search/searchwidgets/SearchResultWidget.php',
|
||||
'MediaWiki\\Search\\SearchWidgets\\SimpleSearchResultSetWidget' => __DIR__ . '/includes/search/searchwidgets/SimpleSearchResultSetWidget.php',
|
||||
'MediaWiki\\Search\\SearchWidgets\\SimpleSearchResultWidget' => __DIR__ . '/includes/search/searchwidgets/SimpleSearchResultWidget.php',
|
||||
'MediaWiki\\Search\\TitleMatcher' => __DIR__ . '/includes/search/TitleMatcher.php',
|
||||
'MediaWiki\\Session\\BotPasswordSessionProvider' => __DIR__ . '/includes/session/BotPasswordSessionProvider.php',
|
||||
'MediaWiki\\Session\\CookieSessionProvider' => __DIR__ . '/includes/session/CookieSessionProvider.php',
|
||||
|
|
|
|||
|
|
@ -1,139 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Search\SearchWidgets;
|
||||
|
||||
use ISearchResultSet;
|
||||
use MediaWiki\Html\Html;
|
||||
use MediaWiki\Interwiki\InterwikiLookup;
|
||||
use MediaWiki\Linker\LinkRenderer;
|
||||
use MediaWiki\Title\Title;
|
||||
use SpecialSearch;
|
||||
|
||||
/**
|
||||
* Renders one or more ISearchResultSets into a sidebar grouped by
|
||||
* interwiki prefix. Includes a per-wiki header indicating where
|
||||
* the results are from.
|
||||
*
|
||||
* @deprecated since 1.31. Use InterwikiSearchResultSetWidget
|
||||
*/
|
||||
class SimpleSearchResultSetWidget implements SearchResultSetWidget {
|
||||
/** @var SpecialSearch */
|
||||
protected $specialSearch;
|
||||
/** @var SearchResultWidget */
|
||||
protected $resultWidget;
|
||||
/** @var string[]|null */
|
||||
protected $customCaptions;
|
||||
/** @var LinkRenderer */
|
||||
protected $linkRenderer;
|
||||
/** @var InterwikiLookup */
|
||||
protected $iwLookup;
|
||||
|
||||
public function __construct(
|
||||
SpecialSearch $specialSearch,
|
||||
SearchResultWidget $resultWidget,
|
||||
LinkRenderer $linkRenderer,
|
||||
InterwikiLookup $iwLookup
|
||||
) {
|
||||
wfDeprecated( __METHOD__, '1.31' );
|
||||
$this->specialSearch = $specialSearch;
|
||||
$this->resultWidget = $resultWidget;
|
||||
$this->linkRenderer = $linkRenderer;
|
||||
$this->iwLookup = $iwLookup;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $term User provided search term
|
||||
* @param ISearchResultSet|ISearchResultSet[] $resultSets List of interwiki
|
||||
* results to render.
|
||||
* @return string HTML
|
||||
*/
|
||||
public function render( $term, $resultSets ) {
|
||||
if ( !is_array( $resultSets ) ) {
|
||||
$resultSets = [ $resultSets ];
|
||||
}
|
||||
|
||||
$this->loadCustomCaptions();
|
||||
|
||||
$iwResults = [];
|
||||
foreach ( $resultSets as $resultSet ) {
|
||||
foreach ( $resultSet as $result ) {
|
||||
if ( !$result->isBrokenTitle() ) {
|
||||
$iwResults[$result->getTitle()->getInterwiki()][] = $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$out = '';
|
||||
foreach ( $iwResults as $iwPrefix => $results ) {
|
||||
$out .= $this->headerHtml( $iwPrefix, $term );
|
||||
$out .= Html::openElement( 'ul', [ 'class' => 'mw-search-iwresults' ] );
|
||||
// TODO: Assumes interwiki results are never paginated
|
||||
$position = 0;
|
||||
foreach ( $results as $result ) {
|
||||
$out .= $this->resultWidget->render( $result, $position++ );
|
||||
}
|
||||
$out .= Html::closeElement( 'ul' );
|
||||
}
|
||||
|
||||
return Html::rawElement(
|
||||
'div',
|
||||
[ 'id' => 'mw-search-interwiki' ],
|
||||
Html::rawElement(
|
||||
'div',
|
||||
[ 'id' => 'mw-search-interwiki-caption' ],
|
||||
$this->specialSearch->msg( 'search-interwiki-caption' )->parse()
|
||||
) . $out
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates an appropriate HTML header for the given interwiki prefix
|
||||
*
|
||||
* @param string $iwPrefix Interwiki prefix of wiki to show header for
|
||||
* @param string $term User provided search term
|
||||
* @return string HTML
|
||||
*/
|
||||
protected function headerHtml( $iwPrefix, $term ) {
|
||||
if ( isset( $this->customCaptions[$iwPrefix] ) ) {
|
||||
$caption = $this->customCaptions[$iwPrefix];
|
||||
} else {
|
||||
$interwiki = $this->iwLookup->fetch( $iwPrefix );
|
||||
$parsed = wfParseUrl( wfExpandUrl( $interwiki ? $interwiki->getURL() : '/' ) );
|
||||
$caption = $this->specialSearch->msg( 'search-interwiki-default', $parsed['host'] )->escaped();
|
||||
}
|
||||
|
||||
$href = Title::makeTitle( NS_SPECIAL, 'Search', '', $iwPrefix )->getLocalURL(
|
||||
[ 'search' => $term, 'fulltext' => 1 ]
|
||||
);
|
||||
$searchLink = Html::rawElement(
|
||||
'a',
|
||||
[ 'href' => $href ],
|
||||
$this->specialSearch->msg( 'search-interwiki-more' )->escaped()
|
||||
);
|
||||
|
||||
return Html::rawElement(
|
||||
'div',
|
||||
[ 'class' => 'mw-search-interwiki-project' ],
|
||||
Html::rawElement(
|
||||
'span',
|
||||
[ 'class' => 'mw-search-interwiki-more' ],
|
||||
$searchLink
|
||||
) . $caption
|
||||
);
|
||||
}
|
||||
|
||||
protected function loadCustomCaptions() {
|
||||
if ( $this->customCaptions !== null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->customCaptions = [];
|
||||
$customLines = explode( "\n", $this->specialSearch->msg( 'search-interwiki-custom' )->escaped() );
|
||||
foreach ( $customLines as $line ) {
|
||||
$parts = explode( ':', $line, 2 );
|
||||
if ( count( $parts ) === 2 ) {
|
||||
$this->customCaptions[$parts[0]] = $parts[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Search\SearchWidgets;
|
||||
|
||||
use HtmlArmor;
|
||||
use MediaWiki\Linker\LinkRenderer;
|
||||
use SearchResult;
|
||||
use SpecialSearch;
|
||||
|
||||
/**
|
||||
* Renders a simple one-line result
|
||||
*
|
||||
* @deprecated since 1.31. Use other result widgets.
|
||||
*/
|
||||
class SimpleSearchResultWidget implements SearchResultWidget {
|
||||
/** @var SpecialSearch */
|
||||
protected $specialSearch;
|
||||
/** @var LinkRenderer */
|
||||
protected $linkRenderer;
|
||||
|
||||
public function __construct( SpecialSearch $specialSearch, LinkRenderer $linkRenderer ) {
|
||||
wfDeprecated( __METHOD__, '1.31' );
|
||||
$this->specialSearch = $specialSearch;
|
||||
$this->linkRenderer = $linkRenderer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SearchResult $result The result to render
|
||||
* @param int $position The result position, including offset
|
||||
* @return string HTML
|
||||
*/
|
||||
public function render( SearchResult $result, $position ) {
|
||||
$title = $result->getTitle();
|
||||
$titleSnippet = $result->getTitleSnippet();
|
||||
if ( $titleSnippet ) {
|
||||
$titleSnippet = new HtmlArmor( $titleSnippet );
|
||||
} else {
|
||||
$titleSnippet = null;
|
||||
}
|
||||
|
||||
$link = $this->linkRenderer->makeLink( $title, $titleSnippet );
|
||||
|
||||
$redirectTitle = $result->getRedirectTitle();
|
||||
$redirect = '';
|
||||
if ( $redirectTitle !== null ) {
|
||||
$redirectText = $result->getRedirectSnippet();
|
||||
if ( $redirectText ) {
|
||||
$redirectText = new HtmlArmor( $redirectText );
|
||||
} else {
|
||||
$redirectText = null;
|
||||
}
|
||||
$redirect =
|
||||
"<span class='searchalttitle'>" .
|
||||
$this->specialSearch->msg( 'search-redirect' )->rawParams(
|
||||
$this->linkRenderer->makeLink( $redirectTitle, $redirectText )
|
||||
)->parse() .
|
||||
"</span>";
|
||||
}
|
||||
|
||||
return "<li>{$link} {$redirect}</li>";
|
||||
}
|
||||
}
|
||||
|
|
@ -33,8 +33,6 @@ use MediaWiki\Search\SearchWidgets\BasicSearchResultSetWidget;
|
|||
use MediaWiki\Search\SearchWidgets\FullSearchResultWidget;
|
||||
use MediaWiki\Search\SearchWidgets\InterwikiSearchResultSetWidget;
|
||||
use MediaWiki\Search\SearchWidgets\InterwikiSearchResultWidget;
|
||||
use MediaWiki\Search\SearchWidgets\SimpleSearchResultSetWidget;
|
||||
use MediaWiki\Search\SearchWidgets\SimpleSearchResultWidget;
|
||||
use MediaWiki\Search\TitleMatcher;
|
||||
use MediaWiki\Status\Status;
|
||||
use MediaWiki\Title\Title;
|
||||
|
|
@ -550,25 +548,14 @@ class SpecialSearch extends SpecialPage {
|
|||
$this->userOptionsManager
|
||||
);
|
||||
|
||||
// Default (null) on. Can be explicitly disabled.
|
||||
if ( $engine->getFeatureData( 'enable-new-crossproject-page' ) !== false ) {
|
||||
$sidebarResultWidget = new InterwikiSearchResultWidget( $this, $linkRenderer );
|
||||
$sidebarResultsWidget = new InterwikiSearchResultSetWidget(
|
||||
$this,
|
||||
$sidebarResultWidget,
|
||||
$linkRenderer,
|
||||
$this->interwikiLookup,
|
||||
$engine->getFeatureData( 'show-multimedia-search-results' )
|
||||
);
|
||||
} else {
|
||||
$sidebarResultWidget = new SimpleSearchResultWidget( $this, $linkRenderer );
|
||||
$sidebarResultsWidget = new SimpleSearchResultSetWidget(
|
||||
$this,
|
||||
$sidebarResultWidget,
|
||||
$linkRenderer,
|
||||
$this->interwikiLookup
|
||||
);
|
||||
}
|
||||
$sidebarResultWidget = new InterwikiSearchResultWidget( $this, $linkRenderer );
|
||||
$sidebarResultsWidget = new InterwikiSearchResultSetWidget(
|
||||
$this,
|
||||
$sidebarResultWidget,
|
||||
$linkRenderer,
|
||||
$this->interwikiLookup,
|
||||
$engine->getFeatureData( 'show-multimedia-search-results' )
|
||||
);
|
||||
|
||||
$widget = new BasicSearchResultSetWidget( $this, $mainResultWidget, $sidebarResultsWidget );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue