aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-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);