From: Jason Woofenden Date: Mon, 2 Apr 2007 23:09:50 +0000 (-0400) Subject: added session_unset() fixed kill_session() and session_purge_old() X-Git-Url: https://jasonwoof.com/gitweb/?p=wfpl.git;a=commitdiff_plain;h=d33688ee9c43b2cbd63082ecdfd89d5e132a57de added session_unset() fixed kill_session() and session_purge_old() --- diff --git a/session.php b/session.php index 7f5d52e..295c421 100644 --- a/session.php +++ b/session.php @@ -83,15 +83,26 @@ function session_touch($length = false) { db_update('wfpl_sessions', 'expires', $expires, 'where id=%i', $GLOBALS['session_id']); } +# delete the current session +function kill_session() { + if(!session_exists()) { + return; + } + _kill_session($GLOBALS['session_id']); +} + +# for internal use. use kill_session() above +function _kill_session($id) { + db_delete('wfpl_session_data', 'where session_id=%i', $id); + db_delete('wfpl_sessions', 'where id=%i', $id); +} + # delete expired sessions from database function session_purge_old() { $now = time(); $exired_sessions = db_get_column('wfpl_sessions', 'id', 'where expires < %i', $now); - db_delete('wfpl_sessions', 'where expires < %i', $now); - if($expired_sessions) { - foreach($expired_sessions as $expired_session) { - db_delete('wfpl_session_data', 'where session_id=%i', $expired_session); - } + if($expired_sessions) foreach($expired_sessions as $expired_session) { + _kill_session($expired_session); } } @@ -136,21 +147,17 @@ function init_session() { } } -# delete the current session -function kill_session() { - if(!session_exists()) { - return; - } - db_delete('wfpl_session_data', 'where session_id=%i', $GLOBALS['session_id']); - db_delete('wfpl_sessions', 'where id=%i', $GLOBALS['session_id']); -} - # save a variable into the session function session_set($name, $value) { - db_delete('wfpl_session_data', 'where session_id=%i && name=%"', $GLOBALS['session_id'], $name); + session_unset($name); db_insert('wfpl_session_data', 'session_id,name,value', $GLOBALS['session_id'], $name, $value); } +# remove variable from the session +function session_unset($name) { + db_delete('wfpl_session_data', 'where session_id=%i && name=%"', $GLOBALS['session_id'], $name); +} + # get a variable into the session function session_get($name) { return db_get_value('wfpl_session_data', 'value', 'where session_id=%i && name=%"', $GLOBALS['session_id'], $name);