Seite 1 von 1

Admin Reminder hat ein Bug!

Verfasst: 13.06.2005 11:00
von Charger
[ externes Bild ]


und zwar habe ich einen nick: forumtest
zum testen registriert.

der user forumtest hat sein konto nicht aktiviert,
er wurde dann von mir über ACP 4 mal erinnert,

nach der 4. Erinnerung hat der user forumtest
sein konto aktiviert und sich eingeloggt.

wenn ich aber auf "Prune reminded user" gehe ist der nick forumtest
dort immer noch zu sehen obwohl er sein konto aktiviert/eingeloggt hat.

der nick sollte dort eigentlich gar nicht erscheinen, den er hat ja seine
aufgabe erfüllt.

Verfasst: 13.06.2005 11:45
von Max
das ist mir auch schon aufgefallen, daher nutze ich diesen MOD schon länger nicht mehr.

Alternativ kann man Admin_auto_delete_users nutzen, der erinnert aber nicht, sondern löscht nur nach Zeitvorgabe, dafür macht der seinen Fehler, wenn es um inaktive Accounts geht - ändert nämlich ein User seine Email-Adresse und der MOD ist dann grade am Wirken, ist er gelöscht, bevor er sich wieder aktivieren kann.

Darum bin ich von den automatischen Löschfunktionen komplett abgekommen und lösche nur noch manuell via Admin_user_list - MOD



Gruß Max

Verfasst: 13.06.2005 13:24
von oxpus
Was steht denn da über der Tabelle ;)

Verfasst: 13.06.2005 13:41
von Charger
lösche user die öfter als 3 mal erinnert wurden

theoretisch gesehen ist hier kein fehler!

das ist aber nicht der sinn der sache! :D

Verfasst: 13.06.2005 15:16
von Max
Grundsätzlich hat Oxpus ja Recht, aber wie schon gesagt, es ist kontraproduktiv, dass man die Erinnerungen speichert, welbst wenn die User nun wieder aktiv sind.
Da müsste man entweder die Möglichkeit haben, das manuell zurückzusetzen - das ist aber nur bei kleineren Boards bis vielleicht 300 Mitglieder überschaubar - oder der bessere Weg wäre, dass durch posten, einloggen oder aktivieren (weshalb auch immer erinnert wurde) wird der zähler auf null zurückgesetzt - das ist aber eine Heidenaufwand und ich habe nicht mal nen Schimmer, ob das überhaupt ohne ´ne halbe Millarde Datenbankabfragen machbar ist. Man muss ja auch auf die Boardperformance achten.


Gruß Max

Verfasst: 13.06.2005 18:51
von easygo
Hmja, gibt 3 verschiedene Erinnerungsgründe...

Ich mein, da reichen schon 3 Unterscheidungen für ne Nachbesserung.

Hinter user_reminded als einfaches Beispiel mit user_reminded2
+ user_reminded3 noch 2 neue db fields anlegen.

Keine Auto-Prunings - alles manuell (Selektieren, eMailen, Löschen)

Das macht die Sache leichter. Mit 3 zusätzlichen db Updates wärs erledigt!

Beispiel fürs Zurücksetzen von user_reminded:

Code: Alles auswählen

	if ($mode == 'inactive_accounts')
	{
		$upd_count = "UPDATE " . USERS_TABLE . " Set user_reminded = '0' WHERE user_id <> '-1' AND user_active <> '0'";
		$db->sql_query($upd_count) or die ("Could not update user information");
Macht unterm Strich 1 query mehr je mode-Aufruf:

inactive_accounts
zeroposter
inactive_user

Rest findet ihr bestimmt selbst raus... easy

Verfasst: 14.06.2005 18:27
von Charger
im admin_reminder.php ?

und wo ungefähr?
kannst mir auch die zeile angeben?

Verfasst: 14.06.2005 18:38
von Charger
nene das funktioniert nicht.
es bleibt beim alten.

Verfasst: 16.06.2005 13:27
von easygo
Charger hat geschrieben:im admin_reminder.php ?

und wo ungefähr?
Steht eigentlich schon da. In der admin_reminder.php unter...

Code: Alles auswählen

   if ($mode == 'inactive_accounts') 
   { 
einfach das einfügen...

Code: Alles auswählen

      $upd_count = "UPDATE " . USERS_TABLE . " Set user_reminded = '0' WHERE user_id <> '-1' AND user_active <> '0'"; 
      $db->sql_query($upd_count) or die ("Could not update user information");
Funktioniert jedesmal, wenn du den Mode im ACP aufrufst ^^ easy

Verfasst: 16.06.2005 17:57
von Charger
danke,
scheint zu funktionieren!