function advanced_forum_statistics_online_users in Advanced Forum 7.2
Same name and namespace in other branches
- 5 advanced_forum.module \advanced_forum_statistics_online_users()
- 6.2 advanced_forum.module \advanced_forum_statistics_online_users()
- 6 advanced_forum.module \advanced_forum_statistics_online_users()
Return an array of online usernames, linked to their profiles.
1 call to advanced_forum_statistics_online_users()
- advanced_forum_preprocess_advanced_forum_statistics in includes/
theme.inc - Preprocesses template variables for the forum statistics template.
File
- ./
advanced_forum.module, line 830 - Enables the look and feel of other popular forum software.
Code
function advanced_forum_statistics_online_users() {
$list = array();
$interval = REQUEST_TIME - variable_get('user_block_seconds_online', 900);
$query = db_select("users", "u")
->distinct()
->fields("u", array(
"uid",
"name",
));
$s_alias = $query
->join("sessions", "s", "u.uid = s.uid");
$query
->addExpression("MAX({$s_alias}.timestamp)", "maxtime");
$query
->condition("{$s_alias}.timestamp", $interval, ">=")
->condition("{$s_alias}.uid", "0", ">")
->groupBy("u.uid, u.name")
->orderBy("maxtime", "DESC");
$authenticated_users = $query
->execute();
while ($account = $authenticated_users
->fetchObject()) {
$list[] = theme('username', array(
'account' => $account,
));
}
return $list;
}