From 14de18d5f4636ca86ed8cac4c8c725e07bd2ff79 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sun, 16 Nov 2008 03:53:10 -0500
Subject: [PATCH] - Fix setting locale to tr_TR, ku and az_AZ (#1485470)

---
 program/include/rcmail.php |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 33bc38b..9690d8d 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -170,7 +170,11 @@
     $_SESSION['language'] = $this->user->language = $this->language_prop($this->config->get('language', $_SESSION['language']));
 
     // set localization
-    setlocale(LC_ALL, $_SESSION['language'] . '.utf8');
+    setlocale(LC_ALL, $_SESSION['language'] . '.utf8', 'en_US.utf8');
+
+    // 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'); 
   }
   
   
@@ -288,6 +292,14 @@
 
     foreach (array('flag_for_deletion','read_when_deleted') as $js_config_var) {
       $this->output->set_env($js_config_var, $this->config->get($js_config_var));
+    }
+    
+    // set keep-alive/check-recent interval
+    if ($keep_alive = $this->config->get('keep_alive')) {
+      // be sure that it's less than session lifetime
+      if ($session_lifetime = $this->config->get('session_lifetime'))
+        $keep_alive = min($keep_alive, $session_lifetime * 60 - 30);
+      $this->output->set_env('keep_alive', max(60, $keep_alive));
     }
 
     if ($framed) {
@@ -433,7 +445,7 @@
 
     // lowercase username if it's an e-mail address (#1484473)
     if (strpos($username, '@'))
-      $username = strtolower($username);
+      $username = rc_strtolower($username);
 
     // user already registered -> overwrite username
     if ($user = rcube_user::query($username, $host))

--
Gitblit v1.9.1