Merge "Remove redirectToFragment() from wikibits.js"
[lhc/web/wiklou.git] / includes / Xml.php
index 3eedeb2..3b82c64 100644 (file)
@@ -195,8 +195,9 @@ class Xml {
                if ( $year ) {
                        $encYear = intval( $year );
                } elseif ( $encMonth ) {
-                       $thisMonth = intval( gmdate( 'n' ) );
-                       $thisYear = intval( gmdate( 'Y' ) );
+                       $timestamp = MWTimestamp::getInstance();
+                       $thisMonth = intval( $timestamp->format( 'n' ) );
+                       $thisYear = intval( $timestamp->format( 'Y' ) );
                        if ( intval( $encMonth ) > $thisMonth ) {
                                $thisYear--;
                        }
@@ -243,7 +244,7 @@ class Xml {
                $selected = isset( $languages[$selected] ) ? $selected : $wgLanguageCode;
                $options = "\n";
                foreach ( $languages as $code => $name ) {
-                       $options .= Xml::option( "$code - $name", $code, ($code == $selected) ) . "\n";
+                       $options .= Xml::option( "$code - $name", $code, $code == $selected ) . "\n";
                }
 
                $attrs = array( 'id' => 'wpUserLanguage', 'name' => 'wpUserLanguage' );
@@ -499,34 +500,34 @@ class Xml {
                $options = self::option( $other, 'other', $selected === 'other' );
 
                foreach ( explode( "\n", $list ) as $option ) {
-                               $value = trim( $option );
-                               if ( $value == '' ) {
-                                       continue;
-                               } elseif ( substr( $value, 0, 1 ) == '*' && substr( $value, 1, 1 ) != '*' ) {
-                                       // A new group is starting ...
-                                       $value = trim( substr( $value, 1 ) );
-                                       if ( $optgroup ) {
-                                               $options .= self::closeElement( 'optgroup' );
-                                       }
-                                       $options .= self::openElement( 'optgroup', array( 'label' => $value ) );
-                                       $optgroup = true;
-                               } elseif ( substr( $value, 0, 2 ) == '**' ) {
-                                       // groupmember
-                                       $value = trim( substr( $value, 2 ) );
-                                       $options .= self::option( $value, $value, $selected === $value );
-                               } else {
-                                       // groupless reason list
-                                       if ( $optgroup ) {
-                                               $options .= self::closeElement( 'optgroup' );
-                                       }
-                                       $options .= self::option( $value, $value, $selected === $value );
-                                       $optgroup = false;
+                       $value = trim( $option );
+                       if ( $value == '' ) {
+                               continue;
+                       } elseif ( substr( $value, 0, 1 ) == '*' && substr( $value, 1, 1 ) != '*' ) {
+                               // A new group is starting ...
+                               $value = trim( substr( $value, 1 ) );
+                               if ( $optgroup ) {
+                                       $options .= self::closeElement( 'optgroup' );
                                }
+                               $options .= self::openElement( 'optgroup', array( 'label' => $value ) );
+                               $optgroup = true;
+                       } elseif ( substr( $value, 0, 2 ) == '**' ) {
+                               // groupmember
+                               $value = trim( substr( $value, 2 ) );
+                               $options .= self::option( $value, $value, $selected === $value );
+                       } else {
+                               // groupless reason list
+                               if ( $optgroup ) {
+                                       $options .= self::closeElement( 'optgroup' );
+                               }
+                               $options .= self::option( $value, $value, $selected === $value );
+                               $optgroup = false;
                        }
+               }
 
-                       if ( $optgroup ) {
-                               $options .= self::closeElement( 'optgroup' );
-                       }
+               if ( $optgroup ) {
+                       $options .= self::closeElement( 'optgroup' );
+               }
 
                $attribs = array();
 
@@ -741,9 +742,10 @@ class Xml {
         * Output optionally includes a submit button.
         * @param array $fields Associative array, key is the name of a message that contains a description for the field, value is an HTML string containing the appropriate input.
         * @param string $submitLabel The name of a message containing a label for the submit button.
+        * @param array $submitAttribs The attributes to add to the submit button
         * @return string HTML form.
         */
-       public static function buildForm( $fields, $submitLabel = null ) {
+       public static function buildForm( $fields, $submitLabel = null, $submitAttribs = array() ) {
                $form = '';
                $form .= "<table><tbody>";
 
@@ -763,7 +765,7 @@ class Xml {
                if ( $submitLabel ) {
                        $form .= Xml::openElement( 'tr' );
                        $form .= Xml::tags( 'td', array(), '' );
-                       $form .= Xml::openElement( 'td', array( 'class' => 'mw-submit' ) ) . Xml::submitButton( wfMessage( $submitLabel )->text() ) . Xml::closeElement( 'td' );
+                       $form .= Xml::openElement( 'td', array( 'class' => 'mw-submit' ) ) . Xml::submitButton( wfMessage( $submitLabel )->text(), $submitAttribs ) . Xml::closeElement( 'td' );
                        $form .= Xml::closeElement( 'tr' );
                }
 
@@ -889,7 +891,7 @@ class XmlSelect {
         */
        public function addOption( $name, $value = false ) {
                // Stab stab stab
-               $value = ($value !== false) ? $value : $name;
+               $value = $value !== false ? $value : $name;
 
                $this->options[] = array( $name => $value );
        }
@@ -899,7 +901,7 @@ class XmlSelect {
         * label => value
         * label => ( label => value, label => value )
         *
-        * @param  $options
+        * @param $options
         */
        public function addOptions( $options ) {
                $this->options[] = $options;
@@ -910,7 +912,7 @@ class XmlSelect {
         * label => value
         * label => ( label => value, label => value )
         *
-        * @param  $options
+        * @param $options
         * @param bool $default
         * @return string
         */