processor = new \wcf\system\html\output\HtmlOutputProcessor(); } /** * @inheritDoc */ public function getJavaScriptModuleName() { return 'Bastelstu.be/Chat/MessageType/Plain'; } /** * @inheritDoc */ public function canDelete(\chat\data\message\Message $message, \wcf\data\user\UserProfile $user = null) { if ($user === null) $user = new \wcf\data\user\UserProfile(\wcf\system\WCF::getUser()); return $user->getPermission('mod.chat.canDelete'); } /** * @see \chat\system\message\type\IMessageType::getPayload() */ public function getPayload(\chat\data\message\Message $message, \wcf\data\user\UserProfile $user = null) { if ($user === null) $user = new \wcf\data\user\UserProfile(\wcf\system\WCF::getUser()); $payload = $message->payload; $payload['formattedMessage'] = null; $payload['plaintextMessage'] = null; $parameters = [ 'message' => $message , 'user' => $user , 'payload' => $payload ]; \wcf\system\event\EventHandler::getInstance()->fireAction($this, 'getPayload', $parameters); if ($parameters['payload']['formattedMessage'] === null) { $this->processor->setOutputType('text/html'); $this->processor->process($parameters['payload']['message'], 'be.bastelstu.chat.message', $message->messageID); $parameters['payload']['formattedMessage'] = $this->processor->getHtml(); } if ($parameters['payload']['plaintextMessage'] === null) { $this->processor->setOutputType('text/plain'); $this->processor->process($parameters['payload']['message'], 'be.bastelstu.chat.message', $message->messageID); $parameters['payload']['plaintextMessage'] = $this->processor->getHtml(); } return $parameters['payload']; } }