Merge "Plural rules: updates for UTS #35 Rev 33"
[lhc/web/wiklou.git] / includes / ImagePage.php
index 93cef53..997a948 100644 (file)
@@ -262,7 +262,9 @@ class ImagePage extends Article {
                                # @todo FIXME: Why is this using escapeId for a class?!
                                $class = Sanitizer::escapeId( $v['id'] );
                                if ( $type == 'collapsed' ) {
-                                       $class .= ' collapsable'; // sic
+                                       // Handled by mediawiki.action.view.metadata module
+                                       // and skins/common/shared.css.
+                                       $class .= ' collapsable';
                                }
                                $r .= "<tr class=\"$class\">\n";
                                $r .= "<th>{$v['name']}</th>\n";
@@ -314,7 +316,12 @@ class ImagePage extends Article {
 
                        $renderLang = $request->getVal( 'lang' );
                        if ( !is_null( $renderLang ) ) {
-                               $params['lang'] = $renderLang;
+                               $handler = $this->displayImg->getHandler();
+                               if ( $handler && $handler->validateParam( 'lang', $renderLang ) ) {
+                                       $params['lang'] = $renderLang;
+                               } else {
+                                       $renderLang = null;
+                               }
                        }
 
                        $width_orig = $this->displayImg->getWidth( $page );
@@ -989,7 +996,7 @@ EOT
                        } else {
                                $display = $code;
                        }
-                       $opts .= "\n" . XML::Option( $display, $code, $curLang === $code );
+                       $opts .= "\n" . Xml::option( $display, $code, $curLang === $code );
                        if ( $curLang === $code ) {
                                $haveCurrentLang = true;
                        }
@@ -1000,7 +1007,7 @@ EOT
                if ( !$haveDefaultLang ) {
                        // Its hard to know if the content is really in the default language, or
                        // if its just unmarked content that could be in any language.
-                       $opts = XML::Option( wfMessage( 'img-lang-default' )->text(), '', $defaultLang === $curLang ) . $opts;
+                       $opts = Xml::option( wfMessage( 'img-lang-default' )->text(), $defaultLang, $defaultLang === $curLang ) . $opts;
                }
                if ( !$haveCurrentLang && $defaultLang !== $curLang ) {
                        $name = Language::fetchLanguageName( $curLang, $this->getContext()->getLanguage()->getCode() );
@@ -1009,7 +1016,7 @@ EOT
                        } else {
                                $display = $curLang;
                        }
-                       $opts = XML::Option( $display, $curLang, true ) . $opts;
+                       $opts = Xml::option( $display, $curLang, true ) . $opts;
                }
 
                $select = Html::rawElement( 'select', array( 'id' => 'mw-imglangselector', 'name' => 'lang' ), $opts );