19 declare(strict_types=1);
73 $this->main_tpl = $DIC->ui()->mainTemplate();
74 $this->
ctrl = $DIC->ctrl();
75 $this->
lng = $DIC[
"lng"];
77 $this->gui = $parent_gui;
78 $this->modes = $DIC->refinery()->to()->listOf(
79 $DIC->refinery()->kindlyTo()->string()
87 $this->
ctrl->getNextClass($this);
88 $cmd = $this->
ctrl->getCmd(
'editSettings');
100 $ilCtrl = $DIC->ctrl();
101 $lng = $DIC->language();
106 if (in_array(self::INFO_TAB_VISIBILITY, $services)) {
108 $info->setValue(
"1");
111 self::INFO_TAB_VISIBILITY
114 $info->setInfo($lng->
txt(
'obj_tool_setting_info_tab_info'));
119 if (in_array(self::CALENDAR_CONFIGURATION, $services)) {
121 if ($settings->isEnabled()) {
123 $lng->
txt(
'obj_tool_setting_calendar_active'),
124 self::CALENDAR_ACTIVATION
126 $active->setValue(
"1");
128 $active->setInfo($lng->
txt(
'obj_tool_setting_calendar_active_info'));
131 $lng->
txt(
'obj_tool_setting_calendar'),
132 self::CALENDAR_VISIBILITY
134 $visible->setValue(
"1");
136 $visible->setInfo($lng->
txt(
'obj_tool_setting_calendar_info'));
137 $active->addSubItem($visible);
144 if (in_array(self::USE_NEWS, $services)) {
146 $news->setValue(
"1");
151 $news->setChecked($checked);
152 $info = $lng->
txt(
'obj_tool_setting_use_news_info');
154 $info .=
" <a href='" . $ilCtrl->getLinkTargetByClass(
"ilcontainernewssettingsgui",
"") .
155 "'>ยป " . $lng->
txt(
'obj_tool_setting_use_news_open_settings') .
"</a>";
157 $news->setInfo(
$info);
160 if (in_array(self::NEWS_VISIBILITY, $services)) {
161 if (
$ilSetting->get(
'block_activated_news')) {
164 $news->setValue(
"1");
167 self::NEWS_VISIBILITY,
171 $news->setInfo($lng->
txt(
'obj_tool_setting_news_info'));
184 if (in_array(self::CUSTOM_METADATA, $services)) {
186 $md->setInfo($lng->
txt(
'obj_tool_setting_custom_metadata_info'));
190 self::CUSTOM_METADATA
196 if (in_array(self::TAG_CLOUD, $services)) {
198 if ($tags_active->get(
"enable")) {
200 $tag->setInfo($lng->
txt(
'obj_tool_setting_tag_cloud_info'));
211 if (in_array(self::TAXONOMIES, $services)) {
213 $tax->setInfo($lng->
txt(
'obj_tool_setting_taxonomies_info'));
223 if (in_array(self::AUTO_RATING_NEW_OBJECTS, $services)) {
228 $rate->setValue(
"1");
230 $rate->setInfo($lng->
txt(
'rating_new_objects_auto_info'));
233 self::AUTO_RATING_NEW_OBJECTS
239 if (in_array(self::BADGES, $services)) {
242 $bdg->setInfo($lng->
txt(
'obj_tool_setting_badges_info'));
251 if (in_array(self::ORGU_POSITION_ACCESS, $services)) {
256 $position_settings->isActive()
260 self::ORGU_POSITION_ACCESS
262 $lia->setInfo(
$GLOBALS[
'DIC']->
language()->txt(
'obj_orgunit_positions_info'));
267 if (!$position_settings->isChangeableForObject()) {
268 $lia->setDisabled(
true);
275 if (in_array(self::SKILLS, $services)) {
277 if ($skmg_set->get(
"enable_skmg")) {
279 $skill->setInfo($lng->
txt(
'obj_tool_setting_skills_info'));
280 $skill->setValue(
"1");
290 if (in_array(self::FILTER, $services)) {
292 $filter->setInfo($lng->
txt(
'obj_tool_setting_filter_info'));
293 $filter->setValue(
"1");
300 $filter_show_empty =
new ilCheckboxInputGUI($lng->
txt(
'obj_tool_setting_filter_empty'),
"filter_show_empty");
301 $filter_show_empty->setInfo($lng->
txt(
'obj_tool_setting_filter_empty_info'));
302 $filter_show_empty->setValue(
"1");
307 $filter->addSubItem($filter_show_empty);
310 if (in_array(self::BOOKING, $services)) {
312 $book->setInfo($lng->
txt(
'obj_tool_booking_info'));
313 $book->setValue(
"1");
321 if (in_array(self::EXTERNAL_MAIL_PREFIX, $services)) {
322 $externalMailPrefix =
new ilTextInputGUI($lng->
txt(
'obj_tool_ext_mail_subject_prefix'), self::EXTERNAL_MAIL_PREFIX);
323 $externalMailPrefix->setMaxLength(50);
324 $externalMailPrefix->setInfo($lng->
txt(
'obj_tool_ext_mail_subject_prefix_info'));
326 $form->
addItem($externalMailPrefix);
338 if (in_array(self::INFO_TAB_VISIBILITY, $services)) {
341 self::INFO_TAB_VISIBILITY,
342 $form->
getInput(self::INFO_TAB_VISIBILITY)
347 if (in_array(self::CALENDAR_CONFIGURATION, $services)) {
349 $active = $form->
getInput(self::CALENDAR_ACTIVATION);
350 $visible = $form->
getInput(self::CALENDAR_VISIBILITY);
353 self::CALENDAR_ACTIVATION,
358 self::CALENDAR_VISIBILITY,
359 $active ? $visible :
"" 364 if (in_array(self::USE_NEWS, $services)) {
367 if (in_array(self::NEWS_VISIBILITY, $services)) {
379 if (in_array(self::AUTO_RATING_NEW_OBJECTS, $services)) {
382 self::AUTO_RATING_NEW_OBJECTS,
383 $form->
getInput(self::AUTO_RATING_NEW_OBJECTS)
388 if (in_array(self::TAXONOMIES, $services)) {
393 if (in_array(self::TAG_CLOUD, $services)) {
398 if (in_array(self::CUSTOM_METADATA, $services)) {
403 if (in_array(self::BADGES, $services)) {
410 if (in_array(self::BOOKING, $services)) {
415 if (in_array(self::ORGU_POSITION_ACCESS, $services)) {
420 if ($position_settings->isActive() && $position_settings->isChangeableForObject()) {
422 $orgu_object_settings->setActive(
423 (
bool) $form->
getInput(self::ORGU_POSITION_ACCESS)
425 $orgu_object_settings->update();
430 if (in_array(self::SKILLS, $services)) {
432 if ($skmg_set->get(
"enable_skmg")) {
438 if (in_array(self::FILTER, $services)) {
443 if (in_array(self::EXTERNAL_MAIL_PREFIX, $services)) {
446 self::EXTERNAL_MAIL_PREFIX,
447 mb_substr($form->
getInput(self::EXTERNAL_MAIL_PREFIX), 0, 50)
474 $this->
ctrl->returnToParent($this);
485 $form = $this->initSettingsForm();
487 $this->main_tpl->setContent($form->getHTML());
495 return in_array($mode, $this->
getModes(),
true);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const CALENDAR_VISIBILITY
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
static lookupCalendarActivated(int $a_obj_id)
editSettings(?ilPropertyFormGUI $form=null)
Edit tool settings (calendar, news, comments, ...)
static _getAllReferences(int $id)
get all reference ids for object ID
__construct(ilObjectGUI $parent_gui, int $obj_id, array $modes)
Constructor.
loadLanguageModule(string $a_module)
Load language module.
static updateServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
const EXTERNAL_MAIL_PREFIX
isModeActive(string $mode)
Check if specific mode is active.
Class ilObjectGUI Basic methods of all Output classes.
ilGlobalTemplateInterface $main_tpl
const CALENDAR_ACTIVATION
static initServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
static importFromForm(int $a_ref_id, ?ilPropertyFormGUI $a_form=null)
static lookupCalendarContentPresentationEnabled(int $obj_id)
const AUTO_RATING_NEW_OBJECTS
static _writeContainerSetting(int $a_id, string $a_keyword, string $a_value)
const INFO_TAB_VISIBILITY
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
language()
description: > Example for rendring a language glyph.
GUI class for service settings (calendar, notes, comments)
static _lookupType(int $id, bool $reference=false)
const ORGU_POSITION_ACCESS
const CALENDAR_CONFIGURATION
getModes()
Get active modes.
static addToSettingsForm(int $a_ref_id, ?ilPropertyFormGUI $a_form=null, ?ilFormPropertyGUI $a_input=null)
Add notification settings to form.