diff options
author | David M <davidmj@users.sourceforge.net> | 2006-06-17 18:05:25 +0000 |
---|---|---|
committer | David M <davidmj@users.sourceforge.net> | 2006-06-17 18:05:25 +0000 |
commit | 4b1af3e32c2bd32bcb7c8e93174067959ceee225 (patch) | |
tree | 23616533c9420331be83d5ac0590b917c0cb87af | |
parent | 1c02e243335a44834da4aee68c87fb4734d33b3f (diff) | |
download | forums-4b1af3e32c2bd32bcb7c8e93174067959ceee225.tar forums-4b1af3e32c2bd32bcb7c8e93174067959ceee225.tar.gz forums-4b1af3e32c2bd32bcb7c8e93174067959ceee225.tar.bz2 forums-4b1af3e32c2bd32bcb7c8e93174067959ceee225.tar.xz forums-4b1af3e32c2bd32bcb7c8e93174067959ceee225.zip |
SQLite does not support certain usage of COUNT(DISTINCT *), thus we must emulate it
git-svn-id: file:///svn/phpbb/trunk@6090 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r-- | phpBB/viewonline.php | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php index 569f5297f6..d202ef949e 100644 --- a/phpBB/viewonline.php +++ b/phpBB/viewonline.php @@ -87,10 +87,24 @@ $guest_counter = 0; // Get number of online guests (if we do not display them) if (!$show_guests) { - $sql = 'SELECT COUNT(DISTINCT session_ip) as num_guests - FROM ' . SESSIONS_TABLE . ' - WHERE session_user_id = ' . ANONYMOUS . ' - AND session_time >= ' . (time() - ($config['load_online_time'] * 60)); + switch (SQL_LAYER) + { + case 'sqlite': + $sql = 'SELECT COUNT(session_ip) as num_guests + FROM ( + SELECT DISTINCT session_ip + FROM ' . SESSIONS_TABLE . ' + WHERE session_user_id = ' . ANONYMOUS . ' + AND session_time >= ' . (time() - ($config['load_online_time'] * 60)) . + ')'; + break; + + default: + $sql = 'SELECT COUNT(DISTINCT session_ip) as num_guests + FROM ' . SESSIONS_TABLE . ' + WHERE session_user_id = ' . ANONYMOUS . ' + AND session_time >= ' . (time() - ($config['load_online_time'] * 60)); + } $result = $db->sql_query($sql); $guest_counter = (int) $db->sql_fetchfield('num_guests'); $db->sql_freeresult($result); |