'" . time() . "'", $mysql_session['dbh']); if (mysql_errno($mysql_session['dbh'])) { error_log("mysql_session_read: " . mysql_error($mysql_session['dbh'])); } if ($result) { $this = mysql_fetch_row($result); return($this[0]); } else { return(""); } } /* this writes new session data for a given SID - will create if necessary */ function mysql_session_write($sid, $data) { global $mysql_session; $result = @mysql_query("replace into " . $mysql_session['table'] . " set sid='" . mysql_real_escape_string($sid, $mysql_session['dbh']) . "', value='" . mysql_real_escape_string($data, $mysql_session['dbh']) . "', expires='" . (time() + get_cfg_var("session.gc_maxlifetime")) . "'", $mysql_session['dbh']); if (mysql_errno($mysql_session['dbh'])) { error_log("mysql_session_write: " . mysql_error($mysql_session['dbh'])); } if ($result) { return(true); } else { return(false); } } /* this deletes a session */ function mysql_session_destroy($sid) { global $mysql_session; $result = @mysql_query("delete from " . $mysql_session['table'] . " where sid='" . mysql_real_escape_string($sid, $mysql_session['dbh']) . "'", $mysql_session['dbh']); if (mysql_errno($mysql_session['dbh'])) { error_log("mysql_session_destroy: " . mysql_error($mysql_session['dbh'])); } if ($result) { return(true); } else { return(false); } } /* this cleans up old sessions */ function mysql_session_garbage_collect($lifetime) { global $mysql_session; $result = @mysql_query("delete from " . $mysql_session['table'] . " where expires < '" . (time - get_cfg_var("session.gc_maxlifetime")) . "'", $mysql_session['dbh']); if (mysql_errno($mysql_session['dbh'])) { error_log("mysql_session_garbage_collect: " . mysql_error($mysql_session['dbh'])); } return(true); } /* this installs our new session handler */ session_set_save_handler("mysql_session_open", "mysql_session_close", "mysql_session_read", "mysql_session_write", "mysql_session_destroy", "mysql_session_garbage_collect"); ?>