processor = new HtmlOutputProcessor(); } /** * @inheritDoc */ public function getJavaScriptModuleName() { return 'Bastelstu.be/Chat/MessageType/Broadcast'; } /** * @inheritDoc */ public function canSee(Message $message, Room $room, ?UserProfile $user = null) { if ($user === null) { $user = new UserProfile(WCF::getUser()); } $parameters = [ 'message' => $message, 'room' => $room, 'user' => $user, 'canSee' => true, ]; EventHandler::getInstance()->fireAction($this, 'canSee', $parameters); return $parameters['canSee']; } /** * @inheritDoc */ public function canSeeInLog(Message $message, Room $room, ?UserProfile $user = null) { if ($user === null) { $user = new UserProfile(WCF::getUser()); } $parameters = [ 'message' => $message, 'room' => $room, 'user' => $user, 'canSee' => true, ]; EventHandler::getInstance()->fireAction($this, 'canSeeInLog', $parameters); return $parameters['canSee']; } /** * @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 supportsFastSelect() { return false; } }