Lang code restructure from 1c9f455c, applied to Drupal6.php
authorChris Burgess <chris@giantrobot.co.nz>
Sat, 6 Jul 2013 04:39:41 +0000 (16:39 +1200)
committerChris Burgess <chris@giantrobot.co.nz>
Sat, 6 Jul 2013 06:18:57 +0000 (18:18 +1200)
CRM/Utils/System/Drupal6.php

index 0313007e5f154150e6ef5e6462f4cf6b4f299200..66a2d1999c97780f9743e8ff7d90004f3f996b66 100644 (file)
@@ -615,20 +615,26 @@ SELECT name, mail
   function getUFLocale() {
     // return CiviCRM’s xx_YY locale that either matches Drupal’s Chinese locale
     // (for CRM-6281), Drupal’s xx_YY or is retrieved based on Drupal’s xx
+    // sometimes for CLI based on order called, this might not be set and/or empty
     global $language;
-    switch (TRUE) {
-      case $language->language == 'zh-hans':
-        return 'zh_CN';
 
-      case $language->language == 'zh-hant':
-        return 'zh_TW';
+    if (empty($language)) {
+      return NULL;
+    }
 
-      case preg_match('/^.._..$/', $language->language):
-        return $language->language;
+    if ($language->language == 'zh-hans') {
+      return 'zh_CN';
+    }
 
-      default:
-        return CRM_Core_I18n_PseudoConstant::longForShort(substr($language->language, 0, 2));
+    if ($language->language == 'zh-hant') {
+      return 'zh_TW';
     }
+
+    if (preg_match('/^.._..$/', $language->language)) {
+      return $language->language;
+    }
+
+    return CRM_Core_I18n_PseudoConstant::longForShort(substr($language->language, 0, 2));
   }
 
   function getVersion() {