} // 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
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
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,
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,
`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 "nach oben gerutsch".");
// 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 über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
break;
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Filter zum Hinzufü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ßen des konfigurierten Mitgliedaccounts.");
+ break;
} // END - switch
break;
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