Index: admin_menu.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.js,v
retrieving revision 1.7.2.7.2.6
diff -u -r1.7.2.7.2.6 admin_menu.js
--- admin_menu.js	1 Apr 2009 17:42:30 -0000	1.7.2.7.2.6
+++ admin_menu.js	2 Apr 2009 14:04:53 -0000
@@ -114,6 +114,13 @@
 };
 
 /**
+ * Update users online.
+ */
+Drupal.admin.behaviors.usersOnline = function (context, $adminMenu) {
+  $('.admin-menu-users a span', context).text(Drupal.settings.admin_menu.count_anon + ' / ' + Drupal.settings.admin_menu.count_auth);
+};
+
+/**
  * Move page tabs into administration menu.
  */
 Drupal.admin.behaviors.pageTabs = function (context, $adminMenu) {
Index: admin_menu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.module,v
retrieving revision 1.43.2.17.2.4
diff -u -r1.43.2.17.2.4 admin_menu.module
--- admin_menu.module	1 Apr 2009 17:42:30 -0000	1.43.2.17.2.4
+++ admin_menu.module	2 Apr 2009 14:04:04 -0000
@@ -107,6 +107,8 @@
   // Destination query strings are applied via JS.
   $settings['destination'] = drupal_get_destination();
 
+  list($settings['count_anon'], $settings['count_auth']) = admin_menu_get_users_online();
+
   // Hash for client-side HTTP/AJAX caching.
   $cid = 'admin_menu:' . $user->uid . ':' . $language->language;
   if (!empty($_COOKIE['has_js']) && ($hash = admin_menu_cache_get($cid))) {
@@ -457,19 +459,25 @@
 
   // Special processing for our user counter item.
   if ($item['title'] == 'icon_users') {
-    // Add count of active anonymous/authenticated users.
-    // @see user_block(), user.module
-    $interval = time() - variable_get('user_block_seconds_online', 900);
-    $count_anon = sess_count($interval);
-    $count_auth = db_result(db_query("SELECT COUNT(DISTINCT uid) FROM {sessions} WHERE uid > 0 AND timestamp >= %d", $interval));
+    list($count_anon, $count_auth) = admin_menu_get_users_online();
     $icon_users = '<img src="' . base_path() . drupal_get_path('module', 'admin_menu') . '/images/icon_users.png" width="16" height="15" alt="@title" title="@title" />';
-
     $title = array('@title' => t('Current anonymous / authenticated users'));
     $icon_users = strtr($icon_users, $title);
-    $item['title'] = t('@count-anon / @count-auth !icon', array('@count-anon' => $count_anon, '@count-auth' => $count_auth, '!icon' => $icon_users));
+    $item['title'] = '<span>' . $count_anon . ' / ' . $count_auth . '</span> ' . $icon_users;
     if (user_access('administer users')) {
       $item['href'] = 'admin/user/user';
     }
   }
 }
 
+/**
+ * Obtain count of active anonymous/authenticated users.
+ *
+ * @see user_block(), user.module
+ */
+function admin_menu_get_users_online() {
+  $interval = time() - variable_get('user_block_seconds_online', 900);
+  $count_anon = sess_count($interval);
+  $count_auth = db_result(db_query("SELECT COUNT(DISTINCT uid) FROM {sessions} WHERE uid > 0 AND timestamp >= %d", $interval));
+  return array($count_anon, $count_auth);
+}
