3 function session_invalidate($dest='')
8 db_query(sprintf('DELETE FROM online WHERE uid = %d', $_SESSION['uid']));
10 setcookie($cfg['session'], '', time()-42000, '/');
14 header("Location: " . $cfg['home'] . $dest);
19 function userstatus_info()
25 $query = 'SELECT count(*) FROM online';
26 $sth = db_query($query);
30 $row = pg_fetch_array($sth, 0);
34 $query = 'SELECT count(*) FROM users';
35 $sth = db_query($query);
39 $row = pg_fetch_array($sth, 0);
43 $query = 'SELECT count(*) FROM zeitungen WHERE deleted IS false';
44 $sth = db_query($query);
48 $row = pg_fetch_array($sth, 0);
52 $query = 'SELECT count(*) FROM zeitung_tags';
53 $sth = db_query($query);
57 $row = pg_fetch_array($sth, 0);
61 $query = 'SELECT count(*) FROM tags';
62 $sth = db_query($query);
66 $row = pg_fetch_array($sth, 0);
73 function session_update()
78 $info = userstatus_info();
80 $_SESSION['online'] = $info[0];
81 $_SESSION['users'] = $info[1];
82 $_SESSION['zeitungen'] = $info[2];
83 $_SESSION['ztags'] = $info[3];
84 $_SESSION['tags'] = $info[4];
87 function session_init()
94 if (isset($_COOKIE[$cfg['session']])) {
95 session_name($cfg["session"]);
98 if ($_SESSION["REMOTE_ADDR"] != $_SERVER["REMOTE_ADDR"] ||
99 !isset($_SESSION["uid"]))
100 session_invalidate('login.html?from=session');
102 $query = sprintf('UPDATE online SET activity = now() WHERE uid = %d', $_SESSION['uid']);
103 $sth = db_query($query);
104 if (pg_affected_rows($sth) < 1) {
105 $query = sprintf('INSERT INTO online (uid,activity) VALUES (%d,now())', $_SESSION['uid']);
106 $sth = db_query($query);
109 if ($_SESSION["lastupdate"] < time() - 60) {
111 $_SESSION["lastupdate"] = time();