Formatting fixes in includes/htmlform/*
authoraddshore <addshorewiki@gmail.com>
Tue, 19 Nov 2013 13:08:16 +0000 (14:08 +0100)
committerSiebrand Mazeland <s.mazeland@xs4all.nl>
Mon, 9 Dec 2013 13:23:05 +0000 (14:23 +0100)
Change-Id: Iee9e4f3fcf8491022ffe97c74312871f97f8ce9c

21 files changed:
includes/htmlform/HTMLApiField.php
includes/htmlform/HTMLButtonField.php
includes/htmlform/HTMLCheckField.php
includes/htmlform/HTMLCheckMatrix.php
includes/htmlform/HTMLEditTools.php
includes/htmlform/HTMLFloatField.php
includes/htmlform/HTMLForm.php
includes/htmlform/HTMLFormField.php
includes/htmlform/HTMLFormFieldRequiredOptionsException.php
includes/htmlform/HTMLHiddenField.php
includes/htmlform/HTMLInfoField.php
includes/htmlform/HTMLIntField.php
includes/htmlform/HTMLMultiSelectField.php
includes/htmlform/HTMLNestedFilterable.php
includes/htmlform/HTMLRadioField.php
includes/htmlform/HTMLSelectAndOtherField.php
includes/htmlform/HTMLSelectField.php
includes/htmlform/HTMLSelectOrOtherField.php
includes/htmlform/HTMLSubmitField.php
includes/htmlform/HTMLTextAreaField.php
includes/htmlform/HTMLTextField.php

index 1753156..f988e62 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 class HTMLApiField extends HTMLFormField {
        public function getTableRow( $value ) {
                return '';
@@ -15,4 +16,4 @@ class HTMLApiField extends HTMLFormField {
        public function getInputHTML( $value ) {
                return '';
        }
-}
\ No newline at end of file
+}
index abacef0..c95d73b 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * Adds a generic button inline to the form. Does not do anything, you must add
  * click handling code in JavaScript. Use a HTMLSubmitField if you merely
@@ -10,7 +11,7 @@ class HTMLButtonField extends HTMLFormField {
        protected $buttonType = 'button';
 
        public function __construct( $info ) {
-               $info[ 'nodata' ] = true;
+               $info['nodata'] = true;
                parent::__construct( $info );
        }
 
@@ -20,8 +21,8 @@ class HTMLButtonField extends HTMLFormField {
                        'id' => $this->mID,
                );
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attr[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attr['disabled'] = 'disabled';
                }
 
                return Html::input( $this->mName, $value, $this->buttonType, $attr );
@@ -42,4 +43,4 @@ class HTMLButtonField extends HTMLFormField {
        public function validate( $value, $alldata ) {
                return true;
        }
-}
\ No newline at end of file
+}
index dc9603c..105a884 100644 (file)
@@ -1,32 +1,37 @@
 <?php
+
 /**
  * A checkbox field
  */
 class HTMLCheckField extends HTMLFormField {
        function getInputHTML( $value ) {
-               if ( ! empty( $this->mParams[ 'invert' ] ) ) {
-                       $value = ! $value;
+               if ( !empty( $this->mParams['invert'] ) ) {
+                       $value = !$value;
                }
 
                $attr = $this->getTooltipAndAccessKey();
-               $attr[ 'id' ] = $this->mID;
+               $attr['id'] = $this->mID;
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attr[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attr['disabled'] = 'disabled';
                }
 
                if ( $this->mClass !== '' ) {
-                       $attr[ 'class' ] = $this->mClass;
+                       $attr['class'] = $this->mClass;
                }
 
                if ( $this->mParent->isVForm() ) {
                        // Nest checkbox inside label.
-                       return Html::rawElement( 'label', array(
+                       return Html::rawElement( 'label',
+                               array(
                                        'class' => 'mw-ui-checkbox-label'
-                               ), Xml::check( $this->mName, $value, $attr ) . // Html:rawElement doesn't escape contents.
+                               ),
+                               Xml::check( $this->mName, $value, $attr ) . // Html:rawElement doesn't escape contents.
                                htmlspecialchars( $this->mLabel ) );
                } else {
-                       return Xml::check( $this->mName, $value, $attr ) . '&#160;' . Html::rawElement( 'label', array( 'for' => $this->mID ), $this->mLabel );
+                       return Xml::check( $this->mName, $value, $attr )
+                       . '&#160;'
+                       . Html::rawElement( 'label', array( 'for' => $this->mID ), $this->mLabel );
                }
        }
 
@@ -53,7 +58,7 @@ class HTMLCheckField extends HTMLFormField {
         */
        function loadDataFromRequest( $request ) {
                $invert = false;
-               if ( isset( $this->mParams[ 'invert' ] ) && $this->mParams[ 'invert' ] ) {
+               if ( isset( $this->mParams['invert'] ) && $this->mParams['invert'] ) {
                        $invert = true;
                }
 
@@ -73,4 +78,4 @@ class HTMLCheckField extends HTMLFormField {
                        return $this->getDefault();
                }
        }
-}
\ No newline at end of file
+}
index dba0706..323d2d9 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * A checkbox matrix
  * Operates similarly to HTMLMultiSelectField, but instead of using an array of
@@ -21,7 +22,6 @@
  *     - Optional CSS class used on tooltip container span. Defaults to mw-icon-question.
  */
 class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
-
        static private $requiredParams = array(
                // Required by underlying HTMLFormField
                'fieldname',
@@ -39,8 +39,8 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
        }
 
        function validate( $value, $alldata ) {
-               $rows = $this->mParams[ 'rows' ];
-               $columns = $this->mParams[ 'columns' ];
+               $rows = $this->mParams['rows'];
+               $columns = $this->mParams['columns'];
 
                // Make sure user-defined validation callback is run
                $p = parent::validate( $value, $alldata );
@@ -49,7 +49,7 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
                }
 
                // Make sure submitted value is an array
-               if ( ! is_array( $value ) ) {
+               if ( !is_array( $value ) ) {
                        return false;
                }
 
@@ -58,7 +58,7 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
                $validOptions = array();
                foreach ( $rows as $rowTag ) {
                        foreach ( $columns as $columnTag ) {
-                               $validOptions[ ] = $columnTag . '-' . $rowTag;
+                               $validOptions[] = $columnTag . '-' . $rowTag;
                        }
                }
                $validValues = array_intersect( $value, $validOptions );
@@ -83,12 +83,12 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
                $html = '';
                $tableContents = '';
                $attribs = array();
-               $rows = $this->mParams[ 'rows' ];
-               $columns = $this->mParams[ 'columns' ];
+               $rows = $this->mParams['rows'];
+               $columns = $this->mParams['columns'];
 
                // If the disabled param is set, disable all the options
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attribs[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attribs['disabled'] = 'disabled';
                }
 
                // Build the column headers
@@ -99,17 +99,17 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
                $tableContents .= Html::rawElement( 'tr', array(), "\n$headerContents\n" );
 
                $tooltipClass = 'mw-icon-question';
-               if ( isset( $this->mParams[ 'tooltip-class' ] ) ) {
-                       $tooltipClass = $this->mParams[ 'tooltip-class' ];
+               if ( isset( $this->mParams['tooltip-class'] ) ) {
+                       $tooltipClass = $this->mParams['tooltip-class'];
                }
 
                // Build the options matrix
                foreach ( $rows as $rowLabel => $rowTag ) {
                        // Append tooltip if configured
-                       if ( isset( $this->mParams[ 'tooltips' ][ $rowLabel ] ) ) {
+                       if ( isset( $this->mParams['tooltips'][$rowLabel] ) ) {
                                $tooltipAttribs = array(
                                        'class' => "mw-htmlform-tooltip $tooltipClass",
-                                       'title' => $this->mParams[ 'tooltips' ][ $rowLabel ],
+                                       'title' => $this->mParams['tooltips'][$rowLabel],
                                );
                                $rowLabel .= ' ' . Html::element( 'span', $tooltipAttribs, '' );
                        }
@@ -124,28 +124,36 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
                                $checked = in_array( $thisTag, (array)$value, true );
                                if ( $this->isTagForcedOff( $thisTag ) ) {
                                        $checked = false;
-                                       $thisAttribs[ 'disabled' ] = 1;
+                                       $thisAttribs['disabled'] = 1;
                                } elseif ( $this->isTagForcedOn( $thisTag ) ) {
                                        $checked = true;
-                                       $thisAttribs[ 'disabled' ] = 1;
+                                       $thisAttribs['disabled'] = 1;
                                }
-                               $rowContents .= Html::rawElement( 'td', array(), Xml::check( "{$this->mName}[]", $checked, $attribs + $thisAttribs ) );
+                               $rowContents .= Html::rawElement(
+                                       'td',
+                                       array(),
+                                       Xml::check( "{$this->mName}[]", $checked, $attribs + $thisAttribs )
+                               );
                        }
                        $tableContents .= Html::rawElement( 'tr', array(), "\n$rowContents\n" );
                }
 
                // Put it all in a table
-               $html .= Html::rawElement( 'table', array( 'class' => 'mw-htmlform-matrix' ), Html::rawElement( 'tbody', array(), "\n$tableContents\n" ) ) . "\n";
+               $html .= Html::rawElement( 'table',
+                               array( 'class' => 'mw-htmlform-matrix' ),
+                               Html::rawElement( 'tbody', array(), "\n$tableContents\n" ) ) . "\n";
 
                return $html;
        }
 
        protected function isTagForcedOff( $tag ) {
-               return isset( $this->mParams[ 'force-options-off' ] ) && in_array( $tag, $this->mParams[ 'force-options-off' ] );
+               return isset( $this->mParams['force-options-off'] )
+                       && in_array( $tag, $this->mParams['force-options-off'] );
        }
 
        protected function isTagForcedOn( $tag ) {
-               return isset( $this->mParams[ 'force-options-on' ] ) && in_array( $tag, $this->mParams[ 'force-options-on' ] );
+               return isset( $this->mParams['force-options-on'] )
+                       && in_array( $tag, $this->mParams['force-options-on'] );
        }
 
        /**
@@ -168,10 +176,16 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
 
                $label = $this->getLabelHtml( $cellAttributes );
 
-               $field = Html::rawElement( 'td', array( 'class' => 'mw-input' ) + $cellAttributes, $inputHtml . "\n$errors" );
+               $field = Html::rawElement(
+                       'td',
+                       array( 'class' => 'mw-input' ) + $cellAttributes,
+                       $inputHtml . "\n$errors"
+               );
 
                $html = Html::rawElement( 'tr', array( 'class' => 'mw-htmlform-vertical-label' ), $label );
-               $html .= Html::rawElement( 'tr', array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ), $field );
+               $html .= Html::rawElement( 'tr',
+                       array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ),
+                       $field );
 
                return $html . $helptext;
        }
@@ -210,23 +224,23 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
        }
 
        function filterDataForSubmit( $data ) {
-               $columns = HTMLFormField::flattenOptions( $this->mParams[ 'columns' ] );
-               $rows = HTMLFormField::flattenOptions( $this->mParams[ 'rows' ] );
+               $columns = HTMLFormField::flattenOptions( $this->mParams['columns'] );
+               $rows = HTMLFormField::flattenOptions( $this->mParams['rows'] );
                $res = array();
                foreach ( $columns as $column ) {
                        foreach ( $rows as $row ) {
                                // Make sure option hasn't been forced
                                $thisTag = "$column-$row";
                                if ( $this->isTagForcedOff( $thisTag ) ) {
-                                       $res[ $thisTag ] = false;
+                                       $res[$thisTag] = false;
                                } elseif ( $this->isTagForcedOn( $thisTag ) ) {
-                                       $res[ $thisTag ] = true;
+                                       $res[$thisTag] = true;
                                } else {
-                                       $res[ $thisTag ] = in_array( $thisTag, $data );
+                                       $res[$thisTag] = in_array( $thisTag, $data );
                                }
                        }
                }
 
                return $res;
        }
-}
\ No newline at end of file
+}
index 1bb350b..4f1b530 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 class HTMLEditTools extends HTMLFormField {
        public function getInputHTML( $value ) {
                return '';
@@ -7,7 +8,11 @@ class HTMLEditTools extends HTMLFormField {
        public function getTableRow( $value ) {
                $msg = $this->formatMsg();
 
-               return '<tr><td></td><td class="mw-input">' . '<div class="mw-editTools">' . $msg->parseAsBlock() . "</div></td></tr>\n";
+               return
+                       '<tr><td></td><td class="mw-input">' .
+                       '<div class="mw-editTools">' .
+                       $msg->parseAsBlock() .
+                       "</div></td></tr>\n";
        }
 
        /**
@@ -15,6 +20,7 @@ class HTMLEditTools extends HTMLFormField {
         */
        public function getDiv( $value ) {
                $msg = $this->formatMsg();
+
                return '<div class="mw-editTools">' . $msg->parseAsBlock() . '</div>';
        }
 
@@ -26,15 +32,16 @@ class HTMLEditTools extends HTMLFormField {
        }
 
        protected function formatMsg() {
-               if ( empty( $this->mParams[ 'message' ] ) ) {
+               if ( empty( $this->mParams['message'] ) ) {
                        $msg = $this->msg( 'edittools' );
                } else {
-                       $msg = $this->msg( $this->mParams[ 'message' ] );
+                       $msg = $this->msg( $this->mParams['message'] );
                        if ( $msg->isDisabled() ) {
                                $msg = $this->msg( 'edittools' );
                        }
                }
                $msg->inContentLanguage();
+
                return $msg;
        }
-}
\ No newline at end of file
+}
index 817d9c5..3b38fbe 100644 (file)
@@ -1,10 +1,11 @@
 <?php
+
 /**
  * A field that will contain a numeric value
  */
 class HTMLFloatField extends HTMLTextField {
        function getSize() {
-               return isset( $this->mParams[ 'size' ] ) ? $this->mParams[ 'size' ] : 20;
+               return isset( $this->mParams['size'] ) ? $this->mParams['size'] : 20;
        }
 
        function validate( $value, $alldata ) {
@@ -18,22 +19,22 @@ class HTMLFloatField extends HTMLTextField {
 
                # http://dev.w3.org/html5/spec/common-microsyntaxes.html#real-numbers
                # with the addition that a leading '+' sign is ok.
-               if ( ! preg_match( '/^((\+|\-)?\d+(\.\d+)?(E(\+|\-)?\d+)?)?$/i', $value ) ) {
+               if ( !preg_match( '/^((\+|\-)?\d+(\.\d+)?(E(\+|\-)?\d+)?)?$/i', $value ) ) {
                        return $this->msg( 'htmlform-float-invalid' )->parseAsBlock();
                }
 
                # The "int" part of these message names is rather confusing.
                # They make equal sense for all numbers.
-               if ( isset( $this->mParams[ 'min' ] ) ) {
-                       $min = $this->mParams[ 'min' ];
+               if ( isset( $this->mParams['min'] ) ) {
+                       $min = $this->mParams['min'];
 
                        if ( $min > $value ) {
                                return $this->msg( 'htmlform-int-toolow', $min )->parseAsBlock();
                        }
                }
 
-               if ( isset( $this->mParams[ 'max' ] ) ) {
-                       $max = $this->mParams[ 'max' ];
+               if ( isset( $this->mParams['max'] ) ) {
+                       $max = $this->mParams['max'];
 
                        if ( $max < $value ) {
                                return $this->msg( 'htmlform-int-toohigh', $max )->parseAsBlock();
@@ -42,4 +43,4 @@ class HTMLFloatField extends HTMLTextField {
 
                return true;
        }
-}
\ No newline at end of file
+}
index e5a42eb..5621b01 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * HTML form generation and submission handling.
  *
  * The constructor input is an associative array of $fieldname => $info,
  * where $info is an Associative Array with any of the following:
  *
- *     'class'               -- the subclass of HTMLFormField that will be used
- *                              to create the object.  *NOT* the CSS class!
- *     'type'                -- roughly translates into the <select> type attribute.
- *                              if 'class' is not specified, this is used as a map
- *                              through HTMLForm::$typeMappings to get the class name.
- *     'default'             -- default value when the form is displayed
- *     'id'                  -- HTML id attribute
- *     'cssclass'            -- CSS class
- *     'options'             -- varies according to the specific object.
- *     'label-message'       -- message key for a message to use as the label.
- *                              can be an array of msg key and then parameters to
- *                              the message.
- *     'label'               -- alternatively, a raw text message. Overridden by
- *                              label-message
- *     'help'                -- message text for a message to use as a help text.
- *     'help-message'        -- message key for a message to use as a help text.
- *                              can be an array of msg key and then parameters to
- *                              the message.
- *                              Overwrites 'help-messages' and 'help'.
- *     'help-messages'       -- array of message key. As above, each item can
- *                              be an array of msg key and then parameters.
- *                              Overwrites 'help'.
- *     'required'            -- passed through to the object, indicating that it
- *                              is a required field.
- *     'size'                -- the length of text fields
- *     'filter-callback      -- a function name to give you the chance to
- *                              massage the inputted value before it's processed.
- *                              @see HTMLForm::filter()
- *     'validation-callback' -- a function name to give you the chance
- *                              to impose extra validation on the field input.
- *                              @see HTMLForm::validate()
- *     'name'                -- By default, the 'name' attribute of the input field
- *                              is "wp{$fieldname}".  If you want a different name
- *                              (eg one without the "wp" prefix), specify it here and
- *                              it will be used without modification.
+ *    'class'               -- the subclass of HTMLFormField that will be used
+ *                             to create the object.  *NOT* the CSS class!
+ *    'type'                -- roughly translates into the <select> type attribute.
+ *                             if 'class' is not specified, this is used as a map
+ *                             through HTMLForm::$typeMappings to get the class name.
+ *    'default'             -- default value when the form is displayed
+ *    'id'                  -- HTML id attribute
+ *    'cssclass'            -- CSS class
+ *    'options'             -- varies according to the specific object.
+ *    'label-message'       -- message key for a message to use as the label.
+ *                             can be an array of msg key and then parameters to
+ *                             the message.
+ *    'label'               -- alternatively, a raw text message. Overridden by
+ *                             label-message
+ *    'help'                -- message text for a message to use as a help text.
+ *    'help-message'        -- message key for a message to use as a help text.
+ *                             can be an array of msg key and then parameters to
+ *                             the message.
+ *                             Overwrites 'help-messages' and 'help'.
+ *    'help-messages'       -- array of message key. As above, each item can
+ *                             be an array of msg key and then parameters.
+ *                             Overwrites 'help'.
+ *    'required'            -- passed through to the object, indicating that it
+ *                             is a required field.
+ *    'size'                -- the length of text fields
+ *    'filter-callback      -- a function name to give you the chance to
+ *                             massage the inputted value before it's processed.
+ *                             @see HTMLForm::filter()
+ *    'validation-callback' -- a function name to give you the chance
+ *                             to impose extra validation on the field input.
+ *                             @see HTMLForm::validate()
+ *    'name'                -- By default, the 'name' attribute of the input field
+ *                             is "wp{$fieldname}".  If you want a different name
+ *                             (eg one without the "wp" prefix), specify it here and
+ *                             it will be used without modification.
  *
  * Since 1.20, you can chain mutators to ease the form generation:
  * @par Example:
  * Note that you will have prepareForm and displayForm at the end. Other
  * methods call done after that would simply not be part of the form :(
  *
- * TODO: Document 'section' / 'subsection' stuff
+ * @todo Document 'section' / 'subsection' stuff
  */
 class HTMLForm extends ContextSource {
-
        // A mapping of 'type' inputs onto standard HTMLFormField subclasses
        public static $typeMappings = array(
                'api' => 'HTMLApiField',
@@ -112,7 +112,6 @@ class HTMLForm extends ContextSource {
                'hidden' => 'HTMLHiddenField',
                'edittools' => 'HTMLEditTools',
                'checkmatrix' => 'HTMLCheckMatrix',
-
                // HTMLTextField will output the correct type="" attribute automagically.
                // There are about four zillion other HTML5 input types, like url, but
                // we don't use those at the moment, so no point in adding all of them.
@@ -120,6 +119,8 @@ class HTMLForm extends ContextSource {
                'password' => 'HTMLTextField',
        );
 
+       public $mFieldData;
+
        protected $mMessagePrefix;
 
        /** @var HTMLFormField[] */
@@ -128,7 +129,6 @@ class HTMLForm extends ContextSource {
        protected $mFieldTree;
        protected $mShowReset = false;
        protected $mShowSubmit = true;
-       public $mFieldData;
 
        protected $mSubmitCallback;
        protected $mValidationErrorMessage;
@@ -192,12 +192,15 @@ class HTMLForm extends ContextSource {
 
        /**
         * Build a new HTMLForm from an array of field attributes
+        *
         * @param array $descriptor of Field constructs, as described above
         * @param $context IContextSource available since 1.18, will become compulsory in 1.18.
         *     Obviates the need to call $form->setTitle()
         * @param string $messagePrefix a prefix to go in front of default messages
         */
-       public function __construct( $descriptor, /*IContextSource*/ $context = null, $messagePrefix = '' ) {
+       public function __construct( $descriptor, /*IContextSource*/ $context = null,
+               $messagePrefix = ''
+       ) {
                if ( $context instanceof IContextSource ) {
                        $this->setContext( $context );
                        $this->mTitle = false; // We don't need them to set a title
@@ -257,17 +260,21 @@ class HTMLForm extends ContextSource {
 
        /**
         * Set format in which to display the form
+        *
         * @param string $format the name of the format to use, must be one of
         *        $this->availableDisplayFormats
+        *
         * @throws MWException
         * @since 1.20
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setDisplayFormat( $format ) {
                if ( !in_array( $format, $this->availableDisplayFormats ) ) {
-                       throw new MWException( 'Display format must be one of ' . print_r( $this->availableDisplayFormats, true ) );
+                       throw new MWException( 'Display format must be one of ' .
+                               print_r( $this->availableDisplayFormats, true ) );
                }
                $this->displayFormat = $format;
+
                return $this;
        }
 
@@ -300,8 +307,10 @@ class HTMLForm extends ContextSource {
 
        /**
         * Initialise a new Object for the field
+        *
         * @param $fieldname string
         * @param string $descriptor input Descriptor, as described above
+        *
         * @throws MWException
         * @return HTMLFormField subclass
         */
@@ -321,8 +330,7 @@ class HTMLForm extends ContextSource {
 
                $descriptor['fieldname'] = $fieldname;
 
-               # TODO
-               # This will throw a fatal error whenever someone try to use
+               # @todo This will throw a fatal error whenever someone try to use
                # 'class' to feed a CSS class instead of 'cssclass'. Would be
                # great to avoid the fatal error and show a nice error.
                $obj = new $class( $descriptor );
@@ -347,6 +355,7 @@ class HTMLForm extends ContextSource {
 
                # Load data from the request.
                $this->loadData();
+
                return $this;
        }
 
@@ -394,6 +403,7 @@ class HTMLForm extends ContextSource {
                }
 
                $this->displayForm( $result );
+
                return false;
        }
 
@@ -424,7 +434,8 @@ class HTMLForm extends ContextSource {
 
                $callback = $this->mSubmitCallback;
                if ( !is_callable( $callback ) ) {
-                       throw new MWException( 'HTMLForm: no submit callback provided. Use setSubmitCallback() to set one.' );
+                       throw new MWException( 'HTMLForm: no submit callback provided. Use ' .
+                               'setSubmitCallback() to set one.' );
                }
 
                $data = $this->filterDataForSubmit( $this->mFieldData );
@@ -437,63 +448,80 @@ class HTMLForm extends ContextSource {
        /**
         * Set a callback to a function to do something with the form
         * once it's been successfully validated.
+        *
         * @param string $cb function name.  The function will be passed
-        *       the output from HTMLForm::filterDataForSubmit, and must
-        *       return Bool true on success, Bool false if no submission
-        *       was attempted, or String HTML output to display on error.
+        *     the output from HTMLForm::filterDataForSubmit, and must
+        *     return Bool true on success, Bool false if no submission
+        *     was attempted, or String HTML output to display on error.
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setSubmitCallback( $cb ) {
                $this->mSubmitCallback = $cb;
+
                return $this;
        }
 
        /**
         * Set a message to display on a validation error.
+        *
         * @param $msg Mixed String or Array of valid inputs to wfMessage()
-        *       (so each entry can be either a String or Array)
+        *     (so each entry can be either a String or Array)
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setValidationErrorMessage( $msg ) {
                $this->mValidationErrorMessage = $msg;
+
                return $this;
        }
 
        /**
         * Set the introductory message, overwriting any existing message.
+        *
         * @param string $msg complete text of message to display
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setIntro( $msg ) {
                $this->setPreText( $msg );
+
                return $this;
        }
 
        /**
         * Set the introductory message, overwriting any existing message.
         * @since 1.19
+        *
         * @param string $msg complete text of message to display
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setPreText( $msg ) {
                $this->mPre = $msg;
+
                return $this;
        }
 
        /**
         * Add introductory text.
+        *
         * @param string $msg complete text of message to display
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function addPreText( $msg ) {
                $this->mPre .= $msg;
+
                return $this;
        }
 
        /**
         * Add header text, inside the form.
+        *
         * @param string $msg complete text of message to display
         * @param string $section The section to add the header to
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function addHeaderText( $msg, $section = null ) {
@@ -505,14 +533,17 @@ class HTMLForm extends ContextSource {
                        }
                        $this->mSectionHeaders[$section] .= $msg;
                }
+
                return $this;
        }
 
        /**
         * Set header text, inside the form.
         * @since 1.19
+        *
         * @param string $msg complete text of message to display
         * @param $section The section to add the header to
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setHeaderText( $msg, $section = null ) {
@@ -521,13 +552,16 @@ class HTMLForm extends ContextSource {
                } else {
                        $this->mSectionHeaders[$section] = $msg;
                }
+
                return $this;
        }
 
        /**
         * Add footer text, inside the form.
+        *
         * @param string $msg complete text of message to display
         * @param string $section The section to add the footer text to
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function addFooterText( $msg, $section = null ) {
@@ -539,14 +573,17 @@ class HTMLForm extends ContextSource {
                        }
                        $this->mSectionFooters[$section] .= $msg;
                }
+
                return $this;
        }
 
        /**
         * Set footer text, inside the form.
         * @since 1.19
+        *
         * @param string $msg complete text of message to display
         * @param string $section The section to add the footer text to
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setFooterText( $msg, $section = null ) {
@@ -555,39 +592,49 @@ class HTMLForm extends ContextSource {
                } else {
                        $this->mSectionFooters[$section] = $msg;
                }
+
                return $this;
        }
 
        /**
         * Add text to the end of the display.
+        *
         * @param string $msg complete text of message to display
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function addPostText( $msg ) {
                $this->mPost .= $msg;
+
                return $this;
        }
 
        /**
         * Set text at the end of the display.
+        *
         * @param string $msg complete text of message to display
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setPostText( $msg ) {
                $this->mPost = $msg;
+
                return $this;
        }
 
        /**
         * Add a hidden field to the output
+        *
         * @param string $name field name.  This will be used exactly as entered
         * @param string $value field value
         * @param $attribs Array
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function addHiddenField( $name, $value, $attribs = array() ) {
                $attribs += array( 'name' => $name );
                $this->mHiddenFields[] = array( $value, $attribs );
+
                return $this;
        }
 
@@ -595,27 +642,33 @@ class HTMLForm extends ContextSource {
         * Add an array of hidden fields to the output
         *
         * @since 1.22
+        *
         * @param array $fields Associative array of fields to add;
         *        mapping names to their values
+        *
         * @return HTMLForm $this for chaining calls
         */
        public function addHiddenFields( array $fields ) {
                foreach ( $fields as $name => $value ) {
                        $this->mHiddenFields[] = array( $value, array( 'name' => $name ) );
                }
+
                return $this;
        }
 
        /**
         * Add a button to the form
+        *
         * @param string $name field name.
         * @param string $value field value
         * @param string $id DOM id for the button (default: null)
         * @param $attribs Array
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function addButton( $name, $value, $id = null, $attribs = null ) {
                $this->mButtons[] = compact( 'name', 'value', 'id', 'attribs' );
+
                return $this;
        }
 
@@ -628,6 +681,7 @@ class HTMLForm extends ContextSource {
         * call just after prepareForm().
         *
         * @param $submitResult Mixed output from HTMLForm::trySubmit()
+        *
         * @return Nothing, should be last call
         */
        function displayForm( $submitResult ) {
@@ -636,7 +690,9 @@ class HTMLForm extends ContextSource {
 
        /**
         * Returns the raw HTML generated by the form
+        *
         * @param $submitResult Mixed output from HTMLForm::trySubmit()
+        *
         * @return string
         */
        function getHTML( $submitResult ) {
@@ -645,7 +701,7 @@ class HTMLForm extends ContextSource {
                $this->getOutput()->addModules( 'mediawiki.htmlform' );
                if ( $this->isVForm() ) {
                        $this->getOutput()->addModuleStyles( 'mediawiki.ui' );
-                       // TODO should vertical form set setWrapperLegend( false )
+                       // @todo Should vertical form set setWrapperLegend( false )
                        // to hide ugly fieldsets?
                }
 
@@ -664,7 +720,9 @@ class HTMLForm extends ContextSource {
 
        /**
         * Wrap the form innards in an actual "<form>" element
+        *
         * @param string $html HTML contents to wrap.
+        *
         * @return String wrapped HTML.
         */
        function wrapForm( $html ) {
@@ -691,6 +749,7 @@ class HTMLForm extends ContextSource {
                if ( $this->isVForm() ) {
                        array_push( $attribs['class'], 'mw-ui-vform', 'mw-ui-container' );
                }
+
                return Html::rawElement( 'form', $attribs, $html );
        }
 
@@ -703,7 +762,11 @@ class HTMLForm extends ContextSource {
 
                $html = '';
                if ( $this->getMethod() == 'post' ) {
-                       $html .= Html::hidden( 'wpEditToken', $this->getUser()->getEditToken(), array( 'id' => 'wpEditToken' ) ) . "\n";
+                       $html .= Html::hidden(
+                               'wpEditToken',
+                               $this->getUser()->getEditToken(),
+                               array( 'id' => 'wpEditToken' )
+                       ) . "\n";
                        $html .= Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) . "\n";
                }
 
@@ -761,12 +824,12 @@ class HTMLForm extends ContextSource {
 
                if ( $this->mShowReset ) {
                        $html .= Html::element(
-                               'input',
-                               array(
-                                       'type' => 'reset',
-                                       'value' => $this->msg( 'htmlform-reset' )->text()
-                               )
-                       ) . "\n";
+                                       'input',
+                                       array(
+                                               'type' => 'reset',
+                                               'value' => $this->msg( 'htmlform-reset' )->text()
+                                       )
+                               ) . "\n";
                }
 
                foreach ( $this->mButtons as $button ) {
@@ -802,7 +865,9 @@ class HTMLForm extends ContextSource {
 
        /**
         * Format and display an error message stack.
+        *
         * @param $errors String|Array|Status
+        *
         * @return String
         */
        function getErrors( $errors ) {
@@ -825,7 +890,9 @@ class HTMLForm extends ContextSource {
 
        /**
         * Format a stack of error messages into a single HTML string
+        *
         * @param array $errors of message keys/values
+        *
         * @return String HTML, a "<ul>" list of errors
         */
        public static function formatErrors( $errors ) {
@@ -853,22 +920,28 @@ class HTMLForm extends ContextSource {
 
        /**
         * Set the text for the submit button
+        *
         * @param string $t plaintext.
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setSubmitText( $t ) {
                $this->mSubmitText = $t;
+
                return $this;
        }
 
        /**
         * Set the text for the submit button to a message
         * @since 1.19
+        *
         * @param string $msg message key
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setSubmitTextMsg( $msg ) {
                $this->setSubmitText( $this->msg( $msg )->text() );
+
                return $this;
        }
 
@@ -884,30 +957,37 @@ class HTMLForm extends ContextSource {
 
        /**
         * @param string $name Submit button name
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setSubmitName( $name ) {
                $this->mSubmitName = $name;
+
                return $this;
        }
 
        /**
         * @param string $name Tooltip for the submit button
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setSubmitTooltip( $name ) {
                $this->mSubmitTooltip = $name;
+
                return $this;
        }
 
        /**
         * Set the id for the submit button.
+        *
         * @param $t String.
+        *
         * @todo FIXME: Integrity of $t is *not* validated
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setSubmitID( $t ) {
                $this->mSubmitID = $t;
+
                return $this;
        }
 
@@ -923,6 +1003,7 @@ class HTMLForm extends ContextSource {
         */
        function suppressDefaultSubmit( $suppressSubmit = true ) {
                $this->mShowSubmit = !$suppressSubmit;
+
                return $this;
        }
 
@@ -930,33 +1011,41 @@ class HTMLForm extends ContextSource {
         * Set the id of the \<table\> or outermost \<div\> element.
         *
         * @since 1.22
+        *
         * @param string $id new value of the id attribute, or "" to remove
+        *
         * @return HTMLForm $this for chaining calls
         */
        public function setTableId( $id ) {
                $this->mTableId = $id;
+
                return $this;
        }
 
        /**
         * @param string $id DOM id for the form
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setId( $id ) {
                $this->mId = $id;
+
                return $this;
        }
 
        /**
         * Prompt the whole form to be wrapped in a "<fieldset>", with
         * this text as its "<legend>" element.
+        *
         * @param string|false $legend HTML to go inside the "<legend>" element, or
         * false for no <legend>
-        *       Will be escaped
+        *     Will be escaped
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setWrapperLegend( $legend ) {
                $this->mWrapperLegend = $legend;
+
                return $this;
        }
 
@@ -964,33 +1053,42 @@ class HTMLForm extends ContextSource {
         * Prompt the whole form to be wrapped in a "<fieldset>", with
         * this message as its "<legend>" element.
         * @since 1.19
+        *
         * @param string $msg message key
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setWrapperLegendMsg( $msg ) {
                $this->setWrapperLegend( $this->msg( $msg )->text() );
+
                return $this;
        }
 
        /**
         * Set the prefix for various default messages
-        * @todo currently only used for the "<fieldset>" legend on forms
+        * @todo Currently only used for the "<fieldset>" legend on forms
         * with multiple sections; should be used elsewhere?
+        *
         * @param $p String
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setMessagePrefix( $p ) {
                $this->mMessagePrefix = $p;
+
                return $this;
        }
 
        /**
         * Set the title for form submission
+        *
         * @param $t Title of page the form is on/should be posted to
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function setTitle( $t ) {
                $this->mTitle = $t;
+
                return $this;
        }
 
@@ -1006,11 +1104,14 @@ class HTMLForm extends ContextSource {
 
        /**
         * Set the method used to submit the form
+        *
         * @param $method String
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setMethod( $method = 'post' ) {
                $this->mMethod = $method;
+
                return $this;
        }
 
@@ -1020,13 +1121,21 @@ class HTMLForm extends ContextSource {
 
        /**
         * @todo Document
-        * @param array[]|HTMLFormField[] $fields array of fields (either arrays or objects)
-        * @param string $sectionName ID attribute of the "<table>" tag for this section, ignored if empty
-        * @param string $fieldsetIDPrefix ID prefix for the "<fieldset>" tag of each subsection, ignored if empty
-        * @param boolean &$hasUserVisibleFields Whether the section had user-visible fields
+        *
+        * @param array[]|HTMLFormField[] $fields Array of fields (either arrays or
+        *   objects).
+        * @param string $sectionName ID attribute of the "<table>" tag for this
+        *   section, ignored if empty.
+        * @param string $fieldsetIDPrefix ID prefix for the "<fieldset>" tag of
+        *   each subsection, ignored if empty.
+        * @param boolean &$hasUserVisibleFields Whether the section had user-visible fields.
+        *
         * @return String
         */
-       public function displaySection( $fields, $sectionName = '', $fieldsetIDPrefix = '', &$hasUserVisibleFields = false ) {
+       public function displaySection( $fields,
+               $sectionName = '',
+               $fieldsetIDPrefix = '',
+               &$hasUserVisibleFields = false ) {
                $displayFormat = $this->getDisplayFormat();
 
                $html = '';
@@ -1058,12 +1167,17 @@ class HTMLForm extends ContextSource {
                                }
 
                                if ( get_class( $value ) !== 'HTMLHiddenField' &&
-                                               get_class( $value ) !== 'HTMLApiField' ) {
+                                       get_class( $value ) !== 'HTMLApiField'
+                               ) {
                                        $hasUserVisibleFields = true;
                                }
                        } elseif ( is_array( $value ) ) {
                                $subsectionHasVisibleFields = false;
-                               $section = $this->displaySection( $value, "mw-htmlform-$key", "$fieldsetIDPrefix$key-", $subsectionHasVisibleFields );
+                               $section =
+                                       $this->displaySection( $value,
+                                               "mw-htmlform-$key",
+                                               "$fieldsetIDPrefix$key-",
+                                               $subsectionHasVisibleFields );
                                $legend = null;
 
                                if ( $subsectionHasVisibleFields === true ) {
@@ -1107,8 +1221,9 @@ class HTMLForm extends ContextSource {
                        }
 
                        if ( $displayFormat === 'table' ) {
-                               $html = Html::rawElement( 'table', $attribs,
-                                       Html::rawElement( 'tbody', array(), "\n$html\n" ) ) . "\n";
+                               $html = Html::rawElement( 'table',
+                                               $attribs,
+                                               Html::rawElement( 'tbody', array(), "\n$html\n" ) ) . "\n";
                        } elseif ( $displayFormat === 'div' || $displayFormat === 'vform' ) {
                                $html = Html::rawElement( 'div', $attribs, "\n$html\n" );
                        }
@@ -1148,12 +1263,15 @@ class HTMLForm extends ContextSource {
 
        /**
         * Stop a reset button being shown for this form
+        *
         * @param bool $suppressReset set to false to re-enable the
-        *       button again
+        *     button again
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        function suppressReset( $suppressReset = true ) {
                $this->mShowReset = !$suppressReset;
+
                return $this;
        }
 
@@ -1161,7 +1279,9 @@ class HTMLForm extends ContextSource {
         * Overload this if you want to apply special filtration routines
         * to the form as a whole, after it's submitted but before it's
         * processed.
+        *
         * @param $data
+        *
         * @return
         */
        function filterDataForSubmit( $data ) {
@@ -1171,7 +1291,9 @@ class HTMLForm extends ContextSource {
        /**
         * Get a string to go in the "<legend>" of a section fieldset.
         * Override this if you want something more complicated.
+        *
         * @param $key String
+        *
         * @return String
         */
        public function getLegend( $key ) {
@@ -1185,10 +1307,12 @@ class HTMLForm extends ContextSource {
         * @since 1.19
         *
         * @param string|bool $action
+        *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
        public function setAction( $action ) {
                $this->mAction = $action;
+
                return $this;
        }
 
index cd105ee..eeed907 100644 (file)
@@ -1,14 +1,15 @@
 <?php
+
 /**
  * The parent class to generate form fields.  Any field type should
  * be a subclass of this.
  */
 abstract class HTMLFormField {
+       public $mParams;
 
        protected $mValidationCallback;
        protected $mFilterCallback;
        protected $mName;
-       public $mParams;
        protected $mLabel; # String label.  Set on construction
        protected $mID;
        protected $mClass = '';
@@ -33,7 +34,7 @@ abstract class HTMLFormField {
         * @param string $value the value to set the input to; eg a default
         *     text for a text input.
         *
-        * @return String valid HTML.
+        * @return string Valid HTML.
         */
        abstract function getInputHTML( $value );
 
@@ -64,13 +65,16 @@ abstract class HTMLFormField {
         * field input.  Don't forget to call parent::validate() to ensure
         * that the user-defined callback mValidationCallback is still run
         *
-        * @param string $value the value the field was submitted with
-        * @param array $alldata the data collected from the form
+        * @param string $value The value the field was submitted with
+        * @param array $alldata The data collected from the form
         *
         * @return Mixed Bool true on success, or String error to display.
         */
        function validate( $value, $alldata ) {
-               if ( isset( $this->mParams[ 'required' ] ) && $this->mParams[ 'required' ] !== false && $value === '' ) {
+               if ( isset( $this->mParams['required'] )
+                       && $this->mParams['required'] !== false
+                       && $value === ''
+               ) {
                        return $this->msg( 'htmlform-required' )->parse();
                }
 
@@ -106,7 +110,6 @@ abstract class HTMLFormField {
         * @since 1.22
         *
         * @param bool $show Set to false to not generate a label.
-        *
         * @return void
         */
        public function setShowEmptyLabel( $show ) {
@@ -117,8 +120,7 @@ abstract class HTMLFormField {
         * Get the value that this input has been set to from a posted form,
         * or the input's default value if it has not been set.
         *
-        * @param $request WebRequest
-        *
+        * @param WebRequest $request
         * @return String the value
         */
        function loadDataFromRequest( $request ) {
@@ -141,8 +143,8 @@ abstract class HTMLFormField {
                $this->mParams = $params;
 
                # Generate the label from a message, if possible
-               if ( isset( $params[ 'label-message' ] ) ) {
-                       $msgInfo = $params[ 'label-message' ];
+               if ( isset( $params['label-message'] ) ) {
+                       $msgInfo = $params['label-message'];
 
                        if ( is_array( $msgInfo ) ) {
                                $msg = array_shift( $msgInfo );
@@ -152,35 +154,35 @@ abstract class HTMLFormField {
                        }
 
                        $this->mLabel = wfMessage( $msg, $msgInfo )->parse();
-               } elseif ( isset( $params[ 'label' ] ) ) {
-                       if ( $params[ 'label' ] === '&#160;' ) {
+               } elseif ( isset( $params['label'] ) ) {
+                       if ( $params['label'] === '&#160;' ) {
                                // Apparently some things set &nbsp directly and in an odd format
                                $this->mLabel = '&#160;';
                        } else {
-                               $this->mLabel = htmlspecialchars( $params[ 'label' ] );
+                               $this->mLabel = htmlspecialchars( $params['label'] );
                        }
-               } elseif ( isset( $params[ 'label-raw' ] ) ) {
-                       $this->mLabel = $params[ 'label-raw' ];
+               } elseif ( isset( $params['label-raw'] ) ) {
+                       $this->mLabel = $params['label-raw'];
                }
 
                $this->mName = "wp{$params['fieldname']}";
-               if ( isset( $params[ 'name' ] ) ) {
-                       $this->mName = $params[ 'name' ];
+               if ( isset( $params['name'] ) ) {
+                       $this->mName = $params['name'];
                }
 
                $validName = Sanitizer::escapeId( $this->mName );
-               if ( $this->mName != $validName && ! isset( $params[ 'nodata' ] ) ) {
+               if ( $this->mName != $validName && !isset( $params['nodata'] ) ) {
                        throw new MWException( "Invalid name '{$this->mName}' passed to " . __METHOD__ );
                }
 
                $this->mID = "mw-input-{$this->mName}";
 
-               if ( isset( $params[ 'default' ] ) ) {
-                       $this->mDefault = $params[ 'default' ];
+               if ( isset( $params['default'] ) ) {
+                       $this->mDefault = $params['default'];
                }
 
-               if ( isset( $params[ 'id' ] ) ) {
-                       $id = $params[ 'id' ];
+               if ( isset( $params['id'] ) ) {
+                       $id = $params['id'];
                        $validId = Sanitizer::escapeId( $id );
 
                        if ( $id != $validId ) {
@@ -190,23 +192,23 @@ abstract class HTMLFormField {
                        $this->mID = $id;
                }
 
-               if ( isset( $params[ 'cssclass' ] ) ) {
-                       $this->mClass = $params[ 'cssclass' ];
+               if ( isset( $params['cssclass'] ) ) {
+                       $this->mClass = $params['cssclass'];
                }
 
-               if ( isset( $params[ 'validation-callback' ] ) ) {
-                       $this->mValidationCallback = $params[ 'validation-callback' ];
+               if ( isset( $params['validation-callback'] ) ) {
+                       $this->mValidationCallback = $params['validation-callback'];
                }
 
-               if ( isset( $params[ 'filter-callback' ] ) ) {
-                       $this->mFilterCallback = $params[ 'filter-callback' ];
+               if ( isset( $params['filter-callback'] ) ) {
+                       $this->mFilterCallback = $params['filter-callback'];
                }
 
-               if ( isset( $params[ 'flatlist' ] ) ) {
+               if ( isset( $params['flatlist'] ) ) {
                        $this->mClass .= ' mw-htmlform-flatlist';
                }
 
-               if ( isset( $params[ 'hidelabel' ] ) ) {
+               if ( isset( $params['hidelabel'] ) ) {
                        $this->mShowEmptyLabels = false;
                }
        }
@@ -215,9 +217,9 @@ abstract class HTMLFormField {
         * Get the complete table row for the input, including help text,
         * labels, and whatever.
         *
-        * @param string $value the value to set the input to.
+        * @param string $value The value to set the input to.
         *
-        * @return String complete HTML table row.
+        * @return string Complete HTML table row.
         */
        function getTableRow( $value ) {
                list( $errors, $errorClass ) = $this->getErrorsAndErrorClass( $value );
@@ -226,8 +228,8 @@ abstract class HTMLFormField {
                $helptext = $this->getHelpTextHtmlTable( $this->getHelpText() );
                $cellAttributes = array();
 
-               if ( ! empty( $this->mParams[ 'vertical-label' ] ) ) {
-                       $cellAttributes[ 'colspan' ] = 2;
+               if ( !empty( $this->mParams['vertical-label'] ) ) {
+                       $cellAttributes['colspan'] = 2;
                        $verticalLabel = true;
                } else {
                        $verticalLabel = false;
@@ -235,13 +237,22 @@ abstract class HTMLFormField {
 
                $label = $this->getLabelHtml( $cellAttributes );
 
-               $field = Html::rawElement( 'td', array( 'class' => 'mw-input' ) + $cellAttributes, $inputHtml . "\n$errors" );
+               $field = Html::rawElement(
+                       'td',
+                       array( 'class' => 'mw-input' ) + $cellAttributes,
+                       $inputHtml . "\n$errors"
+               );
 
                if ( $verticalLabel ) {
                        $html = Html::rawElement( 'tr', array( 'class' => 'mw-htmlform-vertical-label' ), $label );
-                       $html .= Html::rawElement( 'tr', array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ), $field );
+                       $html .= Html::rawElement( 'tr',
+                               array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ),
+                               $field );
                } else {
-                       $html = Html::rawElement( 'tr', array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ), $label . $field );
+                       $html =
+                               Html::rawElement( 'tr',
+                                       array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ),
+                                       $label . $field );
                }
 
                return $html . $helptext;
@@ -252,9 +263,9 @@ abstract class HTMLFormField {
         * labels, and whatever.
         * @since 1.20
         *
-        * @param string $value the value to set the input to.
+        * @param string $value The value to set the input to.
         *
-        * @return String complete HTML table row.
+        * @return string Complete HTML table row.
         */
        public function getDiv( $value ) {
                list( $errors, $errorClass ) = $this->getErrorsAndErrorClass( $value );
@@ -269,13 +280,18 @@ abstract class HTMLFormField {
                        'mw-htmlform-nolabel' => ( $label === '' )
                );
 
-               $field = Html::rawElement( 'div', array( 'class' => $outerDivClass ) + $cellAttributes, $inputHtml . "\n$errors" );
+               $field = Html::rawElement(
+                       'div',
+                       array( 'class' => $outerDivClass ) + $cellAttributes,
+                       $inputHtml . "\n$errors"
+               );
                $divCssClasses = array( "mw-htmlform-field-$fieldType", $this->mClass, $errorClass );
                if ( $this->mParent->isVForm() ) {
-                       $divCssClasses[ ] = 'mw-ui-vform-div';
+                       $divCssClasses[] = 'mw-ui-vform-div';
                }
                $html = Html::rawElement( 'div', array( 'class' => $divCssClasses ), $label . $field );
                $html .= $helptext;
+
                return $html;
        }
 
@@ -284,9 +300,9 @@ abstract class HTMLFormField {
         * labels, and whatever.
         * @since 1.20
         *
-        * @param string $value the value to set the input to.
+        * @param string $value The value to set the input to.
         *
-        * @return String complete HTML table row.
+        * @return string Complete HTML table row.
         */
        public function getRaw( $value ) {
                list( $errors, ) = $this->getErrorsAndErrorClass( $value );
@@ -299,6 +315,7 @@ abstract class HTMLFormField {
                $html .= $label;
                $html .= $inputHtml;
                $html .= $helptext;
+
                return $html;
        }
 
@@ -306,9 +323,8 @@ abstract class HTMLFormField {
         * Generate help text HTML in table format
         * @since 1.20
         *
-        * @param $helptext String|null
-        *
-        * @return String
+        * @param string|null $helptext
+        * @return string
         */
        public function getHelpTextHtmlTable( $helptext ) {
                if ( is_null( $helptext ) ) {
@@ -317,6 +333,7 @@ abstract class HTMLFormField {
 
                $row = Html::rawElement( 'td', array( 'colspan' => 2, 'class' => 'htmlform-tip' ), $helptext );
                $row = Html::rawElement( 'tr', array(), $row );
+
                return $row;
        }
 
@@ -324,7 +341,7 @@ abstract class HTMLFormField {
         * Generate help text HTML in div format
         * @since 1.20
         *
-        * @param $helptext String|null
+        * @param string|null $helptext
         *
         * @return String
         */
@@ -334,6 +351,7 @@ abstract class HTMLFormField {
                }
 
                $div = Html::rawElement( 'div', array( 'class' => 'htmlform-tip' ), $helptext );
+
                return $div;
        }
 
@@ -341,8 +359,7 @@ abstract class HTMLFormField {
         * Generate help text HTML formatted for raw output
         * @since 1.20
         *
-        * @param $helptext String|null
-        *
+        * @param string|null $helptext
         * @return String
         */
        public function getHelpTextHtmlRaw( $helptext ) {
@@ -352,17 +369,17 @@ abstract class HTMLFormField {
        /**
         * Determine the help text to display
         * @since 1.20
-        * @return String
+        * @return string
         */
        public function getHelpText() {
                $helptext = null;
 
-               if ( isset( $this->mParams[ 'help-message' ] ) ) {
-                       $this->mParams[ 'help-messages' ] = array( $this->mParams[ 'help-message' ] );
+               if ( isset( $this->mParams['help-message'] ) ) {
+                       $this->mParams['help-messages'] = array( $this->mParams['help-message'] );
                }
 
-               if ( isset( $this->mParams[ 'help-messages' ] ) ) {
-                       foreach ( $this->mParams[ 'help-messages' ] as $name ) {
+               if ( isset( $this->mParams['help-messages'] ) ) {
+                       foreach ( $this->mParams['help-messages'] as $name ) {
                                $helpMessage = (array)$name;
                                $msg = $this->msg( array_shift( $helpMessage ), $helpMessage );
 
@@ -375,9 +392,10 @@ abstract class HTMLFormField {
                                        $helptext .= $msg->parse(); // Append message
                                }
                        }
-               } elseif ( isset( $this->mParams[ 'help' ] ) ) {
-                       $helptext = $this->mParams[ 'help' ];
+               } elseif ( isset( $this->mParams['help'] ) ) {
+                       $helptext = $this->mParams['help'];
                }
+
                return $helptext;
        }
 
@@ -385,20 +403,22 @@ abstract class HTMLFormField {
         * Determine form errors to display and their classes
         * @since 1.20
         *
-        * @param string $value the value of the input
-        *
-        * @return Array
+        * @param string $value The value of the input
+        * @return array
         */
        public function getErrorsAndErrorClass( $value ) {
                $errors = $this->validate( $value, $this->mParent->mFieldData );
 
-               if ( $errors === true || ( ! $this->mParent->getRequest()->wasPosted() && ( $this->mParent->getMethod() == 'post' ) ) ) {
+               if ( $errors === true ||
+                       ( !$this->mParent->getRequest()->wasPosted() && $this->mParent->getMethod() === 'post' )
+               ) {
                        $errors = '';
                        $errorClass = '';
                } else {
                        $errors = self::formatErrors( $errors );
                        $errorClass = 'mw-htmlform-invalid-input';
                }
+
                return array( $errors, $errorClass );
        }
 
@@ -412,7 +432,7 @@ abstract class HTMLFormField {
                $for = array();
 
                if ( $this->needsLabel() ) {
-                       $for[ 'for' ] = $this->mID;
+                       $for['for'] = $this->mID;
                }
 
                $labelValue = trim( $this->getLabel() );
@@ -425,10 +445,16 @@ abstract class HTMLFormField {
                $html = '';
 
                if ( $displayFormat === 'table' ) {
-                       $html = Html::rawElement( 'td', array( 'class' => 'mw-label' ) + $cellAttributes, Html::rawElement( 'label', $for, $labelValue ) );
+                       $html =
+                               Html::rawElement( 'td',
+                                       array( 'class' => 'mw-label' ) + $cellAttributes,
+                                       Html::rawElement( 'label', $for, $labelValue ) );
                } elseif ( $hasLabel || $this->mShowEmptyLabels ) {
                        if ( $displayFormat === 'div' ) {
-                               $html = Html::rawElement( 'div', array( 'class' => 'mw-label' ) + $cellAttributes, Html::rawElement( 'label', $for, $labelValue ) );
+                               $html =
+                                       Html::rawElement( 'div',
+                                               array( 'class' => 'mw-label' ) + $cellAttributes,
+                                               Html::rawElement( 'label', $for, $labelValue ) );
                        } else {
                                $html = Html::rawElement( 'label', $for, $labelValue );
                        }
@@ -451,10 +477,11 @@ abstract class HTMLFormField {
         * @return array Attributes
         */
        public function getTooltipAndAccessKey() {
-               if ( empty( $this->mParams[ 'tooltip' ] ) ) {
+               if ( empty( $this->mParams['tooltip'] ) ) {
                        return array();
                }
-               return Linker::tooltipAndAccesskeyAttribs( $this->mParams[ 'tooltip' ] );
+
+               return Linker::tooltipAndAccesskeyAttribs( $this->mParams['tooltip'] );
        }
 
        /**
@@ -463,8 +490,7 @@ abstract class HTMLFormField {
         *
         * @param array $options Associative Array with values either Strings
         *     or Arrays
-        *
-        * @return Array flattened input
+        * @return array Flattened input
         */
        public static function flattenOptions( $options ) {
                $flatOpts = array();
@@ -473,7 +499,7 @@ abstract class HTMLFormField {
                        if ( is_array( $value ) ) {
                                $flatOpts = array_merge( $flatOpts, self::flattenOptions( $value ) );
                        } else {
-                               $flatOpts[ ] = $value;
+                               $flatOpts[] = $value;
                        }
                }
 
@@ -483,9 +509,8 @@ abstract class HTMLFormField {
        /**
         * Formats one or more errors as accepted by field validation-callback.
         *
-        * @param $errors String|Message|Array of strings or Message instances
-        *
-        * @return String html
+        * @param string|Message|array $errors String|Message|Array of strings or Message instances
+        * @return string HTML
         * @since 1.18
         */
        protected static function formatErrors( $errors ) {
@@ -497,17 +522,19 @@ abstract class HTMLFormField {
                        $lines = array();
                        foreach ( $errors as $error ) {
                                if ( $error instanceof Message ) {
-                                       $lines[ ] = Html::rawElement( 'li', array(), $error->parse() );
+                                       $lines[] = Html::rawElement( 'li', array(), $error->parse() );
                                } else {
-                                       $lines[ ] = Html::rawElement( 'li', array(), $error );
+                                       $lines[] = Html::rawElement( 'li', array(), $error );
                                }
                        }
+
                        return Html::rawElement( 'ul', array( 'class' => 'error' ), implode( "\n", $lines ) );
                } else {
                        if ( $errors instanceof Message ) {
                                $errors = $errors->parse();
                        }
+
                        return Html::rawElement( 'span', array( 'class' => 'error' ), $errors );
                }
        }
-}
\ No newline at end of file
+}
index 8460af8..76f5286 100644 (file)
@@ -1,6 +1,9 @@
 <?php
+
 class HTMLFormFieldRequiredOptionsException extends MWException {
        public function __construct( HTMLFormField $field, array $missing ) {
-               parent::__construct( sprintf( "Form type `%s` expected the following parameters to be set: %s", get_class( $field ), implode( ', ', $missing ) ) );
+               parent::__construct( sprintf( "Form type `%s` expected the following parameters to be set: %s",
+                       get_class( $field ),
+                       implode( ', ', $missing ) ) );
        }
-}
\ No newline at end of file
+}
index 648e297..003ccfe 100644 (file)
@@ -1,17 +1,18 @@
 <?php
+
 class HTMLHiddenField extends HTMLFormField {
        public function __construct( $params ) {
                parent::__construct( $params );
 
                # Per HTML5 spec, hidden fields cannot be 'required'
                # http://dev.w3.org/html5/spec/states-of-the-type-attribute.html#hidden-state
-               unset( $this->mParams[ 'required' ] );
+               unset( $this->mParams['required'] );
        }
 
        public function getTableRow( $value ) {
                $params = array();
                if ( $this->mID ) {
-                       $params[ 'id' ] = $this->mID;
+                       $params['id'] = $this->mID;
                }
 
                $this->mParent->addHiddenField( $this->mName, $this->mDefault, $params );
@@ -36,4 +37,4 @@ class HTMLHiddenField extends HTMLFormField {
        public function getInputHTML( $value ) {
                return '';
        }
-}
\ No newline at end of file
+}
index bf47d7f..cff8202 100644 (file)
@@ -1,20 +1,21 @@
 <?php
+
 /**
  * An information field (text blob), not a proper input.
  */
 class HTMLInfoField extends HTMLFormField {
        public function __construct( $info ) {
-               $info[ 'nodata' ] = true;
+               $info['nodata'] = true;
 
                parent::__construct( $info );
        }
 
        public function getInputHTML( $value ) {
-               return ! empty( $this->mParams[ 'raw' ] ) ? $value : htmlspecialchars( $value );
+               return !empty( $this->mParams['raw'] ) ? $value : htmlspecialchars( $value );
        }
 
        public function getTableRow( $value ) {
-               if ( ! empty( $this->mParams[ 'rawrow' ] ) ) {
+               if ( !empty( $this->mParams['rawrow'] ) ) {
                        return $value;
                }
 
@@ -25,7 +26,7 @@ class HTMLInfoField extends HTMLFormField {
         * @since 1.20
         */
        public function getDiv( $value ) {
-               if ( ! empty( $this->mParams[ 'rawrow' ] ) ) {
+               if ( !empty( $this->mParams['rawrow'] ) ) {
                        return $value;
                }
 
@@ -36,7 +37,7 @@ class HTMLInfoField extends HTMLFormField {
         * @since 1.20
         */
        public function getRaw( $value ) {
-               if ( ! empty( $this->mParams[ 'rawrow' ] ) ) {
+               if ( !empty( $this->mParams['rawrow'] ) ) {
                        return $value;
                }
 
@@ -46,4 +47,4 @@ class HTMLInfoField extends HTMLFormField {
        protected function needsLabel() {
                return false;
        }
-}
\ No newline at end of file
+}
index 72964e3..28876e2 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * A field that must contain a number
  */
@@ -16,11 +17,11 @@ class HTMLIntField extends HTMLFloatField {
                # phone numbers when you know that they are integers (the HTML5 type=tel
                # input does not require its value to be numeric).  If you want a tidier
                # value to, eg, save in the DB, clean it up with intval().
-               if ( ! preg_match( '/^((\+|\-)?\d+)?$/', trim( $value ) )
+               if ( !preg_match( '/^((\+|\-)?\d+)?$/', trim( $value ) )
                ) {
                        return $this->msg( 'htmlform-int-invalid' )->parseAsBlock();
                }
 
                return true;
        }
-}
\ No newline at end of file
+}
index f1b058d..6b0396d 100644 (file)
@@ -1,9 +1,9 @@
 <?php
+
 /**
  * Multi-select field
  */
 class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable {
-
        function validate( $value, $alldata ) {
                $p = parent::validate( $value, $alldata );
 
@@ -11,13 +11,13 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
                        return $p;
                }
 
-               if ( ! is_array( $value ) ) {
+               if ( !is_array( $value ) ) {
                        return false;
                }
 
                # If all options are valid, array_intersect of the valid options
                # and the provided options will return the provided options.
-               $validOptions = HTMLFormField::flattenOptions( $this->mParams[ 'options' ] );
+               $validOptions = HTMLFormField::flattenOptions( $this->mParams['options'] );
 
                $validValues = array_intersect( $value, $validOptions );
                if ( count( $validValues ) == count( $value ) ) {
@@ -28,7 +28,7 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
        }
 
        function getInputHTML( $value ) {
-               $html = $this->formatOptions( $this->mParams[ 'options' ], $value );
+               $html = $this->formatOptions( $this->mParams['options'], $value );
 
                return $html;
        }
@@ -38,8 +38,8 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
 
                $attribs = array();
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attribs[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attribs['disabled'] = 'disabled';
                }
 
                foreach ( $options as $label => $info ) {
@@ -49,10 +49,22 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
                        } else {
                                $thisAttribs = array( 'id' => "{$this->mID}-$info", 'value' => $info );
 
-                               $checkbox = Xml::check( $this->mName . '[]', in_array( $info, $value, true ), $attribs + $thisAttribs );
-                               $checkbox .= '&#160;' . Html::rawElement( 'label', array( 'for' => "{$this->mID}-$info" ), $label );
-
-                               $html .= ' ' . Html::rawElement( 'div', array( 'class' => 'mw-htmlform-flatlist-item' ), $checkbox );
+                               $checkbox = Xml::check(
+                                       $this->mName . '[]',
+                                       in_array( $info, $value, true ),
+                                       $attribs + $thisAttribs
+                               );
+                               $checkbox .= '&#160;' . Html::rawElement(
+                                       'label',
+                                       array( 'for' => "{$this->mID}-$info" ),
+                                       $label
+                               );
+
+                               $html .= ' ' . Html::rawElement(
+                                       'div',
+                                       array( 'class' => 'mw-htmlform-flatlist-item' ),
+                                       $checkbox
+                               );
                        }
                }
 
@@ -94,11 +106,11 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
        }
 
        function filterDataForSubmit( $data ) {
-               $options = HTMLFormField::flattenOptions( $this->mParams[ 'options' ] );
+               $options = HTMLFormField::flattenOptions( $this->mParams['options'] );
 
                $res = array();
                foreach ( $options as $opt ) {
-                       $res[ "$opt" ] = in_array( $opt, $data );
+                       $res["$opt"] = in_array( $opt, $data );
                }
 
                return $res;
@@ -107,4 +119,4 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
        protected function needsLabel() {
                return false;
        }
-}
\ No newline at end of file
+}
index c7aaba2..f6f3ad5 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 interface HTMLNestedFilterable {
        /**
         * Support for seperating multi-option preferences into multiple preferences
@@ -7,4 +8,4 @@ interface HTMLNestedFilterable {
         * @param $data array
         */
        function filterDataForSubmit( $data );
-}
\ No newline at end of file
+}
index 54de88c..51e7cdd 100644 (file)
@@ -1,9 +1,9 @@
 <?php
+
 /**
  * Radio checkbox fields.
  */
 class HTMLRadioField extends HTMLFormField {
-
        function validate( $value, $alldata ) {
                $p = parent::validate( $value, $alldata );
 
@@ -11,11 +11,11 @@ class HTMLRadioField extends HTMLFormField {
                        return $p;
                }
 
-               if ( ! is_string( $value ) && ! is_int( $value ) ) {
+               if ( !is_string( $value ) && !is_int( $value ) ) {
                        return false;
                }
 
-               $validOptions = HTMLFormField::flattenOptions( $this->mParams[ 'options' ] );
+               $validOptions = HTMLFormField::flattenOptions( $this->mParams['options'] );
 
                if ( in_array( $value, $validOptions ) ) {
                        return true;
@@ -33,7 +33,7 @@ class HTMLRadioField extends HTMLFormField {
         * @return String
         */
        function getInputHTML( $value ) {
-               $html = $this->formatOptions( $this->mParams[ 'options' ], $value );
+               $html = $this->formatOptions( $this->mParams['options'], $value );
 
                return $html;
        }
@@ -42,11 +42,11 @@ class HTMLRadioField extends HTMLFormField {
                $html = '';
 
                $attribs = array();
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attribs[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attribs['disabled'] = 'disabled';
                }
 
-               # TODO: should this produce an unordered list perhaps?
+               # @todo Should this produce an unordered list perhaps?
                foreach ( $options as $label => $info ) {
                        if ( is_array( $info ) ) {
                                $html .= Html::rawElement( 'h1', array(), $label ) . "\n";
@@ -56,7 +56,11 @@ class HTMLRadioField extends HTMLFormField {
                                $radio = Xml::radio( $this->mName, $info, $info == $value, $attribs + array( 'id' => $id ) );
                                $radio .= '&#160;' . Html::rawElement( 'label', array( 'for' => $id ), $label );
 
-                               $html .= ' ' . Html::rawElement( 'div', array( 'class' => 'mw-htmlform-flatlist-item' ), $radio );
+                               $html .= ' ' . Html::rawElement(
+                                       'div',
+                                       array( 'class' => 'mw-htmlform-flatlist-item' ),
+                                       $radio
+                               );
                        }
                }
 
@@ -66,4 +70,4 @@ class HTMLRadioField extends HTMLFormField {
        protected function needsLabel() {
                return false;
        }
-}
\ No newline at end of file
+}
index b50f593..7b2e865 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * Double field with a dropdown list constructed from a system message in the format
  *     * Optgroup header
  * @todo FIXME: If made 'required', only the text field should be compulsory.
  */
 class HTMLSelectAndOtherField extends HTMLSelectField {
-
        function __construct( $params ) {
                if ( array_key_exists( 'other', $params ) ) {
                } elseif ( array_key_exists( 'other-message', $params ) ) {
-                       $params[ 'other' ] = wfMessage( $params[ 'other-message' ] )->plain();
+                       $params['other'] = wfMessage( $params['other-message'] )->plain();
                } else {
-                       $params[ 'other' ] = null;
+                       $params['other'] = null;
                }
 
                if ( array_key_exists( 'options', $params ) ) {
                        # Options array already specified
                } elseif ( array_key_exists( 'options-message', $params ) ) {
                        # Generate options array from a system message
-                       $params[ 'options' ] = self::parseMessage( wfMessage( $params[ 'options-message' ] )->inContentLanguage()->plain(), $params[ 'other' ] );
+                       $params['options'] =
+                               self::parseMessage( wfMessage( $params['options-message'] )->inContentLanguage()->plain(),
+                                       $params['other'] );
                } else {
                        # Sulk
                        throw new MWException( 'HTMLSelectAndOtherField called without any options' );
                }
-               $this->mFlatOptions = self::flattenOptions( $params[ 'options' ] );
+               $this->mFlatOptions = self::flattenOptions( $params['options'] );
 
                parent::__construct( $params );
        }
@@ -40,7 +42,7 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
         * @param string $otherName name of "other reason" option
         *
         * @return Array
-        * TODO: this is copied from Xml::listDropDown(), deprecate/avoid duplication?
+        * @todo This is copied from Xml::listDropDown(), deprecate/avoid duplication?
         */
        public static function parseMessage( $string, $otherName = null ) {
                if ( $otherName === null ) {
@@ -62,14 +64,14 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
                                # groupmember
                                $opt = trim( substr( $value, 2 ) );
                                if ( $optgroup === false ) {
-                                       $options[ $opt ] = $opt;
+                                       $options[$opt] = $opt;
                                } else {
-                                       $options[ $optgroup ][ $opt ] = $opt;
+                                       $options[$optgroup][$opt] = $opt;
                                }
                        } else {
                                # groupless reason list
                                $optgroup = false;
-                               $options[ $option ] = $option;
+                               $options[$option] = $option;
                        }
                }
 
@@ -77,7 +79,7 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
        }
 
        function getInputHTML( $value ) {
-               $select = parent::getInputHTML( $value[ 1 ] );
+               $select = parent::getInputHTML( $value[1] );
 
                $textAttribs = array(
                        'id' => $this->mID . '-other',
@@ -85,16 +87,16 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
                );
 
                if ( $this->mClass !== '' ) {
-                       $textAttribs[ 'class' ] = $this->mClass;
+                       $textAttribs['class'] = $this->mClass;
                }
 
                foreach ( array( 'required', 'autofocus', 'multiple', 'disabled' ) as $param ) {
-                       if ( isset( $this->mParams[ $param ] ) ) {
-                               $textAttribs[ $param ] = '';
+                       if ( isset( $this->mParams[$param] ) ) {
+                               $textAttribs[$param] = '';
                        }
                }
 
-               $textbox = Html::input( $this->mName . '-other', $value[ 2 ], 'text', $textAttribs );
+               $textbox = Html::input( $this->mName . '-other', $value[2], 'text', $textAttribs );
 
                return "$select<br />\n$textbox";
        }
@@ -112,7 +114,7 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
 
                        if ( $list == 'other' ) {
                                $final = $text;
-                       } elseif ( ! in_array( $list, $this->mFlatOptions ) ) {
+                       } elseif ( !in_array( $list, $this->mFlatOptions ) ) {
                                # User has spoofed the select form to give an option which wasn't
                                # in the original offer.  Sulk...
                                $final = $text;
@@ -121,7 +123,6 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
                        } else {
                                $final = $list . $this->msg( 'colon-separator' )->inContentLanguage()->text() . $text;
                        }
-
                } else {
                        $final = $this->getDefault();
 
@@ -136,27 +137,31 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
                                }
                        }
                }
+
                return array( $final, $list, $text );
        }
 
        function getSize() {
-               return isset( $this->mParams[ 'size' ] ) ? $this->mParams[ 'size' ] : 45;
+               return isset( $this->mParams['size'] ) ? $this->mParams['size'] : 45;
        }
 
        function validate( $value, $alldata ) {
                # HTMLSelectField forces $value to be one of the options in the select
                # field, which is not useful here.  But we do want the validation further up
                # the chain
-               $p = parent::validate( $value[ 1 ], $alldata );
+               $p = parent::validate( $value[1], $alldata );
 
                if ( $p !== true ) {
                        return $p;
                }
 
-               if ( isset( $this->mParams[ 'required' ] ) && $this->mParams[ 'required' ] !== false && $value[ 1 ] === '' ) {
+               if ( isset( $this->mParams['required'] )
+                       && $this->mParams['required'] !== false
+                       && $value[1] === ''
+               ) {
                        return $this->msg( 'htmlform-required' )->parse();
                }
 
                return true;
        }
-}
\ No newline at end of file
+}
index 60e680b..d2dd432 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * A select dropdown field.  Basically a wrapper for Xmlselect class
  */
@@ -10,7 +11,7 @@ class HTMLSelectField extends HTMLFormField {
                        return $p;
                }
 
-               $validOptions = HTMLFormField::flattenOptions( $this->mParams[ 'options' ] );
+               $validOptions = HTMLFormField::flattenOptions( $this->mParams['options'] );
 
                if ( in_array( $value, $validOptions ) ) {
                        return true;
@@ -25,14 +26,14 @@ class HTMLSelectField extends HTMLFormField {
                # If one of the options' 'name' is int(0), it is automatically selected.
                # because PHP sucks and thinks int(0) == 'some string'.
                # Working around this by forcing all of them to strings.
-               foreach ( $this->mParams[ 'options' ] as &$opt ) {
+               foreach ( $this->mParams['options'] as &$opt ) {
                        if ( is_int( $opt ) ) {
                                $opt = strval( $opt );
                        }
                }
                unset( $opt ); # PHP keeps $opt around as a reference, which is a bit scary
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
+               if ( !empty( $this->mParams['disabled'] ) ) {
                        $select->setAttribute( 'disabled', 'disabled' );
                }
 
@@ -40,8 +41,8 @@ class HTMLSelectField extends HTMLFormField {
                        $select->setAttribute( 'class', $this->mClass );
                }
 
-               $select->addOptions( $this->mParams[ 'options' ] );
+               $select->addOptions( $this->mParams['options'] );
 
                return $select->getHTML();
        }
-}
\ No newline at end of file
+}
index 7bdb31e..4e322d4 100644 (file)
@@ -1,13 +1,16 @@
 <?php
+
 /**
  * Select dropdown field, with an additional "other" textbox.
  */
 class HTMLSelectOrOtherField extends HTMLTextField {
-
        function __construct( $params ) {
-               if ( ! in_array( 'other', $params[ 'options' ], true ) ) {
-                       $msg = isset( $params[ 'other' ] ) ? $params[ 'other' ] : wfMessage( 'htmlform-selectorother-other' )->text();
-                       $params[ 'options' ][ $msg ] = 'other';
+               if ( !in_array( 'other', $params['options'], true ) ) {
+                       $msg =
+                               isset( $params['other'] )
+                                       ? $params['other']
+                                       : wfMessage( 'htmlform-selectorother-other' )->text();
+                       $params['options'][$msg] = 'other';
                }
 
                parent::__construct( $params );
@@ -25,12 +28,12 @@ class HTMLSelectOrOtherField extends HTMLTextField {
                $valInSelect = false;
 
                if ( $value !== false ) {
-                       $valInSelect = in_array( $value, HTMLFormField::flattenOptions( $this->mParams[ 'options' ] ) );
+                       $valInSelect = in_array( $value, HTMLFormField::flattenOptions( $this->mParams['options'] ) );
                }
 
                $selected = $valInSelect ? $value : 'other';
 
-               $opts = self::forceToStringRecursive( $this->mParams[ 'options' ] );
+               $opts = self::forceToStringRecursive( $this->mParams['options'] );
 
                $select = new XmlSelect( $this->mName, $this->mID, $selected );
                $select->addOptions( $opts );
@@ -39,19 +42,19 @@ class HTMLSelectOrOtherField extends HTMLTextField {
 
                $tbAttribs = array( 'id' => $this->mID . '-other', 'size' => $this->getSize() );
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
+               if ( !empty( $this->mParams['disabled'] ) ) {
                        $select->setAttribute( 'disabled', 'disabled' );
-                       $tbAttribs[ 'disabled' ] = 'disabled';
+                       $tbAttribs['disabled'] = 'disabled';
                }
 
                $select = $select->getHTML();
 
-               if ( isset( $this->mParams[ 'maxlength' ] ) ) {
-                       $tbAttribs[ 'maxlength' ] = $this->mParams[ 'maxlength' ];
+               if ( isset( $this->mParams['maxlength'] ) ) {
+                       $tbAttribs['maxlength'] = $this->mParams['maxlength'];
                }
 
                if ( $this->mClass !== '' ) {
-                       $tbAttribs[ 'class' ] = $this->mClass;
+                       $tbAttribs['class'] = $this->mClass;
                }
 
                $textbox = Html::input( $this->mName . '-other', $valInSelect ? '' : $value, 'text', $tbAttribs );
@@ -77,4 +80,4 @@ class HTMLSelectOrOtherField extends HTMLTextField {
                        return $this->getDefault();
                }
        }
-}
\ No newline at end of file
+}
index ab6c221..653c08c 100644 (file)
@@ -1,8 +1,9 @@
 <?php
+
 /**
  * Add a submit button inline in the form (as opposed to
  * HTMLForm::addButton(), which will add it at the end).
  */
 class HTMLSubmitField extends HTMLButtonField {
        protected $buttonType = 'submit';
-}
\ No newline at end of file
+}
index f9a6df0..89e7be2 100644 (file)
@@ -1,14 +1,15 @@
 <?php
+
 class HTMLTextAreaField extends HTMLFormField {
        const DEFAULT_COLS = 80;
        const DEFAULT_ROWS = 25;
 
        function getCols() {
-               return isset( $this->mParams[ 'cols' ] ) ? $this->mParams[ 'cols' ] : static::DEFAULT_COLS;
+               return isset( $this->mParams['cols'] ) ? $this->mParams['cols'] : static::DEFAULT_COLS;
        }
 
        function getRows() {
-               return isset( $this->mParams[ 'rows' ] ) ? $this->mParams[ 'rows' ] : static::DEFAULT_ROWS;
+               return isset( $this->mParams['rows'] ) ? $this->mParams['rows'] : static::DEFAULT_ROWS;
        }
 
        function getInputHTML( $value ) {
@@ -20,27 +21,27 @@ class HTMLTextAreaField extends HTMLFormField {
                        ) + $this->getTooltipAndAccessKey();
 
                if ( $this->mClass !== '' ) {
-                       $attribs[ 'class' ] = $this->mClass;
+                       $attribs['class'] = $this->mClass;
                }
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attribs[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attribs['disabled'] = 'disabled';
                }
 
-               if ( ! empty( $this->mParams[ 'readonly' ] ) ) {
-                       $attribs[ 'readonly' ] = 'readonly';
+               if ( !empty( $this->mParams['readonly'] ) ) {
+                       $attribs['readonly'] = 'readonly';
                }
 
-               if ( isset( $this->mParams[ 'placeholder' ] ) ) {
-                       $attribs[ 'placeholder' ] = $this->mParams[ 'placeholder' ];
+               if ( isset( $this->mParams['placeholder'] ) ) {
+                       $attribs['placeholder'] = $this->mParams['placeholder'];
                }
 
                foreach ( array( 'required', 'autofocus' ) as $param ) {
-                       if ( isset( $this->mParams[ $param ] ) ) {
-                               $attribs[ $param ] = '';
+                       if ( isset( $this->mParams[$param] ) ) {
+                               $attribs[$param] = '';
                        }
                }
 
                return Html::element( 'textarea', $attribs, $value );
        }
-}
\ No newline at end of file
+}
index 4d7753c..fe962f4 100644 (file)
@@ -1,7 +1,8 @@
 <?php
+
 class HTMLTextField extends HTMLFormField {
        function getSize() {
-               return isset( $this->mParams[ 'size' ] ) ? $this->mParams[ 'size' ] : 45;
+               return isset( $this->mParams['size'] ) ? $this->mParams['size'] : 45;
        }
 
        function getInputHTML( $value ) {
@@ -13,14 +14,14 @@ class HTMLTextField extends HTMLFormField {
                        ) + $this->getTooltipAndAccessKey();
 
                if ( $this->mClass !== '' ) {
-                       $attribs[ 'class' ] = $this->mClass;
+                       $attribs['class'] = $this->mClass;
                }
 
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attribs[ 'disabled' ] = 'disabled';
+               if ( !empty( $this->mParams['disabled'] ) ) {
+                       $attribs['disabled'] = 'disabled';
                }
 
-               # TODO: Enforce pattern, step, required, readonly on the server side as
+               # @todo Enforce pattern, step, required, readonly on the server side as
                # well
                $allowedParams = array(
                        'min',
@@ -33,40 +34,40 @@ class HTMLTextField extends HTMLFormField {
                        'maxlength'
                );
                foreach ( $allowedParams as $param ) {
-                       if ( isset( $this->mParams[ $param ] ) ) {
-                               $attribs[ $param ] = $this->mParams[ $param ];
+                       if ( isset( $this->mParams[$param] ) ) {
+                               $attribs[$param] = $this->mParams[$param];
                        }
                }
 
                foreach ( array( 'required', 'autofocus', 'multiple', 'readonly' ) as $param ) {
-                       if ( isset( $this->mParams[ $param ] ) ) {
-                               $attribs[ $param ] = '';
+                       if ( isset( $this->mParams[$param] ) ) {
+                               $attribs[$param] = '';
                        }
                }
 
                # Implement tiny differences between some field variants
                # here, rather than creating a new class for each one which
                # is essentially just a clone of this one.
-               if ( isset( $this->mParams[ 'type' ] ) ) {
-                       switch( $this->mParams[ 'type' ] ) {
+               if ( isset( $this->mParams['type'] ) ) {
+                       switch ( $this->mParams['type'] ) {
                                case 'email':
-                                       $attribs[ 'type' ] = 'email';
+                                       $attribs['type'] = 'email';
                                        break;
                                case 'int':
-                                       $attribs[ 'type' ] = 'number';
+                                       $attribs['type'] = 'number';
                                        break;
                                case 'float':
-                                       $attribs[ 'type' ] = 'number';
-                                       $attribs[ 'step' ] = 'any';
+                                       $attribs['type'] = 'number';
+                                       $attribs['step'] = 'any';
                                        break;
                                # Pass through
                                case 'password':
                                case 'file':
-                                       $attribs[ 'type' ] = $this->mParams[ 'type' ];
+                                       $attribs['type'] = $this->mParams['type'];
                                        break;
                        }
                }
 
                return Html::element( 'input', $attribs );
        }
-}
\ No newline at end of file
+}