Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 function onSubscribe(ConnectionInterface $conn, $topic)
 {
     // Send all the rooms to the person who just subscribed to the room list
     if (static::CTRL_ROOMS == $topic) {
         foreach ($this->rooms as $room => $patrons) {
             if (!$this->isControl($room)) {
                 $conn->event(static::CTRL_ROOMS, array($room, array_search($room, $this->roomLookup), 1));
             }
         }
     }
     // Room does not exist
     if (!array_key_exists($topic, $this->rooms)) {
         return;
     }
     // Notify everyone this guy has joined the room they're in
     $this->broadcast($topic, array('joinRoom', $conn->WAMP->sessionId, $conn->Chat->name), $conn);
     // List all the people already in the room to the person who just joined
     foreach ($this->rooms[$topic] as $patron) {
         $conn->event($topic, array('joinRoom', $patron->WAMP->sessionId, $patron->Chat->name));
     }
     $this->rooms[$topic]->attach($conn);
     $conn->Chat->rooms[$topic] = 1;
 }