aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/core/assets
diff options
context:
space:
mode:
Diffstat (limited to 'main/app/sprinkles/core/assets')
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php22
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);
+ }
+ }
+ }
}
}