summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-05-08 06:59:48 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-05-08 06:59:48 +0000
commit8990d0ed8ab741d173ac50347517e8aa99707d6c (patch)
treef8a6a7e1e7e1cb0e6c306a05241feecf30410504 /roundcubemail/program/include
parent51c6e989dc939b140637b0e04776e7af85221d22 (diff)
- Don't attempt to delete cache entries if enable_caching is FALSE (#1485051)
git-svn-id: https://svn.roundcube.net/trunk@1362 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
-rw-r--r--roundcubemail/program/include/session.inc33
1 files changed, 18 insertions, 15 deletions
diff --git a/roundcubemail/program/include/session.inc b/roundcubemail/program/include/session.inc
index 9becacf00..a789fd2d7 100644
--- a/roundcubemail/program/include/session.inc
+++ b/roundcubemail/program/include/session.inc
@@ -26,7 +26,6 @@ function sess_open($save_path, $session_name)
}
-
function sess_close()
{
return TRUE;
@@ -90,8 +89,6 @@ function sess_write($key, $vars)
$key,
$vars,
$_SERVER['REMOTE_ADDR']);
-
-
}
return TRUE;
@@ -101,15 +98,18 @@ function sess_write($key, $vars)
// 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 @@ function sess_destroy($key)
// garbage collecting function
function sess_gc($maxlifetime)
{
- global $DB;
+ global $DB, $CONFIG;
if ($DB->is_error())
return FALSE;
@@ -137,20 +137,23 @@ function sess_gc($maxlifetime)
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;