19 declare(strict_types=1);
29 public function saveGeneral():
void 32 $settingsForm = $formFactory->getSettingsForm($this->obj_service, $this->gui->getObject());
34 if (!$settingsForm->checkInput()) {
35 $settingsForm->setValuesByPost();
38 $this->gui->getObject()->setTitle($settingsForm->getInput(
'title'));
39 $this->gui->getObject()->setDescription($settingsForm->getInput(
'desc'));
42 $period = $settingsForm->getItemByPostVar(
'access_period');
43 if ($period->getStart() && $period->getEnd()) {
45 $this->gui->getObject()->setAccessBegin($period->getStart()->get(
IL_CAL_UNIX));
46 $this->gui->getObject()->setAccessEnd($period->getEnd()->get(
IL_CAL_UNIX));
47 $this->gui->getObject()->setAccessVisibility((
int) $settingsForm->getInput(
'access_visibility'));
52 $this->gui->getObject()->update();
53 $this->obj_service->commonSettings()->legacyForm($settingsForm, $this->gui->getObject())->saveTileImage();
56 $requestSettings = $room->getSettings();
59 $requestSettings[
'object_id'] = $this->gui->getObject()->getId();
62 foreach ($requestSettings as $setting => &$value) {
63 if ($settingsForm->getItemByPostVar($setting) !== null) {
64 $value = $settingsForm->getInput($setting);
68 $room->saveSettings($requestSettings);
70 $this->mainTpl->setOnScreenMessage(
'success', $this->ilLng->txt(
'saved_successfully'),
true);
71 $this->
ilCtrl->redirect($this->gui,
'settings-general');
79 $this->
ilCtrl->redirectByClass(ilRepositoryGUI::class);
82 $chatSettings =
new ilSetting(
'chatroom');
83 if (!$chatSettings->get(
'chat_enabled',
'0')) {
84 $this->mainTpl->setOnScreenMessage(
'info', $this->ilLng->txt(
'server_disabled'),
true);
87 $this->gui->switchToVisibleMode();
94 $settingsForm = $formFactory->getSettingsForm($this->obj_service, $this->gui->getObject());
97 'title' => $this->gui->getObject()->getTitle(),
98 'desc' => $this->gui->getObject()->getDescription(),
100 'start' => $this->gui->getObject()->getAccessBegin() ? (
new ilDateTime(
101 $this->gui->getObject()->getAccessBegin(),
104 'end' => $this->gui->getObject()->getAccessEnd() ? (
new ilDateTime(
105 $this->gui->getObject()->getAccessEnd(),
109 'access_visibility' => (bool) $this->gui->getObject()->getAccessVisibility()
115 array_merge(
$settings, $room->getSettings())
122 $settingsForm->setTitle($this->ilLng->txt(
'settings_title'));
123 $settingsForm->addCommandButton(
'settings-saveGeneral', $this->ilLng->txt(
'save'));
124 $settingsForm->setFormAction($this->
ilCtrl->getFormAction($this->gui,
'settings-saveGeneral'));
126 $this->mainTpl->setVariable(
'ADM_CONTENT', $settingsForm->getHTML());
static checkUserPermissions($permissions, int $ref_id, bool $send_info=true)
Checks user permissions by given array and ref_id.
Class ilChatroomSettingsGUI.
executeDefault(string $requestedMethod)
const TIMINGS_DEACTIVATED
Class ilChatroomGUIHandler.
general(ilPropertyFormGUI $settingsForm=null)
static byObjectId(int $object_id)