r91877 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r91876‎ | r91877 | r91878 >
Date:12:53, 11 July 2011
Author:nikerabbit
Status:deferred
Tags:
Comment:
Added a hack to do something useful for Safari users when Safari sends things like 'de-de'
bug 19180
Modified paths:
  • /trunk/extensions/LanguageSelector/LanguageSelector.php (modified) (history)

Diff [purge]

Index: trunk/extensions/LanguageSelector/LanguageSelector.php
@@ -174,14 +174,26 @@
175175 || !array_key_exists( $wgContLang->getCode(), $languages ) )
176176 {
177177
 178+ $supported = wfGetLanguageSelectorLanguages();
178179 // look for a language that is acceptable to the client
179180 // and known to the wiki.
180181 foreach( $languages as $reqCode => $q ) {
181 - if ( in_array( $reqCode, wfGetLanguageSelectorLanguages() ) ) {
 182+ if ( in_array( $reqCode, $supported ) ) {
182183 $code = $reqCode;
183184 break;
184185 }
185186 }
 187+
 188+ // Apparently Safari sends stupid things like "de-de" only.
 189+ // Try again with stripped codes.
 190+ foreach( $languages as $reqCode => $q ) {
 191+ $stupidPHP = explode( '-', $reqCode, 2 );
 192+ $bareCode = array_shift( $stupidPHP );
 193+ if ( in_array( $bareCode, $supported ) ) {
 194+ $code = $bareCode;
 195+ break;
 196+ }
 197+ }
186198 }
187199 }
188200 }

Status & tagging log