diff --git a/phpBB/styles/subSilver/template/viewonline_body.html b/phpBB/styles/subSilver/template/viewonline_body.html index ba504700f9..be0b9f6895 100644 --- a/phpBB/styles/subSilver/template/viewonline_body.html +++ b/phpBB/styles/subSilver/template/viewonline_body.html @@ -4,22 +4,18 @@ - - + + - - - - - - - + + + @@ -31,14 +27,10 @@ - - - - - - - - + + + +
{L_USERNAME}{L_LAST_UPDATED}{L_USERNAME}{L_LAST_UPDATED} {L_FORUM_LOCATION}

{TOTAL_REGISTERED_USERS_ONLINE}

{reg_user_row.USERNAME} 

{L_IP}: {reg_user_row.USER_IP} » {L_WHOIS}

 {reg_user_row.LASTUPDATE}  {reg_user_row.FORUM_LOCATION} 

{reg_user_row.USERNAME}

{L_IP}: {reg_user_row.USER_IP} » {L_WHOIS}

 {reg_user_row.LASTUPDATE}

{reg_user_row.FORUM_LOCATION}

{TOTAL_GUEST_USERS_ONLINE}

 {guest_user_row.USERNAME}  {guest_user_row.LASTUPDATE}  {guest_user_row.FORUM_LOCATION} 

{guest_user_row.USERNAME}

{L_IP}: {guest_user_row.USER_IP} » {L_WHOIS}

{guest_user_row.LASTUPDATE}

{guest_user_row.FORUM_LOCATION}

diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php index 293bdf070d..778e9f889e 100644 --- a/phpBB/viewonline.php +++ b/phpBB/viewonline.php @@ -23,7 +23,7 @@ $user->setup(); // Get and set some variables $mode = request_var('mode', ''); -$user_id = request_var('u', 0); +$session_id = request_var('s', ''); $start = request_var('start', 0); $sort_key = request_var('sk', 'b'); $sort_dir = request_var('sd', 'd'); @@ -41,8 +41,8 @@ if ($mode == 'whois') $sql = 'SELECT u.user_id, u.username, u.user_type, s.session_ip FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . " s - WHERE u.user_id = $user_id - AND s.session_user_id = u.user_id"; + WHERE s.session_id = '$session_id' + AND u.user_id = s.session_user_id"; $result = $db->sql_query($sql); if ($row = $db->sql_fetchrow($result)) @@ -82,7 +82,7 @@ $db->sql_freeresult($result); // Get user list -$sql = 'SELECT u.user_id, u.username, u.user_type, u.user_allow_viewonline, u.user_colour, s.session_time, s.session_page, s.session_ip, s.session_allow_viewonline +$sql = 'SELECT u.user_id, u.username, u.user_type, u.user_allow_viewonline, u.user_colour, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_allow_viewonline FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s WHERE u.user_id = s.session_user_id AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) . ' @@ -136,8 +136,7 @@ while ($row = $db->sql_fetchrow($result)) if ($view_online) { preg_match('#^([a-z]+)#i', $row['session_page'], $on_page); -// echo $row['session_page']; -// print_r($on_page); + switch ($on_page[1]) { case 'index': @@ -222,13 +221,13 @@ while ($row = $db->sql_fetchrow($result)) 'USERNAME' => $username, 'LASTUPDATE' => $user->format_date($row['session_time']), 'FORUM_LOCATION'=> $location, - 'USER_IP' => ($auth->acl_get('a_')) ? (($mode == 'lookup' && $user_id == $row['user_id']) ? gethostbyaddr($row['session_ip']) : $row['session_ip']) : '', + 'USER_IP' => ($auth->acl_get('a_')) ? (($mode == 'lookup' && $session_id == $row['session_id']) ? gethostbyaddr($row['session_ip']) : $row['session_ip']) : '', 'S_ROW_COUNT' => $$which_counter, 'U_USER_PROFILE' => ($row['user_type'] <> USER_IGNORE) ? "memberlist.$phpEx$SID&mode=viewprofile&u=" . $row['user_id'] : '', - 'U_USER_IP' => "viewonline.$phpEx$SID" . (($mode != 'lookup') ? '&mode=lookup&u=' . $row['user_id'] : ''), - 'U_WHOIS' => "viewonline.$phpEx$SID&mode=whois&u=" . $row['user_id'], + 'U_USER_IP' => "viewonline.$phpEx$SID" . (($mode != 'lookup' || $row['session_id'] != $session_id) ? '&mode=lookup&s=' . $row['session_id'] : ''), + 'U_WHOIS' => "viewonline.$phpEx$SID&mode=whois&s=" . $row['session_id'], 'U_FORUM_LOCATION' => $location_url) );