1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-07 16:15:22 +02:00

Merge branch '3.3.x'

This commit is contained in:
Marc Alexander 2022-08-26 20:47:10 +02:00
commit 6d388b1390
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995

View File

@ -1636,17 +1636,20 @@ switch ($mode)
if (count($user_list)) if (count($user_list))
{ {
// Session time?! Session time... // Session time?! Session time...
$sql = 'SELECT session_user_id, MAX(session_time) AS session_time $sql = 'SELECT session_user_id, MAX(session_time) AS session_time, MIN(session_viewonline) AS session_viewonline
FROM ' . SESSIONS_TABLE . ' FROM ' . SESSIONS_TABLE . '
WHERE session_time >= ' . (time() - $config['session_length']) . ' WHERE session_time >= ' . (time() - $config['session_length']) . '
AND ' . $db->sql_in_set('session_user_id', $user_list) . ' AND ' . $db->sql_in_set('session_user_id', $user_list) . '
GROUP BY session_user_id'; GROUP BY session_user_id';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$session_times = array(); $session_ary = [];
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$session_times[$row['session_user_id']] = $row['session_time']; $session_ary[$row['session_user_id']] = [
'session_time' => $row['session_time'],
'session_viewonline' => $row['session_viewonline'],
];
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -1710,7 +1713,8 @@ switch ($mode)
$id_cache = array(); $id_cache = array();
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$row['session_time'] = (!empty($session_times[$row['user_id']])) ? $session_times[$row['user_id']] : 0; $row['session_time'] = $session_ary[$row['user_id']]['session_time'] ?? 0;
$row['session_viewonline'] = $session_ary[$row['user_id']]['session_viewonline'] ?? 0;
$row['last_visit'] = (!empty($row['session_time'])) ? $row['session_time'] : $row['user_lastvisit']; $row['last_visit'] = (!empty($row['session_time'])) ? $row['session_time'] : $row['user_lastvisit'];
$id_cache[$row['user_id']] = $row; $id_cache[$row['user_id']] = $row;