Info zu den aktiven Forenmitgliedern im Statistik-Block

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
Joe Kolade
Mitglied
Beiträge: 270
Registriert: 27.02.2023 19:59

Info zu den aktiven Forenmitgliedern im Statistik-Block

Beitrag von Joe Kolade »

Hallo zusammen,

die in der Statistik angegebenen "Mitglieder insgesamt" umfassen alle angemeldeten Mitglieder. Hierin enthalten sind natürlich auch Mitglieder, die schon seit längerer Zeit nicht mehr angemeldet waren.
Daher wäre aus meiner Sicht eine ergänzende Statistik der "aktiven" Mitglieder sinnvoll.
An dieser Stelle möchte ich anmerken, dass ich die Bezeichnung "Inaktive Benutzer" in phpBB unglücklich gewählt finde. Tatsächlich handelt es sich doch um "Deaktivierte Benutzer". Während "inaktiv" meist einen passiven Zustand beschreibt, bedeutet "deaktiviert" eine aktive Maßnahme zur Sperrung ist, die oft reversibel ist.
Zurück zu der Statistik: Mit aktiven Mitgliedern sind also Benutzer gemeint, der innerhalb eines festgelegten Zeitraums, zum Beispiel der letzten zwölf Monate, wenigstens ein Mal eingeloggt waren.

Um diese Info zu den aktiven Forenmitgliedern im Statistik-Block zu erhalten, habe ich folgende Änderungen bzw. Ergänzungen vorgenommen:

In der Datei index.php im Hauptverzeichnis den folgenden Code-Block direkt vor page_header($page_title, true);: eingeben:

Code: Alles auswählen

// Aktive Benutzer in den letzten 12 Monaten zählen
$twelve_months_ago = time() - (365 * 24 * 60 * 60);
$sql = 'SELECT COUNT(user_id) AS active_users_12m
	FROM ' . USERS_TABLE . '
	WHERE user_lastvisit >= ' . (int) $twelve_months_ago . '
		AND user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')';

$result = $db->sql_query($sql);
$active_users_12m = (int) $db->sql_fetchfield('active_users_12m');
$db->sql_freeresult($result);
// An das Template übergeben
$template->assign_var('ACTIVE_USERS_12M', $active_users_12m);
In der Datei …/styles/prosilver/template/index_body.html folgende Zeile suchen

Code: Alles auswählen

{TOTAL_POSTS} • {TOTAL_TOPICS} • {TOTAL_USERS} • {NEWEST_USER}
und (wie zum Beispiel) ändern:

Code: Alles auswählen

{TOTAL_POSTS} • {TOTAL_TOPICS} • {TOTAL_USERS}
<br>{L_ACTIVE_USERS_12M} <strong>{ACTIVE_USERS_12M}</strong> &bull; {NEWEST_USER}
Zuletzt in der Datei language/de/common.php noch folgende Zeile (am besten unter 'TOTAL_USERS') ergänzen:

Code: Alles auswählen

'ACTIVE_USERS_12M' => 'Aktive Mitglieder (innerhalb der letzten 12 Monate)',
Abschließend Cache leeren!


Kann ja sein, dass auch andere Forenbetreiber ein Interesse an dieser kleinen Anpassung bzw. "Erweiterung" des Statistik-Blocks haben. :grin:
Leider sind meine verschiedenen Versuche, hieraus eine Erweiterung zu erstellen, gescheitert. Gerne hätte ich im ACP eine Möglichkeit integriert, die dem Administrator die Auswahl verschiedener Zeiträume für die Berechnung der "aktiven" Mitglieder bietet.

Sollte jemand Lust und Zeit haben, diese kleine Extension (mit mir oder ohne mich) entwickeln zu wollen, würde ich mich freuen.

Gruß Joe
Antworten

Zurück zu „Extension Bastelstube“