Seite 1 von 1

PN für anderen Benutzer löschen

Verfasst: 03.07.2015 18:06
von georg2010
Hallo,

kann man irgendwie (oder gibt es dafür irgendein MOD) eine PN (unabhängig ob sie schon gelesen wurde oder nicht) von allen Empfängern "zurückziehen" bzw löschen?

Ein Benutzer hat nämlich fälschlicherweise eine PN die nur an einen einzigen User gerichtet war an eine gesamte Gruppe verschickt.

Also kann man das irgendwie "sauber" zurückziehen, oder bleibt nur der weg das aus der Datenbank zu löschen? Bzw den Textinhalt auf "gelöscht" etc. bearbeten damit die konsistenz der DB erhalten bleibt?

bitte um ratschläge.

Re: PN für anderen Benutzer löschen

Verfasst: 03.07.2015 18:19
von AYYILDIZLAR
Hallo,

Eine MOD für dein Vorhaben bzw. Anliegen ist mir nicht bekannt. Das soll aber nicht heißen, vielleicht hat ja der eine oder andere noch die passende MOD für dich.

Du könntest aber den User bitten, die PN zu bearbeiten/editieren. So meine ich mich zu erinnern, dass die User die wo es noch nicht gelesen haben, nur eine leere pn bekommen. Die aber wo es gelesen haben, kennen halt den Inhalt der pn und gut ist.

Grüße

Re: PN für anderen Benutzer löschen

Verfasst: 03.07.2015 18:44
von Talk19zehn
Hi, wie verhält sich das System? ACP / Benutzer und Gruppen / Benutzer auswählen / Standard-Funktionen / Schnellauswahl: --> Postausgang ... Privater Nachrichten leeren ....
Vorherige Datenbanksicherung bitte nicht vergessen.
Es sollten dann alle --> alle PNs im Postausgang, die quasi bei den Empfängern ungelesen sind, gelöscht sein. Zumindest hat das in meinem Falle im Jahre 2009 in einem ähnlichen Fall funktioniert. Die Systemversion war eine andere; Gegenteilige Aussagen habe ich im Laufe der Zeit nirgends gelesen. Daher kläre, teste, prüfe bitte .... :wink:

Grüße



Edit: RS

Re: PN für anderen Benutzer löschen

Verfasst: 03.07.2015 19:24
von georg2010
Sobald die PN von nur einem gelesen wurde, verschwindet die aus dem Postausgang und landet im Ordner "Gesendet".

Da hat der User es bereits gelöscht und es half nicht.

Daher habe ich nach Rücksprache mit dem User, in der Datenbank den Text mit einem Platzhalter versehen, das sollte die DB nicht inkonsistent machen. Besser als einfach zu löschen. Das scheint geholfen zu haben.

Re: PN für anderen Benutzer löschen

Verfasst: 03.07.2015 19:40
von Talk19zehn
Hi, ich bezog mich auf deinen Betreff: "PN für anderen Benutzer löschen" :wink:
Zumindest liegt die PN nach dem Linkaufruf durch den Empfänger bei diesem im Posteingang. Man kann / könnte davon ausgehen, dass sie gelesen ist. Beim Absender verbleibt sie bis zum Linkaufruf im Postausgang. Wenn der Vorgang derart brisant wäre, könnte man auch per DB-Befehl PNs löschen, wobei ich zunächst dazu neige, besser systemeigene Verhaltensweisen zu nutzen. Von Fall zu Fall (es kommt zudem auf deine Konfiguration an: Weiterleiten etc.). Vorher / nachher --> Datenbanksicherung ist grundsätzlich m.E. zu empfehlen.

Okay, wenn du / ihr eine Lösung gefunden habt, ist´s gut.
Viele Grüße

P.S.:
Ggf. ist das Systemverhalten für das Senden / Empfangen von privaten Nachrichten für Gruppen ein anderes. Die Funktion habe ich (phpBB-3.0.14 vom XX.XX. 2015) nicht erneut untersucht(!).

LG

Re: PN für anderen Benutzer löschen

Verfasst: 05.07.2015 00:37
von gn#36
Ist zwar immer mit etwas Vorsicht zu genießen, aber im Grunde kannst du die PN einfach aus der DB entfernen. Hierfür musst du die ID der PN herausfinden (steht in der URL, beim Parameter p wenn du sie anzeigst). Anschließend musst du in zwei PN Tabellen die Einträge mit dieser ID entfernen.

Verschickte Mails o.ä. machst du damit natürlich nicht unsichtbar. Außerdem werden sich nutzer vielleicht wundern, dass die PN weg ist. Die in der Datenbank gespeicherte Zahl an PNs in den Benutzerordnern ist anschließend auch falsch. Falls die User automatische Sortierregeln für unterschiedliche Ordner haben ist das aber nicht mit einem einzelnen Befehl so einfach zu ändern. Bitte vorher ein Backup machen. Du führst zwei SQL Befehle aus:

Code: Alles auswählen

DELETE FROM phpbb_privmsgs_to WHERE msg_id = <id>
DELETE FROM phpbb_privmsgs WHERE msg_id = <id>
<id> ersetzt du durch die ID der Nachricht.