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:
Derick Alangi 2023-08-31 13:33:15 +01:00
parent 6ea99adea0
commit 68ccccfe0c
No known key found for this signature in database
GPG key ID: 01D205B3F82BADDA
5 changed files with 10 additions and 224 deletions

View file

@ -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.

View file

@ -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',

View file

@ -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];
}
}
}
}

View file

@ -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>";
}
}

View file

@ -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 );