summaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/libraries/Session/Session.php5
-rw-r--r--system/libraries/Session/Session_driver.php6
2 files changed, 11 insertions, 0 deletions
diff --git a/system/libraries/Session/Session.php b/system/libraries/Session/Session.php
index 518dc28b0..bdcde1e76 100644
--- a/system/libraries/Session/Session.php
+++ b/system/libraries/Session/Session.php
@@ -70,6 +70,11 @@ class CI_Session {
{
$this->_driver = $driver;
}
+ // Note: BC workaround
+ elseif (config_item('sess_use_database'))
+ {
+ $this->_driver = 'database';
+ }
if (($class = $this->_ci_load_classes($this->_driver)) === FALSE)
{
diff --git a/system/libraries/Session/Session_driver.php b/system/libraries/Session/Session_driver.php
index c46ca3a34..cc35b66d1 100644
--- a/system/libraries/Session/Session_driver.php
+++ b/system/libraries/Session/Session_driver.php
@@ -133,6 +133,12 @@ abstract class CI_Session_driver implements SessionHandlerInterface {
if ($this->_expiration)
{
ini_set('session.gc_maxlifetime', $this->_expiration);
+ ini_set('session.cookie_lifetime', $this->_expiration);
+ }
+ // BC workaround for setting cookie lifetime
+ elseif (config_item('sess_expire_on_close'))
+ {
+ ini_set('session.cookie_lifetime', 0);
}
// Security is king