19 declare(strict_types=1);
33 $settingsForm = $formFactory->getSettingsForm(
38 $result = (new \ILIAS\Data\Factory())->error($this->ilLng->txt(
'form_input_not_valid'));
39 if ($this->
http->request()->getMethod() ===
'POST') {
40 $settingsForm = $settingsForm->withRequest($this->
http->request());
41 $result = $settingsForm->getInputGroup()->getContent();
44 if (!$result->isOK()) {
45 $this->mainTpl->setOnScreenMessage(
'failure', $result->error());
50 $values = $result->value();
52 $this->gui->getObject()->getObjectProperties()->storePropertyTitleAndDescription(
55 $this->gui->getObject()->getObjectProperties()->storePropertyIsOnline(
58 $this->gui->getObject()->getObjectProperties()->storePropertyTileImage(
63 $mutated_settings = $room->getSettings();
66 $mutated_settings[
'object_id'] = $this->gui->getObject()->getId();
69 foreach ($mutated_settings as $setting => &$value) {
71 $value = is_array($values[$setting] ?? null);
74 } elseif (array_key_exists($setting, $values)) {
75 $value = $values[$setting];
80 $room->saveSettings($mutated_settings);
82 $this->mainTpl->setOnScreenMessage(
'success', $this->ilLng->txt(
'saved_successfully'),
true);
83 $this->
ilCtrl->redirect($this->gui,
'settings-general');
90 $this->
ilCtrl->redirectByClass(ilRepositoryGUI::class);
93 $chatSettings =
new ilSetting(
'chatroom');
94 if (!$chatSettings->get(
'chat_enabled',
'0')) {
95 $this->mainTpl->setOnScreenMessage(
'info', $this->ilLng->txt(
'server_disabled'),
true);
98 $this->gui->switchToVisibleMode();
104 if ($settingsForm === null) {
106 'title' => $this->gui->getObject()->getTitle(),
107 'desc' => $this->gui->getObject()->getDescription(),
113 $settingsForm = $formFactory->getSettingsForm(
120 $this->mainTpl->setVariable(
'ADM_CONTENT', $this->uiRenderer->render($settingsForm));
static checkUserPermissions($permissions, int $ref_id, bool $send_info=true)
Checks user permissions by given array and ref_id.
Class ilChatroomSettingsGUI.
Class ChatMainBarProvider .
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
executeDefault(string $requestedMethod)
static http()
Fetches the global http state from ILIAS.
Class ilChatroomGUIHandler.
general(\ILIAS\UI\Component\Input\Container\Form\Form $settingsForm=null)
static byObjectId(int $object_id)