aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2006-06-17 18:05:25 +0000
committerDavid M <davidmj@users.sourceforge.net>2006-06-17 18:05:25 +0000
commit4b1af3e32c2bd32bcb7c8e93174067959ceee225 (patch)
tree23616533c9420331be83d5ac0590b917c0cb87af
parent1c02e243335a44834da4aee68c87fb4734d33b3f (diff)
downloadforums-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.php22
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);