From 6d5dbae53cd4b4b97da0b0c558292a7f1062a524 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 25 Jul 2008 11:13:15 -0400 Subject: [PATCH] Prefer File_Info over mime_content_type + detect mime type when uploading + some code style --- program/include/session.inc | 44 ++++++++++++++++++++++++++------------------ 1 files changed, 26 insertions(+), 18 deletions(-) diff --git a/program/include/session.inc b/program/include/session.inc index a4952d1..ef8eb27 100644 --- a/program/include/session.inc +++ b/program/include/session.inc @@ -26,7 +26,6 @@ } - function sess_close() { return TRUE; @@ -89,9 +88,7 @@ VALUES (?, ?, ?, ".$DB->now().", ".$DB->now().")", $key, $vars, - $_SERVER['REMOTE_ADDR']); - - + (string)$_SERVER['REMOTE_ADDR']); } return TRUE; @@ -101,15 +98,18 @@ // handler for session_destroy() function sess_destroy($key) { - global $DB; + global $DB, $CONFIG; if ($DB->is_error()) return FALSE; - - // delete session entries in cache table - $DB->query("DELETE FROM ".get_table_name('cache')." - WHERE session_id=?", + + if ($CONFIG['enable_caching']) + { + // delete session entries in cache table + $DB->query("DELETE FROM ".get_table_name('cache')." + WHERE session_id=?", $key); + } $DB->query("DELETE FROM ".get_table_name('session')." WHERE sess_id=?", @@ -122,7 +122,7 @@ // garbage collecting function function sess_gc($maxlifetime) { - global $DB; + global $DB, $CONFIG; if ($DB->is_error()) return FALSE; @@ -137,20 +137,23 @@ while ($sql_arr = $DB->fetch_assoc($sql_result)) $a_exp_sessions[] = $sql_arr['sess_id']; - if (sizeof($a_exp_sessions)) { - // delete session cache records - $DB->query("DELETE FROM ".get_table_name('cache')." - WHERE session_id IN ('".join("','", $a_exp_sessions)."')"); - + if ($CONFIG['enable_caching']) + { + // delete session cache records + $DB->query("DELETE FROM ".get_table_name('cache')." + WHERE session_id IN ('".join("','", $a_exp_sessions)."')"); + } + // delete session records $DB->query("DELETE FROM ".get_table_name('session')." WHERE sess_id IN ('".join("','", $a_exp_sessions)."')"); } // also run message cache GC - rcmail_message_cache_gc(); + if ($CONFIG['enable_caching']) + rcmail_message_cache_gc(); rcmail_temp_gc(); return TRUE; @@ -172,8 +175,13 @@ sess_destroy(session_id()); session_id($random); - $cookie = session_get_cookie_params(); - setcookie(session_name(), $random, $cookie['lifetime'], $cookie['path']); + + $cookie = session_get_cookie_params(); + $_lifetime = $cookie['lifetime'] ? time() + $cookie['lifetime'] : 0; + + setcookie(session_name(), '', time() - 3600); + setcookie(session_name(), $random, $_lifetime, $cookie['path'], + $cookie['domain']); return true; } -- Gitblit v1.9.1