X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fspecials%2Fpagers%2FUsersPager.php;h=cdb9130bc0c608e3778bccfaefef2fc7e1bf0236;hp=9aef9ade4b75eece573e25768755eb614eb01b24;hb=36395150104588f2afea866c330b683e4329fa48;hpb=5468aecf3e62649322a1e76dda2414e7821af864 diff --git a/includes/specials/pagers/UsersPager.php b/includes/specials/pagers/UsersPager.php index 9aef9ade4b..cdb9130bc0 100644 --- a/includes/specials/pagers/UsersPager.php +++ b/includes/specials/pagers/UsersPager.php @@ -270,71 +270,89 @@ class UsersPager extends AlphabeticPager { function getPageHeader() { list( $self ) = explode( '/', $this->getTitle()->getPrefixedDBkey() ); - $this->getOutput()->addModules( 'mediawiki.userSuggest' ); - - # Form tag - $out = Xml::openElement( - 'form', - [ 'method' => 'get', 'action' => wfScript(), 'id' => 'mw-listusers-form' ] - ) . - Xml::fieldset( $this->msg( 'listusers' )->text() ) . - Html::hidden( 'title', $self ); - - # Username field (with autocompletion support) - $out .= Xml::label( $this->msg( 'listusersfrom' )->text(), 'offset' ) . ' ' . - Html::input( - 'username', - $this->requestedUser, - 'text', - [ - 'class' => 'mw-autocomplete-user', - 'id' => 'offset', - 'size' => 20, - 'autofocus' => $this->requestedUser === '' - ] - ) . ' '; - - # Group drop-down list - $sel = new XmlSelect( 'group', 'group', $this->requestedGroup ); - $sel->addOption( $this->msg( 'group-all' )->text(), '' ); + $groupOptions = [ $this->msg( 'group-all' )->text() => '' ]; foreach ( $this->getAllGroups() as $group => $groupText ) { - $sel->addOption( $groupText, $group ); + $groupOptions[ $groupText ] = $group; } - $out .= Xml::label( $this->msg( 'group' )->text(), 'group' ) . ' '; - $out .= $sel->getHTML() . '
'; - $out .= Xml::checkLabel( - $this->msg( 'listusers-editsonly' )->text(), - 'editsOnly', - 'editsOnly', - $this->editsOnly - ); - $out .= ' '; - $out .= Xml::checkLabel( - $this->msg( 'listusers-creationsort' )->text(), - 'creationSort', - 'creationSort', - $this->creationSort - ); - $out .= ' '; - $out .= Xml::checkLabel( - $this->msg( 'listusers-desc' )->text(), - 'desc', - 'desc', - $this->mDefaultDirection - ); - $out .= '
'; + $formDescriptor = [ + 'user' => [ + 'class' => 'HTMLUserTextField', + 'label' => $this->msg( 'listusersfrom' )->text(), + 'name' => 'username', + 'default' => $this->requestedUser, + ], + 'dropdown' => [ + 'label' => $this->msg( 'group' )->text(), + 'name' => 'group', + 'default' => $this->requestedGroup, + 'class' => 'HTMLSelectField', + 'options' => $groupOptions, + ], + 'editsOnly' => [ + 'type' => 'check', + 'label' => $this->msg( 'listusers-editsonly' )->text(), + 'name' => 'editsOnly', + 'id' => 'editsOnly', + 'default' => $this->editsOnly + ], + 'creationSort' => [ + 'type' => 'check', + 'label' => $this->msg( 'listusers-creationsort' )->text(), + 'name' => 'creationSort', + 'id' => 'creationSort', + 'default' => $this->creationSort + ], + 'desc' => [ + 'type' => 'check', + 'label' => $this->msg( 'listusers-desc' )->text(), + 'name' => 'desc', + 'id' => 'desc', + 'default' => $this->mDefaultDirection + ], + 'limithiddenfield' => [ + 'class' => 'HTMLHiddenField', + 'name' => 'limit', + 'default' => $this->mLimit + ] + ]; + + $beforeSubmitButtonHookOut = ''; + Hooks::run( 'SpecialListusersHeaderForm', [ $this, &$beforeSubmitButtonHookOut ] ); - Hooks::run( 'SpecialListusersHeaderForm', [ $this, &$out ] ); + if ( $beforeSubmitButtonHookOut !== '' ) { + $formDescriptior[ 'beforeSubmitButtonHookOut' ] = [ + 'class' => 'HTMLInfoField', + 'raw' => true, + 'default' => $beforeSubmitButtonHookOut + ]; + } - # Submit button and form bottom - $out .= Html::hidden( 'limit', $this->mLimit ); - $out .= Xml::submitButton( $this->msg( 'listusers-submit' )->text() ); - Hooks::run( 'SpecialListusersHeader', [ $this, &$out ] ); - $out .= Xml::closeElement( 'fieldset' ) . - Xml::closeElement( 'form' ); + $formDescriptor[ 'submit' ] = [ + 'class' => 'HTMLSubmitField', + 'buttonlabel-message' => 'listusers-submit', + ]; + + $beforeClosingFieldsetHookOut = ''; + Hooks::run( 'SpecialListusersHeader', [ $this, &$beforeClosingFieldsetHookOut ] ); + + if ( $beforeClosingFieldsetHookOut !== '' ) { + $formDescriptior[ 'beforeClosingFieldsetHookOut' ] = [ + 'class' => 'HTMLInfoField', + 'raw' => true, + 'default' => $beforeClosingFieldsetHookOut + ]; + } - return $out; + $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $this->getContext() ); + $htmlForm + ->setMethod( 'get' ) + ->setAction( Title::newFromText( $self )->getLocalURL() ) + ->setId( 'mw-listusers-form' ) + ->setFormIdentifier( 'mw-listusers-form' ) + ->suppressDefaultSubmit() + ->setWrapperLegendMsg( 'listusers' ); + return $htmlForm->prepareForm()->getHTML( true ); } /**