Add option to suppress session data writes to DB

pull/194/head
Thomas Bruederli 11 years ago
parent 1a5d981a44
commit 14291c79db

@ -3,7 +3,7 @@
/*
+-----------------------------------------------------------------------+
| This file is part of the Roundcube Webmail client |
| Copyright (C) 2005-2012, The Roundcube Dev Team |
| Copyright (C) 2005-2014, The Roundcube Dev Team |
| Copyright (C) 2011, Kolab Systems AG |
| |
| Licensed under the GNU General Public License version 3 or |
@ -44,6 +44,7 @@ class rcube_session
private $secret = '';
private $ip_check = false;
private $logging = false;
private $nowrite = false;
private $storage;
private $memcache;
@ -201,6 +202,9 @@ class rcube_session
$table = $this->db->table_name('session');
$ts = microtime(true);
if ($this->nowrite)
return true;
// no session row in DB (db_read() returns false)
if (!$this->key) {
$oldvars = null;
@ -725,6 +729,16 @@ class rcube_session
}
/**
* Blocks session data from being written to database.
* Can be used if write-race conditions are to be expected
*/
function nowrite($block = true)
{
$this->nowrite = $block;
}
/**
* Check session authentication cookie
*

Loading…
Cancel
Save