41 'header' =>
'Connection: close' 44 'header' =>
'Connection: close' 48 if(is_array($stream_context_params))
50 $ctx = array_merge_recursive($ctx, $stream_context_params);
76 $this->settings->getURL(
'Connect', $scope) .
'?id=' . $userId
90 $this->settings->getURL(
'Post', $scope) .
'?' .
$query 102 $this->settings->getURL(
'CreatePrivateRoom', $scope) .
'?' .
$query 114 $this->settings->getURL(
'EnterPrivateRoom', $scope) .
'?' .
$query 126 $this->settings->getURL(
'LeavePrivateRoom', $scope) .
'?' .
$query 140 $this->settings->getURL(
'Kick', $scope) .
'?' .
$query 164 $query = http_build_query(array(
'message' => $message) +
$options);
166 return @json_decode($response);
179 $user_id = $chat_user->getUserId();
183 $room->inviteUserToPrivateRoom($invited_id, $scope);
184 $message = json_encode(array(
185 'type' =>
'private_room_created',
186 'users' => $invited_id,
187 'timestamp' => date(
'c'),
190 'proom_id' => $scope,
198 $this->
sendMessage($room->getRoomId(), $message, array(
'public' => 0,
'recipients' => $invited_id));
201 if($room->isSubscribed($user_id))
203 $message = json_encode(array(
204 'type' =>
'user_invited',
206 'proom_id' => $scope,
207 'inviter' => $inviter->
getId(),
208 'invited' => $invited_id
211 $this->
sendMessage($room->getRoomId(), $message, array(
'public' => 0,
'recipients' => $invited_id));
214 return array(
'success' =>
true,
'message' =>
'users invited');
234 $responseObject = json_decode($response);
235 $return = $responseObject;
236 if($responseObject->success ==
true)
238 $message = json_encode(array(
239 'type' =>
'private_room_created',
240 'timestamp' => date(
'c'),
243 'id' => $responseObject->id,
244 'proom_id' => $responseObject->id,
252 $params[
'sub'] = $responseObject->id;
259 $message = json_encode(array(
260 'type' =>
'private_room_entered',
262 'timestamp' => date(
'c'),
263 'sub' => $responseObject->id
267 return $responseObject;
276 $this->settings->getURL(
'Status', 0),
287 $responseObject = json_decode($response);
289 return $responseObject->success ==
true;
298 if($use_cache && self::$connection_status !== null)
300 return self::$connection_status;
303 require_once
'Modules/Chatroom/classes/class.ilChatroomAdmin.php';
304 $connector =
new self(ilChatroomAdmin::getDefaultConfiguration()->getServerSettings());
305 self::$connection_status = (bool)$connector->isServerAlive();
307 return self::$connection_status;
getUserId()
Returns Ilias User ID.
getRoomId()
Returns roomID from $this->roomId.
kick($scope, $query)
Returns kick URL Creates kick URL using given $scope and $query and returns it.
__construct(ilChatroomServerSettings $settings)
Constructor Sets $this->settings using given $settings.
post($scope, $query)
Returns post URL Creates post URL using given $scope and $query and returns it.
sendMessage($scope, $message, $options=array())
Returns if given message is sucessfully sent.
enterPrivateRoom($scope, $query)
leavePrivateRoom($scope, $query)
if(!is_array($argv)) $options
getId()
get object id public
addPrivateRoom($title, ilChatroomUser $owner, $settings)
connect($scope, $userId)
Returns connect URL Creates connect URL using given $scope and $userId and returns it...
static checkServerConnection($use_cache=true)
Class ilChatroomServerConnector.
static lookupPrivateRoomTitle($proom_id)
file_get_contents($url, array $stream_context_params=null)
subscribeUserToPrivateRoom($room_id, $user_id)
static $connection_status
Class ilChatroomServerSettings.
static getLogger($a_component_id)
Get component logger.
sendCreatePrivateRoom($scope, $query)
inviteToPrivateRoom(ilChatRoom $room, $scope, ilObjUser $inviter, $invited_id)
getSettings()
Returns $this->settings.
createPrivateRoom(ilChatroom $room, $title, ilChatroomUser $owner)