- $out .= Xml::label( $this->msg( 'group' )->text(), 'group' ) . ' ';
- $out .= $sel->getHTML() . '<br />';
- $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 .= '<br />';
+ $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 ] );
+
+ if ( $beforeSubmitButtonHookOut !== '' ) {
+ $formDescriptior[ 'beforeSubmitButtonHookOut' ] = [
+ 'class' => 'HTMLInfoField',
+ 'raw' => true,
+ 'default' => $beforeSubmitButtonHookOut
+ ];
+ }
+
+ $formDescriptor[ 'submit' ] = [
+ 'class' => 'HTMLSubmitField',
+ 'buttonlabel-message' => 'listusers-submit',
+ ];