Thomas Bruederli
2015-03-09 87ff88d55003a7af755d290ae06173c4d73cc133
Fix session garbage collector handler registration after refactoring
3 files modified
5 ■■■■■ changed files
program/lib/Roundcube/rcube.php 1 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_session.php 3 ●●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_session_db.php 1 ●●●● patch | view | raw | blame | history
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']) {
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']));
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()));
    }
}