Ich will dir nicht ins Handwerk pfuschen, kann dir aber einen Vorschlag geben, wie du das mit der Zeile in den Griff bekommst. Ich musste das leider auch so mit meinem Plugin machen und Woltlab hat das angenommen. Dadurch wird die PN nicht gelöscht und du bekommst nicht bei jeder PN 2 IDs draufehauen in deiner Datenbank.
Du Liest die zuletzt gesendete PN an den Benutzer aus, der Verwarnt wurde und bearbeitest sie um deinen Inhalt. Ich hab das zwar im Umfang mit dem ACP gemacht, aber du kannst dem SQL ja noch eine AND-Bedingung um den Titel der PN oder den Autor der PN (derjenige der Verwarnt), dann kann sich da eigentlich nichts kreuzen.
Ein Auszug aus meinem Plugin:
PHP
case 'saved':
$sql = "SELECT warningID
FROM wcf".WCF_N."_user_infraction_warning
ORDER BY warningID DESC
LIMIT 1";
$row = WCF::getDB()->getFirstRow($sql);
$this->warningID = $row['warningID'];
$sql = "UPDATE wcf".WCF_N."_user_infraction_warning
SET additionalMessage = '".escapeString($this->additionalMessage)."',
additionalMessageColor = '".escapeString($this->additionalMessageColor)."'
WHERE warningID = ".$this->warningID;
WCF::getDB()->sendQuery($sql);
$this->additionalMessage = '';
$this->additionalMessageColor = '#000';
break;
Alles anzeigen
LG
Sebastian S.