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');