payload; $room = $message->getRoom(); $payload['room'] = [ 'roomID' => $room->roomID, 'title' => $room->title, 'link' => $room->getLink(), ]; $parameters = [ 'message' => $message, 'user' => $user, 'payload' => $payload, ]; EventHandler::getInstance()->fireAction($this, 'getPayload', $parameters); return $parameters['payload']; } /** * @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' => $user->userID === $message->userID || $user->userID === $message->payload['recipient'], ]; 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' => false, ]; EventHandler::getInstance()->fireAction($this, 'canSeeInLog', $parameters); return $parameters['canSee']; } /** * @inheritDoc */ public function supportsFastSelect() { $parameters = [ 'result' => false, ]; EventHandler::getInstance()->fireAction($this, 'supportsFastSelect', $parameters); return $parameters['result']; } }