mirror of
https://github.com/phpbb/phpbb.git
synced 2025-10-22 20:26:25 +02:00
[ticket/16470] Further do not rely on session_time displaying user activity
session_time has not been updated during session_length, so relying on it last activity data will be incorrect, especially if session_length value is high. Thus rely on regular and properly updated user_lastvisit. Remove user_lastvisit vs with session_time sync for the same reason. Also get rid of the session_last_visit field as it floats between user_lastvisit and session_time and actually is meaningless. PHPBB3-16470 PHPBB3-14173
This commit is contained in:
@@ -1594,21 +1594,14 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
|
||||
if ($config['load_onlinetrack'])
|
||||
{
|
||||
$update_time = $config['load_online_time'] * 60;
|
||||
$online = (time() - $update_time < $data['session_time'] && ((isset($data['session_viewonline']) && $data['session_viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;
|
||||
$online = (time() - $update_time < $data['user_lastvisit']) && (!empty($data['session_viewonline']) || $auth->acl_get('u_viewonline'));
|
||||
}
|
||||
else
|
||||
{
|
||||
$online = false;
|
||||
}
|
||||
|
||||
if ($data['user_allow_viewonline'] || $auth->acl_get('u_viewonline'))
|
||||
{
|
||||
$last_active = (!empty($data['session_time'])) ? $data['session_time'] : $data['user_lastvisit'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$last_active = '';
|
||||
}
|
||||
$last_active = ($data['user_allow_viewonline'] || $auth->acl_get('u_viewonline')) ? $data['user_lastvisit'] : '';
|
||||
|
||||
$age = '';
|
||||
|
||||
|
Reference in New Issue
Block a user