Seite 2 von 2

Re: E-Mail Benachrichtigung bei neuer PN - Einstellungen

Verfasst: 25.01.2016 12:17
von gn#36
Im Grunde besteht diese Erweiterung gerade mal aus vier Dateien mit jeweils ein paar wenigen Zeilen Code.
  • Eine Datei, die die Einstellungen bei bestehenden Usern 1x richtig durchführt (Migration)
  • Eine Datei, die das bei neuen Usern erledigt (Event)
  • Die Konfiguration dazu
  • Die composer.json, die man zur Installation benötigt
Da kann man das dann vielleicht auch einfach mit der von phpBB für die Notifications vorgesehenen Klasse machen, dann geht das hoffentlich nicht schief. Das "überlebt" auch ein Update, weil alles in separaten Dateien landet und die Installation in der DB gespeichert wird.
tb280971 hat geschrieben:Und wenn sie doch drin waren, waren die Einträge durcheinander.
Was meinst du damit?

Re: E-Mail Benachrichtigung bei neuer PN - Einstellungen

Verfasst: 25.01.2016 16:11
von tb280971
gn#36 hat geschrieben:
tb280971 hat geschrieben:Und wenn sie doch drin waren, waren die Einträge durcheinander.
Was meinst du damit?
tb280971 hat geschrieben: Hier sind die Einträge --> [ externes Bild ]

notification.type.pm 0 48 notification.method.email 1
notification.type.pm 0 48 notification.method.email 1
Es ist eigentlich nichts dramatisches. Er setzt den notification.type.pm in der Tabelle halt ganz unten und nicht unter den anderen.
Siehst du auch auf dem Screenshot.
In der Tabelle phpbb_user_notifications hat er dann ganz am Ende alle notification.type.pm untereinander gesetzt für alle User.
Bei manchen Usern war nur einmal notification.type.pm drin in der Tabelle, hier war es egal.
War mir aber auch nicht sicher, ob dass so seine Richtigkeit hatte.
Hätten doch zwei Einträge sein müssen wie bei meiner User-ID 2. Ka :-?

Re: E-Mail Benachrichtigung bei neuer PN - Einstellungen

Verfasst: 25.01.2016 19:41
von gn#36
Die Reihenfolge ist für die Funktion völlig egal. Neue Einträge werden "unten" eingefügt, wobei es überhaupt von der Sortierung abhängt, wie die Einträge dargestellt werden. Die Sortierung lässt sich aber immer so steuern, wie man das gerade braucht. Hierfür wird in praktisch allen SQL Abfragen, die mehr als eine Zeile liefern per ORDER BY sortiert. Wenn es um die Einstellungen für einen speziellen User geht, dann werden nur die Einstellungen dieses Users aus der DB geholt.

Der Eintrag ohne notification.method.email stellt die Notifications im Board selbst dar (also das was oben rechts als Benachrichtigung eingeblendet wird, wenn du im Board bist). Allerdings ist da seltsamerweise die Standardeinstellung "aktiv" wenn der Eintrag fehlt, während das bei allen anderen Benachrichtigungen genau andersrum ist. Außerdem wird der Eintrag automatisch eingefügt, wenn du das erste Mal die Einstellungen änderst (oder vielleicht sogar schon beim Seitenaufruf der entsprechenden Seite im persönlichen Bereich). Dementsprechend sollte es egal sein, wenn ein Eintrag fehlt. Du kannst aber auch ganz einfach alle Einträge mit notification.type.pm löschen und dann beide Fälle neu einfügen.

Also sprich, sofern du nicht noch zusätzliche Benachrichtigungsmethoden zu E-Mail und in-Board installiert hast:

Code: Alles auswählen

DELETE FROM phpbb_user_notifications WHERE item_type = 'notification.type.pm' AND item_id = 0;
INSERT INTO phpbb_user_notifications (item_type, item_id, method, notify, user_id) SELECT '', 0, 'notification.method.email', 1, user_id FROM phpbb_users WHERE user_type IN (0,3);
INSERT INTO phpbb_user_notifications (item_type, item_id, method, notify, user_id) SELECT 'notification.type.pm', 0, 'notification.method.email', 1, user_id FROM phpbb_users WHERE user_type IN (0,3);
Sonst muss der DELETE Befehl beschränkt werden auf die Methoden die gelöscht werden, ansonsten bekommen die Leute mit den anderen Methoden keine Nachrichten mehr.

Re: E-Mail Benachrichtigung bei neuer PN - Einstellungen

Verfasst: 03.08.2016 14:46
von rockmartin
Hallo, ich klinke mich hier mal ein.

Ich suche die gleiche Funktion, das neue Benutzer automatisch bei einer neuen PN per E-Mail Benachrichtigt werden. Gibt es hierfür schon eine fertige Extension?