]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-bonus.php
Rewrote handling of 'menu adverts' to a filter. This allows e.g. ext-clickbanner...
[mailer.git] / inc / extensions / ext-bonus.php
index 93f9f928094aa68061537dafb0e62737adeb1466..640f8384c45ac48740773252a2741d1105fcc11c 100644 (file)
@@ -73,9 +73,9 @@ PRIMARY KEY (`id`),
 INDEX (`cat_id`)",
                        'Bonus mails');
 
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD `bonus_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD INDEX (`bonus_id`)");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+               addExtensionAddTableColumnSql('user_links', 'bonus_id', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+               addExtensionAddTableIndexSql('user_links', 'bonus_id', '(`bonus_id`)');
+               addExtensionAddTableColumnSql('bonus', 'html_msg', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
                break;
 
        case 'remove': // Do stuff when removing extension
@@ -138,8 +138,8 @@ INDEX (`cat_id`)",
                                addConfigAddSql('bonus_ranks', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
 
                                // Use actual month for this update
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `login_bonus` FLOAT(20,3) NOT NULL DEFAULT 0.000");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `turbo_bonus` FLOAT(20,3) NOT NULL DEFAULT 0.000");
+                               addExtensionAddTableColumnSql('user_data', 'login_bonus', 'FLOAT(20,3) NOT NULL DEFAULT 0.000');
+                               addExtensionAddTableColumnSql('user_data', 'turbo_bonus', 'FLOAT(20,3) NOT NULL DEFAULT 0.000');
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Login-Bonus und Turbo-Klick-Bonus intergriert.");
@@ -198,13 +198,13 @@ INDEX `userid` (`userid`)",
 
                        case '0.2.8': // SQL queries for v0.2.8
                                addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `timestamp`=0 WHERE `timestamp`='0000000000'");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus_turbo` CHANGE `points` `points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `turbo_bonus` `turbo_bonus` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `login_bonus` `login_bonus` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               addExtensionChangeTableColumnSql('bonus_turbo', 'points', 'points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addExtensionChangeTableColumnSql('user_data', 'turbo_bonus', 'turbo_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addExtensionChangeTableColumnSql('user_data', 'login_bonus', 'login_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
 
                                // For configuration, we need different entries
-                               addConfigChangeSql('turbo_bonus', 'turbo_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
-                               addConfigChangeSql('login_bonus', 'login_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addExtensionAddTableColumnSql('user_data', 'turbo_bonus', 'turbo_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addExtensionAddTableColumnSql('user_data', 'login_bonus', 'login_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("5 Nachkommastellen implementiert");
@@ -298,9 +298,9 @@ INDEX `userid` (`userid`)",
                                addConfigAddSql('bonus_ref', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000');
                                addConfigAddSql('bonus_stats', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 5.00000');
                                addConfigAddSql('bonus_active', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_order` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ref` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_stats` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+                               addExtensionAddTableColumnSql('user_data', 'bonus_order', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addExtensionAddTableColumnSql('user_data', 'bonus_ref', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+                               addExtensionAddTableColumnSql('user_data', 'bonus_stats', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Bonus-{?POINTS?} f&uuml;r: Mailbestellung, Referral-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.<br />Template <u>admin_config_bonus_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!<br />Eingestellte Bonus-{?POINTS?} f&uuml;r Rank 2 war um eins verschoben.");
@@ -365,8 +365,7 @@ INDEX `userid` (`userid`)",
 
                        case '0.5.6': // SQL queries for v0.5.6
                                // Get current month
-                               $curr = getMonth();
-                               if (strlen($curr) == 1) $curr = '0' . $curr;
+                               $curr = str_pad(getMonth(), 2, '0', STR_PAD_LEFT);
                                if ($curr == '00') $curr = '12';
 
                                // Generate timemark...
@@ -424,7 +423,7 @@ ORDER BY
                                break;
 
                        case '0.6.5': // SQL queries for v0.6.5
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` ADD `bonus_stats` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionAddTableColumnSql('user_stats', 'bonus_stats', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Fehler mit bonus_stats beseitigt.");
@@ -481,7 +480,7 @@ ORDER BY
                                break;
 
                        case '0.7.6': // SQL queries for v0.7.6
-                               setExtensionUpdateNotes("Auswahlmechanismus der Gewinner repariert. Trotz Hinzuschalten von weiteren zu ber&uuml;cksichtigen Boni wurden diese bei der Sortierung der Mitglied-Ids nicht ber&uuml;cksichtig.");
+                               setExtensionUpdateNotes("Auswahlmechanismus der Gewinner repariert. Trotz Hinzuschalten von weiteren zu ber&uuml;cksichtigen Boni wurden diese bei der Sortierung der Mitglieds-Ids nicht ber&uuml;cksichtig.");
                                break;
 
                        case '0.7.7': // SQL queries for v0.7.7
@@ -490,9 +489,9 @@ ORDER BY
                                addConfigAddSql('bonus_new_mem_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
                                addConfigAddSql('bonus_notify_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
                                addConfigAddSql('bonus_notify_wait', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ral_en_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ral_di_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ral_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionAddTableColumnSql('user_data', 'bonus_ral_en_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionAddTableColumnSql('user_data', 'bonus_ral_di_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionAddTableColumnSql('user_data', 'bonus_ral_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Optionale automatische Benachrichtigung &uuml;ber aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar.");
@@ -517,10 +516,10 @@ ORDER BY
 
                        case '0.8.2': // SQL queries for v0.8.2
                                addConfigAddSql('bonus_include_own', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `is_notify` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionAddTableColumnSql('bonus', 'is_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
 
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Eigene Mitglied-Ids sind von der Aktiv-Rallye nun ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen.");
+                               setExtensionUpdateNotes("Eigene Mitglieds-Ids sind von der Aktiv-Rallye nun ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen.");
                                break;
 
                        case '0.8.3': // SQL queries for v0.8.3
@@ -550,7 +549,7 @@ ORDER BY
                                break;
 
                        case '0.8.8': // SQL queries for v0.8.8
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` ADD `bonus_stats_active` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+                               addExtensionAddTableColumnSql('user_stats', 'bonus_stats_active', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
 
                                // Update notes
                                setExtensionUpdateNotes("Benachrichtigungsmails f&uuml;r z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.");
@@ -581,25 +580,25 @@ ORDER BY
                                break;
 
                        case '0.9.2': // SQL queries for v0.9.2
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ral_en_notify` `bonus_ralley_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ral_di_notify` `bonus_ralley_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ral_notify` `bonus_rallley_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'bonus_ral_en_notify', 'bonus_ralley_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'bonus_ral_di_notify', 'bonus_ralley_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'bonus_ral_notify', 'bonus_rallley_notify` BIGINT(20)', 'UNSIGNED NOT NULL DEFAULT 0');
 
                                // Update notes
                                setExtensionUpdateNotes("Umbenannt nach neuer Konvention (bitte Einstellungen kontrollieren).");
                                break;
 
                        case '0.9.3': // SQL queries for v0.9.3
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ralley_enable_notify` `bonus_rallye_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ralley_disable_notify` `bonus_rallye_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `bonus_ralley_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'bonus_ralley_enable_notify', 'bonus_rallye_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionChangeTableColumnSql('user_data', 'bonus_ralley_disable_notify', 'bonus_rallye_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+                               addExtensionDropTableColumnSql('user_data', 'bonus_ralley_notify');
 
                                // Update notes
                                setExtensionUpdateNotes("Typos gefixt.");
                                break;
 
                        case '0.9.4': // SQL queries for v0.9.4
-                               addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `bonus_id` `bonus_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+                               addExtensionChangeTableColumnSql('user_links', 'bonus_id', 'bonus_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL');
                                addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_user_links` SET `bonus_id`=NULL WHERE `bonus_id`=0');
 
                                // Update notes