So war etwas schwieriger als ich dachte, aber zur allgemeinen Information!
Ich habe, wie ja
hier schon erwähnt wurde folgendes geändert:
$dif = date('Y-m-d H:i:s', time() - 60);
zu
$dif = db_result(db_query('SELECT TIMESTAMPADD(MINUTE, -1, NOW())'));
Nun war noch das Problem das man sich nur selber online sah, sonst niemand.
Das lag daran, dass die Daten der Tabelle prefix_online nach 2 Stunden gelöscht werden. Wenn der SQL Server 2 Stunden Verspätung hat sind die Daten beim Aufruf schon weg. Somit habe ich es auf 3 Stunden geändert!
function user_update_database () {
$dif = date('Y-m-d H:i:s', time() - 7200);
db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
if ( loggedin() ) {
db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
}
}
zu
function user_update_database () {
$dif = date('Y-m-d H:i:s', time() - 10800); // 3 Stunden
db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
if ( loggedin() ) {
db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
}
}
Sollte wieder funktionieren!