From 735b8260632f0cd25a7a40b1f6b669ff2caa0d9f Mon Sep 17 00:00:00 2001 From: rxu Date: Wed, 21 Jun 2023 00:02:29 +0700 Subject: [PATCH] [ticket/16470] Do not sync user last visit time with expired sessions time PHPBB3-16470 PHPBB3-14173 --- phpBB/phpbb/session.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/phpBB/phpbb/session.php b/phpBB/phpbb/session.php index e1f54f42f5..5f40008702 100644 --- a/phpBB/phpbb/session.php +++ b/phpBB/phpbb/session.php @@ -960,8 +960,8 @@ class session } /** - * Get expired sessions for registered users, only most recent for each user - * Inner SELECT gets most recent expired sessions for unique session_user_id + * Get most recent session for each registered user to sync user last visit with it + * Inner SELECT gets most recent sessions for each unique session_user_id * Outer SELECT gets data for them */ $sql_select = 'SELECT s1.session_page, s1.session_user_id, s1.session_time AS recent_time @@ -969,8 +969,7 @@ class session INNER JOIN ( SELECT session_user_id, MAX(session_time) AS recent_time FROM ' . SESSIONS_TABLE . ' - WHERE session_time < ' . ($this->time_now - (int) $config['session_length']) . ' - AND session_user_id <> ' . ANONYMOUS . ' + WHERE session_user_id <> ' . ANONYMOUS . ' GROUP BY session_user_id ) AS s2 ON s1.session_user_id = s2.session_user_id