/** * @param int $invited_id */ private function inviteById($invited_id) { /** * @var $ilUser ilObjUser * @var $ilCtrl ilCtrl */ global $ilUser, $ilCtrl; if (!ilChatroom::checkUserPermissions('read', $this->gui->ref_id)) { $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', ROOT_FOLDER_ID); $ilCtrl->redirectByClass('ilrepositorygui', ''); } $room = ilChatroom::byObjectId($this->gui->object->getId()); $chat_user = new ilChatroomUser($ilUser, $room); $user_id = $chat_user->getUserId(); if (!$room) { $response = json_encode(array('success' => false, 'reason' => 'unkown room')); echo json_encode($response); exit; } else { if ($_REQUEST['sub'] && !$room->isOwnerOfPrivateRoom($user_id, $_REQUEST['sub'])) { $response = json_encode(array('success' => false, 'reason' => 'not owner of private room')); echo json_encode($response); exit; } } $connector = $this->gui->getConnector(); $result = $connector->inviteToPrivateRoom($room, $_REQUEST['sub'], $ilUser, $invited_id); $room->sendInvitationNotification($this->gui, $chat_user, $invited_id, (int) $_REQUEST['sub']); echo json_encode($result); exit; }
/** * */ public function invitePD() { /** * @var $ilUser ilObjUser * @var $ilCtrl ilCtrl */ global $ilUser, $ilCtrl; $chatSettings = new ilSetting('chatroom'); if (!$chatSettings->get('chat_enabled')) { $ilCtrl->redirect($this->gui, 'settings-general'); } $room = ilChatroom::byObjectId($this->gui->object->getId()); $chat_user = new ilChatroomUser($ilUser, $room); $user_id = $_REQUEST['usr_id']; $connector = $this->gui->getConnector(); $title = $room->getUniquePrivateRoomTitle($chat_user->getUsername()); $response = $connector->createPrivateRoom($room, $title, $chat_user); $connector->inviteToPrivateRoom($room, $response->id, $ilUser, $user_id); $room->sendInvitationNotification($this->gui, $chat_user, $user_id, $response->id); $_REQUEST['sub'] = $response->id; $_SESSION['show_invitation_message'] = $user_id; $ilCtrl->setParameter($this->gui, 'sub', $response->id); $ilCtrl->redirect($this->gui, 'view'); }