} // 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;
'config_proxy',
'config_session',
'list_filter',
- 'list_point_accounts'
+ 'list_point_accounts',
+ 'list_earnings'
)");
// Delete/update member menu entries
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.");
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üpunkt <strong>Verdienen</strong> hinzugefügt und <strong>Unbestätigte Mails</strong> als ersten Punkt dort hin verschoben.");
`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.");
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',
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Allgemeine Historie-Tabelle hinzugefü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ü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üpunkt für Zusatzverdienste wie z.B. Forced-PopUps hinzugefügt und uralten Konfigurationseintrag entfernt.");
+ break;
} // END - switch
break;
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', '');
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