|
|
|
@ -220,6 +220,105 @@ function upgrade_1() { |
|
|
|
echo "upgrade_1"; |
|
|
|
} |
|
|
|
|
|
|
|
function upgrade_1_mysql() { |
|
|
|
// CREATE MYSQL DATABASE TABLES.
|
|
|
|
$admin = table_by_key('admin'); |
|
|
|
$alias = table_by_key('alias'); |
|
|
|
$domain = table_by_key('domain'); |
|
|
|
$domain_admins = table_by_key('domain_admins'); |
|
|
|
$log = table_by_key('log'); |
|
|
|
$mailbox = table_by_key('mailbox'); |
|
|
|
$vacation = table_by_key('vacation'); |
|
|
|
|
|
|
|
$sql = array(); |
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $admin ( |
|
|
|
`username` varchar(255) NOT NULL default '', |
|
|
|
`password` varchar(255) NOT NULL default '', |
|
|
|
`created` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`modified` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`active` tinyint(1) NOT NULL default '1', |
|
|
|
PRIMARY KEY (`username`) |
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Admins';";
|
|
|
|
|
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $alias ( |
|
|
|
`address` varchar(255) NOT NULL default '', |
|
|
|
`goto` text NOT NULL, |
|
|
|
`domain` varchar(255) NOT NULL default '', |
|
|
|
`created` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`modified` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`active` tinyint(1) NOT NULL default '1', |
|
|
|
PRIMARY KEY (`address`) |
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Aliases'; ";
|
|
|
|
|
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $domain ( |
|
|
|
`domain` varchar(255) NOT NULL default '', |
|
|
|
`description` varchar(255) NOT NULL default '', |
|
|
|
`aliases` int(10) NOT NULL default '0', |
|
|
|
`mailboxes` int(10) NOT NULL default '0', |
|
|
|
`maxquota` bigint(20) NOT NULL default '0', |
|
|
|
`quota` bigint(20) NOT NULL default '0', |
|
|
|
`transport` varchar(255) default NULL, |
|
|
|
`backupmx` tinyint(1) NOT NULL default '0', |
|
|
|
`created` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`modified` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`active` tinyint(1) NOT NULL default '1', |
|
|
|
PRIMARY KEY (`domain`) |
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Domains'; ";
|
|
|
|
|
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $domain_admins ( |
|
|
|
`username` varchar(255) NOT NULL default '', |
|
|
|
`domain` varchar(255) NOT NULL default '', |
|
|
|
`created` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`active` tinyint(1) NOT NULL default '1', |
|
|
|
KEY username (`username`) |
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Domain Admins';";
|
|
|
|
|
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $log ( |
|
|
|
`timestamp` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`username` varchar(255) NOT NULL default '', |
|
|
|
`domain` varchar(255) NOT NULL default '', |
|
|
|
`action` varchar(255) NOT NULL default '', |
|
|
|
`data` varchar(255) NOT NULL default '', |
|
|
|
KEY timestamp (`timestamp`) |
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Log';";
|
|
|
|
|
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $mailbox ( |
|
|
|
`username` varchar(255) NOT NULL default '', |
|
|
|
`password` varchar(255) NOT NULL default '', |
|
|
|
`name` varchar(255) NOT NULL default '', |
|
|
|
`maildir` varchar(255) NOT NULL default '', |
|
|
|
`quota` bigint(20) NOT NULL default '0', |
|
|
|
`domain` varchar(255) NOT NULL default '', |
|
|
|
`created` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`modified` datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
`active` tinyint(1) NOT NULL default '1', |
|
|
|
PRIMARY KEY (`username`) |
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Mailboxes';";
|
|
|
|
|
|
|
|
$sql[] = "
|
|
|
|
CREATE TABLE {IF_NOT_EXISTS} $vacation ( |
|
|
|
email varchar(255) NOT NULL default '', |
|
|
|
subject varchar(255) NOT NULL default '', |
|
|
|
body text NOT NULL, |
|
|
|
cache text NOT NULL, |
|
|
|
domain varchar(255) NOT NULL default '', |
|
|
|
created datetime NOT NULL default '0000-00-00 00:00:00', |
|
|
|
active tinyint(4) NOT NULL default '1', |
|
|
|
PRIMARY KEY (email), |
|
|
|
KEY email (email) |
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation' ;";
|
|
|
|
|
|
|
|
foreach($sql as $query) { |
|
|
|
db_query_parsed($query); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function upgrade_2_mysql() { |
|
|
|
# upgrade pre-2.1 database
|
|
|
|
# from TABLE_BACKUP_MX.TXT
|
|
|
|
@ -701,18 +800,3 @@ $result = db_query_parsed(" |
|
|
|
FOREIGN KEY (`on_vacation`) REFERENCES vacation(`email`) ON DELETE CASCADE |
|
|
|
");
|
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
TODO |
|
|
|
|
|
|
|
Database changes that should be done: |
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
|
|
|
|
MySQL: |
|
|
|
* vacation: |
|
|
|
- DROP INDEX email |
|
|
|
- 'cache' field might be obsolete with vacation_notification - needs to be checked! |
|
|
|
* charset of equal fields MUST be the same (see bugreport) |
|
|
|
*/ |
|
|
|
|
|
|
|
|