All pastes #964882 Raw Edit

Stuff

public php v1 · immutable
#964882 ·published 2008-03-31 16:56 UTC
rendered paste body
        if (user_access('access content')) {          // Count users active within the defined period.          $interval = time() - variable_get('user_block_seconds_online', 900);          // Perform database queries to gather online user lists.  We use s.timestamp          // rather than u.access because it is much faster.          $anonymous_count = sess_count($interval);          $authenticated_users = db_query('SELECT DISTINCT u.uid, u.name, s.timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 ORDER BY s.timestamp DESC', $interval);          $authenticated_count = 0;          $max_users = variable_get('user_block_max_list_count', 10);          $items = array();          while ($account = db_fetch_object($authenticated_users)) {            if ($max_users > 0) {              $items[] = $account;              $max_users--;            }            $authenticated_count++;          }          // Format the output with proper grammar.          if ($anonymous_count == 1 && $authenticated_count == 1) {            $output = t('There is currently %members and %visitors online.', array('%members' => format_plural($authenticated_count, '1 user', '@count users'), '%visitors' => format_plural($anonymous_count, '1 guest', '@count guests')));          }          else {            $output = t('There are currently %members and %visitors online.', array('%members' => format_plural($authenticated_count, '1 user', '@count users'), '%visitors' => format_plural($anonymous_count, '1 guest', '@count guests')));          }          // Display a list of currently online users.          $max_users = variable_get('user_block_max_list_count', 10);          if ($authenticated_count && $max_users) {            $output .= theme('user_list', $items, t('Online users'));          }          $block['subject'] = t('Who\'s online');          $block['content'] = $output;        }        return $block;