use MediaWiki\Linker\LinkRenderer;
use SearchResult;
use SpecialSearch;
-use Title;
use Html;
/**
protected $specialSearch;
/** @var LinkRenderer */
protected $linkRenderer;
- /** @var $iwPrefixDisplayTypes */
- protected $iwPrefixDisplayTypes;
public function __construct( SpecialSearch $specialSearch, LinkRenderer $linkRenderer ) {
$this->specialSearch = $specialSearch;
$this->linkRenderer = $linkRenderer;
- $this->iwPrefixDisplayTypes = $specialSearch->getConfig()->get( 'InterwikiPrefixDisplayTypes' );
}
/**
* @return string HTML
*/
public function render( SearchResult $result, $terms, $position ) {
-
$title = $result->getTitle();
$iwPrefix = $result->getTitle()->getInterwiki();
$titleSnippet = $result->getTitleSnippet();
$snippet = $result->getTextSnippet( $terms );
- $displayType = isset( $this->iwPrefixDisplayTypes[$iwPrefix] )
- ? $this->iwPrefixDisplayTypes[$iwPrefix]
- : "";
if ( $titleSnippet ) {
$titleSnippet = new HtmlArmor( $titleSnippet );
$redirectTitle = $result->getRedirectTitle();
$redirect = '';
if ( $redirectTitle !== null ) {
-
$redirectText = $result->getRedirectSnippet();
if ( $redirectText ) {
);
}
- switch ( $displayType ) {
- case 'definition':
- return "<div class='iw-result__content'>" .
- "<span class='iw-result__title'>{$link} {$redirect}: </span>" .
- $snippet .
- "</div>";
- case 'quotation':
- return "<div class='iw-result__content'>{$snippet}</div>" .
- "<div class='iw-result__title'>{$link} {$redirect}</div>";
- default:
- return "<div class='iw-result__title'>{$link} {$redirect}</div>" .
- "<div class='iw-result__content'>{$snippet}</div>";
- }
+ return Html::rawElement( 'div', [ 'class' => 'iw-result__title' ], $link . ' ' . $redirect ) .
+ Html::rawElement( 'div', [ 'class'=> 'iw-result__content' ], $snippet );
}
}