Seite 3 von 3
Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 20:27
von A.Maverick
Aber wenn ich dich jetzt richtig verstehe, bräuchtest du diese spezielle Template Variable nicht nur bei der Ext, sondern auch bei phpBB selber?
Jep
Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 20:40
von LukeWCS
Okay, dann muss die Template Variable global injiziert (generiert) werden, damit sie auch überall verfügbar ist. In dem Fall muss eine Core Datei geändert werden.
Das heisst zwei Dinge:
1. Auf eigene Gefahr!
2. Muss bei jedem phpBB Update erneut gemacht werden.
Editiere:
includes\functions.php
Suche nach:
Füge darunter ein:
Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 21:18
von A.Maverick
...klappt nicht - wo könnte ich denn was falsch machen?
Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 21:53
von Scanialady
Da hier irgendwo steht, es drehe sich darum, dass die Passwort-Reset-Funktion wegen falscher Emailadressen nicht erfolgreich ist, gebe ich mal folgendes zu bedenken:
Wenn der Benutzer sein Passwort vergessen hat und eine Email anfordert, dann wird die Mailadresse dadurch klar, dass er dort die Mail empfängt.
Gibt es diese Mailadresse nicht mehr, ist es völlig hupe, was in der Email steht, weil er sie nie bekommt. Bei jeder Meldung Benutzernamen und Mailadresse anzufügen - da erschließt sich mir der Sinn nicht. Und wenn die Leute ihre Logindaten komplett vergessen haben, können Sie das auch nicht sehen.
Nur so Gedanken.
Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 22:37
von LukeWCS
Scanialady hat geschrieben: 16.05.2024 21:53
da erschließt sich mir der Sinn nicht
Gut, dann bin ich nicht der Einzige, der nicht versteht, was das hier eigentlich werden soll.
@Maverick
Wenn meine Änderung bei dir nicht das macht, was du brauchst, dann reden wir hier offensichtlich aneinander vorbei. Schildere doch bitte mal ganz präzise WAS genau das Problem ist und WAS genau du erreichen willst, Punkt für Punkt. Aus der ganzen Problematik die du scheinbar mit deinen Benutzern hast, werde ich nach wie vor nicht schlau.
Angefangen hat das hier mit der Frage nach einer Template Variable für die Mail Adresse, die dir bei einer Ext fehlt. Etliche Beiträge später schreibst du plötzlich etwas von Problemen beim PW Reset, weil die Mail Adresse nicht (mehr) stimmt. Ich kann zwischen deinem Startbeitrag und deinem Beitrag von 16.05.2024 17:20 jedoch keinerlei Verbindung herstellen.

Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 23:09
von A.Maverick

Ich kann verstehen, dass Ihr die Logik hinter meinem Wunsch nicht verstehen könnt.
Nochmal ganz präzise was ich will:
Meine Board-Nachrichten werden teils über die Ext "Prime Notify" und teils "original" verschickt, für alle User gelten folgende 4 Standard-Einstellungen:
1.) Jemand antwortet auf ein Thema, das du abonniert hast -> "Prime Notify"
2.) Jemand erstellt einen Beitrag in einem Forum, das du abonniert hast -> "Prime Notify"
3.) Jemand antwortet auf ein Thema in einem Forum, das du abonniert hast --> "original"
4.) Jemand sendet dir eine Private Nachricht -> "Prime Notify"
In den entsprechenden Templates der o.g. Fälle spreche ich den User mit der Variablen {USERNAME} an.
Zusätzlich würde ich ihm auch gerne mitteilen, über welche Email-Adresse er die Nachricht gerade empfängt (es sind Weiterleitungen im Spiel, die nicht von jedem erkannt/identifiziert werden können). Daher möchte ich auch noch die Variable {USER_EMAIL} ausgeben.
Der Einbau des Eintrages
'S_USER_EMAIL' => $user->data['user_email'],
in die Datei
includes\functions.php
ergibt ein leeres Ergebnis (getestet in
primehalo\primenotify\language\de\email\newtopic_notify.txt
Mit der Datei
\phpbb\notification\type\topic.php
war ich auf dem "falschen Dampfer", da habe ich mich durch die Variable
'AUTHOR_NAME' => html_entity_decode($username, ENT_COMPAT),
verleiten lassen

Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 16.05.2024 23:26
von LukeWCS
A.Maverick hat geschrieben: 16.05.2024 23:09
Zusätzlich würde ich ihm auch gerne mitteilen, über welche Email-Adresse er die Nachricht gerade empfängt (es sind Weiterleitungen im Spiel, die nicht von jedem erkannt/identifiziert werden können). Daher möchte ich auch noch die Variable {USER_EMAIL} ausgeben.
Das musst du mal näher erläutern, was du damit meinst. Wieso muss man dem Benutzer in der Mail erklären, über welche Mail er diese erhalten hat? Das ist sinnfrei, er hat die Mail abgerufen, der Benutzer weiss also welches Mail Konto er abgerufen hat. Und was für Weiterleitungen?
Ich kann bei deiner Erklärung immer noch keinen Sinn finden, warum du die "spezielle" Funktion brauchst.
Re: [3.3] Liste der Variablen für Email-Versand der Board-Nachrichten
Verfasst: 17.05.2024 06:09
von chris1278
Ich habe mir mal die Extension angeschaut. Ich verstehe zwar nicht viel aber die Änderung müsste eigentlich dann in der Ext selber erfolgrn um dias fald zu füllen. Er hat dort seine eigene notify routine mit vorlagen drin.
Und zar müsstest du in der Datei
...\ext\primehalo\primenotify\notification\type\pm.php
unter der function:
public function get_email_template_variables()
dies Variable anlegen
$template_vars['DEINEMAIL'] = $abfrage der usermail;
Du kannst das ja mal testen in dem du in den block das einträgst:
Code: Alles auswählen
public function get_email_template_variables()
{
$template_vars = parent::get_email_template_variables();
$msg = utf8_decode_ncr(censor_text($this->get_data('prime_notify_text')));
$template_vars['MESSAGE'] = htmlspecialchars_decode($msg);
$template_vars['DEINEMAIL'] = 'hier die email reinfragen';
return $template_vars;
}
Dann fügst du in die Emailvorlage
{DEINEMAIL}
ein.
Habs nicht getestet. ist nur ne vermutung.
Dann shreibst du dir mal ne pn mit nem testuser. Dann sollte in der Email die Kommt der vorgegebene Text stehen.
Wenn das funktioniert müsstest du nur noch schauen wie du die email da bekommst.
Ich vermute mal du könntest dann mit dem Befehl
$this->get_data('from_user_id')
an die id des users kommen der die email bekommen soll bzw. die pn und dann damit ne sql abfrage einfügen. Aber du solltest erstmal vorheriges testen.
Desweiteren weis ich nicht ob das aus datenschutztechnischen Gründen sinnvoll ist die mail mit zus chicken bei jeder pn. Bedenke du hastauch dahingehend eine Verantwortung als betreiber.
Wie scanylady schon sagte wenn die email nicht stimmt nutzt es nix wenn die hinterlegte email adresse in jeder pn ist wenn man kein zugriff mehr hat.