From 87ff88d55003a7af755d290ae06173c4d73cc133 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Mon, 09 Mar 2015 12:17:04 -0400
Subject: [PATCH] Fix session garbage collector handler registration after refactoring

---
 program/lib/Roundcube/rcube.php            |    1 +
 program/lib/Roundcube/rcube_session.php    |    3 ---
 program/lib/Roundcube/rcube_session_db.php |    1 +
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php
index 3d08153..cf6ebf9 100644
--- a/program/lib/Roundcube/rcube.php
+++ b/program/lib/Roundcube/rcube.php
@@ -523,6 +523,7 @@
 
         // get session driver instance
         $this->session = rcube_session::factory($this->config);
+        $this->session->register_gc_handler(array($this, 'gc'));
 
         // start PHP session (if not in CLI mode)
         if ($_SERVER['REMOTE_ADDR']) {
diff --git a/program/lib/Roundcube/rcube_session.php b/program/lib/Roundcube/rcube_session.php
index fc1d871..ab5c24c 100644
--- a/program/lib/Roundcube/rcube_session.php
+++ b/program/lib/Roundcube/rcube_session.php
@@ -86,9 +86,6 @@
     {
         $this->config = $config;
 
-        // register default gc handler
-        $this->register_gc_handler(array($this, 'gc'));
-
         // set secret
         $this->set_secret($this->config->get('des_key') . dirname($_SERVER['SCRIPT_NAME']));
 
diff --git a/program/lib/Roundcube/rcube_session_db.php b/program/lib/Roundcube/rcube_session_db.php
index 78138d1..4d94f43 100644
--- a/program/lib/Roundcube/rcube_session_db.php
+++ b/program/lib/Roundcube/rcube_session_db.php
@@ -168,6 +168,7 @@
         // just clean all old sessions when this GC is called
         $this->db->query("DELETE FROM " . $this->db->table_name('session')
                          . " WHERE changed < " . $this->db->now(-$this->gc_enabled));
+        $this->log("Session GC (DB): remove records < " . date('Y-m-d H:i:s', time() - $this->gc_enabled) . '; rows = ' . intval($this->db->affected_rows()));
     }
 
 }
\ No newline at end of file

--
Gitblit v1.9.1