In welcher Datei sind die Statistiken?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
LuZeL
Mitglied
Beiträge: 11
Registriert: 29.12.2012 03:21

In welcher Datei sind die Statistiken?

Beitrag von LuZeL »

Hey Leute,

weiß einer zufällig in welcher .php Datei die Statistiken berechnet werden. Ich meine damit diese hier:

Statistik
Beiträge insgesamt: 1132658 • Themen insgesamt: 171623 • Mitglieder insgesamt: 68514 • Unser neuestes Mitglied: LuZeL
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: In welcher Datei sind die Statistiken?

Beitrag von oxpus »

Naja, "berechnet" ist falsch ausgedrückt.
Mit jeder Änderung an der Statistik werden Werte in der Konfigurationtabelle des Forums aktualisiert.
Diese werden einfach nur abgefragt und dargestellt. Letztere beiden Punkte geschehen in der index.php...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
LuZeL
Mitglied
Beiträge: 11
Registriert: 29.12.2012 03:21

Re: In welcher Datei sind die Statistiken?

Beitrag von LuZeL »

Problem ist, wenn ich einen neuen Benutzer manuell hinzufüge, dann wird an der Statistik nichts gedreht. Weder die Mitgliederzahl steigt, noch der "neuste" benutzer wird angezeigt.
Dadurch, dass ich meine Homepage mit meinem Forum verknüpft habe, werden eben nur diese INSERTS gesendet und die normale registierung im forum wird gar nicht benutzt.

Deswegen will ich jetzt entweder das ganze komplett abschalten, dass es unten nicht mehr zu sehen ist, oder diese bug irgendwie fixen. Das der mir bei dem neusten User anzeigt: den user mit der höchsten user_id und bei Benutzeranzahl einfach die Anzahl an User aus der Datanbank ausliest.

Verstehste wie ich das meine?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: In welcher Datei sind die Statistiken?

Beitrag von oxpus »

Wenn es um einen neuen User geht, müssten die Werte in der Tabelle phpbb_config entsprechend angepasst werden.
Zum einen die Werte "newest_user_id" und "newest_username" mit der User-ID und dem Usernamen (Name ist ja klar, aber ID müsste jedoch nach dem Insert ausgelesen werden!) sowie der Wert "num_users" um 1 erhöht werden.
Also in etwa:

Code: Alles auswählen

update phpbb_config set config_value = 'username' where config_name = 'newest_username'; // username = Name des neuen Users
update phpbb_config set config_value = 'user_id' where config_name = 'newest_user_id'; // user_id = ID des gerade gespeicherten Users
update phpbb_config set config_value = config_value + 1 where config_name = 'num_users'; // Sollte klappen. Wenn nicht (je nach DB-Server), dann den Wert erst auslesen, erhöhen und anschließend schreiben.
Wenn du die phpBB-eigenen Funktionen an der betreffenden Stelle verwenden kannst, dann wären es diese drei Funktionsaufrufe:

Code: Alles auswählen

set_config('newest_user_id', $user_id, true);
set_config('newest_username', $user_row['username'], true);
set_config_count('num_users', 1, true);
Wobei "$user_id" die Nummer des gerade eingetragenen Users wäre, "$user_row['username']" entspricht dabei dem Usernamen.
(Zeilen entstammen der Datei includes/functions_user.php)
Wenn du eigene SQL-Anweisungen schreiben willst, solltest du zumindest die Funktion

Code: Alles auswählen

$cache->destroy('config');
nach den SQL-Anweisungen ausführen, damit die Statistik auch wirklich aktualisiert und nicht aus dem Cache entnommen wird.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
LuZeL
Mitglied
Beiträge: 11
Registriert: 29.12.2012 03:21

Re: In welcher Datei sind die Statistiken?

Beitrag von LuZeL »

Hmm dann müsste ich aber noch wissen, wo eben aktuell der neuste user und die mitgliederanzahl definiert ist und diese dann durch meine neuen variablen ersetzen.
Dann müsste ich bei meine Homepageregistrierung eben diese variablen definieren und mit der datenbank verknüpfen, sodass er mir das auch immer aktuallisiert, sobald ein user sich auf meiner homepage registriert hat.
Aweißt du zufällig in welche line das ganze ist oder in welcher Datei?
Hab schon die suchfunktion genutzt aber weiß nicht nach was ich da suchen soll ^.^

Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: In welcher Datei sind die Statistiken?

Beitrag von oxpus »

Ich verstehe jetzt deine Frage nicht.
Ich habe doch alles genannt, wo die Daten verwaltet werden und wie man die anpassen muss. :-?
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
LuZeL
Mitglied
Beiträge: 11
Registriert: 29.12.2012 03:21

Re: In welcher Datei sind die Statistiken?

Beitrag von LuZeL »

Ja ich war gestern Nacht besoffen :D
Danke, musste paar Dinge abändern, aber passt nun. Hab das hier in emine Homepageregistrierung geschrieben:

Code: Alles auswählen

                    mysql_query("update phpbb3_config set config_value = '$userName' where config_name = 'newest_username'");
                    mysql_query("update phpbb3_config set config_value = '$userID' where config_name = 'newest_user_id'");
                    mysql_query("update phpbb3_config set config_value = config_value + 1 where config_name = 'num_users'"); 
€: Danke!
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: In welcher Datei sind die Statistiken?

Beitrag von Pyramide »

LuZeL hat geschrieben:Dadurch, dass ich meine Homepage mit meinem Forum verknüpft habe, werden eben nur diese INSERTS gesendet und die normale registierung im forum wird gar nicht benutzt.
Dann solltest du stattdessen die Funktion user_add oder die authentication plugins verwenden, diese erledigen automatisch alles für dich und du brauchst dich um nichts mehr zu kümmern sowie bei Updates oder Installation von Mods nichts an deinem Code ändern.
KB:knigge
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“