From 976e83351a2c7e784e4968722dee40f59e6932b1 Mon Sep 17 00:00:00 2001
From: Henry Sudhof <kellanved@phpbb.com>
Date: Thu, 27 Mar 2008 13:17:58 +0000
Subject: #24105 - Quite compliacted lang changes, translators will complain :|

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8474 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/functions.php | 39 ++++++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 11 deletions(-)

(limited to 'phpBB/includes')

diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index e61df309b3..6363dd0264 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -3215,7 +3215,7 @@ function obtain_users_online($forum_id = 0)
 */
 function obtain_users_online_string($online_users, $forum_id = 0)
 {
-	global $db, $user, $auth;
+	global $config, $db, $user, $auth;
 
 	$user_online_link = $online_userlist = '';
 
@@ -3256,34 +3256,45 @@ function obtain_users_online_string($online_users, $forum_id = 0)
 	{
 		$online_userlist = $user->lang['REGISTERED_USERS'] . ' ' . $online_userlist;
 	}
-	else
+	else if ($config['load_online_guests'])
 	{
 		$l_online = ($online_users['guests_online'] === 1) ? $user->lang['BROWSING_FORUM_GUEST'] : $user->lang['BROWSING_FORUM_GUESTS'];
 		$online_userlist = sprintf($l_online, $online_userlist, $online_users['guests_online']);
 	}
-
+	else
+	{
+		$online_userlist = sprintf($user->lang['BROWSING_FORUM'], $online_userlist);
+	}
 	// Build online listing
 	$vars_online = array(
-		'ONLINE'	=> array('total_online', 'l_t_user_s'),
-		'REG'		=> array('visible_online', 'l_r_user_s'),
-		'HIDDEN'	=> array('hidden_online', 'l_h_user_s'),
-		'GUEST'		=> array('guests_online', 'l_g_user_s')
+		'ONLINE'	=> array('total_online', 'l_t_user_s', 0),
+		'REG'		=> array('visible_online', 'l_r_user_s', !$config['load_online_guests']),
+		'HIDDEN'	=> array('hidden_online', 'l_h_user_s', $config['load_online_guests']),
+		'GUEST'		=> array('guests_online', 'l_g_user_s', 0)
 	);
 
 	foreach ($vars_online as $l_prefix => $var_ary)
 	{
+		if ($var_ary[2])
+		{
+			$l_suffix = '_AND';
+		}
+		else
+		{
+			$l_suffix = '';
+		}
 		switch ($online_users[$var_ary[0]])
 		{
 			case 0:
-				${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_ZERO_TOTAL'];
+				${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_ZERO_TOTAL' . $l_suffix];
 			break;
 
 			case 1:
-				${$var_ary[1]} = $user->lang[$l_prefix . '_USER_TOTAL'];
+				${$var_ary[1]} = $user->lang[$l_prefix . '_USER_TOTAL' . $l_suffix];
 			break;
 
 			default:
-				${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_TOTAL'];
+				${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_TOTAL' . $l_suffix];
 			break;
 		}
 	}
@@ -3292,7 +3303,13 @@ function obtain_users_online_string($online_users, $forum_id = 0)
 	$l_online_users = sprintf($l_t_user_s, $online_users['total_online']);
 	$l_online_users .= sprintf($l_r_user_s, $online_users['visible_online']);
 	$l_online_users .= sprintf($l_h_user_s, $online_users['hidden_online']);
-	$l_online_users .= sprintf($l_g_user_s, $online_users['guests_online']);
+
+	if ($config['load_online_guests'])
+	{
+		$l_online_users .= sprintf($l_g_user_s, $online_users['guests_online']);
+	}
+
+
 
 	return array(
 		'online_userlist'	=> $online_userlist,
-- 
cgit v1.2.1