Some more fixes and dependency between bonus<->sql_patches
[mailer.git] / inc / extensions / ext-bonus.php
index 3da3ec1cfe7d8ea4ea6eb37c61c2470a29336df6..c588e54c9e5bb00a5c4b9917f206b9ac3440f87a 100644 (file)
@@ -54,7 +54,7 @@ switch (getExtensionMode()) {
                // SQL commands to run
                addAdminMenuSql('email','send_bonus','Bonusmail senden','Versenden Sie hier Bonus-Mails an alle Mitglieder oder nur an alle aus einer Kategorie. Es spielt keine Rolle, wie viele Mails bereits versendet worden, Sie k&ouml;nnen hier immer senden.', 5);
                addMemberMenuSql('main','bonus','Bonuspunkte','N','Y',7);
-               addDropTableSql('bonus`');
+               addDropTableSql('bonus');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_bonus` (
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `cat_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -77,7 +77,9 @@ PRIMARY KEY  (`id`)
                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD INDEX (`bonus_id`)");
 
                // Run this SQL when html_mail extension is installed
-               if (isExtensionActive('html_mail')) addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+               if (isExtensionActive('html_mail')) {
+                       addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+               } // END - if
                break;
 
        case 'remove': // Do stuff when removing extension
@@ -123,6 +125,9 @@ PRIMARY KEY  (`id`)
                                break;
 
                        case '0.2.1': // SQL queries for v0.2.1
+                               // Add extension dependency because of the update command
+                               addExtensionDependency('sql_patches');
+
                                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `login_bonus` FLOAT(20,3) NOT NULL DEFAULT 10.000");
                                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `turbo_bonus` FLOAT(20,3) NOT NULL DEFAULT 100.000");
                                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `login_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}");
@@ -363,9 +368,18 @@ INDEX `userid` (`userid`)
                                $mark = mktime(0, 0, 0, $curr, 1, getYear());
 
                                // Update accounts which are not active last months
-                               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_user_data`
-SET `turbo_bonus`=0, `login_bonus`=0, `bonus_order`=0, `bonus_stats`=0, `bonus_ref`=0
-WHERE `last_online` < ".$mark." ORDER BY `userid` ASC");
+                               addExtensionSql("UPDATE
+       `{?_MYSQL_PREFIX?}_user_data`
+SET
+       `turbo_bonus`=0,
+       `login_bonus`=0,
+       `bonus_order`=0,
+       `bonus_stats`=0,
+       `bonus_ref`=0
+WHERE
+       `last_online` < ".$mark."
+ORDER BY
+       `userid` ASC");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Ein weiterer Scriptfehler hat nur die Gewinner aus der Aktiv-Rallye genommen. Die anderen Mitglieder sind somit &quot;nach oben gerutsch&quot;.");
@@ -498,7 +512,7 @@ WHERE `last_online` < ".$mark." ORDER BY `userid` ASC");
 
                        case '0.8.2': // SQL queries for v0.8.2
                                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD 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'");
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `is_notify` ENUM('Y','N') NOT NULL DEFAULT 'N'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Eigene Mitglieder-Ids sind von der Aktiv-Rallye nun ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen.");