diff --git a/src/LaravelEcho/Pusher/Channels/Channel.php b/src/LaravelEcho/Pusher/Channels/Channel.php index e095c72..3d473a5 100644 --- a/src/LaravelEcho/Pusher/Channels/Channel.php +++ b/src/LaravelEcho/Pusher/Channels/Channel.php @@ -26,15 +26,15 @@ class Channel /** * @link https://pusher.com/docs/pusher_protocol#presence-channel-events * - * @param ConnectionInterface $conn + * @param ConnectionInterface $connection * @param $payload */ - public function subscribe(ConnectionInterface $conn, $payload) + public function subscribe(ConnectionInterface $connection, $payload) { - $this->saveConnection($conn); + $this->saveConnection($connection); // Send the success event - $conn->send(json_encode([ + $connection->send(json_encode([ 'event' => 'pusher_internal:subscription_succeeded', 'channel' => $this->channelId ])); diff --git a/src/LaravelEcho/Pusher/Channels/PresenceChannel.php b/src/LaravelEcho/Pusher/Channels/PresenceChannel.php index 233737d..d8f766b 100644 --- a/src/LaravelEcho/Pusher/Channels/PresenceChannel.php +++ b/src/LaravelEcho/Pusher/Channels/PresenceChannel.php @@ -11,24 +11,28 @@ class PresenceChannel extends Channel /** * @link https://pusher.com/docs/pusher_protocol#presence-channel-events * - * @param ConnectionInterface $conn + * @param ConnectionInterface $connection * @param $payload */ - public function subscribe(ConnectionInterface $conn, $payload) + public function subscribe(ConnectionInterface $connection, $payload) { - $this->saveConnection($conn); + $this->saveConnection($connection); $channelData = json_decode($payload->channel_data); $this->subscriptions[$channelData->user_id] = $channelData; // Send the success event - $conn->send(json_encode([ + $connection->send(json_encode([ 'event' => 'pusher_internal:subscription_succeeded', 'channel' => $this->channelId, 'data' => json_encode($this->getChannelData()) ])); - //TODO: send member_added message back to client, and broadcast to everyone on channel + $this->broadcastToOthers($connection, [ + 'event' => 'pusher_internal:member_added', + 'channel' => $this->channelId, + 'data' => json_encode($channelData) + ]); } public function unsubscribe(ConnectionInterface $connection) diff --git a/src/LaravelEcho/WebSocket/EchoServer.php b/src/LaravelEcho/WebSocket/EchoServer.php index df7d38d..e005559 100644 --- a/src/LaravelEcho/WebSocket/EchoServer.php +++ b/src/LaravelEcho/WebSocket/EchoServer.php @@ -2,12 +2,10 @@ namespace BeyondCode\LaravelWebSockets\LaravelEcho\WebSocket; -use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\PusherMessage; use Ratchet\ConnectionInterface; use Ratchet\RFC6455\Messaging\MessageInterface; use BeyondCode\LaravelWebSockets\WebSocketController; use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Channels\ChannelManager; -use stdClass; class EchoServer extends WebSocketController {