Improve HTMLSubmitField return value
[lhc/web/wiklou.git] / includes / htmlform / HTMLForm.php
index 25e7f8c..6878399 100644 (file)
@@ -1352,7 +1352,7 @@ class HTMLForm extends ContextSource {
        }
 
        /**
-        * @param stringname 'name' attribute for the form
+        * @param string $name 'name' attribute for the form
         * @return HTMLForm $this for chaining calls
         */
        public function setName( $name ) {
@@ -1495,7 +1495,7 @@ class HTMLForm extends ContextSource {
 
                foreach ( $fields as $key => $value ) {
                        if ( $value instanceof HTMLFormField ) {
-                               $v = empty( $value->mParams['nodata'] )
+                               $v = isset( $this->mFieldData[$key] )
                                        ? $this->mFieldData[$key]
                                        : $value->getDefault();
 
@@ -1604,12 +1604,13 @@ class HTMLForm extends ContextSource {
                $fieldData = [];
 
                foreach ( $this->mFlatFields as $fieldname => $field ) {
-                       if ( !empty( $field->mParams['nodata'] ) ) {
+                       $request = $this->getRequest();
+                       if ( $field->skipLoadData( $request ) ) {
                                continue;
                        } elseif ( !empty( $field->mParams['disabled'] ) ) {
                                $fieldData[$fieldname] = $field->getDefault();
                        } else {
-                               $fieldData[$fieldname] = $field->loadDataFromRequest( $this->getRequest() );
+                               $fieldData[$fieldname] = $field->loadDataFromRequest( $request );
                        }
                }