ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilChatroomInviteUsersToPrivateRoomTask.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Modules/Chatroom/classes/class.ilChatroom.php';
5require_once 'Modules/Chatroom/classes/class.ilChatroomUser.php';
6
14{
18 private $gui;
19
24 {
25 $this->gui = $gui;
26 }
27
34 public function executeDefault($method)
35 {
36 $this->byLogin();
37 }
38
42 public function byLogin()
43 {
44 $this->inviteById(ilObjUser::_lookupId($_REQUEST['users']));
45 }
46
50 public function byId()
51 {
52 $this->inviteById($_REQUEST['users']);
53 }
54
58 private function inviteById($invited_id)
59 {
64 global $ilUser, $ilCtrl;
65
66 if(!ilChatroom::checkUserPermissions('read', $this->gui->ref_id))
67 {
68 $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', ROOT_FOLDER_ID);
69 $ilCtrl->redirectByClass('ilrepositorygui', '');
70 }
71
72 $room = ilChatroom::byObjectId($this->gui->object->getId());
73
74 $chat_user = new ilChatroomUser($ilUser, $room);
75 $user_id = $chat_user->getUserId();
76
77 if(!$room)
78 {
79 $response = json_encode(array(
80 'success' => false,
81 'reason' => 'unkown room'
82 ));
83 echo json_encode($response);
84 exit;
85 }
86 else if($_REQUEST['sub'] && !$room->isOwnerOfPrivateRoom($user_id, $_REQUEST['sub']))
87 {
88 $response = json_encode(array(
89 'success' => false,
90 'reason' => 'not owner of private room'
91 ));
92 echo json_encode($response);
93 exit;
94 }
95
96 $connector = $this->gui->getConnector();
97
98 $result = $connector->inviteToPrivateRoom($room, $_REQUEST['sub'], $ilUser, $invited_id);
99
100 $room->sendInvitationNotification($this->gui, $chat_user, $invited_id, (int)$_REQUEST['sub']);
101
102 echo json_encode($result);
103 exit;
104 }
105
106 public function getUserList()
107 {
111 global $ilUser;
112
113 require_once 'Services/User/classes/class.ilUserAutoComplete.php';
114 $auto = new ilUserAutoComplete();
115 $auto->setUser($ilUser);
117 if($ilUser->isAnonymous())
118 {
119 $auto->setSearchType(ilUserAutoComplete::SEARCH_TYPE_EQUALS);
120 }
121
122 if(($_REQUEST['fetchall']))
123 {
124 $auto->setLimit(ilUserAutoComplete::MAX_ENTRIES);
125 }
126 $auto->setMoreLinkAvailable(true);
127 $auto->setSearchFields(array('firstname', 'lastname'));
128 $auto->setResultField('login');
129 $auto->enableFieldSearchableCheck(true);
130 echo $auto->getList($_REQUEST['q']);
131 exit;
132 }
133}
$result
executeDefault($method)
Prepares and posts message fetched from $_REQUEST['message'] to recipients fetched from $_REQUEST['re...
Class ilChatroomUser.
static byObjectId($object_id)
Returns ilChatroom object by given $object_id.
static checkUserPermissions($permissions, $ref_id, $send_info=true)
Checks user permissions by given array and ref_id.
static _lookupId($a_user_str)
Lookup id by login.
Auto completion class for user lists.
global $ilCtrl
Definition: ilias.php:18
exit
Definition: login.php:54
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
global $ilUser
Definition: imgupload.php:15