4 require_once
'Modules/Chatroom/classes/class.ilChatroom.php';
5 require_once
'Modules/Chatroom/classes/class.ilChatroomFormFactory.php';
6 require_once
'Modules/Chatroom/classes/class.ilChatroomAdmin.php';
7 require_once
'Modules/Chatroom/classes/class.ilChatroomConfigFileHandler.php';
39 $this->commonSettings =
new ilSetting(
'common');
40 $this->ilTpl = $DIC->ui()->mainTemplate();
59 $form =
$factory->getGeneralSettingsForm();
61 if (!$form->checkInput()) {
62 $form->setValuesByPost();
68 'protocol' => $form->getInput(
'protocol'),
69 'port' => $form->getInput(
'port'),
70 'address' => $form->getInput(
'address'),
71 'cert' => $form->getInput(
'cert'),
72 'key' => $form->getInput(
'key'),
73 'dhparam' => $form->getInput(
'dhparam'),
74 'log' => $form->getInput(
'log'),
75 'error_log' => $form->getInput(
'error_log'),
76 'log_level' => $form->getInput(
'log_level'),
77 'ilias_proxy' => $form->getInput(
'ilias_proxy'),
78 'ilias_url' => $form->getInput(
'ilias_url'),
79 'client_proxy' => $form->getInput(
'client_proxy'),
80 'client_url' => $form->getInput(
'client_url'),
81 'sub_directory' => $form->getInput(
'sub_directory'),
82 'deletion_mode' => $form->getInput(
'deletion_mode'),
83 'deletion_unit' => $form->getInput(
'deletion_unit'),
84 'deletion_value' => $form->getInput(
'deletion_value'),
85 'deletion_time' => $form->getInput(
'deletion_time'),
92 $fileHandler->createServerConfigFile($settings);
94 ilUtil::sendSuccess($this->ilLng->txt(
'settings_has_been_saved'),
true);
107 $this->gui->switchToVisibleMode();
112 if ($form === null) {
114 $form =
$factory->getGeneralSettingsForm();
115 $form->setValuesByArray($serverSettings);
120 $form->setTitle($this->ilLng->txt(
'chatserver_settings_title'));
122 $form->addCommandButton(
'view-saveSettings', $this->ilLng->txt(
'save'));
127 $this->ilTpl->setVariable(
'ADM_CONTENT', $settingsTpl->get());
135 $chatSettings =
new ilSetting(
'chatroom');
136 if ($chatSettings->get(
'chat_enabled',
false)) {
169 require_once
'Modules/Chatroom/classes/class.ilChatroomInstaller.php';
170 ilChatroomInstaller::ensureCorrectPublicChatroomTreeLocation($ref_id);
178 require_once
'Modules/Chatroom/classes/class.ilChatroomInstaller.php';
179 ilChatroomInstaller::createDefaultPublicRoom(
true);
180 ilUtil::sendSuccess($this->ilLng->txt(
'public_chat_created'),
true);
189 require_once
'Modules/Chatroom/classes/class.ilChatroomServerConnector.php';
192 $serverSettings[
'port'] &&
193 $serverSettings[
'address'] &&
206 $furtherInformation = sprintf($this->ilLng->txt(
'server_further_information'), $this->
getReadmePath());
207 $serverTpl =
new ilTemplate(
'tpl.chatroom_serversettings.html',
true,
true,
'Modules/Chatroom');
208 $serverTpl->setVariable(
'VAL_SERVERSETTINGS_FORM', $form->
getHTML());
209 $serverTpl->setVariable(
'LBL_SERVERSETTINGS_FURTHER_INFORMATION', $furtherInformation);
231 $form =
$factory->getClientSettingsForm();
233 if (!$form->checkInput()) {
234 $form->setValuesByPost();
239 $convIdleStateTime = max(1, (
int) (
int) $form->getInput(
'conversation_idle_state_in_minutes'));
242 'name' => (
string) $form->getInput(
'client_name'),
243 'enable_osd' => (boolean) $form->getInput(
'enable_osd'),
244 'enable_osc' => (boolean) $form->getInput(
'enable_osc'),
245 'enable_browser_notifications' => (boolean) $form->getInput(
'enable_browser_notifications'),
246 'conversation_idle_state_in_minutes' => $convIdleStateTime,
247 'osd_intervall' => (int) $form->getInput(
'osd_intervall'),
248 'chat_enabled' => ((boolean) $form->getInput(
'chat_enabled')),
249 'enable_smilies' => (
boolean) $form->getInput(
'enable_smilies'),
250 'play_invitation_sound' => (boolean) $form->getInput(
'play_invitation_sound'),
251 'auth' => $form->getInput(
'auth')
254 if (!$settings[
'chat_enabled']) {
255 $settings[
'enable_osc'] =
false;
258 $notificationSettings =
new ilSetting(
'notifications');
259 $notificationSettings->set(
'osd_polling_intervall', (
int) $form->getInput(
'osd_intervall'));
260 $notificationSettings->set(
'enable_osd', (
boolean) $form->getInput(
'enable_osd'));
262 $chatSettings =
new ilSetting(
'chatroom');
263 $chatSettings->set(
'chat_enabled', $settings[
'chat_enabled']);
264 $chatSettings->set(
'enable_browser_notifications', $settings[
'enable_browser_notifications']);
265 $chatSettings->set(
'conversation_idle_state_in_minutes', $convIdleStateTime);
266 $chatSettings->set(
'enable_osc', $settings[
'enable_osc']);
267 $chatSettings->set(
'play_invitation_sound', (
boolean) $form->getInput(
'play_invitation_sound'));
273 $fileHandler->createClientConfigFile($settings);
275 ilUtil::sendSuccess($this->ilLng->txt(
'settings_has_been_saved'),
true);
287 $this->gui->switchToVisibleMode();
292 if ($form === null) {
293 $clientSettings = $adminSettings->loadClientSettings();
295 $form =
$factory->getClientSettingsForm();
296 $form->setValuesByArray($clientSettings);
301 $form->setTitle($this->ilLng->txt(
'general_settings_title'));
303 $form->addCommandButton(
'view-saveClientSettings', $this->ilLng->txt(
'save'));
308 $this->ilTpl->setVariable(
'ADM_CONTENT', $settingsTpl->get());
Class ilChatroomAdminViewGUI.
This class provides processing control methods.
static _hasUntrashedReference($a_obj_id)
checks wether an object has at least one reference that is not in trash
createPublicRoom()
Creates a public chatroom.
saveGeneralSettings(stdClass $settings)
Saves given $settings into settingsTable.
saveClientSettings()
Saves client settings fetched from $_POST.
checkServerConnection(array $serverSettings)
Checks for server connection.
redirectIfNoPermission($permission)
Checks for requested permissions and redirects if the permission check failed.
executeDefault($method)
{}
clientsettings(ilPropertyFormGUI $form=null)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
getFormAction( $a_gui_obj, $a_fallback_cmd="", $a_anchor="", $a_asynch=false, $xml_style=false)
Get form action url for gui class object.
static checkUserPermissions($permissions, $ref_id, $send_info=true)
Checks user permissions by given array and ref_id.
Class ilChatroomGUIHandler.
static checkServerConnection($use_cache=true)
static _lookupObjId($a_id)
loadGeneralSettings()
Returns an array containing server settings from settingsTable.
getReadmePath()
Get the path to the README.txt file.
const CHATROOM_README_PATH
serversettings(ilPropertyFormGUI $form=null)
Prepares view form and displays it.
__construct(Container $dic, ilPlugin $plugin)
__construct(ilChatroomObjectGUI $gui)
Constructor.
saveClientSettings(stdClass $settings)
Saves given client $settings into settingsTable.
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
saveSettings()
Saves settings fetched from $_POST.
createSettingTemplate(ilPropertyFormGUI $form)
redirect($a_gui_obj, $a_cmd="", $a_anchor="", $a_asynch=false)
Redirect to another command.