aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/sessions.php
diff options
context:
space:
mode:
authormarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-10-22 11:10:53 +0000
committermarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-10-22 11:10:53 +0000
commit1b91801a6fe90f4c6f94751380c6fa53654bb208 (patch)
treeb7115a4781947b273b679ec12c2760c67de93108 /engine/lib/sessions.php
parentc04b4f17f123ceb078409630c13d57604827e6f5 (diff)
downloadelgg-1b91801a6fe90f4c6f94751380c6fa53654bb208.tar.gz
elgg-1b91801a6fe90f4c6f94751380c6fa53654bb208.tar.bz2
Closes #453 and #463: Completed work. Sessions now stored in database.
git-svn-id: https://code.elgg.org/elgg/trunk@2292 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib/sessions.php')
-rw-r--r--engine/lib/sessions.php17
1 files changed, 7 insertions, 10 deletions
diff --git a/engine/lib/sessions.php b/engine/lib/sessions.php
index 691eb484d..02a3e06ca 100644
--- a/engine/lib/sessions.php
+++ b/engine/lib/sessions.php
@@ -192,7 +192,7 @@
// Use database for sessions
$DB_PREFIX = $CONFIG->dbprefix; // HACK to allow access to prefix after object distruction
- //session_set_save_handler("__elgg_session_open", "__elgg_session_close", "__elgg_session_read", "__elgg_session_write", "__elgg_session_destroy", "__elgg_session_gc");
+ session_set_save_handler("__elgg_session_open", "__elgg_session_close", "__elgg_session_read", "__elgg_session_write", "__elgg_session_destroy", "__elgg_session_gc");
session_name('Elgg');
session_start();
@@ -320,19 +320,18 @@
$id = sanitise_string($id);
- try {
-error_log("marcus SELECT * from {$CONFIG->dbprefix}users_sessions where session='$id'");
- $result = get_data("SELECT * from {$DB_PREFIX}users_sessions where session='$id'");
+ try {
+ $result = get_data_row("SELECT * from {$DB_PREFIX}users_sessions where session='$id'");
+
if ($result)
return (string)$result->data;
} catch (DatabaseException $e) {
-error_log('marcus here');
+
// Fall back to file store in this case, since this likely means that the database hasn't been upgraded
global $sess_save_path;
- $sess_file = "$sess_save_path/sess_$id";
-error_log("marcus $sess_file");
+ $sess_file = "$sess_save_path/sess_$id";
return (string) @file_get_contents($sess_file);
}
@@ -352,7 +351,6 @@ error_log("marcus $sess_file");
try {
$sess_data_sanitised = sanitise_string($sess_data);
- error_log("marcus REPLACE INTO {$DB_PREFIX}users_sessions (session, ts, data) VALUES ('$id', '$time', '$sess_data_sanitised')");
if (insert_data("REPLACE INTO {$DB_PREFIX}users_sessions (session, ts, data) VALUES ('$id', '$time', '$sess_data_sanitised')")!==false)
return true;
@@ -383,8 +381,7 @@ error_log("marcus $sess_file");
$id = sanitise_string($id);
- try {
-error_log("marcus DELETE from {$CONFIG->dbprefix}users_sessions where session='$id'") ;
+ try {
return (bool)delete_data("DELETE from {$DB_PREFIX}users_sessions where session='$id'");
} catch (DatabaseException $e) {
// Fall back to file store in this case, since this likely means that the database hasn't been upgraded