]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-autopurge.php
More rewrites to configuration:
[mailer.git] / inc / extensions / ext-autopurge.php
index 13f1c332a2b92f340f75cd270b0d4008baf93b0f..317f1c7e1cfc13f9e61fa5c48c8c9fcccff6c819 100644 (file)
@@ -41,30 +41,30 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version number
-setThisExtensionVersion('0.4.1');
+setThisExtensionVersion('0.4.2');
 
 // Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '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'));
+setExtensionVersionHistory(array('0.0.0', '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'));
 
 // Keep this extension always active!
 setExtensionAlwaysActive('Y');
 
 switch (getExtensionMode()) {
-       case 'register': // Do stuff when installation is running
+       case 'setup': // Do stuff when installation is running
                // Add dependency to ext-bonus
                addExtensionDependency('bonus');
 
                // SQL commands to run
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` CHANGE `data_type` `data_type` ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE','DELETED') NOT NULL DEFAULT 'TEMP'");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` CHANGE `data_type` `data_type` ENUM('NEW','QUEUE','SEND','DELETED') NOT NULL DEFAULT 'NEW'");
+               addExtensionChangeTableColumnSql('pool', 'data_type', 'data_type', "ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE','DELETED') NOT NULL DEFAULT 'TEMP'");
+               addExtensionChangeTableColumnSql('bonus', 'data_type', 'data_type', "ENUM('NEW','QUEUE','SEND','DELETED') NOT NULL DEFAULT 'NEW'");
                break;
 
        case 'remove': // Do stuff when removing extension
                // SQL commands to run
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` CHANGE `data_type` `data_type` ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE') NOT NULL DEFAULT 'TEMP'");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` CHANGE `data_type` `data_type` ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW'");
+               addExtensionChangeTableColumnSql('pool', 'data_type', 'data_type', "ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE') NOT NULL DEFAULT 'TEMP'");
+               addExtensionChangeTableColumnSql('bonus', 'data_type', 'data_type', "ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW'");
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what` IN('config_autopurge','list_autopurge')");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `ap_notified`");
+               addExtensionDropTableColumnSql('user_data', 'ap_notified');
 
                // Unregister with points data
                unregisterExtensionPointsData('autopurge_add');
@@ -94,7 +94,7 @@ switch (getExtensionMode()) {
                                addConfigAddSql('ap_unconfirmed_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 432000');
                                addAdminMenuSql('setup', 'config_autopurge', 'Auto-Löschung', 'Automatisch inaktive oder nicht bestätigte Accounts löschen.', 12);
                                addAdminMenuSql('user', 'list_autopurge', 'Inaktive finden', 'Lassen Sie sich vor dem täglichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gelöscht werden.', 10);
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `ap_notified` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+                               addExtensionAddTableColumnSql('user_data', 'ap_notified', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Automatisches Löschen von inaktiven bzw. nicht bestätigten Accounts hinzugefügt.");
@@ -260,12 +260,17 @@ switch (getExtensionMode()) {
                                // Register with points data system
                                registerExtensionPointsData('autopurge_add', 'points', 'LOCKED', 'DIRECT');
 
-                               // This depends on ext-sql_patches
-                               addExtensionDependency('sql_patches');
-
                                // Update notes
                                setExtensionUpdateNotes("R&uuml;ckschriften bei Auto-L&ouml;schungen werden nun &uuml;ber die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
                                break;
+
+                       case '0.4.2': // SQL queries for v0.4.2
+                               addConfigAddSql('auto_purge', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay()*14));
+                               addConfigAddSql('auto_purge_active', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes
+                               setExtensionUpdateNotes("Konfiguration in diese Erweiterung verschoben.");
+                               break;
                } // END - switch
                break;
 
@@ -279,7 +284,7 @@ switch (getExtensionMode()) {
                break;
 
        default: // Unknown extension mode
-               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
+               reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
                break;
 } // END - switch