From 7902df457d3401c83f78a6ddd48df1a7f07f68b1 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Thu, 20 Oct 2005 18:20:26 -0400 Subject: [PATCH] Fixed SSL support; improved Courier compatibility; some visual enhancements and bugfixes --- program/include/main.inc | 49 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 32 insertions(+), 17 deletions(-) diff --git a/program/include/main.inc b/program/include/main.inc index b4b2aa9..4a872a5 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -51,6 +51,10 @@ ini_set('display_errors', 1); else ini_set('display_errors', 0); + + // set session garbage collecting time according to session_lifetime + if (!empty($CONFIG['session_lifetime'])) + ini_set('session.gc_maxlifetime', ($CONFIG['session_lifetime']+2)*60); // prepare DB connection @@ -138,34 +142,43 @@ $IMAP = new rcube_imap(); + // connect with stored session data + if ($connect) + { + if (!($conn = $IMAP->connect($_SESSION['imap_host'], $_SESSION['username'], decrypt_passwd($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl']))) + show_message('imaperror', 'error'); + + rcmail_set_imap_prop(); + } + // enable caching of imap data if ($CONFIG['enable_caching']===TRUE) $IMAP->set_caching(TRUE); - // set root dir from config - if (strlen($CONFIG['imap_root'])) - $IMAP->set_rootdir($CONFIG['imap_root']); - if (is_array($CONFIG['default_imap_folders'])) $IMAP->set_default_mailboxes($CONFIG['default_imap_folders']); - - if (strlen($_SESSION['mbox'])) - $IMAP->set_mailbox($_SESSION['mbox']); - - if (isset($_SESSION['page'])) - $IMAP->set_page($_SESSION['page']); // set pagesize from config if (isset($CONFIG['pagesize'])) $IMAP->set_pagesize($CONFIG['pagesize']); + } - // connect with stored session data - if ($connect) - { - if (!($conn = $IMAP->connect($_SESSION['imap_host'], $_SESSION['username'], decrypt_passwd($_SESSION['password'])))) - show_message('imaperror', 'error'); - } +// set root dir and last stored mailbox +// this must be done AFTER connecting to the server +function rcmail_set_imap_prop() + { + global $CONFIG, $IMAP; + + // set root dir from config + if (strlen($CONFIG['imap_root'])) + $IMAP->set_rootdir($CONFIG['imap_root']); + + if (strlen($_SESSION['mbox'])) + $IMAP->set_mailbox($_SESSION['mbox']); + + if (isset($_SESSION['page'])) + $IMAP->set_page($_SESSION['page']); } @@ -262,7 +275,7 @@ { $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['post']) ? $a_host['post'] : ($imap_ssl ? 993 : $CONFIG['default_port']); + $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : $CONFIG['default_port']); } // exit if IMAP login failed @@ -301,6 +314,8 @@ { $_SESSION['user_id'] = $user_id; $_SESSION['imap_host'] = $host; + $_SESSION['imap_port'] = $imap_port; + $_SESSION['imap_ssl'] = $imap_ssl; $_SESSION['username'] = $user; $_SESSION['password'] = encrypt_passwd($pass); -- Gitblit v1.9.1