Seite 1 von 1

[Code-Schnipsel] PN Text in Benachrichtungs eMail mitsenden

Verfasst: 29.04.2013 00:40
von HabNurNeFrage
Hi,

aufgrund mehrerer Threads zu diesem Thema habe ich mal ein bissl Code zusammengestückelt.

Nach dem Einbau werden Inhalte von PN in den Benachrichtugungs-eMails mitgesendet.
Dabei werden bbCodes und Smilies herausgefiltert, Links zu Bildern und Websites werden als Textlinks übergeben.

Öffnen: includes/functions_privmsgs.php

1) Finden: $messenger = new messenger();

DANACH einfügen:

Code: Alles auswählen

// PM Message-Text in eMail (1/2)
    if (!$uid)
    {
        $uid = '[0-9a-z]{5,}';
    }

    $message = preg_replace("#\[\/?[a-z0-9\*\+\-]+(?:=(?:".*"|[^\]]*))?(?::[a-z])?(\:$uid)\]#", ' ', $message);
    $message = preg_replace("/<img[^>]+\>/i", "", $message);
    $message = preg_replace("/<!--[^>]+->/i", "", $message);
    $message = strip_tags($message);
Es handelt sich um ein Stück der phpBB-Funktion strip_bbcodes. Ggf. kann man diese auch direkt aufrufen, was mir leider nicht gelang :oops:
Danach noch ein wenig Kosmetik, um die Smilies undt HTML-Parsing-Reste aus dem String zu entfernen.

2) Finden: 'USERNAME' => htmlspecialchars_decode($addr['name']),

DANACH einfügen:

Code: Alles auswählen

// PM Message-Text in eMail (2/2)
            'PN_TEXT'         => html_entity_decode ($message), 
So, nun haben wir es so weit, dass im eMail-Text die Variable PN_TEXT den Inhalt der Mitteilung aufruft.

Also öffnen wir nun: language/de/email/privmsg_notify.txt
(wer andere Sprachen nutzt, macht es ggf. auch da, z.B. statt de dann in en oder de_x_sie)

Darin müssen wir jetzt nur noch die neue Variable einbauen, vorzugsweise nach der Stelle {SUBJECT}

Ich habe beispielsweise Folgendes eingefügt:

Code: Alles auswählen

Mitteilungs-Text:
--------------------------------------------------------------------------------------------------------

{PN_TEXT}

--------------------------------------------------------------------------------------------------------

Nach dem Upload der Dateien muss nur noch der Cache des Forums geleert werden. Fertig.
Vielleicht hat ja jemand Verwendung dafür...

LG

Re: [Code-Schnipsel] PN Text in Benachrichtungs eMail mitsen

Verfasst: 29.04.2013 16:23
von PatrickS3
Hallo,
das gibt es schon länger als MOD: https://www.phpbb.com/community/viewtopic.php?t=1951945

Ich habe das bei mir aber wieder ausgebaut. Das ganze hat nämlich einen kleinen Haken.
- angenommen User A sendet eine PN an User B.
- User B hat eine ungültige oder vorübergehend gestörte Mailadresse hinterlegt.
- die Benachrichtigungsmail kann also nicht zugestellt werden, es kommt die bekannte "Delivery Notification" Statusmail.
- diese Statusmail wird an die im ACP hinterlegte Mailadresse gesandt.
- jeder User (Admin, Webmaster was auch immer) der diese Statusmails vom System empfängt kann dann auch den Inhalt der PN lesen. Also im Prinzip ein unbefugter dritter.


Patrick

Re: [Code-Schnipsel] PN Text in Benachrichtungs eMail mitsen

Verfasst: 29.04.2013 16:31
von HabNurNeFrage
Hi,

die Mod Prime Notify ist mir bekannt.
Aber wozu eine Mod einbauen, wenn es 3 Zeilen Code auch tun? :wink:

Der andere Aspekt ist durchaus zu bedenken. Hatte ich noch nicht drüber nachgedacht.
Im Prinzip könnte doch aber auch jeder mit Zugang zur Datenbank die PN lesen.
Den Einbau muss jeder Betreiber dann mit sich selbst und ggf. seinen Usern abmachen.

LG

Re: [Code-Schnipsel] PN Text in Benachrichtungs eMail mitsen

Verfasst: 30.04.2013 10:10
von PatrickS3
Sicher die paar Codeschnipsel sind wesentlich einfacher.

Re: [Code-Schnipsel] PN Text in Benachrichtungs eMail mitsen

Verfasst: 30.04.2013 22:58
von Talk19zehn
Hi, das grundlose Lesen der PNs via DB ist ja m.W. strikt verboten ( kleines Hüstel.... )
Wie will, kann ich als Seitenbetreiber sicherstellen, das kein unbefugter Dritter private Nachrichten liest, wenn ich mich jener Modifikationen, egal welcher, die Inhalte ausgibt, bediene?
Insofern hat m.E. phpBB die korrekte Konstellation, die eben keine Inhalte sondern nur einen Hinweis auf eine PN ausgibt.

BTW:
Das Thema wurde bereits mehrfach hier on Board diskutiert.

Und ich persönlich würde "die Finger" davon lassen, Inhalte auszugeben. :wink:

LG

Re: [Code-Schnipsel] PN Text in Benachrichtungs eMail mitsen

Verfasst: 01.05.2013 02:31
von HabNurNeFrage
Hi,

vielen Dank für die Hinweise, allerdings halte ich eine Grundsatzdiskussion zu dem Thema hier für unpassend.
Das hier ist doch keine Anleitung oder Aufforderung zum Lesen von PN.
In den Fragethemen wurde auch unkommentiert die oben erwähnte Mod empfohlen, die letztlich die gleiche Funktionalität erzielt.

Meine persönliche Meinung: Wer die Dinger lesen will, den wird man eh nicht davon abhalten können.
Die erwähnten nicht zugestellten eMails landen auch bei uns zuhauf und werden deshalb auch per Filter direkt in die ewigen Jagdgründe geschickt.
Ganz abgesehen davon interessieren mich die PN anderer auch gar nicht. Ich würde die nicht mal lesen, wenn es eine direkte Funktion dafür gäbe.
Auf die Idee würde ich auch gar nicht kommen. Beim Forenumzug ist es mir damals mal aufgefallen, dass die PN in der DB drin sind.

Letztlich geht es um Vertrauen, das völlig unabhängig von dem Code-Schnipsel vorhanden ist oder nicht.

LG