Notify-Links
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 5
- Registriert: 16.10.2009 11:24
Notify-Links
Hi,
in den Notify-E-Mails sind verschiedene Links, z.B.:
{U_NEWEST_POST} = neuster Beitrag seit letztem Besuch
{U_FORUM} = Forum, in dem ein neuer Thread erstellt wurde
Ich suche nun nach einem solchen Link, der zum "letzten Beitrag im Thread" springt. Sinn des Ganzen ist, dass "{U_NEWEST_POST}" nur dann funktioniert, wenn der User eingeloggt ist. Ich möchte den User aber auf den letzten Beitrag in dem Thread springen lassen, in dem ein neuer Beitrag verfasst wurde und das OHNE dass er sich einloggen muss.
Zudem wäre noch interessant, ob es eine Liste dieser "{}"-Links gibt, die in den E-Mails verwendet werden. Dabei interessieren mich ausschließlich die Standard-Codes, Mods sind für mich nicht von Belang.
Vielen Dank und Grüße,
Noadsplease
in den Notify-E-Mails sind verschiedene Links, z.B.:
{U_NEWEST_POST} = neuster Beitrag seit letztem Besuch
{U_FORUM} = Forum, in dem ein neuer Thread erstellt wurde
Ich suche nun nach einem solchen Link, der zum "letzten Beitrag im Thread" springt. Sinn des Ganzen ist, dass "{U_NEWEST_POST}" nur dann funktioniert, wenn der User eingeloggt ist. Ich möchte den User aber auf den letzten Beitrag in dem Thread springen lassen, in dem ein neuer Beitrag verfasst wurde und das OHNE dass er sich einloggen muss.
Zudem wäre noch interessant, ob es eine Liste dieser "{}"-Links gibt, die in den E-Mails verwendet werden. Dabei interessieren mich ausschließlich die Standard-Codes, Mods sind für mich nicht von Belang.
Vielen Dank und Grüße,
Noadsplease
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Notify-Links
Die Variablen werden in der includes/functions_posting.php festgelegt:
Der Login wird erzwungen durch das &e=$post_id in Zeile 1286 (kann je nach Version und eingebauten Mods abweichen). Wenn du das weglässt wird die Seite auch ohne Login angezeigt - vorrausgesetzt dass man ohne Login zugreifen darf (das Forum also öffentlich lesbar ist). Das zeigt dann natürlich trotzdem nicht den letzten sondern den letzten ungelesenen Post an.
Code: Alles auswählen
1279 $messenger->assign_vars(array(
1280 'USERNAME' => htmlspecialchars_decode($addr['name']),
1281 'TOPIC_TITLE' => htmlspecialchars_decode($topic_title),
1282 'FORUM_NAME' => htmlspecialchars_decode($forum_name),
1283
1284 'U_FORUM' => generate_board_url() . "/viewforum.$phpEx?f=$forum_id",
1285 'U_TOPIC' => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id",
1286 'U_NEWEST_POST' => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id&p=$post_id&e=$post_id",
1287 'U_STOP_WATCHING_TOPIC' => generate_board_url() . "/viewtopic.$phpEx?uid={$addr['user_id']}&f=$forum_id&t=$topic_id&unwatch=topic",
1288 'U_STOP_WATCHING_FORUM' => generate_board_url() . "/viewforum.$phpEx?uid={$addr['user_id']}&f=$forum_id&unwatch=forum",
1289 ));
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
-
- Mitglied
- Beiträge: 5
- Registriert: 16.10.2009 11:24
Re: Notify-Links
Vielen Dank für die schnell Antwort!
Momentan funktioniert es noch nicht, denn das "&e=" kommt immer noch in den Notify-Mails an. Ich überprüfe aber derzeit noch, ob der Webserver einfach etwas träge ist.
EDIT: funktioniert, war der Cache...
Noch eine zusätzliche Frage, bei der Du oder jemand anderes mir vielleicht helfen kann: diese Notify-Mails gehen an einen Dummy-User, der als E-Mail-Adresse einen Verteiler hat. D.h. der User loggt sich nie ein, soll aber bei jedem neuen Beitrag/Topic eine Notify-Mail bekommen. Derzeit bekommt er doch aber nur eine Mail, bis er sich das nächste Mal im Forum einloggt. Kann man diese Beschränkung irgendwie aufheben, also dass der Dummy-User bei JEDER Änderung benachrichtigt wird egal ob er sich zwischendurch einloggt oder nicht?
Vielen Dank,
Noadsplease
Momentan funktioniert es noch nicht, denn das "&e=" kommt immer noch in den Notify-Mails an. Ich überprüfe aber derzeit noch, ob der Webserver einfach etwas träge ist.

