/** * @param ilChatroom $room * @param string $title * @param ilChatroomUser $owner * @return mixed */ public function createPrivateRoom(ilChatroom $room, $title, ilChatroomUser $owner) { $settings = array('public' => false); $params['user'] = $owner->getUserId(); $params['id'] = $room->addPrivateRoom($title, $owner, $settings); $query = http_build_query($params); $response = $this->sendCreatePrivateRoom($room->getRoomId(), $query); $responseObject = json_decode($response); $return = $responseObject; if ($responseObject->success == true) { $message = json_encode(array('type' => 'private_room_created', 'timestamp' => date('c'), 'public' => 0, 'title' => $title, 'id' => $responseObject->id, 'proom_id' => $responseObject->id, 'owner' => $owner->getUserId())); $result = $this->sendMessage($room->getRoomId(), $message, array('public' => 0, 'recipients' => $owner->getUserId())); $params = array(); $params['user'] = $owner->getUserId(); $params['sub'] = $responseObject->id; $query = http_build_query($params); $response = $this->enterPrivateRoom($room->getRoomId(), $query); $room->subscribeUserToPrivateRoom($params['sub'], $params['user']); $message = json_encode(array('type' => 'private_room_entered', 'user' => $owner->getUserId(), 'timestamp' => date('c'), 'sub' => $responseObject->id)); $this->sendMessage($room->getRoomId(), $message); } return $responseObject; }