use Hooks;
use Html;
+use MediaWiki\MediaWikiServices;
use MediaWiki\Widget\SearchInputWidget;
use MWNamespace;
use SearchEngineConfig;
* @return bool
*/
protected function startsWithImage( $term ) {
- global $wgContLang;
-
$parts = explode( ':', $term );
return count( $parts ) > 1
- ? $wgContLang->getNsIndex( $parts[0] ) === NS_FILE
+ ? MediaWikiServices::getInstance()->getContentLanguage()->getNsIndex( $parts[0] ) ===
+ NS_FILE
: false;
}
* @return string HTML
*/
protected function powerSearchBox( $term, array $opts ) {
- global $wgContLang;
-
$rows = [];
$activeNamespaces = $this->specialSearch->getNamespaces();
+ $langConverter = $this->specialSearch->getLanguage();
foreach ( $this->searchConfig->searchableNamespaces() as $namespace => $name ) {
$subject = MWNamespace::getSubject( $namespace );
if ( !isset( $rows[$subject] ) ) {
$rows[$subject] = "";
}
- $name = $wgContLang->getConverter()->convertNamespace( $namespace );
+ $name = $langConverter->convertNamespace( $namespace );
if ( $name === '' ) {
$name = $this->specialSearch->msg( 'blanknamespace' )->text();
}
return "<fieldset id='mw-searchoptions'>" .
"<legend>" . $this->specialSearch->msg( 'powersearch-legend' )->escaped() . '</legend>' .
"<h4>" . $this->specialSearch->msg( 'powersearch-ns' )->parse() . '</h4>' .
- // populated by js if available
- "<div id='mw-search-togglebox'></div>" .
+ // Handled by JavaScript if available
+ '<div id="mw-search-togglebox">' .
+ '<label>' . $this->specialSearch->msg( 'powersearch-togglelabel' )->escaped() . '</label>' .
+ '<input type="button" id="mw-search-toggleall" value="' .
+ $this->specialSearch->msg( 'powersearch-toggleall' )->escaped() . '"/>' .
+ '<input type="button" id="mw-search-togglenone" value="' .
+ $this->specialSearch->msg( 'powersearch-togglenone' )->escaped() . '"/>' .
+ '</div>' .
$divider .
implode(
$divider,