]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-sql_patches.php
Earning subscriptions introduced (unfinished):
[mailer.git] / inc / extensions / ext-sql_patches.php
index e869cf090453ead4e726ee23871842dc6281a5dd..089d578a35228b0ca7633f24f08946e2ec61285e 100644 (file)
@@ -41,17 +41,17 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version number
-setThisExtensionVersion('0.8.4');
+setThisExtensionVersion('0.8.5');
 
 // 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', '0.8.2', '0.8.3', '0.8.4'));
+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', '0.8.3', '0.8.4', '0.8.5'));
 
 // Keep this extension always active!
 setExtensionAlwaysActive('Y');
 
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running
-               // This depends on 'cache' now
+               // This depends on ext-cache now
                addExtensionDependency('cache');
                break;
 
@@ -77,7 +77,8 @@ IN (
        'config_proxy',
        'config_session',
        'list_filter',
-       'list_point_accounts'
+       'list_point_accounts',
+       'list_earnings'
 )");
 
                // Delete/update member menu entries
@@ -113,8 +114,7 @@ IN (
        case 'update': // Update an extension
                switch (getCurrentExtensionVersion()) {
                        case '0.0.1': // SQL queries for v0.0.1
-                               addConfigAddSql('ext_autopurge', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-                               addAdminMenuSql('setup','config_extensions','Erweitungsmanagement','Alle Einstellungen am Erweiterungsmanagement.', 10);
+                               addAdminMenuSql('setup', 'config_extensions', 'Erweitungsmanagement', 'Alle Einstellungen am Erweiterungsmanagement.', 10);
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Es kann nun bestimmt werden, ob vom Server gelöschte ext-xxx.php erkannt werden sollen und die verknüpften Daten auch aus der Datenbank entfernt werden sollen.");
@@ -783,7 +783,7 @@ INDEX (`ip`)",
 
                        case '0.7.7': // SQL queries for v0.7.7
                                addMemberMenuSql('earn', NULL, 'Verdienen', 2);
-                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='earn', `sort`=1 WHERE `what`='unconfirmed' LIMIT 1");
+                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='earn',`sort`=1 WHERE `what`='unconfirmed' LIMIT 1");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Men&uuml;punkt <strong>Verdienen</strong> hinzugef&uuml;gt und <strong>Unbest&auml;tigte Mails</strong> als ersten Punkt dort hin verschoben.");
@@ -810,12 +810,12 @@ INDEX (`ip`)",
 `locked_mode` ENUM('LOCKED','UNLOCKED') NOT NULL DEFAULT 'LOCKED',
 `payment_method` ENUM('DIRECT','REFERAL') NOT NULL DEFAULT 'REFERAL',
 `notify_recipient` ENUM('Y','N') NOT NULL DEFAULT 'N',
-PRIMARY KEY(`id`),
+PRIMARY KEY (`id`),
 INDEX (`subject`)",
                                        'Points account data');
 
                                // Admin menu
-                               addAdminMenuSql('setup','list_point_accounts','Guthabenkonten...','Veralten Sie hier bequem Einstellungen zu den Guthabenkonten.',5);
+                               addAdminMenuSql('setup', 'list_point_accounts', 'Guthabenkonten...', 'Veralten Sie hier bequem Einstellungen zu den Guthabenkonten.', 5);
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Tabelle <em>points_data</em> erzeugt, diese soll das {?POINTS?}-Guthaben komplett lenken.");
@@ -851,7 +851,6 @@ INDEX (`subject`)",
                                break;
 
                        case '0.8.4': // SQL queries for v0.8.4
-                               addDropTableSql('history');
                                addCreateTableSql('history', "
 `history_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `history_subject` VARCHAR(255) NOT NULL DEFAULT 'GENERIC',
@@ -870,6 +869,47 @@ INDEX (`history_last_used` DESC)",
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Allgemeine Historie-Tabelle hinzugef&uuml;gt.");
                                break;
+
+                       case '0.8.5': // SQL queries for v0.8.5
+                               // Old-lost configuration entry
+                               addConfigDropSql('ext_autopurge');
+
+                               // Extra earning for our members :-)
+                               addMemberMenuSql('earn', 'earnings', 'Zusatzverdienste', 2);
+
+                               // Admin menu
+                               addAdminMenuSql('setup', 'list_earnings', 'Zusatzverdienste...', 'Veralten Sie hier bequem alle Zusatzverdienste (wie z.B. verg&uuml;tete PopUps usw.).', 6);
+
+                               // Earning data table
+                               addDropTableSql('earning_data');
+                               addCreateTableSql('earning_data', "
+`earning_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`earning_group` VARCHAR(255) NOT NULL DEFAULT 'INVALID',
+`earning_name` VARCHAR(255) NOT NULL DEFAULT 'INVALID',
+`earning_sorting` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`earning_id`),
+UNIQUE `earning_group_name` (`earning_group`,`earning_name`)",
+                                       'Registered (extra) earnings');
+
+                               // User->earnings connection table
+                               addDropTableSql('user_earning');
+                               addCreateTableSql('user_earning', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`earning_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`earning_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`earning_active` ENUM('Y','N') NOT NULL DEFAULT 'Y',
+`earning_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`earning_canceled` TIMESTAMP NULL DEFAULT NULL,
+`earning_daily_amount` SMALLINT(7) NOT NULL DEFAULT 0,
+`earning_points` FLOAT(20,5) NOT NULL DEFAULT 0.00000,
+PRIMARY KEY (`id`),
+UNIQUE `user_earning` (`earning_id`,`earning_userid`),
+INDEX (`earning_userid`)",
+                                       'User->Earning connections');
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Men&uuml;punkt f&uuml;r Zusatzverdienste wie z.B. Forced-PopUps hinzugef&uuml;gt und uralten Konfigurationseintrag entfernt.");
+                               break;
                } // END - switch
                break;
 
@@ -880,6 +920,12 @@ INDEX (`history_last_used` DESC)",
                break;
 
        case 'init': // Do stuff when extension is initialized
+               // Transfer POINTS word
+               if (isExtensionInstalledAndNewer('sql_patches', '0.0.3')) {
+                       // Okay, recent enough, so transfer the word for POINTS
+                       setConfigEntry('POINTS', getPointsWord());
+               } // END - if
+
                // Init key
                setConfigEntry('secret_key', '');
 
@@ -904,11 +950,6 @@ INDEX (`history_last_used` DESC)",
                                debug_report_bug(__FILE__, __LINE__, 'Cannot read secret file! Please try to reload.');
                        }
                } // END - if
-
-               // Transfer words/numbers to constants if config entry is found
-               if (isExtensionInstalledAndNewer('sql_patches', '0.0.3')) {
-                       setConfigEntry('POINTS', getPointsWord());
-               } // END - if
                break;
 
        default: // Unknown extension mode