Merge "mediawiki.inspect: add method for grepping loaded modules"
[lhc/web/wiklou.git] / includes / htmlform / HTMLTextField.php
index 4d7753c..e584d88 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,10 @@ class HTMLTextField extends HTMLFormField {
                        ) + $this->getTooltipAndAccessKey();
 
                if ( $this->mClass !== '' ) {
-                       $attribs[ 'class' ] = $this->mClass;
-               }
-
-               if ( ! empty( $this->mParams[ 'disabled' ] ) ) {
-                       $attribs[ 'disabled' ] = 'disabled';
+                       $attribs['class'] = $this->mClass;
                }
 
-               # 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',
@@ -30,43 +27,39 @@ class HTMLTextField extends HTMLFormField {
                        'step',
                        'placeholder',
                        'list',
-                       'maxlength'
+                       'maxlength',
+                       'tabindex',
+                       'disabled',
+                       'required',
+                       'autofocus',
+                       'multiple',
+                       'readonly'
                );
-               foreach ( $allowedParams as $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 ] = '';
-                       }
-               }
+               $attribs += $this->getAttributes( $allowedParams );
 
                # 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' ] ) {
-                               case 'email':
-                                       $attribs[ 'type' ] = 'email';
-                                       break;
+               if ( isset( $this->mParams['type'] ) ) {
+                       switch ( $this->mParams['type'] ) {
                                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 'email':
                                case 'password':
                                case 'file':
-                                       $attribs[ 'type' ] = $this->mParams[ 'type' ];
+                               case 'url':
+                                       $attribs['type'] = $this->mParams['type'];
                                        break;
                        }
                }
 
                return Html::element( 'input', $attribs );
        }
-}
\ No newline at end of file
+}