4require_once 
'./Services/Object/classes/class.ilObjectGUI.php';
 
    5require_once 
'Services/Notifications/classes/class.ilNotificationConfig.php';
 
    6require_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];
 
  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()
 
An exception for terminatinating execution or to throw for unit testing.
This class provides processing control methods.
static getAvailableChannels($config_types=array(), $includeDisabled=false)
static loadUserConfig($userid)
static getAvailableTypes($config_types=array())
static setUserConfig($userid, array $configArray)
Sets the configuration for all given configurations.
getOSDNotificationsObject()
Returns the pending on screen notifications for a user request.
removeOSDNotificationsObject()
getAvailableTypes($types=array())
addHandler($channel, ilNotificationHandler $handler)
getAvailableChannels($types=array())
saveCustomizingOptionObject()
__construct(\ilUser $user=null, \ilTemplate $template=null, \ilCtrl $controller=null, \ilLanguage $language=null, \ilLocatorGUI $locatorGUI=null, \ILIAS\DI\Container $dic=null)
@access public
Base class for notification handlers.
static removeNotification($notification_osd_id)
Removes a notifcation and triggers a follow up notification to remove the notification from the brows...
static getNotificationsForUser($user_id, $append_osd_id_to_link=true, $max_age_seconds=0)
static enableWebAccessWithoutSession($enable_web_access_without_session)
special template class to simplify handling of ITX/PEAR
Class ChatMainBarProvider \MainMenu\Provider.