summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/libraries/Session.php13
-rw-r--r--system/libraries/drivers/Session/Database.php4
2 files changed, 17 insertions, 0 deletions
diff --git a/system/libraries/Session.php b/system/libraries/Session.php
index e03f5dff..61a0d403 100644
--- a/system/libraries/Session.php
+++ b/system/libraries/Session.php
@@ -27,6 +27,9 @@ class Session_Core {
// Input library
protected $input;
+ // Automatically save the session by default
+ public static $should_save = true;
+
/**
* Singleton instance of Session.
*/
@@ -455,4 +458,14 @@ class Session_Core {
}
}
+ /**
+ * Do not save this session.
+ *
+ * @return void
+ */
+ public function abort_save() {
+ Session::$should_save = false;
+
+ }
+
} // End Session Class
diff --git a/system/libraries/drivers/Session/Database.php b/system/libraries/drivers/Session/Database.php
index b4144ffb..b8993a9e 100644
--- a/system/libraries/drivers/Session/Database.php
+++ b/system/libraries/drivers/Session/Database.php
@@ -98,6 +98,10 @@ class Session_Database_Driver implements Session_Driver {
public function write($id, $data)
{
+ if (!Session::$should_save) {
+ return true;
+ }
+
$data = array
(
'session_id' => $id,