Laufzeit Spenden-Plugin

  • Guten morgen,

    wir haben zu Beginn unseres Forum die Laufzeit, dieses Spenden-Plugins, nicht bzw. falsch eingestellt.

    Dadurch haben jetzt einige User immer die Möglichkeit in den VIP-Bereich zuzugreifen. Wir möchten nun aber, dass auch diese User die aktuell eingestellte Zeit von 365 nicht überschreiten. Problem dabei ist allerdings, diese Zeit nicht neu zu vergeben mit 365, sondern so einzugeben, dass der Tag der tatsächlichen Spende auch als Berechnung heran gezogen wird.

    Ist das möglich oder müssen wir die entsprechenden User manuell aus der Gruppe entfernen?

    Gruß Uwe

  • Was heißt einige User?

    Wenn du mir ein Datum (z.B. 06.06.2019) , eine Dauer in Tagen (z.B. 365) und die Benutzergruppen-ID für die VIP-Gruppe geben kannst, kann ich dir eine SQL-Abfrage schreiben, die alle Nutzer, die vor diesem Datum gespendet haben auf 365 Tage limitiert.

  • WIr haben am 25.11.18 unser Forum veröffentlicht, es sollte aber eigentlich erst der 01.01.2019 werden.

    Nun sind alle User die vor dem 02.01.19 gespendet haben auf unendlicher Zeit, ab diesem Datum dann eingestellt auf 365 Tage. Die Benutzergruppen-ID der VIP-Gruppe ist die 7, ich hoffe, dass Du damit etwas anfangen kannst, vielen Dank.

    Gruß Uwe


    P.S. die Zeiten der Spenden sind also verstreut auf den 25.11.18 bis 02.01.19, perfekt wäre wenn hier zum 02.01.19 die Zeit der "unendlichen" Nutzung beendet wäre.

  • SQL
    1. UPDATE wcf1_user_to_group
    2. SET donationDays = 365, donationAddTime = 1546387200
    3. WHERE donationDays = 0
    4. AND groupID = 7

    Die Abfrage setzt bei allen Nutzern, die in der Premiumgruppe (ID 7) sind und nicht automatisch entfernt würden, weil sie entweder manuell in die Gruppe übers ACP geschoben wurden oder gespendet haben, als du die Begrenzung noch nicht auf 365 Tage gesetzt hast, das Spendendatum auf den 02.01.2019. Die Benutzer werden also am 02.01.2020 aus der Premiumgruppe entfernt.


    Achtung: Hier werden auch die manuell zugeordneten Nutzer (also vllt. auch der Admin) aus der Gruppe entfernt, sofern dieser manuell im ACP zugewiesen wurde. Das solltest du beachten.


    Wenn du vorher sehen willst, welche Nutzer die Abfrage betrifft, kannst du folgende Abfrage ausführen. Die gibt die entsprechend die Benutzernamen zurück:


    SQL
    1. SELECT username
    2. FROM wcf1_user_to_group g
    3. INNER JOIN wcf1_user u
    4. ON (g.userID = u.userID)
    5. WHERE donationDays = 0
    6. AND groupID = 7
  • Hallo Chris,

    das ist ja Klasse, so kann man vorher erst mal schauen, auf wen die Änderung zutrifft.

    Herzlichen Dank für diesen super Service und noch ein schönes Weihnachtsfest.

    MfG Uwe