Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Rüdiger

Fehler im ACP bei Validierung der Registrierung

Recommended Posts

Hallo,

wie aus dem Thementitel ersichtlich zeigt mir das ACP immer eine zu überprüfende Registrierung an. Es ist aber keine da. Ich hab auch schon in der DB unter members nach der entsprechenden Registrierung gesucht. Wenn ich also dies hier

 SELECT *

FROM `ibf2_members`

WHERE `mgroup` =1

LIMIT 0 , 30
eingebe kommt dies zurück:
MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen). (die Abfrage dauerte 0.0016 sek.)

Im Acp steht dennoch "1 Awaiting validation"

Woran kann das liegen?

Gruß

Rüdiger

Share this post


Link to post

Das gleiche Problem haben wir hier auch (bei uns werden "7" angezeigt aber es sind nur "3").

Ich habe mal ein Ticket erstellt und warte auf Antwort, werde dann berichten.

Share this post


Link to post

Die Anzahl ergibt sich aus folgendem Statement, welches im ACP verwendet wird.

SELECT * FROM ibf_validating where lost_pass <> 1

Bei diesem Statement werden neben den neuen Registrierungen auch Mitglieder erfasst werden, die ihre E-Mail Adresse ändern wollten, aber dies noch nicht abgeschlossen haben. Wenn nun die Ansicht mit den Mitgliedern aufgerufen wird, so wird die Ansicht auf die Gruppe Validating eingeschränkt, jedoch sind die Mitglieder mit der E-Mailänderung aktuell nicht dort enthalten (Bug?).

Beim kurzen Überflug scheint da noch einiges nicht ganz so hundertprozentig zu funktionieren. Mal schauen, was Rigos Ticket bringt.

Als Workaround kann man aber folgendes machen.

Datei member_tools.php (sources/action_admin)

Suchen (in Funktion member_view_moderation_queue):

		$this->ipsclass->DB->build_query( array( 'select'	 => 'COUNT(*) as mcount', 
'from' => array( 'validating' => 'v' ),
'where' => "v.lost_pass=0 AND m.mgroup={$this->ipsclass->vars['auth_group']}".$q_extra,
Ändern in
		$this->ipsclass->DB->build_query( array( 'select'	 => 'COUNT(*) as mcount', 
'from' => array( 'validating' => 'v' ),
'where' => "v.lost_pass=0 AND v.temp_group={$this->ipsclass->vars['auth_group']}".$q_extra,
Suchen (ebenfalls in Funktion member_view_moderation_queue):
			$this->ipsclass->DB->build_query( array( 'select'	 => 'v.*', 
'from' => array( 'validating' => 'v' ),
'where' => "v.lost_pass=0 AND m.mgroup={$this->ipsclass->vars['auth_group']}".$q_extra,
Ändern in:
			$this->ipsclass->DB->build_query( array( 'select'	 => 'v.*', 
'from' => array( 'validating' => 'v' ),
'where' => "v.lost_pass=0 AND v.temp_group={$this->ipsclass->vars['auth_group']}".$q_extra,

Bei beiden Änderungen wird lediglich m.mgroup durch v.temp_group ersetzt.

Wie gesagt, das ist nur ein Workaround. Nach meiner meinung müßten Mitglieder, die ihre Mailadresse ändern, ebenfalls in die Gruppe (Spalte mgroup in Tabelle ibf_members) Validating geschoben werden. Das passiert wohl im Moment nicht, aber ich hab es jetzt nicht getestet bzw. den Fehler nachgestellt. Der Workaround behebt lediglich das Problem mit der Anzeige. Für mehr hab ich gerade keine Zeit und außerdem sollte IPS da mal genauer drauf schauen.

@Rigo: Ich hab es hier im Forum entsprechend angepasst.

Nebenbei, das Dropdownmenü bei der Member Validation Queue Tabelle behält auch nicht den gewählten Wert sondern springt immer zum Eintrag "Show All". Egal was man gewählt hat. Das könnten die Herren von IPS auch mal beheben. :)

Share this post


Link to post

Hab heute nochmal ausgiebig getestet und ein Statement für das Ticket an IPS verfasst.

Du kannst diese besagten Einträge in der Validating Tabelle auch händisch löschen, da die Mitglieder wohl erfolgreich ihre Mail Adresse geändert haben. Nur die Software hat das nicht richtig umgesetzt und den Eintrag halt nicht gelöscht.

Share this post


Link to post

Hallo Stefan,

in der Tabelle ibf_validating stehen 420 Einträge drin. Angezeigt im ACP wird nur einer.

Können die alle raus?

Da bin ich nun aber gänzlich ratlos.

Gruß

Rüdiger

Share this post


Link to post

Vielleicht solltest du in dem Fall einfach mal die oben genannten Veränderungen einbauen, damit du die fehlenden Einträge siehst.

Aber ich geh davon aus, das die vorhandenen Einträge durch einen Bug aus der Vorgängerversion stammen und man diese einfach löschen kann. Ggf. mach vorher ein Backup der Tabelle.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×