4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
5 require_once
"./Services/Notifications/classes/class.ilObjNotificationAdmin.php";
6 require_once
"./Services/Notifications/classes/class.ilObjNotificationAdminAccess.php";
25 function __construct($a_data,$a_id,$a_call_by_reference =
true, $a_prepare_output =
true) {
27 $this->
ilObjectGUI($a_data,$a_id,$a_call_by_reference,
false);
28 $this->lng->loadLanguageModule(
'notification');
40 $next_class = $this->ctrl->getNextClass($this);
41 $cmd = $this->ctrl->getCmd();
47 case 'ilpermissiongui':
49 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
51 $ret =& $this->ctrl->forwardCommand($perm_gui);
56 $ilTabs->activateTab(
"view");
77 require_once
'Services/Notifications/classes/class.ilObjNotificationAdmin.php';
79 $fileObj->setTitle(
'notification admin');
81 $fileObj->createReference();
82 $fileObj->putInTree(SYSTEM_FOLDER_ID);
88 global $ilAccess, $ilTabs,
$lng;
90 $this->ctrl->setParameter($this,
"ref_id",$this->ref_id);
92 if ($ilAccess->checkAccess(
"visible",
"", $this->ref_id))
94 $ilTabs->addTab(
"id_info",
95 $lng->txt(
"info_short"),
96 $this->ctrl->getLinkTargetByClass(array(
"ilobjfilegui",
"ilinfoscreengui"),
"showSummary"));
99 if ($ilAccess->checkAccess(
"edit_permission",
"", $this->ref_id))
101 $ilTabs->addTab(
"id_permissions",
102 $lng->txt(
"perm_settings"),
103 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"));
111 $ilTabs->addSubTabTarget(
"notification_general", $this->ctrl->getLinkTargetByClass(
'ilObjNotificationAdminGUI',
"showGeneralSettings"));
113 $ilTabs->addSubTabTarget(
"notification_admin_types", $this->ctrl->getLinkTargetByClass(
'ilObjNotificationAdminGUI',
"showTypes"));
114 $ilTabs->addSubTabTarget(
"notification_admin_matrix", $this->ctrl->getLinkTargetByClass(
'ilObjNotificationAdminGUI',
"showConfigMatrix"));
121 if (is_object($this->
object)) {
122 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
""),
"",
$_GET[
"ref_id"]);
127 require_once
'Services/Notifications/classes/class.ilNotificationAdminSettingsForm.php';
131 $settings =
new ilSetting(
'notifications');
139 $form->setValuesByArray(array_merge($settings->getAll(), $form->restored_values));
142 $form->setFormAction($this->ctrl->getFormAction($this,
'saveGeneralSettings'));
143 $form->addCommandButton(
'saveGeneralSettings',
'save');
144 $form->addCommandButton(
'showGeneralSettings',
'cancel');
146 $this->tpl->setContent($form->getHtml());
150 require_once
'Services/Notifications/classes/class.ilNotificationAdminSettingsForm.php';
151 #require_once 'Services/Administration/classes/class.ilSetting.php';
153 $settings =
new ilSetting(
'notifications');
156 $form->setValuesByPost();
157 if (!$form->checkInput()) {
167 $values = $form->store_values;
170 foreach($values as $v) {
171 $settings->set($v,
$_POST[$v]);
174 foreach(
$_REQUEST[
'notifications'] as $type => $value) {
186 $ilTabs->activateSubTab(
'notification_admin_types');
188 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
189 require_once
'Services/Notifications/classes/class.ilNotificationAdminSettingsForm.php';
192 $form->setFormAction($this->ctrl->getFormAction($this,
'showTypes'));
193 $form->addCommandButton(
'saveTypes', $this->lng->txt(
'save'));
194 $form->addCommandButton(
'showTypes', $this->lng->txt(
'cancel'));
195 $this->tpl->setContent($form->getHtml());
202 $ilTabs->activateSubTab(
'notification_admin_channels');
204 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
205 require_once
'Services/Notifications/classes/class.ilNotificationAdminSettingsForm.php';
208 $form->setFormAction($this->ctrl->getFormAction($this,
'showChannels'));
209 $form->addCommandButton(
'saveChannels', $this->lng->txt(
'save'));
210 $form->addCommandButton(
'showChannels', $this->lng->txt(
'cancel'));
211 $this->tpl->setContent($form->getHtml());
216 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
217 foreach(
$_REQUEST[
'notifications'] as $type => $value) {
224 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
225 foreach(
$_REQUEST[
'notifications'] as $type => $value) {
234 $ilTabs->activateSubTab(
'notification_admin_matrix');
236 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
237 require_once
'Services/Notifications/classes/class.ilNotificationSettingsTable.php';
244 $table->setFormAction($ilCtrl->getFormAction($this,
'saveConfigMatrix'));
246 $table->setDescription($lng->txt(
'notification_admin_matrix_settings_table_desc'));
247 $table->addCommandButton(
'saveConfigMatrix', $lng->txt(
'save'));
248 $table->addCommandButton(
'showConfigMatrix', $lng->txt(
'cancel'));
250 $this->tpl->setContent($table->getHtml());
255 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';