- $self = $this->getPageTitle();
- $request = $this->getRequest();
- $user = $this->getUser();
-
- $form = Xml::openElement(
- 'form',
- array( 'method' => 'post', 'action' => $self->getLocalUrl() )
- );
- $form .= "<fieldset><legend>" . $this->msg( 'expandtemplates' )->escaped() . "</legend>\n";
-
- $form .= '<p>' . Xml::inputLabel(
- $this->msg( 'expand_templates_title' )->plain(),
- 'wpContextTitle',
- 'contexttitle',
- 60,
- $title,
- array( 'autofocus' => '', 'class' => 'mw-ui-input-inline' )
- ) . '</p>';
- $form .= '<p>' . Xml::label(
- $this->msg( 'expand_templates_input' )->text(),
- 'input'
- ) . '</p>';
- $form .= Xml::textarea(
- 'wpInput',
- $input,
- 10,
- 10,
- array( 'id' => 'input' )
- );
-
- $form .= '<p>' . Xml::checkLabel(
- $this->msg( 'expand_templates_remove_comments' )->text(),
- 'wpRemoveComments',
- 'removecomments',
- $this->removeComments
- ) . '</p>';
- $form .= '<p>' . Xml::checkLabel(
- $this->msg( 'expand_templates_remove_nowiki' )->text(),
- 'wpRemoveNowiki',
- 'removenowiki',
- $this->removeNowiki
- ) . '</p>';
- $form .= '<p>' . Xml::checkLabel(
- $this->msg( 'expand_templates_generate_xml' )->text(),
- 'wpGenerateXml',
- 'generate_xml',
- $this->generateXML
- ) . '</p>';
- $form .= '<p>' . Xml::checkLabel(
- $this->msg( 'expand_templates_generate_rawhtml' )->text(),
- 'wpGenerateRawHtml',
- 'generate_rawhtml',
- $this->generateRawHtml
- ) . '</p>';
- $form .= '<p>' . Xml::submitButton(
- $this->msg( 'expand_templates_ok' )->text(),
- array( 'accesskey' => 's' )
- ) . '</p>';
- $form .= "</fieldset>\n";
- $form .= Html::hidden( 'wpEditToken', $user->getEditToken( '', $request ) );
- $form .= Xml::closeElement( 'form' );
-
- return $form;
+ $fields = [
+ 'contexttitle' => [
+ 'type' => 'text',
+ 'label' => $this->msg( 'expand_templates_title' )->plain(),
+ 'name' => 'wpContextTitle',
+ 'id' => 'contexttitle',
+ 'size' => 60,
+ 'default' => $title,
+ 'autofocus' => true,
+ 'cssclass' => 'mw-ui-input-inline',
+ ],
+ 'input' => [
+ 'type' => 'textarea',
+ 'name' => 'wpInput',
+ 'label' => $this->msg( 'expand_templates_input' )->text(),
+ 'rows' => 10,
+ 'default' => $input,
+ 'id' => 'input',
+ ],
+ 'removecomments' => [
+ 'type' => 'check',
+ 'label' => $this->msg( 'expand_templates_remove_comments' )->text(),
+ 'name' => 'wpRemoveComments',
+ 'id' => 'removecomments',
+ 'default' => $this->removeComments,
+ ],
+ 'removenowiki' => [
+ 'type' => 'check',
+ 'label' => $this->msg( 'expand_templates_remove_nowiki' )->text(),
+ 'name' => 'wpRemoveNowiki',
+ 'id' => 'removenowiki',
+ 'default' => $this->removeNowiki,
+ ],
+ 'generate_xml' => [
+ 'type' => 'check',
+ 'label' => $this->msg( 'expand_templates_generate_xml' )->text(),
+ 'name' => 'wpGenerateXml',
+ 'id' => 'generate_xml',
+ 'default' => $this->generateXML,
+ ],
+ 'generate_rawhtml' => [
+ 'type' => 'check',
+ 'label' => $this->msg( 'expand_templates_generate_rawhtml' )->text(),
+ 'name' => 'wpGenerateRawHtml',
+ 'id' => 'generate_rawhtml',
+ 'default' => $this->generateRawHtml,
+ ],
+ ];
+
+ $form = HTMLForm::factory( 'ooui', $fields, $this->getContext() );
+ $form
+ ->setSubmitTextMsg( 'expand_templates_ok' )
+ ->setWrapperLegendMsg( 'expandtemplates' )
+ ->setHeaderText( $this->msg( 'expand_templates_intro' )->parse() )
+ ->setSubmitCallback( [ $this, 'onSubmitInput' ] )
+ ->showAlways();