Skip to content

Instantly share code, notes, and snippets.

@ignition42
Created December 16, 2015 19:05
Show Gist options
  • Save ignition42/978cef9ea1549d1a1a29 to your computer and use it in GitHub Desktop.
Save ignition42/978cef9ea1549d1a1a29 to your computer and use it in GitHub Desktop.
patch for showing guest user count statistics on the advanced_forum module of Drupal
diff --git a/sites/all/modules/advanced_forum/advanced_forum.module b/sites/all/modules/advanced_forum/advanced_forum.module
--- a/sites/all/modules/advanced_forum/advanced_forum.module
+++ b/sites/all/modules/advanced_forum/advanced_forum.module
@@ -815,11 +815,15 @@ function advanced_forum_session_count($anonymous = TRUE) {
$interval = REQUEST_TIME - variable_get('user_block_seconds_online', 900);
$query = db_select("sessions", "s")
- ->fields("s", array("uid"))
- ->distinct()
- ->condition('s.timestamp', $interval, '>=')
- ->condition('s.uid', 0, $anonymous ? '=' : '>')
- ->countQuery();
+ ->fields("s", array("uid"));
+
+ if (!$anonymous) {
+ $query = $query->distinct();
+ }
+
+ $query = $query->condition('s.timestamp', $interval, '>=')
+ ->condition('s.uid', 0, $anonymous ? '=' : '>')
+ ->countQuery();
return $query->execute()->fetchField();
}
diff --git a/sites/all/modules/advanced_forum/includes/theme.inc b/sites/all/modules/advanced_forum/includes/theme.inc
--- a/sites/all/modules/advanced_forum/includes/theme.inc
+++ b/sites/all/modules/advanced_forum/includes/theme.inc
@@ -339,7 +339,7 @@ function advanced_forum_preprocess_advanced_forum_statistics(&$variables) {
$variables['online_users'] = implode(', ', $authenticated_users);
$variables['current_users'] = advanced_forum_session_count(FALSE);
// For backwards compatibility.
- $variables['current_guests'] = 0;
+ $variables['current_guests'] = advanced_forum_session_count(TRUE);
$variables['current_total'] = $variables['current_users'] + $variables['current_guests'];
$latest_users = advanced_forum_statistics_latest_users();
diff --git a/sites/all/modules/advanced_forum/styles/naked/advanced-forum.naked.statistics.tpl.php b/sites/all/modules/advanced_forum/styles/naked/advanced-forum.naked.statistics.tpl.php
--- a/sites/all/modules/advanced_forum/styles/naked/advanced-forum.naked.statistics.tpl.php
+++ b/sites/all/modules/advanced_forum/styles/naked/advanced-forum.naked.statistics.tpl.php
@@ -19,7 +19,7 @@
<div id="forum-statistics-header"><?php print t("What's Going On?"); ?></div>
<div id="forum-statistics-active-header" class="forum-statistics-sub-header">
- <?php print t('Currently active users: !current_total', array('!current_total' => $current_total)); ?>
+ <?php print t('Currently active users: !current_total (!current_users users and !current_guests guests)', array('!current_total' => $current_total, '!current_users' => $current_users, '!current_guests' => $current_guests)); ?>
</div>
<?php if (!empty($online_users)) : ?>
<div id="forum-statistics-active-body" class="forum-statistics-sub-body">
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment