Cleaned up the viewonline code, wasnt giving correct output if you where admin

git-svn-id: file:///svn/phpbb/trunk@1843 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Bart van Bragt 2002-01-11 12:38:34 +00:00
parent 5461b1bd62
commit b3c8f779d6

View file

@ -89,11 +89,12 @@ $s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['
// Get basic (usernames + totals) online // Get basic (usernames + totals) online
// situation // situation
// //
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, s.session_logged_in, s.session_ip $sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, s.session_logged_in, s.session_ip, count(*) as online_count
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id WHERE u.user_id = s.session_user_id
AND ( s.session_time >= ".( time() - 300 ) . " AND ( s.session_time >= ".( time() - 300 ) . "
OR u.user_session_time >= " . ( time() - 300 ) . " ) OR u.user_session_time >= " . ( time() - 300 ) . " )
GROUP BY u.user_id
ORDER BY u.username ASC"; ORDER BY u.username ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if(!$result) if(!$result)
@ -113,42 +114,30 @@ while( $row = $db->sql_fetchrow($result) )
{ {
if( $row['user_allow_viewonline'] ) if( $row['user_allow_viewonline'] )
{ {
$userlist_ary[] = "<a href=\"" . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . "\">" . $row['username'] . "</a>"; $user_online_link = "<a href=\"" . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . "\">" . $row['username'] . "</a>";
$userlist_visible[] = 1;
}
else
{
$userlist_ary[] = "<a href=\"" . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . "\">" . $row['username'] . "</a>";
$userlist_visible[] = 0;
}
}
else
{
$guests_online++;
}
}
$online_userlist = "";
for($i = 0; $i < count($userlist_ary); $i++)
{
if( !strstr($online_userlist, $userlist_ary[$i]) )
{
if( $userlist_visible[$i] || $userdata['user_level'] == ADMIN )
{
$online_userlist .= ($online_userlist != "") ? ", " . $userlist_ary[$i] : $userlist_ary[$i];
$logged_visible_online++; $logged_visible_online++;
} }
else else
{ {
$user_online_link = "<a href=\"" . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . "\"><i>" . $row['username'] . "</i></a>";
$logged_hidden_online++; $logged_hidden_online++;
} }
if( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
$online_userlist .= ($online_userlist != "") ? ", " . $user_online_link : $user_online_link;
}
}
else
{
$guests_online += $row['online_count'];
} }
} }
$online_userlist = $lang['Registered_users'] . " " . $online_userlist; $online_userlist = $lang['Registered_users'] . " " . $online_userlist;
$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online; $total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;
if( $total_online_users == 0 ) if( $total_online_users == 0 )
{ {
$l_t_user_s = $lang['Online_users_zero_total']; $l_t_user_s = $lang['Online_users_zero_total'];