blob: 3ee7170eb4cfdc576c8e57fd3edafa25bb377cdc [file] [log] [blame]
<?php
use MediaWiki\MediaWikiServices;
class SearchThumbs {
/**
* @param OutputPage &$out
* @param Skin &$skin
*/
public static function onBeforePageDisplay( OutputPage &$out, Skin &$skin ) {
$out->addModuleStyles( 'ext.SearchThumbs' );
}
/**
* @param SpecialSearch $searchPage
* @param SearchResult $result
* @param string[] $terms
* @param string &$link
* @param string &$redirect
* @param string &$section
* @param string &$extract
* @param string $score
* @param string &$size
* @param string &$date
* @param string &$related
* @param string &$html
*/
public static function onShowSearchHit(
$searchPage,
$result,
$terms,
&$link,
&$redirect,
&$section,
&$extract,
$score,
&$size,
&$date,
&$related,
&$html
) {
$id = $result->getTitle()->getArticleID();
$dbr = wfGetDB( DB_REPLICA );
$result = $dbr->select( 'page_props', 'pp_value', [ 'pp_propname = "page_image_free"', "pp_page = $id" ] );
$image = null;
foreach ( $result as $row ) {
$image = $row->pp_value;
}
if ( $image ) {
$file = MediaWikiServices::getInstance()->getRepoGroup()->getLocalRepo()->findFile( $image );
if ( $file ) {
$thumb = '<img class="mw-search-result-thumb" src="' . $file->createThumb( 120 ) . '" />';
$link = $thumb . $link;
}
}
}
}