0 ) { return true; } $query = ' INSERT INTO '.SESSIONS_TABLE.' (id,data,expiration) VALUES(\''.$session_id.'\',\''.$data.'\',now()) ;'; mysql_query($query); return true; } /** * returns true; delete the active session * * @param string session id */ function pwg_session_destroy($session_id) { $query = ' DELETE FROM '.SESSIONS_TABLE.' WHERE id = \''.$session_id.'\' ;'; pwg_query($query); return true; } /** * returns true; delete expired sessions * called each time a session is closed. */ function pwg_session_gc() { global $conf; $query = ' DELETE FROM '.SESSIONS_TABLE.' WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(expiration) > ' .$conf['session_length'].' ;'; pwg_query($query); return true; } /** * persistently stores a variable for the current session * currently we use standard php sessions but it might change * @return boolean true on success * @see pwg_get_session_var, pwg_unset_session_var */ function pwg_set_session_var($var, $value) { if ( !isset($_SESSION) ) return false; $_SESSION['pwg_'.$var] = $value; return true; } /** * retrieves the value of a persistent variable for the current session * currently we use standard php sessions but it might change * @return mixed * @see pwg_set_session_var, pwg_unset_session_var */ function pwg_get_session_var($var, $default = null) { if (isset( $_SESSION['pwg_'.$var] ) ) { return $_SESSION['pwg_'.$var]; } return $default; } /** * deletes a persistent variable for the current session * currently we use standard php sessions but it might change * @return boolean true on success * @see pwg_set_session_var, pwg_get_session_var */ function pwg_unset_session_var($var) { if ( !isset($_SESSION) ) return false; unset( $_SESSION['pwg_'.$var] ); return true; } ?>