/** * Prepares and displays settings form. * @param ilPropertyFormGUI $settingsForm */ public function general(ilPropertyFormGUI $settingsForm = null) { /** * @var $lng ilLanguage * @var $tpl ilTemplate * @var $ilCtrl ilCtrl */ global $lng, $tpl, $ilCtrl; if (!ilChatroom::checkUserPermissions(array('read', 'write'), $this->gui->ref_id)) { $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', ROOT_FOLDER_ID); $ilCtrl->redirectByClass('ilrepositorygui', ''); } $chatSettings = new ilSetting('chatroom'); if (!$chatSettings->get('chat_enabled')) { ilUtil::sendInfo($lng->txt('server_disabled'), true); } $this->gui->switchToVisibleMode(); $formFactory = new ilChatroomFormFactory(); if (!$settingsForm) { $settingsForm = $formFactory->getSettingsForm(); } $room = ilChatRoom::byObjectId($this->gui->object->getId()); $settings = array('title' => $this->gui->object->getTitle(), 'desc' => $this->gui->object->getDescription()); if ($room) { ilChatroomFormFactory::applyValues($settingsForm, array_merge($settings, $room->getSettings())); } else { ilChatroomFormFactory::applyValues($settingsForm, $settings); } $settingsForm->setTitle($lng->txt('settings_title')); $settingsForm->addCommandButton('settings-saveGeneral', $lng->txt('save')); $settingsForm->setFormAction($ilCtrl->getFormAction($this->gui, 'settings-saveGeneral')); $tpl->setVariable('ADM_CONTENT', $settingsForm->getHtml()); }
/** * @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; }
/** * @param ilPropertyFormGUI $form */ public function clientsettings(ilPropertyFormGUI $form = null) { /** * @var $tpl ilTemplate * @var $ilCtrl ilCtrl * @var $lng ilLanguage */ global $tpl, $ilCtrl, $lng; ilChatroom::checkUserPermissions('read', $this->gui->ref_id); $this->defaultActions(); $this->gui->switchToVisibleMode(); $this->showSoapWarningIfNeeded(); require_once 'Modules/Chatroom/classes/class.ilChatroomAdmin.php'; $adminSettings = new ilChatroomAdmin($this->gui->object->getId()); if ($form === null) { require_once 'Modules/Chatroom/classes/class.ilChatroomFormFactory.php'; $factory = new ilChatroomFormFactory(); $form = $factory->getClientSettingsForm(); if (!$this->commonSettings->get('soap_user_administration')) { $form->getItemByPostVar('chat_enabled')->setDisabled(!(bool) $this->commonSettings->get('soap_user_administration')); $form->getItemByPostVar('chat_enabled')->setChecked(0); } $data = (array) $adminSettings->loadClientSettings(); if (!$data['osd_intervall']) { $data['osd_intervall'] = 60; } if (!$data) { $data = array(); } if (!$data['url']) { $data['url'] = ilUtil::_getHttpPath(); } if (!$data['client']) { $data['client'] = CLIENT_ID; } $data['password_retype'] = $data['password']; $form->setValuesByArray($data); } require_once 'Modules/Chatroom/classes/class.ilChatroomServerConnector.php'; $serverSettings = (array) $adminSettings->loadGeneralSettings(); if ($serverSettings['port'] && $serverSettings['address'] && !(bool) @ilChatroomServerConnector::checkServerConnection()) { ilUtil::sendInfo($lng->txt('chat_cannot_connect_to_server')); } $form->setTitle($lng->txt('general_settings_title')); $form->addCommandButton('view-saveClientSettings', $lng->txt('save')); $form->setFormAction($ilCtrl->getFormAction($this->gui, 'view-saveClientSettings')); $settingsTpl = new ilTemplate('tpl.chatroom_serversettings.html', true, true, 'Modules/Chatroom'); $settingsTpl->setVariable('VAL_SERVERSETTINGS_FORM', $form->getHTML()); $settingsTpl->setVariable('LBL_SERVERSETTINGS_FURTHER_INFORMATION', sprintf($lng->txt('server_further_information'), ilUtil::_getHttpPath() . '/Modules/Chatroom/server/README.txt')); $tpl->setVariable('ADM_CONTENT', $settingsTpl->get()); }
/** * Performs logout. */ public function logout() { /** * @var $tree ilTree * @var $ilCtrl ilCtrl */ global $tree, $ilCtrl; /** * @todo logout user from room */ $pid = $tree->getParentId($this->gui->getRefId()); $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', $pid); $ilCtrl->redirectByClass('ilrepositorygui', ''); }
/** * Constructor * @param array $a_data * @param int $a_id * @param boolean $a_call_by_reference */ public function __construct($a_data = null, $a_id = null, $a_call_by_reference = true) { /** * @var $lng ilLanguage */ global $lng; $lng->loadLanguageModule('chatroom_adm'); if ($a_data == null) { if ($_GET['serverInquiry']) { require_once dirname(__FILE__) . '/class.ilChatroomServerHandler.php'; new ilChatroomServerHandler(); return; } } $this->type = 'chta'; parent::__construct($a_data, $a_id, $a_call_by_reference, false); }
/** * Switches to visible mode and prepares template. * * @global ilTemplate $tpl * @param string $method */ public function executeDefault($method) { global $tpl; $this->gui->switchToVisibleMode(); $tpl->setVariable('ADM_CONTENT', 'hallo welt'); }
/** * @param string $a_new_type * @return array */ protected function initCreationForms($a_new_type) { $forms = parent::initCreationForms($a_new_type); unset($forms[self::CFORM_IMPORT]); $forms[self::CFORM_NEW]->clearCommandButtons(); $forms[self::CFORM_NEW]->addCommandButton('create-save', $this->lng->txt($a_new_type . '_add')); $forms[self::CFORM_NEW]->addCommandButton('cancel', $this->lng->txt('cancel')); return $forms; }