Exemplo n.º 1
0
/**
 * Change description fields to UTF-8
 */
function upgrade_373_mysql()
{
    # MySQL only
    $table_domain = table_by_key('domain');
    $table_mailbox = table_by_key('mailbox');
    $all_sql = split("\n", trim("\n        ALTER TABLE `{$table_domain}`  CHANGE `description`  `description` VARCHAR( 255 ) {UTF-8}  NOT NULL\n        ALTER TABLE `{$table_mailbox}` CHANGE `name`         `name`        VARCHAR( 255 ) {UTF-8}  NOT NULL\n    "));
    foreach ($all_sql as $sql) {
        $result = db_query_parsed($sql);
    }
}
Exemplo n.º 2
0
function upgrade_1767()
{
    # 'active' was just added, so make sure all existing jobs stay active
    $table = table_by_key('fetchmail');
    db_query_parsed("UPDATE {$table} SET active='{BOOL_TRUE}'");
}
Exemplo n.º 3
0
function upgrade_1824_sqlite()
{
    $admin_table = table_by_key('admin');
    $alias_table = table_by_key('alias');
    $alias_domain_table = table_by_key('alias_domain');
    $domain_table = table_by_key('domain');
    $domain_admins_table = table_by_key('domain_admins');
    $fetchmail_table = table_by_key('fetchmail');
    $log_table = table_by_key('log');
    $mailbox_table = table_by_key('mailbox');
    $quota_table = table_by_key('quota');
    $quota2_table = table_by_key('quota2');
    $vacation_table = table_by_key('vacation');
    $vacation_notification_table = table_by_key('vacation_notification');
    db_query_parsed("\n      CREATE TABLE {$admin_table} (\n          `username` varchar(255) NOT NULL,\n          `password` varchar(255) NOT NULL,\n          `superadmin` {BOOLEAN},\n          `created` {DATE},\n          `modified` {DATE},\n          `active` {BOOLEAN_TRUE},\n          {PRIMARY} (`username`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$alias_table} (\n          `address` varchar(255) NOT NULL,\n          `goto` {FULLTEXT} NOT NULL,\n          `domain` varchar(255) NOT NULL,\n          `created` {DATE},\n          `modified` {DATE},\n          `active` {BOOLEAN_TRUE},\n          {PRIMARY} (`address`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$alias_domain_table} (\n          `alias_domain` varchar(255) NOT NULL,\n          `target_domain` varchar(255) NOT NULL,\n          `created` {DATE},\n          `modified` {DATE},\n          `active` {BOOLEAN_TRUE},\n          {PRIMARY} (`alias_domain`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$domain_table} (\n          `domain` varchar(255) NOT NULL,\n          `description` varchar(255) NOT NULL,\n          `aliases` {INT},\n          `mailboxes` {INT},\n          `maxquota` {BIGINT},\n          `quota` {BIGINT},\n          `transport` varchar(255) NOT NULL,\n          `backupmx` {BOOLEAN},\n          `created` {DATE},\n          `modified` {DATE},\n          `active` {BOOLEAN_TRUE},\n          {PRIMARY} (`domain`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$domain_admins_table} (\n          `username` varchar(255) NOT NULL,\n          `domain` varchar(255) NOT NULL,\n          `created` {DATE},\n          `active` {BOOLEAN_TRUE});\n    ");
    db_query_parsed("\n      CREATE TABLE {$fetchmail_table} (\n          `id` {AUTOINCREMENT},\n          `domain` varchar(255) DEFAULT '',\n          `mailbox` varchar(255) NOT NULL,\n          `src_server` varchar(255) NOT NULL,\n          `src_auth` varchar(255) DEFAULT NULL,\n          `src_user` varchar(255) NOT NULL,\n          `src_password` varchar(255) NOT NULL,\n          `src_folder` varchar(255) NOT NULL,\n          `poll_time` int(11)  NOT NULL DEFAULT '10',\n          `fetchall` {BOOLEAN},\n          `keep` {BOOLEAN},\n          `protocol` {FULLTEXT} DEFAULT NULL,\n          `usessl` {BOOLEAN},\n          `sslcertck` {BOOLEAN},\n          `sslcertpath` varchar(255) DEFAULT '',\n          `sslfingerprint` varchar(255) DEFAULT '',\n          `extra_options` {FULLTEXT},\n          `returned_text` {FULLTEXT},\n          `mda` varchar(255) NOT NULL,\n          `date` {DATE},\n          `created` {DATE},\n          `modified` {DATECURRENT},\n          `active` {BOOLEAN});\n    ");
    db_query_parsed("\n      CREATE TABLE {$log_table} (\n          `timestamp` {DATE},\n          `username` varchar(255) NOT NULL,\n          `domain` varchar(255) NOT NULL,\n          `action` varchar(255) NOT NULL,\n          `data` {FULLTEXT} NOT NULL);\n    ");
    db_query_parsed("\n      CREATE TABLE {$mailbox_table} (\n          `username` varchar(255) NOT NULL,\n          `password` varchar(255) NOT NULL,\n          `name` varchar(255) NOT NULL,\n          `maildir` varchar(255) NOT NULL,\n          `quota` {BIGINT},\n          `local_part` varchar(255) NOT NULL,\n          `domain` varchar(255) NOT NULL,\n          `created` {DATE},\n          `modified` {DATE},\n          `active` {BOOLEAN_TRUE},\n          {PRIMARY} (`username`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$quota_table} (\n          `username` varchar(255) NOT NULL,\n          `path` varchar(100) NOT NULL,\n          `current` {BIGINT},\n          {PRIMARY} (`username`,`path`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$quota2_table} (\n          `username` varchar(255) NOT NULL,\n          `bytes` {BIGINT},\n          `messages` {INT},\n          {PRIMARY} (`username`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$vacation_table} (\n          `email` varchar(255) NOT NULL,\n          `subject` varchar(255) NOT NULL,\n          `body` {FULLTEXT} NOT NULL,\n          `activefrom` {DATE},\n          `activeuntil` {DATE},\n          `cache` {FULLTEXT} NOT NULL DEFAULT '',\n          `domain` varchar(255) NOT NULL,\n          `interval_time` {INT},\n          `created` {DATE},\n          `modified` {DATECURRENT},\n          `active` {BOOLEAN_TRUE},\n          {PRIMARY} (`email`));\n    ");
    db_query_parsed("\n      CREATE TABLE {$vacation_notification_table} (\n          `on_vacation` varchar(255) NOT NULL,\n          `notified` varchar(255) NOT NULL,\n          `notified_at` {DATECURRENT},\n          {PRIMARY} (`on_vacation`,`notified`),\n          CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES `vacation` (`email`) ON DELETE CASCADE);\n    ");
}