processor = new HtmlOutputProcessor(); } /** * @inheritDoc */ public function getJavaScriptModuleName() { return 'Bastelstu.be/Chat/MessageType/Plain'; } /** * @inheritDoc */ public function canDelete(Message $message, ?UserProfile $user = null) { if ($user === null) { $user = new UserProfile(WCF::getUser()); } return $user->getPermission('mod.chat.canDelete'); } /** * @inheritDoc */ public function getPayload(Message $message, ?UserProfile $user = null) { if ($user === null) { $user = new UserProfile(WCF::getUser()); } $payload = $message->payload; $payload['formattedMessage'] = null; $payload['plaintextMessage'] = null; $parameters = [ 'message' => $message, 'user' => $user, 'payload' => $payload, ]; 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']; } }