Seite 1 von 1
In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 03:27
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
Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 03:42
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...
Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 04:05
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?
Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 04:23
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
nach den SQL-Anweisungen ausführen, damit die Statistik auch wirklich aktualisiert und nicht aus dem Cache entnommen wird.
Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 04:45
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 ^.^
Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 16:07
von oxpus
Ich verstehe jetzt deine Frage nicht.
Ich habe doch alles genannt, wo die Daten verwaltet werden und wie man die anpassen muss.

Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 19:18
von LuZeL
Ja ich war gestern Nacht besoffen

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!
Re: In welcher Datei sind die Statistiken?
Verfasst: 29.12.2012 21:16
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.