From 67fac374a347a55049db52afe4ed1d02d84f2f18 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Tue, 01 Sep 2015 08:08:20 -0400 Subject: [PATCH] Fix so gc.sh script removes also expired sessions from sql database (#1490512) --- bin/gc.sh | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/bin/gc.sh b/bin/gc.sh index e0d722a..cde6deb 100755 --- a/bin/gc.sh +++ b/bin/gc.sh @@ -24,4 +24,16 @@ require INSTALL_PATH.'program/include/clisetup.php'; $rcmail = rcube::get_instance(); + +$session_driver = $rcmail->config->get('session_storage', 'db'); +$session_lifetime = $rcmail->config->get('session_lifetime', 0) * 60 * 2; + +// Clean expired SQL sessions +if ($session_driver == 'db' && $session_lifetime) { + $db = $rcmail->get_dbh(); + $db->query("DELETE FROM " . $db->table_name('session') + . " WHERE changed < " . $db->now(-$session_lifetime)); +} + +// Clean caches and temp directory $rcmail->gc(); -- Gitblit v1.9.1