Frage wegen eines core. events für den Listener

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.
Antworten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3576
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Frage wegen eines core. events für den Listener

Beitrag von chris1278 »

Hallo werte Foren gemeinde. Ich bin ja dabei eine Extension zu schreiben.

[3.3] CF Welcome Post Topic (fork)

Im Grunde funktioniert diese Extension so wie ich mir das vorstelle.

Aktuell nutze ich für den aufruf der Funktion in der listner.php folgendes

Code: Alles auswählen

public static function getSubscribedEvents()
{
	return [
		'core.page_header_after'			=> 'cf_wptfork_run',
	];
}

Das funktioniert auch soweit ganz gut.

Nur würde ich gern ein anderes event nutzen aber das funktioniert nicht wirklich.

Es geht sich eigentlich wie folgt ab. In dem Startenden aufruf wird erst dies hier geprüft:

Code: Alles auswählen

if ($this->user->data['is_registered'] && $this->user->data['user_lastvisit'] == 0)
Damit wird geprüft ob der Benutzer registriert ist und ob schonmal eingeloggt. trifft eins von beiden nicht zu passiert gar nichts.

Treffen beide zu wird der gewünschte Begrüßung Beitrag auch erstellt. Es spielt auch keine Rolle welche Aktivierung Methode im ACP eingestellt ist.

Weil es wird bei Login geprüft ob der eben der Benutzer registriert ist und noch nie eingeloggt war.


Allerdings wird diese Prüfung mit dem aktuell verwendeten core.event bei jedem seitenaufruf geprütft. Das halte ich im Grunde nicht für sehr sinnvoll.

Daher die Frage welches der core events würde sich am besten dazu eignen die funktion aufzurufen nach login.

Weil eigentlich reicht ne prüfung bei login aus.
Verschoben von Support-Forum nach Extension Bastelstube am 15.05.2024 20:15 durch Crizzo

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7912
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Frage wegen eines core. events für den Listener

Beitrag von Kirk »

Hi
Hast du es mal mit core.user_setup bzw. mit core.user_setup_after getestet?
Ansonsten mal die Events durchschauen.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1096
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: Frage wegen eines core. events für den Listener

Beitrag von Mike-on-Tour »

Würde eigentlich zu Beginn jeder Session völlig ausreichen, dazu findet sich bestimmt was. :wink:
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2240
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Frage wegen eines core. events für den Listener

Beitrag von LukeWCS »

Damit hier keine losen Enden entstehen und das Thema als abgeschlossen betrachtet werden kann:
Mike-on-Tour hat geschrieben: 16.05.2024 07:13 Würde eigentlich zu Beginn jeder Session völlig ausreichen
Jupp, zu diesem Entschluss kam ich vorgestern unabhängig auch. ^^ Als das Projekt in eine Phase kam, wo man sich mit solchen Details befassen konnte. Entschieden habe ich mich schlussendlich für

core.session_create_after

Das wird nur in 2 Situationen getriggert: Login und Logout. Und bei dem Event sind auch alle benötigten Objekte vorhanden, die von chris1278's Ext benötigt werden. Somit die deutlich bessere Variante als core.page_header_after, was auf jeder Seite des Foren-Frontends ausgeführt wird und somit unnötige Event-Hooks getriggert werden.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extension Bastelstube“