[SQL] Woltlab Burning Board 2.3.6 Inaktive User löschen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Eichelkäse, 26. November 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 26. November 2008
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Woltlab Burning Board 2.3.6 Inaktive User löschen

    Hey RR!

    Ich hab mal ne kleine Frage...
    Undzwar hab ich ein Burning Board mit rund 2000 Mitglieder. Leider sind viele Inaktive User dabei und die möchte ich gern löschen.
    Ich hab vor nem halben Jahr auch schon den Hack "Active Delete" installiert. Aber leider funktioniert der irgendwie nicht. Ich weiß nicht warum. Hab ich vllt irgendwas an den Einstellungen falsch gemacht? Aber eigentlich kann man da ja nicht viel falsch machen...

    https://www.xup.in/tn/2008_11/18235389.png

    Einmal waren ein paar User im Pranger aber das waren vllt 5 Stück und das können lang nicht alle gewesen sein.

    Gibts vllt noch irgend einen anderen Hack der sowas macht. Oder vllt auch ein SQL-Befehl?

    Bin dankbar für jede Hilfe, sind über 100 reno drin

    gruß eichel
     
  2. 26. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Definiere "inaktiver Benutzer" und ich kann dir einen Befehl schreiben

    Kannst z.B. sagen "wer x Tage nicht im Board aktiv war", dann kann ich dir einen passenden SQL-Code dazu schreiben, den du bequem im ACP ausführen kannst.
     
  3. 26. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Hallo,

    Hilfe zu speziellen Addons und Hacks findest Du am Besten in den jeweiligen Supportforen von Woltlab bzw des Hacks.
    Hier in RR haben nur die wenigsten ein Wbb2 mit diesem Addon.

    Was mir auffällt:
    "Nach wievielen Tagen ist ein User inaktiv?" --> 150
    "Nach wievielen Tagen erfolgt die Löschung?" --> 10
    Da ich den Hack nicht kenne, kommt mir das komisch vor. Oder beginnen die 10 Tage erst nach den oberen 150 Tagen?

    Ich denke, mit einem SQL-Query wäre es einfacher und sicherer. Da siehst Du, was/wen Du löschst.

    Habe leider keine Wbb2-Lizenz. Aber ich habe mir gerade schnell mal die Lite-Version installiert, sollte in den meisten Angelegenheiten gleich sein:

    Ich habe die Tabelle 'wbb1_1_user' gefunden. So ähnlich (ggf anderer Präfix) sollte sie bei Dir auch heißen.
    Dort sind 'boardLastVisitTime' und 'boardLastActivityTime' eingetragen.
    Die kannst Du mit einem Query (s. MySQL-Referenz) spalten und die alten User löschen


    Sn0wm4n
     
  4. 26. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Die Tabelle heißt bb1_users und die Felder lastvisit und lastactivity.

    Im ACP kannst du einfach die inaktiven User mit folgendem SQL-Befehl löschen:
    Code:
    DELETE FROM bb1_users WHERE lastactivity < 'TIMESTAMP'
    Anstelle von TIMESTAMP einfach einen Timestamp ([G]Datum zu Timesstamp konvertieren[/G]) eintragen. Alle User die bis zu diesem Datum nicht aktiv waren werden gelöscht.
    Das ist nur eine kleine Hilfe, Beiträge, Anhänge/Uploads etc. bleiben erhalten, dafür bräuchte man ein etwas größeres PHP-Script.
     
  5. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Ja das wäre richtig Klasse.

    Sagen wir mal alles was die letzten 150 Tage nicht Online war kann gelöscht werden.
    Können da irgendwie bestimmt User davon ausgeschlossen werden? Also das User XY nicht gelöscht wird obwohl er nicht mehr online war? Ich denke nicht oder?
     
  6. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Doch das ist möglich, wenn du eine zweite Regel definierst und mit der ersten verknüpfst. Damit bewirkst du, dass du Leute gelöscht werden, die 1. 150 Tage nicht aktiv waren und 2. ...z.B. weniger als 10 Posts geschrieben haben.

    PHP:
    DELETE FROM bb1_users WHERE lastactivity  '_deine 150 Tage_'
    AND  WHERE  ...( z . B .:  Postanzahl  10 )
    Natürlich musst du uns erstmal sagen, wie Regel zwei/drei/... aussehen soll, damit man den Query für dich schreiben kann.
     
  7. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Egal was du machst:
    Schalte das Board in den Offline Modus und mache erstmal ein Datenbank backup!

    Danach:
    PHP:
    DELETE FROM bb1_users WHERE lastactivity  <= ( UNIX_TIMESTAMP () - ( 60 * 60 * 24 * 150 )) AND  user_id NOT IN ( 1 2 );
    Das Feld "user_id" musst du evt. anpassen, kA wie das heißt.
    Die Nummern bei "IN()" musst du auch anpassen...
     
  8. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Ja genau sowas meinte ich. Mach mal mit 150 Tagen und 10 Posts. Könnte man dahinter auch noch das mit der User ID hängen?

    Kann ich den Befehl dann direkt über das ACP ausführen?

    Danke auch an die andern.
     
  9. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Die 150 stehen für die Anzahl der Tage. Die beiden Zahlen (1 und 2) für UserIDs, die von der Löschung ausgelassen werden sollen.

    UserIDs erfährst du, wenn du dir das Profil der Leute anschaust und dann in die Adresszeile hinter dem ?userid=
     
  10. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    Jo danke schonmal. Aber jetzt wärs noch gut wenn zusätzlich das mit den Posts noch drin wäre. Kannste das vllt noch reinmachen?
    Wo muss ich das dann ausführen?
     
  11. 27. November 2008
    AW: Woltlab Burning Board 2.3.6 Inaktive User löschen

    meta, macht das per pn aus.
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.