X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions%2Fext-payout.php;h=41126247413cfe87f4d0ae96f7bc8320e1e8367b;hb=5150d830f669eaf05b1c57354dafe124ae35c8b5;hp=0f4b12eb349dd348ed23a223d395e55eab04c1fc;hpb=ee71bda9cc7d75f090ae2e1a2d05d4903523e112;p=mailer.git diff --git a/inc/extensions/ext-payout.php b/inc/extensions/ext-payout.php index 0f4b12eb34..4112624741 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_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_payouts` CHANGE payout_total payout_total FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - ADD_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"); +setThisExtensionVersion('0.3.8'); + +// Version history array (add more with , '0.0.1' and so on) +setExtensionVersionHistory(array('0.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 'setup': // Do stuff when installation is running + // SQL commands to run + addDropTableSql('user_payouts'); + addCreateTableSql('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', +PRIMARY KEY (`id`), +INDEX (`userid`), +INDEX (`payout_id`)", + 'Done user payouts (and status)'); + + addDropTableSql('payout_types'); + addCreateTableSql('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`)", + 'Payout types'); + + // Admin menu + 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); + + // Member menu + addMemberMenuSql('main', 'payout', 'Auszahlungen', 11); 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."); + 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 "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."); + 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 "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."); + 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 "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."); + 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 + addExtensionChangeTableColumnSql('payout_types', 'from_account', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'from_pass', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'engine_url', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'engine_ret_ok', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'engine_ret_failed', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'pass_enc', "ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'"); + break; + + case '0.1.4': // SQL queries for v0.1.4 + addExtensionChangeTableColumnSql('user_payouts', 'password', "VARCHAR(255) NOT NULL DEFAULT ''"); + break; + + case '0.1.5': // SQL queries for v0.1.5 + addExtensionChangeTableColumnSql('user_payouts', 'target_url', 'LONGTEXT NOT NULL'); + addExtensionChangeTableColumnSql('user_payouts', 'banner_url', 'LONGTEXT NOT NULL'); + addExtensionChangeTableColumnSql('user_payouts', 'link_text', "VARCHAR(30) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'allow_url', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); + break; + + case '0.1.6': // SQL queries for v0.1.6 + addExtensionChangeTableColumnSql('payout_types', '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 + addExtensionChangeTableColumnSql('user_payouts', 'payout_total', 'payout_total', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionChangeTableColumnSql('payout_types', '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."); + break; + + 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.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.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.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.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.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.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.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.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"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Verwaltung nach Management umgestellt."); + break; + + 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; + } // END - switch 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."); + case 'modify': // When the extension got modified 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."); + case 'test': // For testing purposes 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."); + case 'init': // Do stuff when extension is initialized 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."); + default: // Unknown extension mode + reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); break; +} // END - switch - 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.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.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; - - 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."); - 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."); - 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."); - break; - - case "0.3.7": // SQL queries for v0.3.7 - ADD_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."); - 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."); - break; - } - 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; -} - -// +// [EOF] ?>