191 : void
192 {
193 $mt = $this->gui->ui()->mainTemplate();
195 $ctrl = $this->gui->ctrl();
196 $lng = $this->domain->lng();
197
198 $old_settings = $this->domain->mediacastSettings()->getById($this->obj_id);
199
200 if ($form->isValid()) {
201
202 $form->saveStdTitleAndDescription($this->obj_id, "mcst");
203 $form->saveStdTile($this->obj_id, "mcst");
204 $form->saveOnline($this->obj_id, "mcst");
205
206 $settings = $this->data->settings(
207 $this->obj_id,
208 (bool) $form->getData("public_files"),
209 (bool) $form->getData("downloadable"),
210 (int) $form->getData("defaultaccess"),
211 (int) $form->getData("order"),
212 (string) $form->getData("viewmode"),
213 (int) $form->getData("nr_videos"),
215 );
216 $this->domain->mediacastSettings()->update($settings);
217
218 if (!$this->global_settings->get('disable_comments')) {
219 $this->domain->notes()->activateComments(
220 $this->obj_id,
221 $form->getData("comments")
222 );
223 }
224
225 $news_set = new \ilSetting("news");
226 $enable_internal_rss = $news_set->get("enable_rss_for_internal");
227
228 if ($enable_internal_rss) {
230 "news",
231 "public_feed",
232 (string) $form->getData("extra_feed"),
233 0,
234 $this->obj_id
235 );
236
238 "news",
239 "keep_rss_min",
240 (string) $form->getData("keep_rss_min"),
241 0,
242 $this->obj_id
243 );
244 }
245
246 $mt->setOnScreenMessage(
"success",
$lng->txt(
"msg_obj_modified"),
true);
247 $ctrl->redirectByClass(self::class, "edit");
248 } else {
249 $mt = $this->gui->ui()->mainTemplate();
250 $mt->setContent($form->render());
251 }
252 }
static _write(string $a_type, string $a_setting, string $a_value, int $a_user=0, int $a_block_id=0)
Write setting to database.