/** * @param ilChatRoom $room * @param int $scope * @param ilObjUser $inviter * @param int $invited_id * @return array */ public function inviteToPrivateRoom(ilChatRoom $room, $scope, ilObjUser $inviter, $invited_id) { $chat_user = new ilChatroomUser($inviter, $room); $user_id = $chat_user->getUserId(); if ($scope) { $room->inviteUserToPrivateRoom($invited_id, $scope); $message = json_encode(array('type' => 'private_room_created', 'users' => $invited_id, 'timestamp' => date('c'), 'public' => 0, 'title' => ilChatroom::lookupPrivateRoomTitle($scope), 'proom_id' => $scope, 'message' => array('public' => '0', 'user' => 'system', 'owner' => $user_id))); $this->sendMessage($room->getRoomId(), $message, array('public' => 0, 'recipients' => $invited_id)); } if ($room->isSubscribed($user_id)) { $message = json_encode(array('type' => 'user_invited', 'title' => ilChatroom::lookupPrivateRoomTitle($scope), 'proom_id' => $scope, 'inviter' => $inviter->getId(), 'invited' => $invited_id)); $this->sendMessage($room->getRoomId(), $message, array('public' => 0, 'recipients' => $invited_id)); } return array('success' => true, 'message' => 'users invited'); }
/** * Saves settings fetched from $_POST. */ public function saveGeneral() { /** * @var $ilCtrl ilCtrl * @var $lng ilLanguage */ global $ilCtrl, $lng; $formFactory = new ilChatroomFormFactory(); $settingsForm = $formFactory->getSettingsForm(); if (!$settingsForm->checkInput()) { $this->general($settingsForm); } else { $this->gui->object->setTitle($settingsForm->getInput('title')); $this->gui->object->setDescription($settingsForm->getInput('desc')); $this->gui->object->update(); // @todo: Do not rely on raw post data $settings = $_POST; $room = ilChatRoom::byObjectId($this->gui->object->getId()); if (!$room) { $room = new ilChatRoom(); $settings['object_id'] = $this->gui->object->getId(); } $room->saveSettings($settings); ilUtil::sendSuccess($lng->txt('saved_successfully'), true); $ilCtrl->redirect($this->gui, 'settings-general'); } }
/** * Saves settings fetched from $_POST. * * @global ilCtrl2 $ilCtrl */ public function saveGeneral() { global $ilCtrl, $lng; $formFactory = new ilChatroomFormFactory(); $settingsForm = $formFactory->getSettingsForm(); if (!$settingsForm->checkInput()) { $this->general($settingsForm); } else { $this->gui->object->setTitle($_POST['title']); $this->gui->object->setDescription($_POST['desc']); $this->gui->object->update(); $settings = $_POST; $room = ilChatRoom::byObjectId($this->gui->object->getId()); if (!$room) { $room = new ilChatRoom(); $settings['object_id'] = $this->gui->object->getId(); } //var_dump($settings);exit; $room->saveSettings($settings); ilUtil::sendSuccess($lng->txt('saved_successfully'), true); $ilCtrl->redirect($this->gui, 'settings-general'); } }