From 66773789e392305bba4cdf7ed8e6ae3b8380de51 Mon Sep 17 00:00:00 2001 From: svncommit <devs@roundcube.net> Date: Thu, 27 Oct 2005 09:45:33 -0400 Subject: [PATCH] --- program/include/main.inc | 83 +++++++++++++++++++++-------------------- 1 files changed, 42 insertions(+), 41 deletions(-) diff --git a/program/include/main.inc b/program/include/main.inc index 4a872a5..d00efc7 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -76,7 +76,7 @@ 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']); @@ -253,22 +253,6 @@ if (!$host) $host = $CONFIG['default_host']; - // query if user already registered - $sql_result = $DB->query(sprintf("SELECT user_id, username, language, preferences - FROM %s - WHERE mail_host='%s' AND (username='%s' OR alias='%s')", - get_table_name('users'), - addslashes($host), - addslashes($user), - addslashes($user))); - - // user already registered -> overwrite username - if ($sql_arr = $DB->fetch_assoc($sql_result)) - { - $user_id = $sql_arr['user_id']; - $user = $sql_arr['username']; - } - // parse $host URL $a_host = parse_url($host); if ($a_host['host']) @@ -276,6 +260,21 @@ $host = $a_host['host']; $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? TRUE : FALSE; $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : $CONFIG['default_port']); + } + + // query if user already registered + $sql_result = $DB->query("SELECT user_id, username, language, preferences + FROM ".get_table_name('users')." + WHERE mail_host=? AND (username=? OR alias=?)", + $host, + $user, + $user); + + // user already registered -> overwrite username + if ($sql_arr = $DB->fetch_assoc($sql_result)) + { + $user_id = $sql_arr['user_id']; + $user = $sql_arr['username']; } // exit if IMAP login failed @@ -293,16 +292,16 @@ 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() - WHERE user_id=%d", - get_table_name('users'), - $user_id)); + $DB->query("UPDATE ".get_table_name('users')." + SET last_login=now() + WHERE user_id=?", + $user_id); } // create new system user else if ($CONFIG['auto_create_user']) @@ -317,6 +316,7 @@ $_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,27 +333,26 @@ function rcmail_create_user($user, $host) { global $DB, $CONFIG, $IMAP; + + $DB->query("INSERT INTO ".get_table_name('users')." + (created, last_login, username, mail_host, language) + VALUES (now(), now(), ?, ?, ?)", + $user, + $host, + $_SESSION['user_lang']); - $DB->query(sprintf("INSERT INTO %s - (created, last_login, username, mail_host) - VALUES (NOW(), NOW(), '%s', '%s')", - get_table_name('users'), - addslashes($user), - addslashes($host))); - - if ($user_id = $DB->insert_id()) + if ($user_id = $DB->insert_id('user_ids')) { $user_email = strstr($user, '@') ? $user : sprintf('%s@%s', $user, $host); $user_name = $user!=$user_email ? $user : ''; // also create a new identity record - $DB->query(sprintf("INSERT INTO %s - (user_id, `default`, name, email) - VALUES (%d, '1', '%s', '%s')", - get_table_name('identities'), - $user_id, - addslashes($user_name), - addslashes($user_email))); + $DB->query("INSERT INTO ".get_table_name('identities')." + (user_id, `default`, name, email) + VALUES (?, '1', ?, ?)", + $user_id, + $user_name, + $user_email); // get existing mailboxes $a_mailboxes = $IMAP->list_mailboxes(); @@ -565,7 +564,7 @@ // show a label case 'label': if ($attrib['name'] || $attrib['command']) - return rcube_label($attrib); + return rep_specialchars_output(rcube_label($attrib)); break; // create a menu item @@ -697,7 +696,7 @@ else if (isset($GLOBALS['PAGE_TITLE'])) return rep_specialchars_output("RoundCube|Mail :: ".$GLOBALS['PAGE_TITLE']); else if ($task=='mail' && ($mbox_name = $IMAP->get_mailbox_name())) - return "RoundCube|Mail :: $mbox_name"; + return "RoundCube|Mail :: ".rep_specialchars_output(UTF7DecodeString($mbox_name), 'html', 'all'); else return "RoundCube|Mail :: $task"; } @@ -948,8 +947,10 @@ if (is_numeric($date)) $ts = $date; - else + else if (!empty($date)) $ts = strtotime($date); + else + return ''; // convert time to user's timezone $timestamp = $ts - date('Z', $ts) + ($CONFIG['timezone'] * 3600); -- Gitblit v1.9.1