X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fwidget%2Fsearch%2FSearchFormWidget.php;h=62ee9cb6f1e846a3d8b9bc28287a51491d3399a6;hp=5106c17762504b9099621a0d63b8582d16a5f5f2;hb=d029197c7c5b083edef20fa79cc3e6d58e161f72;hpb=938d303c9e3a899d298c121c067313d2dfddef30 diff --git a/includes/widget/search/SearchFormWidget.php b/includes/widget/search/SearchFormWidget.php index 5106c17762..62ee9cb6f1 100644 --- a/includes/widget/search/SearchFormWidget.php +++ b/includes/widget/search/SearchFormWidget.php @@ -6,7 +6,6 @@ use Hooks; use Html; use MediaWiki\MediaWikiServices; use MediaWiki\Widget\SearchInputWidget; -use MWNamespace; use SearchEngineConfig; use SpecialSearch; use Xml; @@ -41,6 +40,7 @@ class SearchFormWidget { * @param int $totalResults The total estimated results found * @param int $offset Current offset in search results * @param bool $isPowerSearch Is the 'advanced' section open? + * @param array $options Widget options * @return string HTML */ public function render( @@ -49,19 +49,23 @@ class SearchFormWidget { $numResults, $totalResults, $offset, - $isPowerSearch + $isPowerSearch, + array $options = [] ) { + $user = $this->specialSearch->getUser(); + return '
' . Xml::openElement( 'form', [ 'id' => $isPowerSearch ? 'powersearch' : 'search', - 'method' => 'get', + // T151903: default to POST in case JS is disabled + 'method' => ( $isPowerSearch && $user->isLoggedIn() ) ? 'post' : 'get', 'action' => wfScript(), ] ) . '
' . - $this->shortDialogHtml( $profile, $term, $numResults, $totalResults, $offset ) . + $this->shortDialogHtml( $profile, $term, $numResults, $totalResults, $offset, $options ) . '
' . "
" . "
" . @@ -79,12 +83,20 @@ class SearchFormWidget { * @param int $numResults The number of results shown * @param int $totalResults The total estimated results found * @param int $offset Current offset in search results + * @param array $options Widget options * @return string HTML */ - protected function shortDialogHtml( $profile, $term, $numResults, $totalResults, $offset ) { + protected function shortDialogHtml( + $profile, + $term, + $numResults, + $totalResults, + $offset, + array $options = [] + ) { $html = ''; - $searchWidget = new SearchInputWidget( [ + $searchWidget = new SearchInputWidget( $options + [ 'id' => 'searchText', 'name' => 'search', 'autofocus' => trim( $term ) === '', @@ -240,7 +252,8 @@ class SearchFormWidget { $activeNamespaces = $this->specialSearch->getNamespaces(); $langConverter = $this->specialSearch->getLanguage(); foreach ( $this->searchConfig->searchableNamespaces() as $namespace => $name ) { - $subject = MWNamespace::getSubject( $namespace ); + $subject = MediaWikiServices::getInstance()->getNamespaceInfo()-> + getSubject( $namespace ); if ( !isset( $rows[$subject] ) ) { $rows[$subject] = ""; }