Special:NewPages: Add hidden fields using HTMLForm
authorPrateek Saxena <prtksxna@gmail.com>
Thu, 2 Aug 2018 04:49:47 +0000 (10:19 +0530)
committerPrateek Saxena <prtksxna@gmail.com>
Thu, 2 Aug 2018 04:49:47 +0000 (10:19 +0530)
Follows-up on I14297c2322a93ed0a0745e46561b9620f1c95f6a.

Change-Id: Id5c24d33b1e857183a6f859989b95c03bcf22ef5

includes/specials/SpecialNewpages.php

index b8dfc04..5ba7c88 100644 (file)
@@ -229,13 +229,6 @@ class SpecialNewpages extends IncludableSpecialPage {
                $ut = Title::makeTitleSafe( NS_USER, $username );
                $userText = $ut ? $ut->getText() : '';
 
-               // Store query values in hidden fields so that form submission doesn't lose them
-               $hidden = [];
-               foreach ( $this->opts->getUnconsumedValues() as $key => $value ) {
-                       $hidden[] = Html::hidden( $key, $value );
-               }
-               $hidden = implode( "\n", $hidden );
-
                $formDescriptor = [
                        'namespace' => [
                                'type' => 'namespaceselect',
@@ -272,6 +265,12 @@ class SpecialNewpages extends IncludableSpecialPage {
                ];
 
                $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $this->getContext() );
+
+               // Store query values in hidden fields so that form submission doesn't lose them
+               foreach ( $this->opts->getUnconsumedValues() as $key => $value ) {
+                       $htmlForm->addHiddenField( $key, $value );
+               }
+
                $htmlForm
                        ->setMethod( 'get' )
                        ->setFormIdentifier( 'newpagesform' )
@@ -288,7 +287,7 @@ class SpecialNewpages extends IncludableSpecialPage {
                                'div',
                                null,
                                $this->filterLinks()
-                       ) . $hidden )
+                       ) )
                        ->show();
                $out->addModuleStyles( 'mediawiki.special' );
        }