4 require_once
'./Services/Object/classes/class.ilObjectGUI.php';
5 require_once
'Services/Notifications/classes/class.ilNotificationConfig.php';
6 require_once
'Services/Notifications/classes/class.ilNotificationHandler.php';
83 require_once
'Services/Notifications/classes/class.ilNotificationSetupHelper.php';
93 if (!$this->controller->getCmd()) {
97 $cmd = $this->controller->getCmd() .
'Object';
103 return $this->handler[
$type];
127 if ($this->
user->getId() == ANONYMOUS_USER_ID) {
131 require_once
'Services/Notifications/classes/class.ilNotificationEchoHandler.php';
132 require_once
'Services/Notifications/classes/class.ilNotificationOSDHandler.php';
135 $this->
user->getId(),
137 (int) $_REQUEST[
'max_age']
141 $result->notifications = $notifications;
151 require_once
'Services/Notifications/classes/class.ilNotificationEchoHandler.php';
152 require_once
'Services/Notifications/classes/class.ilNotificationOSDHandler.php';
161 if (!array_key_exists($channel, $this->handler) || !is_array($this->handler[$channel])) {
162 $this->handler[$channel] = array();
165 $this->handler[$channel][] =
$handler;
170 if (
$_POST[
'enable_custom_notification_configuration']) {
171 $this->
user->writePref(
'use_custom_notification_setting', 1);
173 $this->
user->writePref(
'use_custom_notification_setting', 0);
181 require_once
'Services/Notifications/classes/class.ilNotificationSettingsTable.php';
182 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
186 $this->
language->loadLanguageModule(
'notification');
188 require_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
190 $chk =
new ilCheckboxInputGUI($this->
language->txt(
'enable_custom_notification_configuration'),
'enable_custom_notification_configuration');
192 $chk->setChecked($this->
user->getPref(
'use_custom_notification_setting') == 1);
193 $form->addItem($chk);
195 $form->setFormAction($this->controller->getFormAction($this,
'showSettingsObject'));
196 $form->addCommandButton(
'saveCustomizingOption', $this->
language->txt(
'save'));
197 $form->addCommandButton(
'showSettings', $this->
language->txt(
'cancel'));
201 $table->setFormAction($this->controller->getFormAction($this,
'saveSettings'));
204 if ($this->
user->getPref(
'use_custom_notification_setting') == 1) {
205 $table->addCommandButton(
'saveSettings', $this->
language->txt(
'save'));
206 $table->addCommandButton(
'showSettings', $this->
language->txt(
'cancel'));
207 $table->setEditable(
true);
209 $table->setEditable(
false);
212 $this->
template->setContent(
$form->getHtml() .
$table->getHTML());
217 if (is_object($this->
object)) {
218 $this->locatorGUI->addItem(
219 $this->object->getTitle(),
220 $this->controller->getLinkTarget($this,
''),
229 require_once
'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
232 $this->
user->getId(),
233 $_REQUEST[
'notification'] ? $_REQUEST[
'notification'] : array()
getOSDNotificationsObject()
Returns the pending on screen notifications for a user request.
static enableWebAccessWithoutSession($enable_web_access_without_session)
static removeNotification($notification_osd_id)
Removes a notifcation and triggers a follow up notification to remove the notification from the brows...
This class provides processing control methods.
Base class for notification handlers.
getAvailableChannels($types=array())
__construct(\ilUser $user=null, \ilTemplate $template=null, \ilCtrl $controller=null, \ilLanguage $language=null, \ilLocatorGUI $locatorGUI=null, \ILIAS\DI\Container $dic=null)
public
removeOSDNotificationsObject()
if(isset($_POST['submit'])) $form
special template class to simplify handling of ITX/PEAR
addHandler($channel, ilNotificationHandler $handler)
static getNotificationsForUser($user_id, $append_osd_id_to_link=true, $max_age_seconds=0)
static getAvailableTypes($config_types=array())
static setUserConfig($userid, array $configArray)
Sets the configuration for all given configurations.
saveCustomizingOptionObject()
static getAvailableChannels($config_types=array(), $includeDisabled=false)
if(empty($password)) $table
static loadUserConfig($userid)
getAvailableTypes($types=array())