From cf14306c2b3f82a81f8d56669a71633b4d4b5fce Mon Sep 17 00:00:00 2001 From: marvin-borner@live.com Date: Mon, 16 Apr 2018 21:09:05 +0200 Subject: Main merge to user management system - files are now at /main/public/ --- assets/php/Chatserver/src/ChatProcessor.php | 118 ---------------------------- 1 file changed, 118 deletions(-) delete mode 100755 assets/php/Chatserver/src/ChatProcessor.php (limited to 'assets/php/Chatserver/src/ChatProcessor.php') diff --git a/assets/php/Chatserver/src/ChatProcessor.php b/assets/php/Chatserver/src/ChatProcessor.php deleted file mode 100755 index da78c9b..0000000 --- a/assets/php/Chatserver/src/ChatProcessor.php +++ /dev/null @@ -1,118 +0,0 @@ -clients = new \SplObjectStorage; - $this->subscriptions = []; - $this->users = []; - $this->connectedUsersNames = []; - } - - public function onOpen(ConnectionInterface $conn) { - $generator = new Alliteration(); - $this->clients->attach($conn); - $this->users[$conn->resourceId] = $conn; - $this->connectedUsersNames[$conn->resourceId] = $generator->getName(); - } - - /*public function onMessage(ConnectionInterface $from, $msg) { - $numRecv = count($this->clients) - 1; - echo sprintf('Connection %d sending message "%s" to %d other connection%s' . "\n" - , $from->resourceId, $msg, $numRecv, $numRecv == 1 ? '' : 's'); - - foreach ($this->clients as $client) { - if ($from === $client) { - $client->send("You - " . $msg); - } else { - $client->send("" . $from->resourceId . " - " . $msg); - } - } - } - */ - - public function onMessage(ConnectionInterface $conn, MessageInterface $msg) { - $data = json_decode($msg); - switch ($data->ClientMessageType) { - case "Subscribe": - $this->subscriptions[$conn->resourceId] = $data->Channel; - foreach ($this->subscriptions as $id => $channel) { - if ($this->subscriptions[$conn->resourceId] == $channel) { - $MessageObject = new \stdClass(); - $MessageObject->ServerMessage = true; - $MessageObject->ServerMessageType = "GroupJoin"; - $MessageObject->GroupName = $channel; - $MessageObject->Username = $this->connectedUsersNames[$conn->resourceId]; - if ($id === $conn->resourceId) { - $MessageObject->WasHimself = true; - } else { - $MessageObject->WasHimself = false; - } - $MessageJson = json_encode($MessageObject, true); - $this->users[$id]->send($MessageJson); - } - } - break; - case "Message": - if (isset($this->subscriptions[$conn->resourceId])) { - $target = $this->subscriptions[$conn->resourceId]; - foreach ($this->subscriptions as $id => $channel) { - if ($channel == $target) { - $MessageObject = new \stdClass(); - $MessageObject->ServerMessage = false; - $MessageObject->Username = $this->connectedUsersNames[$conn->resourceId]; - $MessageObject->Message = htmlspecialchars($data->Message); - if ($id === $conn->resourceId) { - $MessageObject->WasHimself = true; - } else { - $MessageObject->WasHimself = false; - } - $MessageJson = json_encode($MessageObject, true); - $this->users[$id]->send($MessageJson); - } - } - } - } - } - - public function onClose(ConnectionInterface $conn) { - $this->clients->detach($conn); - foreach ($this->clients as $client) { - if (isset($this->subscriptions[$conn->resourceId])) { - $target = $this->subscriptions[$conn->resourceId]; - foreach ($this->subscriptions as $id => $channel) { - if ($channel == $target) { - $MessageObject = new \stdClass(); - $MessageObject->ServerMessage = true; - $MessageObject->ServerMessageType = "UserDisconnect"; - $MessageObject->Username = $this->connectedUsersNames[$conn->resourceId]; - $MessageJson = json_encode($MessageObject, true); - $this->users[$id]->send($MessageJson); - } - } - } - } - unset($this->users[$conn->resourceId]); - unset($this->subscriptions[$conn->resourceId]); - unset($this->connectedUsersNames[$conn->resourceId]); - } - - public function onError(ConnectionInterface $conn, \Exception $e) { - echo "An error has occurred: {$e->getMessage()}\n"; - - $conn->close(); - } -} \ No newline at end of file -- cgit v1.2.3