X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-payout.php;h=8a1b8fb86987d741f37a9ed9f7b7acbbeb3385cf;hp=058241cbbaaa4778d969363734c6a38dd87889e2;hb=16b311c338bb4f8436e2ed9e76cb1cd5f3741640;hpb=3af8b17c962e094e3eaffbd6d111290cdb286c92 diff --git a/inc/extensions/ext-payout.php b/inc/extensions/ext-payout.php index 058241cbba..8a1b8fb869 100644 --- a/inc/extensions/ext-payout.php +++ b/inc/extensions/ext-payout.php @@ -1,7 +1,7 @@ member_payout.tpl."); - break; - - case "0.1.9": // SQL queries for v0.1.9 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."); - break; - - case "0.2.0": // SQL queries for v0.2.0 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("5 Nachkommastellen implementiert."); - break; - - case "0.2.1": // SQL queries for v0.2.1 - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_payouts` CHANGE payout_total payout_total FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_payout_types` CHANGE rate rate FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt."); - - case "0.2.2": // SQL queries for v0.2.2 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Buttons aus Aufgabenauflisten ausgelagert"); - break; +setThisExtensionVersion('0.3.8'); + +// Version history array (add more with , '0.1.0' and so on) +setExtensionVersionHistory(array('0.0', '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')); + +switch (getExtensionMode()) { + case 'register': // Do stuff when installation is running (modules.php?module=admin is called) + // SQL commands to run + addDropTableSql('user_payouts'); + addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_user_payouts` ( +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`payout_total` FLOAT(22,3) UNSIGNED NOT NULL DEFAULT '0.000', +`target_account` VARCHAR(255) NOT NULL DEFAULT '', +`target_bank` VARCHAR(255) NOT NULL DEFAULT '', +`payout_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`payout_timestamp` VARCHAR(10) NOT NULL DEFAULT 0, +`status` ENUM('NEW','ACCEPTED','REJECTED') NOT NULL DEFAULT 'NEW', +INDEX (`userid`), +INDEX (`payout_id`), +PRIMARY KEY (`id`) +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); + addDropTableSql('payout_types'); + addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_payout_types` ( +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`type` VARCHAR(255) NOT NULL DEFAULT '', +`rate` FLOAT(22,3) UNSIGNED NOT NULL DEFAULT '0.000', +`min_points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +PRIMARY KEY (`id`) +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); + addAdminMenuSql('setup','config_payouts','Auszahlungen','Auszahlungsarten einstellen, neu anlegen oder löschen.',15); + addAdminMenuSql('payouts','list_payouts','Anfragen auflisten','Listet alle Auszahlungsanfragen Ihrer Mitglieder auf.',16); + addMemberMenuSql('main','payout','Auszahlungen','N','N',11); + break; + + case 'remove': // Do stuff when removing extension + // SQL commands to run + addDropTableSql('user_payouts'); + addDropTableSql('payout_types'); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='payouts'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='payout'"); + break; + + case 'activate': // Do stuff when admin activates this extension + // SQL commands to run + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='payout' LIMIT 1"); + break; + + case 'deactivate': // Do stuff when admin deactivates this extension + // SQL commands to run + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='payout' LIMIT 1"); + break; + + case 'update': // Update an extension + switch (getCurrentExtensionVersion()) + { + case '0.1.2': // SQL queries for v0.1.2 + addAdminMenuSql('payouts', NULL, 'Auszahlungsmanagement','Management der Auszahlungsarten.',8); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `action`='payouts', `title`='Einstellungen' WHERE `action`='setup' AND `what`='config_payouts' LIMIT 1"); + break; + + case '0.1.3': // SQL queries for v0.1.3 + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD from_account VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD from_pass VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD engine_url VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD engine_ret_ok VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD engine_ret_failed VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD pass_enc ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'"); + break; + + case '0.1.4': // SQL queries for v0.1.4 + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD password VARCHAR(255) NOT NULL DEFAULT ''"); + break; + + case '0.1.5': // SQL queries for v0.1.5 + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD target_url LONGTEXT NOT NULL"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD banner_url LONGTEXT NOT NULL"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD link_text VARCHAR(30) NOT NULL DEFAULT ''"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD allow_url ENUM('Y','N') NOT NULL DEFAULT 'N'"); + break; + + case '0.1.6': // SQL queries for v0.1.6 + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` CHANGE pass_enc pass_enc ENUM('md5','base64','xxx') NOT NULL DEFAULT 'xxx'"); + break; + + case '0.1.8': // SQL queries for v0.1.8 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Auflistung der Auszahlungen ausgelagert in Template member_payout.tpl."); + break; + + case '0.1.9': // SQL queries for v0.1.9 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."); + break; + + case '0.2.0': // SQL queries for v0.2.0 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("5 Nachkommastellen implementiert."); + break; + + case '0.2.1': // SQL queries for v0.2.1 + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` CHANGE payout_total payout_total FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` CHANGE rate rate FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt."); + + case '0.2.2': // SQL queries for v0.2.2 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Buttons aus Aufgabenauflisten ausgelagert"); + break; + + case '0.2.3': // SQL queries for v0.2.3 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."); + break; + + case '0.2.4': // SQL queries for v0.2.4 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Ausgabe der Auszahlungsmöglichkeiten im Mitgliedsbereich repariert."); + break; + + case '0.2.5': // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Seit Patch 340 überflüssige HTML-Tags entfernt."); + break; + + case '0.2.6': // SQL queries for v0.2.6 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."); + break; - case "0.2.3": // SQL queries for v0.2.3 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."); - break; + case '0.2.7': // SQL queries for v0.2.7 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Link zum Mitgliedsprofil in Funktion generateUserProfileLink() ausgelagert."); + break; - case "0.2.4": // SQL queries for v0.2.4 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Ausgabe der Auszahlungsmöglichkeiten im Mitgliedsbereich repariert."); - break; + case '0.2.8': // SQL queries for v0.2.8 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Work-Arount-Lösung zu temporären Problemen mit der Task-Id eingebaut."); + break; - case "0.2.5": // SQL queries for v0.2.5 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Seit Patch 340 überflüssige HTML-Tags entfernt."); - break; + case '0.2.9': // SQL queries for v0.2.9 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Nachricht an Admin bei Auszahlungsanfrage wird endlich versendet."); + break; - case "0.2.6": // SQL queries for v0.2.6 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."); - break; - - case "0.2.7": // SQL queries for v0.2.7 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."); - break; - - case "0.2.8": // SQL queries for v0.2.8 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Work-Arount-Lösung zu temporären Problemen mit der Task-ID eingebaut."); - break; + case '0.3.0': // SQL queries for v0.3.0 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."); + break; + + case '0.3.1': // SQL queries for v0.3.1 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Fehler in Auszahlungsfunktion beseitigt, wenn Umrechnungsrate ungleich 1 eingestellt ist."); + break; + + case '0.3.2': // SQL queries for v0.3.2 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Abspeichern von Einstellungen repariert."); + break; + + case '0.3.3': // SQL queries for v0.3.3 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4."); + break; - case "0.2.9": // SQL queries for v0.2.9 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Nachricht an Admin bei Auszahlungsanfrage wird endlich versendet."); - break; + case '0.3.4': // SQL queries for v0.3.4 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Anzahl zu überweisende {?POINTS?} müssen immer grösser 0 sein, ansonsten bricht das Script mit einer Fehlermeldung an das Mitglied ab."); + break; - case "0.3.0": // SQL queries for v0.3.0 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."); - break; + case '0.3.5': // SQL queries for v0.3.5 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle."); + break; - case "0.3.1": // SQL queries for v0.3.1 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Fehler in Auszahlungsfunktion beseitigt, wenn Umrechnungsrate ungleich 1 eingestellt ist."); - break; + case '0.3.6': // SQL queries for v0.3.6 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."); + break; - case "0.3.2": // SQL queries for v0.3.2 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert."); - break; + case '0.3.7': // SQL queries for v0.3.7 + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Auszahlungsmanagement' WHERE `action`='payouts' AND (`what`='' OR `what` IS NULL) LIMIT 1"); - case "0.3.3": // SQL queries for v0.3.3 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4."); - break; + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Verwaltung nach Management umgestellt."); + break; - case "0.3.4": // SQL queries for v0.3.4 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Anzahl zu überweisende {!POINTS!} müssen immer grösser 0 sein, ansonsten bricht das Script mit einer Fehlermeldung an das Mitglied ab."); + case '0.3.8': // SQL queries for v0.3.8 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + break; + } break; - case "0.3.5": // SQL queries for v0.3.5 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Sicherheitsupdate für die Include-Befehle."); + case 'modify': // When the extension got modified break; - case "0.3.6": // SQL queries for v0.3.6 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."); + case 'test': // For testing purposes break; - case "0.3.7": // SQL queries for v0.3.7 - ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET title = 'Auszahlungsmanagement' WHERE action = 'payouts' AND (`what`='' OR `what` IS NULL) LIMIT 1"); - - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Verwaltung nach Management umgestellt."); + case 'init': // Do stuff when extension is initialized break; - case "0.3.8": // SQL queries for v0.3.8 - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + default: // Unknown extension mode + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); break; - } - break; - -case "modify": // When the extension got modified - break; - -case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305. - break; - -default: // Do stuff when extension is loaded - break; -} +} // END - switch -// +// [EOF] ?>