Ich bin mir nicht sicher habe es jetzt nicht getestet, sollte aber so gehen
<?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;
/**
*
*
* @author Olaf Braun
* @copyright 2016 Olaf Braun - HostingTime GbR
*
* @package wcf\system\event\listener
*/
class ModerationQueueActivationListener implements IParameterizedEventListener {
/**
* Executes this action.
*
* @param object $eventObj Object firing the event
* @param string $className class name of $eventObj
* @param string $eventName name of the event fired
* @param array &$parameters given parameters
*/
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' => WCF::getUser()->userID,
'username' => WCF::getUser()->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