Ich habe die Aktivierung neuer User auf die Adminfreischaltung eingestellt.
Auf der Frontpage wird jedoch immer der neueste registrierte User angezeigt, obwohl der noch nicht freigegeben wurde.
Gibt es eine Möglichkeit, die Anzeige erst nach Freischaltung anzeigen zu lassen?
Das ist ohne Codeänderung oder Plugin nicht möglich.
/inc/funktions.php
PHP-Code:
$query = $db->simple_select("users", "uid, username", "", array('order_by' => 'regdate', 'order_dir' => 'DESC', 'limit' => 1));
$lastmember = $db->fetch_array($query);
$new_stats['lastuid'] = $lastmember['uid'];
$new_stats['lastusername'] = $lastmember['username'] = htmlspecialchars_uni($lastmember['username']);
Es wird hier also nach dem Registrierungsdatum selektiert und dann der Cache updated.
$newestmember wird dann aus dem Statistik-Cache gelesen.
Man muss o.g. Query also so umschreiben, dass er alle Einträge der usergroup 2 ignoriert.
Dann sollte dein Ansinnen funktionieren.
wieso usergroup 2? Das ist doch registered
5 is awaiting activation
(18.04.2024, 14:53)bv64 schrieb: [ -> ]5 is awaiting activation
Vollkommen korrekt Lu
Der Arbeitstag hat mich geschafft...
Danke für die Hilfe.
Mal schauen, ob ich das so hinbekomme.
ich frage lieber noch einmal, bevor ich da etwas vermurkse...
so wie ich es verstehe, soll ich $lastmember durch $newestmember ersetzen?
Es sollte ausreichen, wenn du die folgende Codezeile abänderst zu:
Code:
$query = $db->simple_select("users", "uid, username", "usergroup='2'", array('order_by' => 'regdate', 'order_dir' => 'DESC', 'limit' => 1));
"usergroup='2'" bewirkt eine Kondition, dass nur noch Datensätze/Mitglieder gelesen werden, die tatsächlich registriert sind (2). Andere Gruppen würden somit nicht berücksichtigt (also nicht 5: Awaiting Activation).
Damit solltest du dein Ziel erreicht haben.
Prinzipiell ist diese Option sehr sinnvoll und sogar einen Verbesserungsvorschlag wert, den man in MyBB implementieren sollte.
[ExiTuS]
Hallo [ExiTuS] !
Ich finde die Funktion auch nützlich! Habe Deinen Vorschlag ausprobiert.
Nach Anmeldung erscheint der User wunschgemäß nicht als neueste Mitglied.
Nachdem ich ihn im ACP freigeschaltet habe, ist er zwar in der Mitgliedsliste (ganz normal als Mitglied), erscheint aber auf der Startseite - in den Forenstatistiken auch nicht als neuestes Mitglied.
LG
Karin
Das liegt daran, dass diese Info aus dem Stats-Cache gelesen wird, der beim manuellen Aktivieren aber nicht neu generiert wird, genauso wenig wie natürlich auch, wenn der User sich über Maillink selbst aktiviert
Du kannst natürlich nach dem Aktivieren auch den Cache auffrischen.
Damit das automatisch geht, müsste eine zweite Core-Datei angepasst werden. Das sehe ich beim Nutzen dieser Änderung eher negativ, da diese Änderungen bei Updates ggf. dann ja wieder gemacht werden müssten.
Oder eben ein Plugin schreiben oder die unnötige Anzeige des neuesten Users einfach komplett in die Tonne treten! Wen interessiert sowas, wenn sie/er ein Forum besucht? Reizt es mich mehr, mich zu registrieren, wenn der letzte neue User Knuddeline806080 ist oder Mumpitz47?