EDIT: funktioniert, war der Cache...
Noch eine zusätzliche Frage, bei der Du oder jemand anderes mir vielleicht helfen kann: diese Notify-Mails gehen an einen Dummy-User, der als E-Mail-Adresse einen Verteiler hat. D.h. der User loggt sich nie ein, soll aber bei jedem neuen Beitrag/Topic eine Notify-Mail bekommen. Derzeit bekommt er doch aber nur eine Mail, bis er sich das nächste Mal im Forum einloggt. Kann man diese Beschränkung irgendwie aufheben, also dass der Dummy-User bei JEDER Änderung benachrichtigt wird egal ob er sich zwischendurch einloggt oder nicht?
Vielen Dank,
Noadsplease
Re: Notify-Links
Wenn wirklich bei jedem Beitrag eine Benachrichtigung rausgehen soll, würde ich an den Anfang der function user_notification (hinter der Zeile $forum_notification = ($mode == 'post') ? true : false;) folgendes einfügen:
Dann eine Datei language/de/email/forum_notify_anonymous.txt erstellen:
Code: Alles auswählen
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
$messenger = new messenger();
$messenger->template('forum_notify_anonymous', 'de'); //ggf. andere Sprache
$messenger->to('mailingliste@deinforum.de', 'Name der Mailingliste');
$messenger->assign_vars(array(
'TOPIC_TITLE' => htmlspecialchars_decode($topic_title),
'FORUM_NAME' => htmlspecialchars_decode($forum_name),
'U_FORUM' => generate_board_url() . "/viewforum.$phpEx?f=$forum_id",
'U_TOPIC' => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id",
'U_VIEW_POST' => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id&p=$post_id#p$post_id",
));
$messenger->send(NOTIFY_EMAIL);
$messenger->save_queue();
Code: Alles auswählen
Subject: Benachrichtigung über neuen Beitrag — {TOPIC_TITLE} — „{FORUM_NAME}“
Hallo,
im Thema „{TOPIC_TITLE}“ im Forum „{FORUM_NAME}“ auf „{SITENAME}“ wurde ein neuer Beitrag erstellt. Du kannst den folgenden Link benutzen, um den Beitrag anzusehen:
{U_VIEW_POST}
Wenn du das Thema ansehen möchtest, verwende folgenden Link:
{U_TOPIC}
Wenn du das Forum ansehen möchtest, verwende folgenden Link:
{U_FORUM}
{EMAIL_SIG}
KB:knigge
-
- Mitglied
- Beiträge: 5
- Registriert: 16.10.2009 11:24
Re: Notify-Links
Vielen Dank, das ist eine tolle Idee! Allerdings habe ich noch zwei Probleme damit:
1. Die Mails werden nicht sofort verschickt, sondern zeitversetzt. Ist das so beabsichtigt?
2. Der eingetragene Verteiler bekommt wirklich bei absolut jeder Änderung eine Notify-Mail, auch bei Änderungen in internen Foren. Kann man die Funktion auf ein bestimmtes Forum und alle Unterforen eingrenzen?
Nochmals vielen Dank für die tolle Hilfe,
Noadsplease
1. Die Mails werden nicht sofort verschickt, sondern zeitversetzt. Ist das so beabsichtigt?
2. Der eingetragene Verteiler bekommt wirklich bei absolut jeder Änderung eine Notify-Mail, auch bei Änderungen in internen Foren. Kann man die Funktion auf ein bestimmtes Forum und alle Unterforen eingrenzen?
Nochmals vielen Dank für die tolle Hilfe,
Noadsplease
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Notify-Links
Punkt 1 ist eine Einstellung deinerseits, generell ist das so beabsichtigt so dass die Mails immer erst in größeren Paketen verschickt werden, du kannst dieses Verhalten aber im ACP beeinflussen indem du die Mailpaketgröße auf 0 setzt (dann wird jede Mail sofort verschickt). Zu finden unter Allgemein -> Client Kommunikation -> Board-E-Mails.
Punkt 2 kannst du ganz einfach durch eine if Abfrage erledigen. Du suchst dir die gewünschten Foren mit ihrer ID raus und packst folgendes um den von Pyramide geposteten Code herum:
Wenn du 1,2,3,4,5 durch deine Foren IDs ersetzt bei denen die Mail verschickt werden soll wird die Mail nur noch in diesen Foren verschickt.
Du musst wirklich alle Foren IDs auflisten die in Frage kommen, also auch alle Unterforen separat.
Alternativ kannst du auch Foren ausschließen:
Wenn die Foren Id nun 6,7 oder 8 ist wird der Code nicht ausgeführt. Tendenziell würde ich da allerdings eher die erste Variante bevorzugen denn man vergisst schnell so eine Liste zu aktualisieren und dann werden vielleicht unerwünschterweise zusätzliche Mails in einem Internen Forum verschickt.
Punkt 2 kannst du ganz einfach durch eine if Abfrage erledigen. Du suchst dir die gewünschten Foren mit ihrer ID raus und packst folgendes um den von Pyramide geposteten Code herum:
Code: Alles auswählen
if(in_array($forum_id, array(1,2,3,4,5)))
{
### Hier steht Pyramides Code
}
Du musst wirklich alle Foren IDs auflisten die in Frage kommen, also auch alle Unterforen separat.
Alternativ kannst du auch Foren ausschließen:
Code: Alles auswählen
if(!in_array($forum_id, array(6,7,8)))
{
#### Pyramides Code
}
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
-
- Mitglied
- Beiträge: 5
- Registriert: 16.10.2009 11:24
Re: Notify-Links
Super, vielen Dank!
Nun wird der Verteiler mit einer E-Mail versorgt, sobald in einem der Foren
a) ein neues Thema oder
b) eine Antwort zu einem bestehenden Thema verfasst wurde
Wird ein bestehender Beitrag editiert, so wird allerdings nichts verschickt. Das ist jetzt nicht soooo schlimm, aber kann man das prinzipiell auch noch einrichten?
Nun wird der Verteiler mit einer E-Mail versorgt, sobald in einem der Foren
a) ein neues Thema oder
b) eine Antwort zu einem bestehenden Thema verfasst wurde
Wird ein bestehender Beitrag editiert, so wird allerdings nichts verschickt. Das ist jetzt nicht soooo schlimm, aber kann man das prinzipiell auch noch einrichten?
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Notify-Links
Das lässt sich machen. In der includes/functions_post.php findet sich weit unten die Funktion submit_post und darin folgende Stelle:
Darunter kann dann der gleiche Code wie vorher mit nur wenigen Anpassungen ($forum_id -> $data['forum_id'] usw., den Rest darfst du dir selbst überlegen, die meisten Variablen heißen eben anders). Zusätzlich solltest du das ganze auf den Edit Mode beschränken, denn sonst wird ja immer eine Mail verschickt (und wenn das in der user_notification Funktion bleibt sogar doppelt).
Code: Alles auswählen
2509 // Send Notifications
2510 if ($mode != 'edit' && $mode != 'delete' && $post_approval)
2511 {
2512 user_notification($mode, $subject, $data['topic_title'], $data['forum_name'], $data['forum_id'], $data['topic_id'], $data['post_id']);
2513 }
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Notify-Links
Man kann auch gleich den Code aus der Funktion user_notification dorthin verschieben, so dass man bei zukünftigen Änderungen (z.B. Änderung der Empfängeradresse) nur eine Stelle ändern muss.
KB:knigge
-
- Mitglied
- Beiträge: 5
- Registriert: 16.10.2009 11:24
Re: Notify-Links
Prima, vielen Dank für den tollen Input!