diff options
Diffstat (limited to 'phpBB')
-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); |