From e9fbb832081edb7603343dc281a4a7de09df7b21 Mon Sep 17 00:00:00 2001 From: Prateek Saxena Date: Mon, 16 Apr 2018 10:03:44 +0530 Subject: [PATCH] Special:PrefixIndex: Convert to HTMLForm Most of the code here is from I98cdfb69d11dee0dd1ac2d0d862235f2e53d85d9. This is also an updated revert of the revert I99f75b5cb12913236a43b17970ea1752261ace9b. Bug: T117726 Change-Id: Ieb9713f8346316e9c3cf1e83eae00848f3921b43 --- includes/specials/SpecialPrefixindex.php | 79 ++++++++++-------------- 1 file changed, 31 insertions(+), 48 deletions(-) diff --git a/includes/specials/SpecialPrefixindex.php b/includes/specials/SpecialPrefixindex.php index 34ffa07363..9ff6d70811 100644 --- a/includes/specials/SpecialPrefixindex.php +++ b/includes/specials/SpecialPrefixindex.php @@ -98,56 +98,39 @@ class SpecialPrefixindex extends SpecialAllPages { * @return string */ protected function namespacePrefixForm( $namespace = NS_MAIN, $from = '' ) { - $out = Xml::openElement( 'div', [ 'class' => 'namespaceoptions' ] ); - $out .= Xml::openElement( - 'form', - [ 'method' => 'get', 'action' => $this->getConfig()->get( 'Script' ) ] - ); - $out .= Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ); - $out .= Xml::openElement( 'fieldset' ); - $out .= Xml::element( 'legend', null, $this->msg( 'allpages' )->text() ); - $out .= Xml::openElement( 'table', [ 'id' => 'nsselect', 'class' => 'allpages' ] ); - $out .= " - " . - Xml::label( $this->msg( 'allpagesprefix' )->text(), 'nsfrom' ) . - " - " . - Xml::input( 'prefix', 30, str_replace( '_', ' ', $from ), [ 'id' => 'nsfrom' ] ) . - " - - - " . - Xml::label( $this->msg( 'namespace' )->text(), 'namespace' ) . - " - " . - Html::namespaceSelector( [ - 'selected' => $namespace, - ], [ + $formDescriptor = [ + 'prefix' => [ + 'label-message' => 'allpagesprefix', + 'name' => 'prefix', + 'type' => 'text', + 'size' => '30', + ], + 'namespace' => [ + 'type' => 'namespaceselect', 'name' => 'namespace', 'id' => 'namespace', - 'class' => 'namespaceselector', - ] ) . - Xml::checkLabel( - $this->msg( 'allpages-hide-redirects' )->text(), - 'hideredirects', - 'hideredirects', - $this->hideRedirects - ) . ' ' . - Xml::checkLabel( - $this->msg( 'prefixindex-strip' )->text(), - 'stripprefix', - 'stripprefix', - $this->stripPrefix - ) . ' ' . - Xml::submitButton( $this->msg( 'prefixindex-submit' )->text() ) . - " - "; - $out .= Xml::closeElement( 'table' ); - $out .= Xml::closeElement( 'fieldset' ); - $out .= Xml::closeElement( 'form' ); - $out .= Xml::closeElement( 'div' ); - - return $out; + 'label-message' => 'namespace', + 'all' => null, + 'value' => $namespace, + ], + 'hidedirects' => [ + 'class' => 'HTMLCheckField', + 'name' => 'hideredirects', + 'label-message' => 'allpages-hide-redirects', + ], + 'stripprefix' => [ + 'class' => 'HTMLCheckField', + 'name' => 'stripprefix', + 'label-message' => 'prefixindex-strip', + ], + ]; + $htmlForm = new HTMLForm( $formDescriptor, $this->getContext() ); + $htmlForm + ->setMethod( 'get' ) + ->setWrapperLegendMsg( 'allpages' ) + ->setSubmitTextMsg( 'prefixindex-submit' ); + + return $htmlForm->prepareForm()->getHTML( false ); } /** -- 2.20.1