{
global $ilDB;
if (!$ilDB->tableExists(self::$tbl_userconfig)) {
$fields = array(
'usr_id' => array('type' => 'integer', 'notnull' => true, 'length' => 4),
'module' => array('type' => 'text' , 'notnull' => true, 'length' => 100),
'channel' => array('type' => 'text' , 'notnull' => true, 'length' => 100),
);
$ilDB->createTable(self::$tbl_userconfig, $fields);
$ilDB->addPrimaryKey(self::$tbl_userconfig, array('usr_id', 'module', 'channel'));
}
if (!$ilDB->tableExists(self::$tbl_userlistener)) {
$fields = array(
'usr_id' => array('type' => 'integer', 'notnull' => true, 'length' => 4),
'module' => array('type' => 'text' , 'notnull' => true, 'length' => 100),
'sender_id' => array('type' => 'integer', 'notnull' => true, 'length' => 4),
'disabled' => array('type' => 'integer', 'notnull' => true, 'length' => 1),
);
$ilDB->createTable(self::$tbl_userlistener, $fields);
$ilDB->addPrimaryKey(self::$tbl_userlistener, array('usr_id', 'module', 'sender_id'));
}
if (!$ilDB->tableExists(self::$tbl_notification_data)) {
$fields = array(
'notification_id' => array('type' => 'integer', 'notnull' => true, 'length' => 4),
'serialized' => array('type' => 'text' , 'notnull' => true, 'length' => 4000),
);
$ilDB->createTable(self::$tbl_notification_data, $fields);
$ilDB->addPrimaryKey(self::$tbl_notification_data, array('notification_id'));
$ilDB->createSequence(self::$tbl_notification_data);
}
if (!$ilDB->tableExists(self::$tbl_notification_queue)) {
$fields = array(
'notification_id' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
'usr_id' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
#'notification_channel' => array('type' => 'text' , 'notnull' => true, 'length' => 100),
'valid_until' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
);
$ilDB->createTable(self::$tbl_notification_queue, $fields);
#$ilDB->addPrimaryKey(self::$tbl_notification_queue, array('notification_id', 'usr_id', 'notification_channel'));
$ilDB->addPrimaryKey(self::$tbl_notification_queue, array('notification_id', 'usr_id'));
}
if (!$ilDB->tableExists(self::$tbl_notification_osd_handler)) {
$fields = array(
'notification_osd_id' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
'usr_id' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
'serialized' => array('type' => 'text' , 'notnull' => true, 'length' => 4000),
'valid_until' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
'time_added' => array('type' => 'integer' , 'notnull' => true, 'length' => 4),
'type' => array('type' => 'text' , 'notnull' => true, 'length' => 100),
);
$ilDB->createTable(self::$tbl_notification_osd_handler, $fields);
$ilDB->addPrimaryKey(self::$tbl_notification_osd_handler, array('notification_osd_id'));
#$ilDB->addIndex(self::$tbl_notification_osd_handler, array('usr_id', 'valid_until', 'time_added'));
$ilDB->createSequence(self::$tbl_notification_osd_handler);
}
if(!$ilDB->tableExists(self::$tbl_notification_channels)) {
$fields = array(
'channel_name'=> array('type' => 'text', 'notnull' => true, 'length' => 100),
'title' => array('type' => 'text', 'notnull' => true, 'length' => 100),
'description'=> array('type' => 'text', 'notnull' => true, 'length' => 4000),
'class' => array('type' => 'text', 'notnull' => true, 'length' => 100),
'include' => array('type' => 'text', 'notnull' => true, 'length' => 100),
'config_type' => array('type' => 'text', 'notnull' => true, 'length' => 30),
);
$ilDB->createTable(self::$tbl_notification_channels, $fields);
$ilDB->addPrimaryKey(self::$tbl_notification_channels, array('channel_name'));
}
if(!$ilDB->tableExists(self::$tbl_notification_types)) {
$fields = array(
'type_name'=> array('type' => 'text', 'notnull' => true, 'length' => 100),
'title' => array('type' => 'text', 'notnull' => true, 'length' => 100),
'description' => array('type' => 'text', 'notnull' => true, 'length' => 100),
'notification_group' => array('type' => 'text', 'notnull' => true, 'length' => 100),
'config_type' => array('type' => 'text', 'notnull' => true, 'length' => 30),
);
$ilDB->createTable(self::$tbl_notification_types, $fields);
$ilDB->addPrimaryKey(self::$tbl_notification_types, array('type_name'));
}
}