diff --git a/misuzu.php b/misuzu.php index f26af397..dd36ae30 100644 --- a/misuzu.php +++ b/misuzu.php @@ -313,6 +313,7 @@ MIG; $mszUserId = (int)$_COOKIE['msz_uid']; user_bump_last_active($mszUserId); + user_session_bump_active(user_session_current('session_id')); $getUserDisplayInfo = db_prepare(' SELECT diff --git a/src/Users/session.php b/src/Users/session.php index ffcbca6f..4b1650ec 100644 --- a/src/Users/session.php +++ b/src/Users/session.php @@ -114,6 +114,21 @@ function user_session_list(int $offset, int $take, int $userId = 0): array return $sessions ? $sessions : []; } +function user_session_bump_active(int $sessionId): void +{ + if ($sessionId < 1) { + return; + } + + $bump = db_prepare(' + UPDATE `msz_sessions` + SET `session_active` = NOW() + WHERE `session_id` = :session_id + '); + $bump->bindValue('session_id', $sessionId); + $bump->execute(); +} + // the functions below this line are imperative function user_session_start(int $userId, string $sessionKey): bool diff --git a/templates/user/macros.twig b/templates/user/macros.twig index a0e072be..f7c697ac 100644 --- a/templates/user/macros.twig +++ b/templates/user/macros.twig @@ -98,6 +98,17 @@ + {% if session.session_active is not null %} +