connexion(); $db->db(); #$db->control($config['db_prefix']."sessions"); $time = time()-$config['session_time']; $table = $config['db_prefix']."sessions"; $db->query("DELETE FROM $table WHERE time < $time AND active = '1'"); $db->deconnexion(); } } function new_cookie() { global $config; if($config['session']=='1') { $db = new bdd(); $db->connexion(); $db->db(); $time = time(); $xid = random(); $sess_cookie = random(); $ip = encode_ip(); $table = $config['db_prefix']."sessions"; $db->query("INSERT INTO $table(xid,session,time,ip,var_session,level,hash,active) VALUES('$xid','$sess_cookie','$time','$ip','','1','','0') "); $db->hash($table,"xid = '$xid'"); $this->xid = $xid; cookie($config['session_name'],$sess_cookie); $db->deconnexion(); } } function load() { $this->clean(); global $config; if($config['session']=='1') { if($cookie = gpc($config['session_name'],'cookie')) { $db = new bdd(); $db->connexion(); $db->db(); $db->escape($cookie); $table = $config['db_prefix']."sessions"; $query = $db->unique_query("SELECT * FROM $table WHERE session='$cookie' AND active='1'"); if($db->num_rows == 1 && $query['ip'] == encode_ip()) { $time = time(); $xid = $query['xid']; $db->query("UPDATE $table SET time='$time' WHERE xid='$xid'"); $this->xid = $xid; $this->level = $query['level']; $this->values = unserialize($query['var_session']); cookie($config['session_name'],gpc($config['session_name'],'cookie')); } else $this->new_cookie(); $db->deconnexion(); } else $this->new_cookie(); } } function put() { global $config; if($config['session']=='1') { $db = new bdd(); $db->connexion(); $db->db(); $time = time(); $var_session = serialize($this->values); $db->escape($var_session); $xid = $this->xid; $table = $config['db_prefix']."sessions"; $db->query("UPDATE $table SET time='$time', var_session='$var_session' WHERE xid='$xid'"); $db->hash($table,"xid = '$xid'"); $db->deconnexion(); } } } ?>