Referal system refactured (and some parts fixed), wrapper function introduced:
[mailer.git] / inc / extensions / ext-sql_patches.php
index 5adb509dfaf73d88f2dd21bf2c95144ea0779a89..fcd19bfb748cd7209ab76b7898df827b5e5ca284 100644 (file)
@@ -41,10 +41,10 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version number
-setThisExtensionVersion('0.8.1');
+setThisExtensionVersion('0.8.2');
 
 // Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9', '0.6.0', '0.6.1', '0.6.2', '0.6.3', '0.6.4', '0.6.4', '0.6.5', '0.6.6', '0.6.7', '0.6.8', '0.6.9', '0.7.0', '0.7.1', '0.7.2', '0.7.3', '0.7.4', '0.7.5', '0.7.6', '0.7.7', '0.7.8', '0.7.9', '0.8.0', '0.8.1'));
+setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9', '0.6.0', '0.6.1', '0.6.2', '0.6.3', '0.6.4', '0.6.4', '0.6.5', '0.6.6', '0.6.7', '0.6.8', '0.6.9', '0.7.0', '0.7.1', '0.7.2', '0.7.3', '0.7.4', '0.7.5', '0.7.6', '0.7.7', '0.7.8', '0.7.9', '0.8.0', '0.8.1', '0.8.2'));
 
 // Keep this extension always active!
 setExtensionAlwaysActive('Y');
@@ -178,8 +178,6 @@ IN (
                                break;
 
                        case '0.1.0': // SQL queries for v0.1.0
-                               addConfigAddSql('reg_points_mode', "ENUM('ref','direct') NOT NULL DEFAULT 'ref'");
-
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Soll der einmalige Ref-Bonus über das Referal-System (also alle oberen Refs bekommen auch etwas davon ab) oder direkt dem Werber aufgebucht werden?");
                                break;
@@ -557,7 +555,7 @@ INDEX (`admin_id`)",
                        case '0.5.0': // SQL queries for v0.5.0
                                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `level`');
                                addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `userid`');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` ADD UNIQUE `userid_level` (`userid`,`level`)');
+                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` ADD UNIQUE `userid_level` (`userid`, `level`)');
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Referal-System unterstützt nun detailierte Referal-Übersicht und vieles mehr.");
@@ -797,8 +795,6 @@ INDEX (`ip`)",
                                break;
 
                        case '0.7.8': // SQL queries for v0.7.8
-                               addConfigChangeSql('reg_points_mode', 'reg_points_mode', "ENUM('REF','DIRECT') NOT NULL DEFAULT 'REFERAL'");
-
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Konfigurationseintr&auml;ge mit Spaltentyp <strong>ENUM</strong> werden nun immer komplett gross geschrieben.");
                                break;
@@ -811,16 +807,16 @@ INDEX (`ip`)",
                                break;
 
                        case '0.8.0': // SQL queries for v0.8.0
-                               // Points account data
-                               addDropTableSql('points_data');
+                               // Points account data (this table should not be dropped or else you may have to re-install a lot extensions)
                                addCreateTableSql('points_data', "
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`ext_name` VARCHAR(255) NOT NULL DEFAULT '',
+`subject` VARCHAR(255) NOT NULL DEFAULT '',
 `column_name` VARCHAR(255) NOT NULL DEFAULT 'points',
 `locked_mode` ENUM('LOCKED','UNLOCKED') NOT NULL DEFAULT 'LOCKED',
-`payment_method` ENUM('DIRECT','REF') NOT NULL DEFAULT 'REF',
+`payment_method` ENUM('DIRECT','REFERAL') NOT NULL DEFAULT 'REFERAL',
+`notify_recipient` ENUM('Y','N') NOT NULL DEFAULT 'N',
 PRIMARY KEY(`id`),
-INDEX (`ext_name`)",
+INDEX (`subject`)",
                                        'Points account data');
 
                                // Admin menu
@@ -837,6 +833,20 @@ INDEX (`ext_name`)",
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Level 0 ist nun auch NULL.");
                                break;
+
+                       case '0.8.2': // SQL queries for v0.8.2
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` DROP INDEX `ext_name`");
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` CHANGE `ext_name` `subject` VARCHAR(255) NOT NULL DEFAULT ''");
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` CHANGE `payment_method` `payment_method` ENUM('DIRECT','REFERAL') NOT NULL DEFAULT 'REFERAL'");
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` ADD INDEX `subject` (`subject`)");
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` ADD `notify_recipient` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`) VALUES ('pool_payback','points','LOCKED','DIRECT')");
+                               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`) VALUES ('mail_deleted','points','LOCKED','DIRECT')");
+                               addConfigDropSql('reg_points_mode');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Es sollte der Gutschriftenbetreff und nicht der Erweiterungsname gepeichert werden, zudem brauchen wir einen Konfigurationseintrag nicht mehr.");
+                               break;
                } // END - switch
                break;