/** * callback function * @param WebSocketUser $user Current user * @param string $msg Data from user sent * @param WebSocketServer $server Server object */ public function process($user, $msg, $server){
$msg = json_decode($msg);
if ($msg->action == 'init') { $max = 5; if (count($this->messages)<5) $max = count($this->messages);
// on login send last five chat messages for($i=count($this->messages)-$max; $i<count($this->messages); $i++) { $server->send($user->socket, (string) $this->messages[$i]); } }
if ($msg->action == 'login') { $user->data['username'] = filter_var($msg->username, FILTER_SANITIZE_STRING); }
if ($msg->action == 'chat') { $text = filter_var($msg->text, FILTER_SANITIZE_STRING); $lastMessage = new WebsocketChatMessage($user->data['username'], $text, time());