benutzerstatus abfragen bzw. vergleichen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von chris1278 »

Ja das spielt keine rolle habs auch mit

Code: Alles auswählen

	$sql_ary = [
		'csstamp'		  => 'test',
	]
Probiert und da tat sich nix.

Habs aber mal so getestet und passiert nichts.

Oder mus ich das seperat in eine ucp_listner auslagern.

Ausserdem müsste mindestens etwas eingeblendet werden wenn man das hier macht:

Code: Alles auswählen

public function ucp_register_set_data($event)
{
	echo 'mus eingeblendet werden';
}
Das heist diese funktion wird aus irgendeinem grund nicht aufgerufen.


ich werde aber das versuchen in eine eigene ucp_listner.php auszulagern so wie du das auch hast. Glaube zwar nicht das ziwschen der normalen und der ucp listner ein Unterschied gibt aber ich werde es austesten.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von Mike-on-Tour »

Was Thorsten meinte, ist dass du versuchst, die PHP-Funktion time() zu verwenden, dazu musst du natürlich auch die beiden Klammern angeben.
Wenn du nur time angibst, versucht PHP, dies als Konstante zu verwenden, die es natürlich nicht gibt und sollte eigentlich auch eine entsprechende Warnung ausgeben.

Und dein Versuch, einer als Integer definerten DB-Spalte den String 'test' zuzuordnen, ist auch zum Scheitern verurteilt.

Fang mal mit dem Buch an, das du bekommen hast.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von chris1278 »

Da ist nix mit integrer. Da kann man auch mit string eintragen. Nutze das ja schon mit anderem aufruf.

Code: Alles auswählen

$cs_timestamp	= time();

$sql = 'UPDATE ' . USERS_TABLE . '
SET csstamp = "' . $this->db->sql_escape($cs_timestamp) . '"
WHERE user_id = "' . $this->db->sql_escape($this->user->data['user_id']) . '"';
$this->db->sql_query($sql);


Das wird aufgerufen sobald der Benutzer das entsprechende ucp modul in seinen ucp panel aufruft und die passenden bedingungen erfüllt sind.


Da wird der time() wert (ja hatte die klammern vergessen) in einen string geladen und dieser in die usertabelle als solchen eingefügt.

Aber bei der Version die ich versuche umzusetzen die IMC mir empfohlen hat passiert gar nix.


Selbst wenn ich in der Listner.php das hier drin habe:

Code: Alles auswählen

public function ucp_register_set_data($event)
{
	echo 'mus eingeblendet werden';
}
Dann müsste er den dort angegebenen Text ja auch ausgeben. Was er nicht tut.
Benutzeravatar
IMC
Mitglied
Beiträge: 544
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von IMC »

chris1278 hat geschrieben: 03.03.2024 17:38 Ausserdem müsste mindestens etwas eingeblendet werden wenn man das hier macht:

Code: Alles auswählen

public function ucp_register_set_data($event)
{
	echo 'mus eingeblendet werden';
}
Leider funktioniert das debuggen nicht an jeder Codestelle mit dem Sprachkonstrukt echo. So auch in dem Event core.ucp_register_welcome_email_before.

Ich schreibe bei der Fehlersuche die Variableninhalte oder Texte in eine Datei. Dies macht das ganze auch etwas übersichtlicher wenn man mal ein größeres Array untersuchen muss.
chris1278 hat geschrieben: 03.03.2024 17:38 ich werde aber das versuchen in eine eigene ucp_listner.php auszulagern so wie du das auch hast. Glaube zwar nicht das ziwschen der normalen und der ucp listner ein Unterschied gibt aber ich werde es austesten.
Du glaubst richtig. Sollte eigentlich keinen Unterschied machen. Ich hatte es getrennt um den Code übersichtlich zu halten.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von chris1278 »

Ich werde das demnächst mal etwas intensiver testen. Finde schon raus was ich falsch mache.

@edit

Also zur ergänzung an dich mike was deine Aussage wegen integer angeht.

Die Spalte csstamp ist keine Integre Spalte die hat die formatierung varchar(20) In sofern sollte das eigentlich funktionieren mit der eintragung. Da wird aber nix eingetragen egal was ich mache. Mus mich aber mal mit dem Event noch was beschäftigen. Werde schon dahinterkommen.

@edit2

So habs hinbekommen. Ich hohle nuss. Habe letztenendlich den cache gelöscht dann ging das auch. der aktuelle code sieht so aus:

Code: Alles auswählen

public function ucp_register_set_data($event)
{
	echo 'test123';

	$sql_ary = [
		'csstamp'		=> time()
	];

	$sql = 'UPDATE ' . USERS_TABLE . '
			SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . '
			WHERE user_id = ' . (int) $event['user_id'];

	$this->db->sql_query($sql);
}
Selbst das echo 'test123' wird ausgegeben.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2129
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von LukeWCS »

Mahlzeit

Chris, ist in dem Board wo du Thorstens Vorschlag ausprobiert hast, E-Mail aktiviert oder nicht?
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von chris1278 »

Ja ist es. Aber ich denke das sollte auch bei den Anderen Einstellungen tun.

@edit

Habe es getestet und es funktioniert mit allen drei Registrierungsarten.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2129
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von LukeWCS »

chris1278 hat geschrieben: 05.03.2024 13:33 Habe es getestet und es funktioniert mit allen drei Registrierungsarten.
Ich meinte nicht die Registrierungsarten, ich meinte E-Mail an sich:

ALLGEMEIN > CLIENT-KOMMUNIKATION > Board-E-Mails > Aktiviere E-Mail-Funktionalität:

Deaktiviere das mal und teste erneut.

Das Folgende hatte ich übrigens übersehen, sah das erst jetzt. :oops:
chris1278 hat geschrieben: 03.03.2024 19:09 Habe letztenendlich den cache gelöscht dann ging das auch.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von chris1278 »

Also das sollte kein Problem darstellen ob das Forum E-Mails versendet oder nicht weil das Event ja greift und den Benutzer erstellt auch wenn die E-Mail nicht gesendet wird. Aber ich werde das später noch mal testen indem ich diese ganze E-Mail Geschichte deaktiviere.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2129
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von LukeWCS »

chris1278 hat geschrieben: 05.03.2024 14:35 Also das sollte kein Problem darstellen ob das Forum E-Mails versendet oder nicht weil das Event ja greift
Eben darum solltest das testen, weil ich nämlich aufgrund des Problems, dass du hier hattest, ich mir RT an der Stelle näher angeschaut habe, von wo ja Thorsten den Code hat. Dabei habe ich eine weitere Macke von RT entdeckt die wir auch noch beheben müssen und die betrifft dich jetzt zwangsläufig auch.

Teste es und dann dürftest du feststellen, dass dein Event Code nicht mehr ausgeführt wird. Darum auch mein Beitrag von 12:14. Dass es in deinem Fall am Cache lag, hatte ich erst später gesehen, hat aber mit dem Bug nichts zu tun, den ich meine.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Verschoben von Coding & Technik nach Extension Bastelstube am 05.03.2024 17:57 durch LukeWCS

Antworten

Zurück zu „Extension Bastelstube“