Re-insert the row into online if it has been removed.
[infodrom.org/www.zeitungsliste.de] / lib / session.inc
index c8293f1..27a8cda 100644 (file)
@@ -100,7 +100,11 @@ function session_init()
       session_invalidate('login.html?from=session');
 
     $query = sprintf('UPDATE online SET activity = now() WHERE uid = %d', $_SESSION['uid']);
-    db_query($query);
+    $sth = db_query($query);
+    if (pg_affected_rows($sth) < 1) {
+      $query = sprintf('INSERT INTO online (uid,activity) VALUES (%d,now())', $_SESSION['uid']);
+      $sth = db_query($query);
+    }
 
     if ($_SESSION["lastupdate"] < time() - 60) {
       session_update();