diff --git a/phpBB/language/lang_english.php b/phpBB/language/lang_english.php index 3d6a11eb66..4e43b66993 100755 --- a/phpBB/language/lang_english.php +++ b/phpBB/language/lang_english.php @@ -297,9 +297,21 @@ $l_titletext = "Title & Text"; $l_search = "Search"; $l_nomatches = "No records match that query. Please broaden your search."; -// Whosonline + +// Viewonline $l_whosonline = "Who's online?"; $l_nousers = "No Users are currently browsing the forums"; +$l_forum_location = "Location in the forum"; +$l_last_updated = "Last Updated"; +$l_forum_index = "Forum Index"; +$l_loggin_on = "Logging on"; +$l_searching = "Searching the forum"; +$l_registering = "Registering"; +$l_viewing_profiles = "Viewing member profiles"; +$l_viewing_members = "Viewing member list"; +$l_altering_profile = "Altering their profile"; +$l_viewing_online = "Viewing who is online"; +$l_viewing_faq = "Viewing the board FAQ"; // Editpost diff --git a/phpBB/templates/Default/viewonline_body.tpl b/phpBB/templates/Default/viewonline_body.tpl index 03d7d3747f..691f853cc3 100644 --- a/phpBB/templates/Default/viewonline_body.tpl +++ b/phpBB/templates/Default/viewonline_body.tpl @@ -3,19 +3,17 @@ - + - - - + + - - - + + diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php index f0830ef375..972cae5730 100644 --- a/phpBB/viewonline.php +++ b/phpBB/viewonline.php @@ -48,6 +48,7 @@ $sql = "SELECT u.username, u.user_id, f.forum_name, f.forum_id, s.session_page, FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s LEFT JOIN ".FORUMS_TABLE." f ON f.forum_id = s.session_page WHERE u.user_id = s.session_user_id + AND s.session_time >= ".(time()-300)." ORDER BY s.session_time DESC"; $result = $db->sql_query($sql); if(!$result) @@ -66,12 +67,15 @@ $template->assign_vars(array( "POST_USER_URL" => POST_USERS_URL, "L_WHOSONLINE" => $l_whosonline, "L_USERNAME" => $l_username, - "L_LOCATION" => $l_location, - "L_LAST_UPDATE" => "Last Updated", - "L_LOGGED_ON" => "Logged On" + "L_LOCATION" => $l_forum_location, + "L_LAST_UPDATE" => $l_last_updated ) ); + +$active_users = 0; +$guest_users = 0; + $online_count = $db->sql_numrows($result); if($online_count) { @@ -87,59 +91,60 @@ if($online_count) $row_color = "#DDDDDD"; } - if($onlinerow[$i]['user_id'] != ANONYMOUS && $onlinerow[$i]['user_id'] != DELETED) + if($onlinerow[$i]['user_id'] != ANONYMOUS && $onlinerow[$i]['user_id'] != DELETED && $onlinerow[$i]['session_logged_in']) { $username = $onlinerow[$i]['username']; - if($onlinerow[$i]['session_logged_in']) - { - $loggedon = " $l_yes "; - } - else - { - $loggedon = " $l_no "; - } + $active_users++; } else { - $username = "$l_anonymous"; - $loggedon = " - "; + $guest_users++; } - if($onlinerow[$i]['forum_name'] == "") + if($onlinerow[$i]['forum_name'] == "" && $onlinerow[$i]['session_logged_in']) { switch($onlinerow[$i]['session_page']) { case PAGE_INDEX: - $location = "Forum Index"; + $location = $l_forum_index; + $location_url = "index.".$phpEx; break; case PAGE_LOGIN: - $location = "Logging On"; + $location = $l_logging_on; + $location_url = "index.".$phpEx; break; case PAGE_SEARCH: - $location = "Topic Search"; + $location = $l_searching; + $location_url = "search.".$phpEx; break; case PAGE_REGISTER: - $location = "Registering"; + $location = $l_registering; + $location_url = "index.".$phpEx; break; case PAGE_VIEWPROFILE: - $location = "Viewing Profiles"; + $location = $l_viewing_profiles; + $location_url = "index.".$phpEx; break; case PAGE_ALTERPROFILE: - $location = "Altering Profile"; + $location = $l_altering_profile; + $location_url = "index.".$phpEx; break; case PAGE_VIEWONLINE: - $location = "Viewing Who's Online"; + $location = $l_viewing_online; + $location_url = "viewonline.".$phpEx; break; case PAGE_VIEWMEMBERS: - $location = "Viewing Memberlist"; + $location = $l_viewing_members; + $location_url = "memberlist.".$phpEx; break; case PAGE_FAQ: - $location = "Viewing FAQ"; + $location = $l_viewing_faq; + $location_url = "faq.".$phpEx; break; default: - $location = "Forum Index"; + $location = $l_forum_index; + $location_url = "index.".$phpEx; } - $location_url = "index.".$phpEx; } else { @@ -147,19 +152,27 @@ if($online_count) $location = $onlinerow[$i]['forum_name']; } - $template->assign_block_vars("userrow", - array("ROW_COLOR" => $row_color, - "USER_ID" => $onlinerow[$i]['user_id'], - "USERNAME" => $username, - "LOGGEDON" => $loggedon, - "LASTUPDATE" => create_date($date_format, $onlinerow[$i]['session_time'], $sys_timezone), - "LOCATION" => $location, - "LOCATION_URL" => $location_url - ) - ); + if($onlinerow[$i]['session_logged_in']) + { + $template->assign_block_vars("userrow", + array("ROW_COLOR" => $row_color, + "USER_ID" => $onlinerow[$i]['user_id'], + "USERNAME" => $username, + "LASTUPDATE" => create_date($date_format, $onlinerow[$i]['session_time'], $sys_timezone), + "LOCATION" => $location, + "LOCATION_URL" => $location_url + ) + ); + } } + $template->assign_vars(array( + "L_ACTIVE_USERS" => $active_users, + "L_GUEST_USERS" => $guest_users + ) + ); + $template->pparse("body"); } else
{L_WHOSONLINE}There are {L_ACTIVE_USERS} active users and {L_GUEST_USERS} guest users browsing this board.
This table lists all logged in users active in the past five minutes.
 {L_USERNAME}  {L_LAST_UPDATE}  {L_LOGGED_ON}  {L_USERNAME}  {L_LAST_UPDATE}   {L_LOCATION} 
 {userrow.USERNAME}  {userrow.LASTUPDATE}  {userrow.LOGGEDON}  {userrow.USERNAME}  {userrow.LASTUPDATE}    {userrow.LOCATION}