From r64866, more consistent behaviour of hidden field names. May affect r65029.
authorHappy-melon <happy-melon@users.mediawiki.org>
Wed, 14 Apr 2010 21:42:37 +0000 (21:42 +0000)
committerHappy-melon <happy-melon@users.mediawiki.org>
Wed, 14 Apr 2010 21:42:37 +0000 (21:42 +0000)
includes/HTMLForm.php

index e798611..5aa9ae8 100644 (file)
@@ -305,7 +305,8 @@ class HTMLForm {
         * @param $attribs Array
         */
        public function addHiddenField( $name, $value, $attribs=array() ){
-               $this->mHiddenFields[ $name ] = array( $value, $attribs );
+               $attribs += array( 'name' => $name );
+               $this->mHiddenFields[] = array( $value, $attribs );
        }
        
        public function addButton( $name, $value, $id=null, $attribs=null ){
@@ -377,9 +378,9 @@ class HTMLForm {
                $html .= Html::hidden( 'wpEditToken', $wgUser->editToken(), array( 'id' => 'wpEditToken' ) ) . "\n";
                $html .= Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) . "\n";
                
-               foreach( $this->mHiddenFields as $name => $value ){
-                       list( $value, $attribs ) = $value;
-                       $html .= Html::hidden( $name, $value, $attribs ) . "\n";
+               foreach( $this->mHiddenFields as $data ){
+                       list( $value, $attribs ) = $data;
+                       $html .= Html::hidden( $attribs['name'], $value, $attribs ) . "\n";
                }
 
                return $html;
@@ -1397,6 +1398,13 @@ class HTMLInfoField extends HTMLFormField {
 
 class HTMLHiddenField extends HTMLFormField {
        
+       public function __construct( $params ){
+               parent::__construct( $params );
+               # forcing the 'wp' prefix on hidden field names
+               # is undesirable
+               $this->mName = substr( $this->mName, 2 );
+       }
+       
        public function getTableRow( $value ){
                $params = array();
                if( $this->mID ){