X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSkinTemplate.php;h=86972ee9e25ade2b37cca97bdbc1453d507dc7ad;hb=290fc4de64a8b4503c4b2a25a058b23aa1c390f4;hp=58d443a92d8f3ee959955b52240aa6dfc5e48214;hpb=988781660fc83f05ffc77da51027ed41124a2c28;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SkinTemplate.php b/includes/SkinTemplate.php index 58d443a92d..86972ee9e2 100644 --- a/includes/SkinTemplate.php +++ b/includes/SkinTemplate.php @@ -169,7 +169,7 @@ class SkinTemplate extends Skin { unset( $query['returnto'] ); unset( $query['returntoquery'] ); } - $this->thisquery = wfArrayToCGI( $query ); + $this->thisquery = wfArrayToCgi( $query ); $this->loggedin = $user->isLoggedIn(); $this->username = $user->getName(); @@ -219,7 +219,7 @@ class SkinTemplate extends Skin { if ( $subpagestr !== '' ) { $subpagestr = '' . $subpagestr . ''; } - $tpl->set( 'subtitle', $subpagestr . $out->getSubtitle() ); + $tpl->set( 'subtitle', $subpagestr . $out->getSubtitle() ); $undelete = $this->getUndeleteLink(); if ( $undelete === '' ) { @@ -403,7 +403,7 @@ class SkinTemplate extends Skin { $pageLang = $title->getPageViewLanguage(); $realBodyAttribs['lang'] = $pageLang->getHtmlCode(); $realBodyAttribs['dir'] = $pageLang->getDir(); - $realBodyAttribs['class'] = 'mw-content-'.$pageLang->getDir(); + $realBodyAttribs['class'] = 'mw-content-' . $pageLang->getDir(); } $out->mBodytext = Html::rawElement( 'div', $realBodyAttribs, $out->mBodytext ); @@ -413,25 +413,28 @@ class SkinTemplate extends Skin { $language_urls = array(); if ( !$wgHideInterlanguageLinks ) { - foreach( $out->getLanguageLinks() as $l ) { - $tmp = explode( ':', $l, 2 ); - $class = 'interwiki-' . $tmp[0]; - unset( $tmp ); - $nt = Title::newFromText( $l ); - if ( $nt ) { - $ilLangName = Language::fetchLanguageName( $nt->getInterwiki() ); + foreach( $out->getLanguageLinks() as $languageLinkText ) { + $languageLinkParts = explode( ':', $languageLinkText, 2 ); + $class = 'interwiki-' . $languageLinkParts[0]; + unset( $languageLinkParts ); + $languageLinkTitle = Title::newFromText( $languageLinkText ); + if ( $languageLinkTitle ) { + $ilInterwikiCode = $languageLinkTitle->getInterwiki(); + $ilLangName = Language::fetchLanguageName( $ilInterwikiCode ); + if ( strval( $ilLangName ) === '' ) { - $ilLangName = $l; + $ilLangName = $languageLinkText; } else { $ilLangName = $this->formatLanguageName( $ilLangName ); } + $language_urls[] = array( - 'href' => $nt->getFullURL(), + 'href' => $languageLinkTitle->getFullURL(), 'text' => $ilLangName, - 'title' => $nt->getText(), + 'title' => $languageLinkTitle->getText(), 'class' => $class, - 'lang' => $nt->getInterwiki(), - 'hreflang' => $nt->getInterwiki(), + 'lang' => $ilInterwikiCode, + 'hreflang' => $ilInterwikiCode ); } } @@ -574,7 +577,7 @@ class SkinTemplate extends Skin { $a['wpStickHTTPS'] = true; } - $returnto = wfArrayToCGI( $a ); + $returnto = wfArrayToCgi( $a ); if( $this->loggedin ) { $personal_urls['userpage'] = array( 'text' => $this->username, @@ -1008,6 +1011,12 @@ class SkinTemplate extends Skin { // Gets preferred variant (note that user preference is // only possible for wiki content language variant) $preferred = $pageLang->getPreferredVariant(); + if ( Action::getActionName( $this ) === 'view' ) { + $params = $request->getQueryValues(); + unset( $params['title'] ); + } else { + $params = array(); + } // Loops over each variant foreach( $variants as $code ) { // Gets variant name from language code @@ -1021,7 +1030,7 @@ class SkinTemplate extends Skin { $content_navigation['variants'][] = array( 'class' => ( $code == $preferred ) ? 'selected' : false, 'text' => $varname, - 'href' => $title->getLocalURL( array( 'variant' => $code ) ), + 'href' => $title->getLocalURL( array( 'variant' => $code ) + $params ), 'lang' => $code, 'hreflang' => $code ); @@ -1042,7 +1051,7 @@ class SkinTemplate extends Skin { } // Equiv to SkinTemplateContentActions - wfRunHooks( 'SkinTemplateNavigation::Universal', array( &$this, &$content_navigation ) ); + wfRunHooks( 'SkinTemplateNavigation::Universal', array( &$this, &$content_navigation ) ); // Setup xml ids and tooltip info foreach ( $content_navigation as $section => &$links ) {