diff options
Diffstat (limited to 'main/app/sprinkles/core/assets')
-rw-r--r-- | main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php b/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php index 603bc01..ab306b6 100644 --- a/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php +++ b/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php @@ -73,6 +73,7 @@ class ChatProcessor implements MessageComponentInterface if ($channel == $target) { $MessageObject = new \stdClass(); $MessageObject->ServerMessage = false; + $MessageObject->GroupName = $channel; $MessageObject->Username = $this->connectedUsersNames[$conn->resourceId]; $MessageObject->Message = htmlspecialchars($data->Message); if ($id === $conn->resourceId) { @@ -85,6 +86,27 @@ class ChatProcessor implements MessageComponentInterface } } } + case "TypingState": + 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 = "TypingState"; + $MessageObject->GroupName = $channel; + $MessageObject->Username = $this->connectedUsersNames[$conn->resourceId]; + $MessageObject->State = htmlspecialchars($data->State); + if ($id === $conn->resourceId) { + $MessageObject->WasHimself = true; + } else { + $MessageObject->WasHimself = false; + } + $MessageJson = json_encode($MessageObject, true); + $this->users[$id]->send($MessageJson); + } + } + } } } |