19 declare(strict_types=1);
    43         $ilDB = $DIC->database();
    45         if (!
$ilDB->tableExists(self::$tbl_userconfig)) {
    51             $ilDB->createTable(self::$tbl_userconfig, $fields);
    52             $ilDB->addPrimaryKey(self::$tbl_userconfig, [
'usr_id', 
'module', 
'channel']);
    55         if (!
$ilDB->tableExists(self::$tbl_userlistener)) {
    62             $ilDB->createTable(self::$tbl_userlistener, $fields);
    63             $ilDB->addPrimaryKey(self::$tbl_userlistener, [
'usr_id', 
'module', 
'sender_id']);
    66         if (!
$ilDB->tableExists(self::$tbl_notification_data)) {
    71             $ilDB->createTable(self::$tbl_notification_data, $fields);
    72             $ilDB->addPrimaryKey(self::$tbl_notification_data, [
'notification_id']);
    74             $ilDB->createSequence(self::$tbl_notification_data);
    77         if (!
$ilDB->tableExists(self::$tbl_notification_queue)) {
    83             $ilDB->createTable(self::$tbl_notification_queue, $fields);
    84             $ilDB->addPrimaryKey(self::$tbl_notification_queue, [
'notification_id', 
'usr_id']);
    87         if (!
$ilDB->tableExists(self::$tbl_notification_osd_handler)) {
    96             $ilDB->createTable(self::$tbl_notification_osd_handler, $fields);
    98             $ilDB->addPrimaryKey(self::$tbl_notification_osd_handler, [
'notification_osd_id']);
   100             $ilDB->createSequence(self::$tbl_notification_osd_handler);
   103         if (!
$ilDB->tableExists(self::$tbl_notification_channels)) {
   112             $ilDB->createTable(self::$tbl_notification_channels, $fields);
   114             $ilDB->addPrimaryKey(self::$tbl_notification_channels, [
'channel_name']);
   116             self::registerChannel(
   121                 'ilNotificationMailHandler',
   122                 'components/ILIAS/Notifications/classes/class.ilNotificationMailHandler.php'   124             self::registerChannel(
   129                 'ilNotificationOSDHandler',
   130                 'components/ILIAS/Notifications/classes/class.ilNotificationOSDHandler.php'   134         if (!
$ilDB->tableExists(self::$tbl_notification_types)) {
   142             $ilDB->createTable(self::$tbl_notification_types, $fields);
   143             $ilDB->addPrimaryKey(self::$tbl_notification_types, [
'type_name']);
   145             self::registerType(
$ilDB, 
'chat_invitation', 
'chat_invitation', 
'chat_invitation_description', 
'chat');
   146             self::registerType(
$ilDB, 
'osd_maint', 
'osd_maint', 
'osd_maint_description', 
'osd_notification');
   157         string $config_type = 
'set_by_user'   175         string $notification_group,
   176         string $config_type = 
'set_by_user' static string $tbl_userconfig
 
static string $tbl_notification_data
 
static registerChannel(ilDBInterface $db, string $name, string $title, string $description, string $class, string $classfile, string $config_type='set_by_user')
 
static string $tbl_userlistener
 
static registerType(ilDBInterface $db, string $name, string $title, string $description, string $notification_group, string $config_type)
 
static registerChannel(ilDBInterface $db, string $name, string $title, string $description, string $class, string $classfile, string $config_type)
 
static string $tbl_notification_channels
 
static string $tbl_notification_osd_handler
 
static registerType(ilDBInterface $db, string $name, string $title, string $description, string $notification_group, string $config_type='set_by_user')
 
static string $tbl_notification_types
 
static string $tbl_notification_queue