Hallo zusammen zu später Stunde,
ich habe folgendes Problem: wenn der Moderator im Moderationspanel bei einer Freischaltungsanfrage "Inhalt löschen" auswählt, soll der Benutzer, dessen Inhalt freigeschaltet werden soll, eine PN bzw. Konversation erhalten.
Anbei mein Code, bei dem die Konversation mit dem Moderator gestartet wird und nicht mit dem Benutzer, dessen Inhalt freigeschaltet werden sollte. Vielleicht könnt ihr einmal drüber schauen und mir sagen, wo mein Fehler steckt.
PHP
<?php
namespace wcf\system\event\listener;
use wcf\data\moderation\queue\ViewableModerationQueue;
use wcf\data\conversation\Conversation;
use wcf\data\conversation\ConversationAction;
use wcf\data\user\User;
use wcf\system\WCF;
class ModerationQueueActivationListener implements IParameterizedEventListener {
public function execute($eventObj, $className, $eventName, array &$parameters) {
if ($eventObj->getActionName() == "removeContent") {
$queue = ViewableModerationQueue::getViewableModerationQueue($eventObj->getObjects()[0]->getData()["queueID"]);
$user = new User($queue->userID);
$userLanguage = $user->getLanguage();
$conversationAction = new ConversationAction(array(), 'create', array(
'data' => array(
'subject' => $userLanguage->getDynamicVariable('wcf.moderation.status.rejected.com.woltlab.wcf.moderation.activation', array()),
'time' => TIME_NOW,
'userID' => $user->userID,
'username' => $user->username
),
'messageData' => array(
'message' => $userLanguage->getDynamicVariable('wcf.moderation.status.rejected.text.com.woltlab.wcf.moderation.activation', array('queue' => $queue)),
'enableHtml' => true
),
'participants' => array(
$queue->userID
)
));
$returnValues = $conversationAction->executeAction();
$conversationAction = new ConversationAction(array($returnValues['returnValues']), 'hideConversation', array('hideConversation' => Conversation::STATE_HIDDEN));
$conversationAction->executeAction();
}
}
}
Alles anzeigen
Viele Grüße,
shoxinat0r