summaryrefslogtreecommitdiff
path: root/program/include/main.inc
diff options
context:
space:
mode:
Diffstat (limited to 'program/include/main.inc')
-rw-r--r--program/include/main.inc15
1 files changed, 9 insertions, 6 deletions
diff --git a/program/include/main.inc b/program/include/main.inc
index 7955aa870..a7020c75f 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -76,7 +76,7 @@ function rcmail_startup($task='mail')
if (!$_SESSION['client_id'])
{
$_SESSION['client_id'] = $sess_id;
- $_SESSION['user_lang'] = 'en';
+ $_SESSION['user_lang'] = substr($CONFIG['locale_string'], 0, 2);
$_SESSION['auth_time'] = mktime();
$_SESSION['auth'] = rcmail_auth_hash($sess_id, $_SESSION['auth_time']);
unset($GLOBALS['_auth']);
@@ -293,10 +293,11 @@ function rcmail_login($user, $pass, $host=NULL)
array_merge($CONFIG, $user_prefs);
}
+
// set user specific language
if (strlen($sql_arr['language']))
$sess_user_lang = $_SESSION['user_lang'] = $sql_arr['language'];
-
+
// update user's record
$DB->query(sprintf("UPDATE %s
SET last_login=NOW()
@@ -317,6 +318,7 @@ function rcmail_login($user, $pass, $host=NULL)
$_SESSION['imap_port'] = $imap_port;
$_SESSION['imap_ssl'] = $imap_ssl;
$_SESSION['username'] = $user;
+ $_SESSION['user_lang'] = $sess_user_lang;
$_SESSION['password'] = encrypt_passwd($pass);
// force reloading complete list of subscribed mailboxes
@@ -333,13 +335,14 @@ function rcmail_login($user, $pass, $host=NULL)
function rcmail_create_user($user, $host)
{
global $DB, $CONFIG, $IMAP;
-
+
$DB->query(sprintf("INSERT INTO %s
- (created, last_login, username, mail_host)
- VALUES (NOW(), NOW(), '%s', '%s')",
+ (created, last_login, username, mail_host, language)
+ VALUES (NOW(), NOW(), '%s', '%s', '%s')",
get_table_name('users'),
addslashes($user),
- addslashes($host)));
+ addslashes($host),
+ $_SESSION['user_lang']));
if ($user_id = $DB->insert_id())
{