From 90822188687028732c48b5f97ef11f435575bb14 Mon Sep 17 00:00:00 2001 From: Borgal Date: Mon, 2 Feb 2026 12:54:47 +0100 Subject: [PATCH] =?UTF-8?q?v1.4.0=20-=20zuletzt=20Aktiv=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/check_login.php | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/inc/check_login.php b/inc/check_login.php index 36d6428..60860bf 100755 --- a/inc/check_login.php +++ b/inc/check_login.php @@ -28,13 +28,36 @@ if (!isset($_SESSION['user_id']) && isset($_COOKIE['remember_token'])) { $update_stmt = mysqli_prepare($conn, $update_sql); mysqli_stmt_bind_param($update_stmt, "ss", $new_expires_at, $token); mysqli_stmt_execute($update_stmt); + mysqli_stmt_close($update_stmt); } else { // Token ist ungültig oder abgelaufen, Cookie löschen setcookie('remember_token', '', time() - 3600, "/"); } } -if (!isset($_SESSION['user_id'])) { +// 🔹 Letzte Aktivität aktualisieren (nur für eingeloggte Benutzer) +if (isset($_SESSION['user_id'])) { + $now = new DateTime(); + $last_update = $_SESSION['last_activity_update'] ?? null; + $update_needed = true; + + if ($last_update) { + $last = new DateTime($last_update); + if ($now->getTimestamp() - $last->getTimestamp() < 60) { + $update_needed = false; + } + } + + if ($update_needed) { + $stmt = mysqli_prepare($conn, "UPDATE users SET last_activity = NOW() WHERE id = ?"); + if ($stmt) { + mysqli_stmt_bind_param($stmt, "i", $_SESSION['user_id']); + mysqli_stmt_execute($stmt); + mysqli_stmt_close($stmt); + $_SESSION['last_activity_update'] = $now->format('Y-m-d H:i:s'); + } + } +} else { header('Location: login.php'); exit(); }