diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php index 04ae2bfe00..b9d2665495 100644 --- a/phpBB/viewonline.php +++ b/phpBB/viewonline.php @@ -90,207 +90,203 @@ if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not obtain regd user/online information', '', __LINE__, __FILE__, $sql); } -if ( $row = $db->sql_fetchrow($result) ) +$guest_users = 0; +$registered_users = 0; +$hidden_users = 0; + +$reg_counter = 0; +$guest_counter = 0; +$prev_user = 0; +$prev_ip = 0; + +while ( $row = $db->sql_fetchrow($result) ) { - $guest_users = 0; - $registered_users = 0; - $hidden_users = 0; + $view_online = 0; - $reg_counter = 0; - $guest_counter = 0; - $prev_user = 0; - $prev_ip = 0; - - do + if ( $row['session_logged_in'] ) { - $view_online = 0; + $user_id = $row['user_id']; - if ( $row['session_logged_in'] ) + if ( $user_id != $prev_user ) { - $user_id = $row['user_id']; + $username = $row['username']; - if ( $user_id != $prev_user ) + $style_color = ''; + if ( $row['user_level'] == ADMIN ) { - $username = $row['username']; + $username = '' . $username . ''; + } + else if ( $row['user_level'] == MOD ) + { + $username = '' . $username . ''; + } - $style_color = ''; - if ( $row['user_level'] == ADMIN ) - { - $username = '' . $username . ''; - } - else if ( $row['user_level'] == MOD ) - { - $username = '' . $username . ''; - } + if ( !$row['user_allow_viewonline'] ) + { + $view_online = ( $userdata['user_level'] == ADMIN ) ? 1 : 0; + $hidden_users++; - if ( !$row['user_allow_viewonline'] ) - { - $view_online = ( $userdata['user_level'] == ADMIN ) ? 1 : 0; - $hidden_users++; + $username = '' . $username . ''; + } + else + { + $view_online = 1; + $registered_users++; + } - $username = '' . $username . ''; - } - else - { - $view_online = 1; - $registered_users++; - } + $last_update = $row['user_session_time']; + $user_page = $row['user_session_page']; - $last_update = $row['user_session_time']; - $user_page = $row['user_session_page']; + $which_counter = 'reg_counter'; + $which_row = 'reg_user_row'; + $prev_user = $user_id; + } + } + else + { + if ( $row['session_ip'] != $prev_ip ) + { + $view_online = 1; + $guest_users++; + + $username = $lang['Guest']; + $last_update = $row['session_time']; + $user_page = $row['session_page']; - $which_counter = 'reg_counter'; - $which_row = 'reg_user_row'; - $prev_user = $user_id; + $which_counter = 'guest_counter'; + $which_row = 'guest_user_row'; + } + } + + $prev_ip = $row['session_ip']; + + if ( $view_online ) + { + if ( $user_page < 1 || !$is_auth_ary[$user_page]['auth_view'] ) + { + switch( $user_page ) + { + case PAGE_INDEX: + $location = $lang['Forum_index']; + $location_url = "index.$phpEx"; + break; + case PAGE_POSTING: + $location = $lang['Posting_message']; + $location_url = "index.$phpEx"; + break; + case PAGE_LOGIN: + $location = $lang['Logging_on']; + $location_url = "index.$phpEx"; + break; + case PAGE_SEARCH: + $location = $lang['Searching_forums']; + $location_url = "search.$phpEx"; + break; + case PAGE_PROFILE: + $location = $lang['Viewing_profile']; + $location_url = "index.$phpEx"; + break; + case PAGE_VIEWONLINE: + $location = $lang['Viewing_online']; + $location_url = "viewonline.$phpEx"; + break; + case PAGE_VIEWMEMBERS: + $location = $lang['Viewing_member_list']; + $location_url = "memberlist.$phpEx"; + break; + case PAGE_PRIVMSGS: + $location = $lang['Viewing_priv_msgs']; + $location_url = "privmsg.$phpEx"; + break; + case PAGE_FAQ: + $location = $lang['Viewing_FAQ']; + $location_url = "faq.$phpEx"; + break; + default: + $location = $lang['Forum_index']; + $location_url = "index.$phpEx"; } } else { - if ( $row['session_ip'] != $prev_ip ) - { - $view_online = 1; - $guest_users++; - - $username = $lang['Guest']; - $last_update = $row['session_time']; - $user_page = $row['session_page']; - - $which_counter = 'guest_counter'; - $which_row = 'guest_user_row'; - } + $location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $user_page); + $location = $forum_data[$user_page]; } - $prev_ip = $row['session_ip']; + $row_color = ( $$which_counter % 2 ) ? $theme['td_color1'] : $theme['td_color2']; + $row_class = ( $$which_counter % 2 ) ? $theme['td_class1'] : $theme['td_class2']; - if ( $view_online ) - { - if ( $user_page < 1 || !$is_auth_ary[$user_page]['auth_view'] ) - { - switch( $user_page ) - { - case PAGE_INDEX: - $location = $lang['Forum_index']; - $location_url = "index.$phpEx"; - break; - case PAGE_POSTING: - $location = $lang['Posting_message']; - $location_url = "index.$phpEx"; - break; - case PAGE_LOGIN: - $location = $lang['Logging_on']; - $location_url = "index.$phpEx"; - break; - case PAGE_SEARCH: - $location = $lang['Searching_forums']; - $location_url = "search.$phpEx"; - break; - case PAGE_PROFILE: - $location = $lang['Viewing_profile']; - $location_url = "index.$phpEx"; - break; - case PAGE_VIEWONLINE: - $location = $lang['Viewing_online']; - $location_url = "viewonline.$phpEx"; - break; - case PAGE_VIEWMEMBERS: - $location = $lang['Viewing_member_list']; - $location_url = "memberlist.$phpEx"; - break; - case PAGE_PRIVMSGS: - $location = $lang['Viewing_priv_msgs']; - $location_url = "privmsg.$phpEx"; - break; - case PAGE_FAQ: - $location = $lang['Viewing_FAQ']; - $location_url = "faq.$phpEx"; - break; - default: - $location = $lang['Forum_index']; - $location_url = "index.$phpEx"; - } - } - else - { - $location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $user_page); - $location = $forum_data[$user_page]; - } + $template->assign_block_vars("$which_row", array( + 'ROW_COLOR' => '#' . $row_color, + 'ROW_CLASS' => $row_class, + 'USERNAME' => $username, + 'LASTUPDATE' => create_date($board_config['default_dateformat'], $last_update, $board_config['board_timezone']), + 'FORUM_LOCATION' => $location, - $row_color = ( $$which_counter % 2 ) ? $theme['td_color1'] : $theme['td_color2']; - $row_class = ( $$which_counter % 2 ) ? $theme['td_class1'] : $theme['td_class2']; + 'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $user_id), + 'U_FORUM_LOCATION' => append_sid($location_url)) + ); - $template->assign_block_vars("$which_row", array( - 'ROW_COLOR' => '#' . $row_color, - 'ROW_CLASS' => $row_class, - 'USERNAME' => $username, - 'LASTUPDATE' => create_date($board_config['default_dateformat'], $last_update, $board_config['board_timezone']), - 'FORUM_LOCATION' => $location, + $$which_counter++; + } +} - 'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $user_id), - 'U_FORUM_LOCATION' => append_sid($location_url)) - ); +if( $registered_users == 0 ) +{ + $l_r_user_s = $lang['Reg_users_zero_online']; +} +else if( $registered_users == 1 ) +{ + $l_r_user_s = $lang['Reg_user_online']; +} +else +{ + $l_r_user_s = $lang['Reg_users_online']; +} - $$which_counter++; - } - } - while ( $row = $db->sql_fetchrow($result) ); +if( $hidden_users == 0 ) +{ + $l_h_user_s = $lang['Hidden_users_zero_online']; +} +else if( $hidden_users == 1 ) +{ + $l_h_user_s = $lang['Hidden_user_online']; +} +else +{ + $l_h_user_s = $lang['Hidden_users_online']; +} - if( $registered_users == 0 ) - { - $l_r_user_s = $lang['Reg_users_zero_online']; - } - else if( $registered_users == 1 ) - { - $l_r_user_s = $lang['Reg_user_online']; - } - else - { - $l_r_user_s = $lang['Reg_users_online']; - } +if( $guest_users == 0 ) +{ + $l_g_user_s = $lang['Guest_users_zero_online']; +} +else if( $guest_users == 1 ) +{ + $l_g_user_s = $lang['Guest_user_online']; +} +else +{ + $l_g_user_s = $lang['Guest_users_online']; +} - if( $hidden_users == 0 ) - { - $l_h_user_s = $lang['Hidden_users_zero_online']; - } - else if( $hidden_users == 1 ) - { - $l_h_user_s = $lang['Hidden_user_online']; - } - else - { - $l_h_user_s = $lang['Hidden_users_online']; - } - - if( $guest_users == 0 ) - { - $l_g_user_s = $lang['Guest_users_zero_online']; - } - else if( $guest_users == 1 ) - { - $l_g_user_s = $lang['Guest_user_online']; - } - else - { - $l_g_user_s = $lang['Guest_users_online']; - } +$template->assign_vars(array( + 'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $registered_users) . sprintf($l_h_user_s, $hidden_users), + 'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s, $guest_users)) +); +if ( $registered_users + $hidden_users == 0 ) +{ $template->assign_vars(array( - 'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $registered_users) . sprintf($l_h_user_s, $hidden_users), - 'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s, $guest_users)) + 'L_NO_REGISTERED_USERS_BROWSING' => $lang['No_users_browsing']) ); +} - if ( $registered_users + $hidden_users == 0 ) - { - $template->assign_vars(array( - 'L_NO_REGISTERED_USERS_BROWSING' => $lang['No_users_browsing']) - ); - } - - if ( $guest_users == 0 ) - { - $template->assign_vars(array( - 'L_NO_GUESTS_BROWSING' => $lang['No_users_browsing']) - ); - } +if ( $guest_users == 0 ) +{ + $template->assign_vars(array( + 'L_NO_GUESTS_BROWSING' => $lang['No_users_browsing']) + ); } $template->pparse('body');