Introduced wrapper function addCreateTableSql(), fixed parameter order:
[mailer.git] / inc / extensions / ext-transfer.php
index 18837a39b1942d11129debef865e348952888d42..e5988f9d878ea39a22942f4e13f59ce83d77881d 100644 (file)
@@ -48,12 +48,9 @@ setExtensionVersionHistory(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0
 
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running
-               // SQL commands to run
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_in`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_out`');
-
                // Transfer from a member
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_user_transfers_in` (
+               addDropTableSql('user_transfers_in');
+               addCreateTableSql('user_transfers_in', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `from_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -64,10 +61,11 @@ switch (getExtensionMode()) {
 KEY (`userid`),
 KEY (`from_userid`),
 PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Ingoing points transfers'");
 
                // Transfers to a member
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_user_transfers_out` (
+               addDropTableSql('user_transfers_out');
+               addCreateTableSql('user_transfers_out', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `to_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -78,7 +76,7 @@ PRIMARY KEY (`id`)
 KEY (`userid`),
 KEY (`to_userid`),
 PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Outgoing points transfers'");
 
                // Admin menu
                addAdminMenuSql('transfer', NULL, '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','Verwalten Sie hier die {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transaktionen zwischen Ihren Mitgliedern.', 7);
@@ -90,11 +88,11 @@ PRIMARY KEY (`id`)
                addMemberMenuSql('main','transfer','{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','N','Y', 5);
 
                // Add config values
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_max` BIGINT(20) UNSIGNED NOT NULL DEFAULT 50");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_age` BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getOneDay()*28));
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_balance` BIGINT(20) UNSIGNED NOT NULL DEFAULT 100");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_code` BIGINT(20) UNSIGNED NOT NULL DEFAULT 5");
+               addConfigAddSql('transfer_max', "BIGINT(20) UNSIGNED NOT NULL DEFAULT 50");
+               addConfigAddSql('transfer_age', "BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getOneDay()*28));
+               addConfigAddSql('transfer_timeout', "BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}");
+               addConfigAddSql('transfer_balance', "BIGINT(20) UNSIGNED NOT NULL DEFAULT 100");
+               addConfigAddSql('transfer_code', "BIGINT(20) UNSIGNED NOT NULL DEFAULT 5");
 
                // Add row(s) to user's data
                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD opt_in ENUM('Y','N') NOT NULL DEFAULT 'N'");
@@ -102,8 +100,8 @@ PRIMARY KEY (`id`)
 
        case 'remove': // Do stuff when removing extension
                // SQL commands to run
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_in`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_out`');
+               addDropTableSql('user_transfers_in');
+               addDropTableSql('user_transfers_out');
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='transfer'");
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='transfer'");
                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `opt_in`");
@@ -137,7 +135,7 @@ PRIMARY KEY (`id`)
                                break;
 
                        case '0.0.5': // SQL queries for v0.0.5
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD ap_transfer ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+                               addConfigAddSql('ap_transfer', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Link <em>Auflisten</em> im Admin-Bereich hatte das eingeloggte Mitglied und nicht den eingeloggten Admin abgefragt. Automatisches L&ouml;schen von veraltete Eintr&auml;gen kann unabh&auml;ngig von der autopurge-Erweiterung de-/aktiviert werden. Bitte aktualisieren Sie auch die beiden Admin-Templates!");
@@ -277,7 +275,7 @@ PRIMARY KEY (`id`)
        case 'modify': // When the extension got modified
                break;
 
-       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       case 'test': // For testing purposes
                break;
 
        case 'init': // When extension is initialized