]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-bonus.php
Requires business card for payout :(
[mailer.git] / inc / extensions / ext-bonus.php
index f8a87a665d8e98c361e3e02a8608dbc95bae38a7..e39673bc6fc78470a81a1d9b6d13d0d2f116062e 100644 (file)
@@ -41,10 +41,10 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version of this extension
-setThisExtensionVersion('0.9.9');
+setThisExtensionVersion('1.0.0');
 
 // Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.1.6', '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.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', '0.8.6', '0.8.7', '0.8.8', '0.8.9', '0.9.0', '0.9.1', '0.9.2', '0.9.3', '0.9.4', '0.9.5', '0.9.6', '0.9.7', '0.9.8', '0.9.9'));
+setExtensionVersionHistory(array('0.0.0', '0.1.6', '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.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', '0.8.6', '0.8.7', '0.8.8', '0.8.9', '0.9.0', '0.9.1', '0.9.2', '0.9.3', '0.9.4', '0.9.5', '0.9.6', '0.9.7', '0.9.8', '0.9.9', '1.0.0'));
 
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running
@@ -97,6 +97,7 @@ INDEX (`cat_id`)",
                unregisterFilter(__FILE__, __LINE__, 'add_bonus_points_user_columns', 'ADD_BONUS_POINTS_USER_COLUMNS', TRUE, isExtensionDryRun());
                unregisterFilter(__FILE__, __LINE__, 'pre_user_registration', 'BONUS_USER_REGISTRATION_ADD_SQL_COLUMNS', TRUE, isExtensionDryRun());
                unregisterFilter(__FILE__, __LINE__, 'init', 'SEND_BONUS_NOTIFICATIONS', TRUE, isExtensionDryRun());
+               unregisterFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXLCUDE_BONUS_USERID', TRUE, isExtensionDryRun());
                break;
 
        case 'activate': // Do stuff when admin activates this extension
@@ -150,8 +151,8 @@ INDEX (`cat_id`)",
                                addCreateTableSql('bonus_turbo', "
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`mail_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`bonus_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`mail_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`bonus_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
 `level` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `points` FLOAT(20,3) NOT NULL DEFAULT 0.000,
 `timemark` VARCHAR(32) NOT NULL DEFAULT 0,
@@ -365,14 +366,14 @@ INDEX `userid` (`userid`)",
 
                        case '0.5.6': // SQL queries for v0.5.6
                                // Get current month
-                               $curr = str_pad(getMonth(), 2, '0', STR_PAD_LEFT);
+                               $curr = padLeftZero(getMonth());
                                if ($curr == '00') $curr = '12';
 
                                // Generate timemark...
                                $mark = mktime(0, 0, 0, $curr, 1, getYear());
 
                                // Update accounts which are not active last months
-                               addExtensionSql("UPDATE
+                               addExtensionSql('UPDATE
        `{?_MYSQL_PREFIX?}_user_data`
 SET
        `turbo_bonus`=0,
@@ -381,9 +382,9 @@ SET
        `bonus_stats`=0,
        `bonus_ref`=0
 WHERE
-       `last_online` < ".$mark."
+       `last_online` < ' . $mark . '
 ORDER BY
-       `userid` ASC");
+       `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;.");
@@ -617,9 +618,6 @@ ORDER BY
                                // Register points data
                                registerExtensionPointsData('monthly_bonus', 'points', 'LOCKED', 'DIRECT');
 
-                               // This depends on ext-sql_patches
-                               addExtensionDependency('sql_patches');
-
                                // Update notes
                                setExtensionUpdateNotes("Monatlicher Bonus wird nun &uuml;ber die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
                                break;
@@ -656,6 +654,17 @@ ORDER BY
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Filter zum Hinzuf&uuml;gen von SQL-Spalten bei der Mitgliederanmeldung.");
                                break;
+
+                       case '1.0.0': // SQL queries for v1.0.0
+                               addExtensionChangeTableColumnSql('bonus_turbo', 'mail_id' , 'mail_id', 'UNSIGNED NULL DEFAULT NULL');
+                               addExtensionChangeTableColumnSql('bonus_turbo', 'bonus_id', 'mail_id', 'UNSIGNED NULL DEFAULT NULL');
+
+                               // Register filter
+                               registerFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXLCUDE_BONUS_USERID', FALSE, TRUE, isExtensionDryRun());
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Filter zum Ausschlie&szlig;en des konfigurierten Mitgliedaccounts.");
+                               break;
                } // END - switch
                break;
 
@@ -669,7 +678,7 @@ ORDER BY
                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