Fix merging of class attribute on edit page textbox
authorBrian Wolff <bawolff+wn@gmail.com>
Sat, 8 Oct 2016 18:18:06 +0000 (18:18 +0000)
committerBrian Wolff <bawolff+wn@gmail.com>
Sat, 8 Oct 2016 18:18:06 +0000 (18:18 +0000)
Follow up to 2c688cfb11ea6cee0e975ed35fc8e503ea

Bug: T147701
Change-Id: I48a03ffefb575470804dc4ef54bdf321e6f55dc3

includes/EditPage.php

index 8ca7105..8226da5 100644 (file)
@@ -3300,17 +3300,28 @@ HTML
                        'id' => $name,
                        'cols' => $wgUser->getIntOption( 'cols' ),
                        'rows' => $wgUser->getIntOption( 'rows' ),
-                       // The following classes can be used here:
-                       // * mw-editfont-default
-                       // * mw-editfont-monospace
-                       // * mw-editfont-sans-serif
-                       // * mw-editfont-serif
-                       'class' => 'mw-editfont-' . $wgUser->getOption( 'editfont' ),
                        // Avoid PHP notices when appending preferences
                        // (appending allows customAttribs['style'] to still work).
                        'style' => ''
                ];
 
+               // The following classes can be used here:
+               // * mw-editfont-default
+               // * mw-editfont-monospace
+               // * mw-editfont-sans-serif
+               // * mw-editfont-serif
+               $class = 'mw-editfont-' . $wgUser->getOption( 'editfont' );
+
+               if ( isset( $attribs['class'] ) ) {
+                       if ( is_string( $attribs['class'] ) ) {
+                               $attribs['class'] .= ' ' . $class;
+                       } elseif ( is_array( $attribs['class'] ) ) {
+                               $attribs['class'][] = $class;
+                       }
+               } else {
+                       $attribs['class'] = $class;
+               }
+
                $pageLang = $this->mTitle->getPageLanguage();
                $attribs['lang'] = $pageLang->getHtmlCode();
                $attribs['dir'] = $pageLang->getDir();