52 public function __construct($a_parent_gui, $a_obj_id, $a_modes)
56 $this->ctrl = $DIC->ctrl();
57 $this->gui = $a_parent_gui;
58 $this->modes = $a_modes;
59 $this->obj_id = $a_obj_id;
72 $next_class = $ilCtrl->getNextClass($this);
73 $cmd = $ilCtrl->getCmd(
'editSettings');
75 switch ($next_class) {
92 $ilCtrl = $DIC->ctrl();
93 $lng = $DIC->language();
95 $lng->loadLanguageModule(
"obj");
98 if (in_array(self::INFO_TAB_VISIBILITY, $services)) {
103 self::INFO_TAB_VISIBILITY,
107 $info->setInfo(
$lng->txt(
'obj_tool_setting_info_tab_info'));
112 if (in_array(self::CALENDAR_CONFIGURATION, $services)) {
114 if ($settings->isEnabled()) {
116 $lng->txt(
'obj_tool_setting_calendar_active'),
117 self::CALENDAR_ACTIVATION
121 $active->setInfo(
$lng->txt(
'obj_tool_setting_calendar_active_info'));
124 $lng->txt(
'obj_tool_setting_calendar'),
125 self::CALENDAR_VISIBILITY
129 $visible->setInfo(
$lng->txt(
'obj_tool_setting_calendar_info'));
130 $active->addSubItem($visible);
137 if (in_array(self::USE_NEWS, $services)) {
145 $news->setChecked($checked);
146 $info =
$lng->txt(
'obj_tool_setting_use_news_info');
148 $info .=
" <a href='" . $ilCtrl->getLinkTargetByClass(
"ilcontainernewssettingsgui",
"") .
149 "'>ยป " .
$lng->txt(
'obj_tool_setting_use_news_open_settings') .
"</a>";
151 $news->setInfo($info);
154 if (in_array(self::NEWS_VISIBILITY, $services)) {
155 if (
$ilSetting->get(
'block_activated_news')) {
161 self::NEWS_VISIBILITY,
165 $news->setInfo(
$lng->txt(
'obj_tool_setting_news_info'));
171 include_once
'Services/Membership/classes/class.ilMembershipNotifications.php';
178 if (in_array(self::CUSTOM_METADATA, $services)) {
180 $md->
setInfo(
$lng->txt(
'obj_tool_setting_custom_metadata_info'));
184 self::CUSTOM_METADATA,
191 if (in_array(self::TAG_CLOUD, $services)) {
193 if ($tags_active->get(
"enable",
false)) {
195 $tag->
setInfo(
$lng->txt(
'obj_tool_setting_tag_cloud_info'));
207 if (in_array(self::TAXONOMIES, $services)) {
219 if (in_array(self::AUTO_RATING_NEW_OBJECTS, $services)) {
220 $lng->loadLanguageModule(
"rating");
226 $rate->setInfo(
$lng->txt(
'rating_new_objects_auto_info'));
229 self::AUTO_RATING_NEW_OBJECTS,
236 if (in_array(self::BADGES, $services)) {
237 include_once
'Services/Badge/classes/class.ilBadgeHandler.php';
240 $bdg->
setInfo(
$lng->txt(
'obj_tool_setting_badges_info'));
250 if (in_array(self::ORGU_POSITION_ACCESS, $services)) {
255 $position_settings->isActive()
259 self::ORGU_POSITION_ACCESS
261 $lia->setInfo(
$GLOBALS[
'DIC']->
language()->txt(
'obj_orgunit_positions_info'));
266 if (!$position_settings->isChangeableForObject()) {
267 $lia->setDisabled(
true);
274 if (in_array(self::SKILLS, $services)) {
276 if ($skmg_set->get(
"enable_skmg")) {
278 $skill->
setInfo(
$lng->txt(
'obj_tool_setting_skills_info'));
290 if (in_array(self::FILTER, $services)) {
292 $filter->
setInfo(
$lng->txt(
'obj_tool_setting_filter_info'));
293 $filter->setValue(1);
301 $filter_show_empty =
new ilCheckboxInputGUI(
$lng->txt(
'obj_tool_setting_filter_empty'),
"filter_show_empty");
302 $filter_show_empty->
setInfo(
$lng->txt(
'obj_tool_setting_filter_empty_info'));
303 $filter_show_empty->setValue(1);
309 $filter->addSubItem($filter_show_empty);
312 if (in_array(self::BOOKING, $services)) {
314 $book->
setInfo(
$lng->txt(
'obj_tool_booking_info'));
324 if (in_array(self::EXTERNAL_MAIL_PREFIX, $services)) {
325 $externalMailPrefix =
new ilTextInputGUI(
$lng->txt(
'obj_tool_ext_mail_subject_prefix'), self::EXTERNAL_MAIL_PREFIX);
326 $externalMailPrefix->setMaxLength(255);
327 $externalMailPrefix->setInfo(
$lng->txt(
'obj_tool_ext_mail_subject_prefix_info'));
329 $form->
addItem($externalMailPrefix);
348 if (in_array(self::INFO_TAB_VISIBILITY, $services)) {
349 include_once
'./Services/Container/classes/class.ilContainer.php';
354 if (in_array(self::CALENDAR_CONFIGURATION, $services)) {
356 $active = (int) $form->
getInput(self::CALENDAR_ACTIVATION);
357 $visible = (int) $form->
getInput(self::CALENDAR_VISIBILITY);
360 self::CALENDAR_ACTIVATION,
365 self::CALENDAR_VISIBILITY,
366 $active ? $visible : 0
371 if (in_array(self::USE_NEWS, $services)) {
372 include_once
'./Services/Container/classes/class.ilContainer.php';
375 if (in_array(self::NEWS_VISIBILITY, $services)) {
376 include_once
'./Services/Container/classes/class.ilContainer.php';
382 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
388 if (in_array(self::AUTO_RATING_NEW_OBJECTS, $services)) {
389 include_once
'./Services/Container/classes/class.ilContainer.php';
394 if (in_array(self::TAXONOMIES, $services)) {
395 include_once
'./Services/Container/classes/class.ilContainer.php';
400 if (in_array(self::TAG_CLOUD, $services)) {
401 include_once
'./Services/Container/classes/class.ilContainer.php';
406 if (in_array(self::CUSTOM_METADATA, $services)) {
407 include_once
'./Services/Container/classes/class.ilContainer.php';
412 if (in_array(self::BADGES, $services)) {
413 include_once
'Services/Badge/classes/class.ilBadgeHandler.php';
415 include_once
'./Services/Container/classes/class.ilContainer.php';
421 if (in_array(self::BOOKING, $services)) {
422 include_once
'./Services/Container/classes/class.ilContainer.php';
427 if (in_array(self::ORGU_POSITION_ACCESS, $services)) {
432 if ($position_settings->isActive() && $position_settings->isChangeableForObject()) {
434 $orgu_object_settings->setActive(
435 (
int) $form->
getInput(self::ORGU_POSITION_ACCESS)
437 $orgu_object_settings->update();
442 if (in_array(self::SKILLS, $services)) {
444 if ($skmg_set->get(
"enable_skmg")) {
445 include_once
'./Services/Container/classes/class.ilContainer.php';
451 if (in_array(self::FILTER, $services)) {
452 include_once
'./Services/Container/classes/class.ilContainer.php';
457 if (in_array(self::EXTERNAL_MAIL_PREFIX, $services)) {
486 $ilCtrl->returnToParent($this);
497 $tpl = $DIC->ui()->mainTemplate();
500 $form = $this->initSettingsForm();
502 $tpl->setContent($form->getHTML());
513 $lng = $DIC->language();
516 $form = $this->initSettingsForm();
517 if ($form->checkInput()) {
518 include_once
'./Services/Calendar/classes/class.ilCalendarSettings.php';
524 ilUtil::sendSuccess(
$lng->txt(
'settings_saved'),
true);
525 $ctrl->redirect($this);
529 $form->setValuesByPost();
540 return in_array($a_mode, $this->
getModes());
static _getInstance()
get singleton instance
Stores object activation status of orgunit position settings.
executeCommand()
Control class handling.
const CALENDAR_VISIBILITY
isModeActive($a_mode)
Check if specific mode is active.
static lookupCalendarActivated($a_obj_id)
updateToolSettings()
Update settings.
static _getAllReferences($a_id)
get all reference ids of object
static getInstance()
Get instance.
const EXTERNAL_MAIL_PREFIX
__construct($a_parent_gui, $a_obj_id, $a_modes)
Constructor.
static addToSettingsForm($a_ref_id, ilPropertyFormGUI $a_form=null, ilFormPropertyGUI $a_input=null)
Add notification settings to form.
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
const CALENDAR_ACTIVATION
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
static lookupCalendarContentPresentationEnabled(int $obj_id)
static _lookupType($a_id, $a_reference=false)
lookup object type
const AUTO_RATING_NEW_OBJECTS
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
const INFO_TAB_VISIBILITY
static _writeContainerSetting($a_id, $a_keyword, $a_value)
editSettings(ilPropertyFormGUI $form=null)
Edit tool settings (calendar, news, comments, ...)
GUI class for service settings (calendar, notes, comments)
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
const ORGU_POSITION_ACCESS
static importFromForm($a_ref_id, ilPropertyFormGUI $a_form=null)
Import notification settings from form.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
const CALENDAR_CONFIGURATION
getModes()
Get active modes.
static getInstance()
Constructor.