From 800c5fd043ab23987186bf036562d7ec58fd38d4 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 24 Aug 2012 04:32:34 -0400
Subject: [PATCH] Fix setting locales under Solaris - use additional .UTF-8 suffix (#1488628)

---
 CHANGELOG                  |    1 +
 program/include/rcmail.php |   10 ++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 7be08d3..d241de6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix setting locales under Solaris - use additional .UTF-8 suffix (#1488628)
 - Fix email address validation for addresses with IP address in domain part
 - Fix Larry skin issues in IE7 compat. mode (#1488618)
 - Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 44a6016..35e1934 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -252,14 +252,16 @@
       $this->config->set_user_prefs((array)$this->user->get_prefs());
     }
 
-    $_SESSION['language'] = $this->user->language = $this->language_prop($this->config->get('language', $_SESSION['language']));
+    $lang = $this->language_prop($this->config->get('language', $_SESSION['language']));
+    $_SESSION['language'] = $this->user->language = $lang;
 
     // set localization
-    setlocale(LC_ALL, $_SESSION['language'] . '.utf8', 'en_US.utf8');
+    setlocale(LC_ALL, $lang . '.utf8', $lang . '.UTF-8', 'en_US.utf8', 'en_US.UTF-8');
 
     // workaround for http://bugs.php.net/bug.php?id=18556
-    if (in_array($_SESSION['language'], array('tr_TR', 'ku', 'az_AZ')))
-      setlocale(LC_CTYPE, 'en_US' . '.utf8');
+    if (in_array($lang, array('tr_TR', 'ku', 'az_AZ'))) {
+      setlocale(LC_CTYPE, 'en_US.utf8', 'en_US.UTF-8');
+    }
   }
 
 

--
Gitblit v1.9.1