Wie finde ich die Anzahl der User raus?
Eingetragen von Joscha (31)
am 25.11.2008 - 11:27 Uhr in
am 25.11.2008 - 11:27 Uhr in
Ganz einfache Frage: Wie kann ein Drupal-Administrator ohne Zugriff auf die Datenbank sehen, wie viele Benutzer im System sind? Man könnte die UserID des zuletzt angemeldeten Nutzers nehmen aber das ist sehr ungenau, da man ja auch hin und wieder Nutzer löscht.
- Anmelden oder Registrieren um Kommentare zu schreiben
Nicht gerade die einfachste
am 25.11.2008 - 18:17 Uhr
Nicht gerade die einfachste Lösung, aber sie funktioniert. Erstelle einen Block mit folgendem Snippet. Der Block zeigt dir die totale Mitgliederzahl, online Mitglieder und Gäste an...
<?php
$number = db_result(db_query('SELECT COUNT(uid) AS number FROM {users} WHERE status=1'));
if (user_access('access content')) {
// Count users with activity in the past defined period.
$time_period = variable_get('user_block_seconds_online', 900);
// Perform database queries to gather online user lists.
$guests = db_fetch_object(db_query('SELECT COUNT(sid) AS count FROM {sessions} WHERE timestamp >= %d AND uid = 0', time() - $time_period));
$users = db_query('SELECT uid, name, access FROM {users} WHERE access >= %d AND uid != 0 ORDER BY access DESC', time() - $time_period);
$total_users = db_num_rows($users);
// Format the output with proper grammar.
echo "Out of $number registered users ";
if ($total_users == 1 && $guests->count == 1) {
$output = t('%members and %visitors online.', array('%members' => format_plural($total_users, 'there is currently 1 user', 'there are currently @count users'), '%visitors' => format_plural($guests->count, '1 guest', '@count guests')));
}
else {
$output = t('there are currently %members and %visitors online.', array('%members' => format_plural($total_users, '1 user', '@count users'), '%visitors' => format_plural($guests->count, '1 guest', '@count guests')));
}
// Display a list of currently online users.
$max_users = variable_get('user_block_max_list_count', 10);
if ($total_users && $max_users) {
$items = array();
while ($max_users-- && $account = db_fetch_object($users)) {
$items[] = $account;
}
$output .= theme('user_list', $items, t('Online users'));
}
}
return $output;
?>
www.webkatapult.de
Danke für den Block. Das
am 25.11.2008 - 18:24 Uhr
Danke für den Block.
Das bestärkt mich aber in meiner Annahme, dass die Benutzerverwaltung in Drupal 5.x für die Füße ist und ich da eine komplette Verwaltung selber schreiben muss. Mit allem, was so dazu gehört :-(
Die Drupal
am 25.11.2008 - 18:35 Uhr
Die Drupal Benutzerverwaltung ist sicherlich noch ausbaufähig. Das heißt, mit views kann man sich auch eine individuelle und auf die persönlichen Bedürfnisse zugeschnitte Benutzerverwaltung selber basteln. Das hat auch Vorteile.
www.webkatapult.de
Hilfe!!! erledigt
am 23.01.2009 - 14:52 Uhr
habe oben genannten Code in einen Block eingefügt und nun kommt die Fehlermeldung
Fatal error: Call to undefined function db_num_rows() in /srv/www/web401/html/includes/common.inc(1648) : eval()'d code on line 12
wie bekomme ich dieses wieder gerichtet???
ich komme nicht mehr in die verwaltung!!! und in der Datenbank finde ich diesen Block nicht!!!
puhh habe den Block in der DB gefunden und gelöscht!
bin halt Blond ;-)
Gruß
Janosch
Gruß
Janosch
Geh in der Datenbank in die
am 23.01.2009 - 14:55 Uhr
Geh in der Datenbank in die Tabelle "Blocks", suche dort den Block und stelle den Wert in der Spalte "status" auf 0