X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fextensions%2Fext-transfer.php;h=1b3aee19e93ab523e36bc66a5d2cfb1a5363c0ba;hb=443e8da00cd49aaf7ba7ed534e90d1c71b0483d0;hp=5dc29b801040076cf36ec04fcfe1a10276ca3f91;hpb=747c49b9f46a3d7d1d881c9e1c273ecf107f8d8b;p=mailer.git diff --git a/inc/extensions/ext-transfer.php b/inc/extensions/ext-transfer.php index 5dc29b8010..1b3aee19e9 100644 --- a/inc/extensions/ext-transfer.php +++ b/inc/extensions/ext-transfer.php @@ -1,7 +1,7 @@ Warning: Missing argument 2 for create_timestamp_from_selections() in {!PATH!}inc/libs/pro_functions.php on line 227 behoben."; - break; - - case "0.0.3": // SQL queries for v0.0.3 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Überflüssige unset()-Anweisungen aus der what-config_transfer.php entfernt. Dies wird bereits von der eigenen Funktion ADMIN_SAVE_SETTINGS() erledigt."; - break; - - case "0.0.3": // SQL queries for v0.0.3 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."; - break; - - case "0.0.5": // SQL queries for v0.0.5 - $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD ap_transfer ENUM('Y','N') NOT NULL DEFAULT 'Y'"; - - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Link Auflisten im Admin-Bereich hatte das eingeloggte Mitglied und nicht den eingeloggten Admin abgefragt. Automatisches Löschen von veraltete Einträgen kann unabhängig von der autopurge-Erweiterung de-/aktiviert werden. Bitte aktualisieren Sie auch die beiden Admin-Templates!"; - break; - - case "0.0.6": // SQL queries for v0.0.6 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; - break; - - case "0.0.7": // SQL queries for v0.0.7 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; - break; - - case "0.0.8": // SQL queries for v0.0.8 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Problem mit E in Transaktionsnummer beseitigt."; - break; - - case "0.0.9": // SQL queries for v0.0.9 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; - break; - - case "0.1.0": // SQL queries for v0.2.1 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; - break; - - case "0.1.1": // SQL queries for v0.1.1 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; - break; - - case "0.1.2": // SQL queries for v0.1.2 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; - break; - - case "0.1.3": // SQL queries for v0.1.3 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt."; - break; - - case "0.1.4": // SQL queries for v0.1.4 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Link zum Mitgliedsprofil in Funktion ADMIN_USER_PROFILE_LINK() ausgelagert."; - break; - - case "0.1.5": // SQL queries for v0.1.5 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Template admin_config_transfer_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!"; - break; - - case "0.1.6": // SQL queries for v0.1.6 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; - break; - - case "0.1.7": // SQL queries for v0.1.7 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Wort Punkte dynamisiert."; +setThisExtensionVersion('0.2.9'); + +// Version history array (add more with , '0.1.0' and so on) +setExtensionVersionHistory(array('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')); + +switch (getExtensionMode()) { + case 'register': // Do stuff when installation is running + // SQL commands to run + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_in`'); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_out`'); + + // Transfer from a member + addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_user_transfers_in` ( +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`from_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`reason` VARCHAR(255) NOT NULL DEFAULT '', +`time_trans` VARCHAR(14) NOT NULL DEFAULT 0, +`trans_id` VARCHAR(12) NOT NULL DEFAULT '', +KEY (`userid`), +KEY (`from_userid`), +PRIMARY KEY (`id`) +) Type={?_TABLE_TYPE?}"); + + // Transfers to a member + addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_user_transfers_out` ( +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`to_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`reason` VARCHAR(255) NOT NULL DEFAULT '', +`time_trans` VARCHAR(14) NOT NULL DEFAULT 0, +`trans_id` VARCHAR(12) NOT NULL DEFAULT '', +KEY (`userid`), +KEY (`to_userid`), +PRIMARY KEY (`id`) +) Type={?_TABLE_TYPE?}"); + + // Admin menu + addAdminMenuSql('transfer', NULL, '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','Verwalten Sie hier die {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transaktionen zwischen Ihren Mitgliedern.', 7); + addAdminMenuSql('transfer','list_transfer','Auflisten','Hier bekommen Sie alle ein- und ausgehende Transaktionen aufgelistet.', 1); + addAdminMenuSql('transfer','config_transfer','Einstellungen','Stellen Sie ein, wie viele Transaktionen aufgelistet werden sollen und wie alt diese werden dürfen. Die evtl. installierte autopurge-Erweiterung kann dann automatisch die veralteten Transktionen löschen.', 2); + addAdminMenuSql('transfer','del_transfer','Manuell löschen','Hier können Sie - abgesehen von der automatischen Löschung - Transaktionen selber löschen. Bitte beachten Sie, dass immer aus- und eingehende Transaktionen gleichzeitig gelöscht werden.', 3); + + // Member menu + addMemberMenuSql('main','transfer','{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','N','Y', 5); + + // Add config values + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_max` BIGINT(20) UNSIGNED NOT NULL DEFAULT 50"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_age` BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('ONE_DAY')*28)); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT {?ONE_DAY?}"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_balance` BIGINT(20) UNSIGNED NOT NULL DEFAULT 100"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `transfer_code` BIGINT(20) UNSIGNED NOT NULL DEFAULT 5"); + + // Add row(s) to user's data + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD opt_in ENUM('Y','N') NOT NULL DEFAULT 'N'"); break; - case "0.1.8": // SQL queries for v0.1.8 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + case 'remove': // Do stuff when removing extension + // SQL commands to run + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_in`'); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_transfers_out`'); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='transfer'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='transfer'"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `opt_in`"); break; - case "0.1.9": // SQL queries for v0.1.9 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Parser-Error im Mitgliedsbereich beseitigt."; + 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`='transfer' LIMIT 1"); break; - case "0.2.0": // SQL queries for v0.2.0 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + case 'deactivate': // Do stuff when admin deactivates this extension + // SQL commands to run + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='transfer' LIMIT 1"); break; - case "0.2.1": // SQL queries for v0.2.1 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Durchführung des Transfers korregiert."; - break; - - case "0.2.2": // SQL queries for v0.2.2 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; - break; - - case "0.2.3": // SQL queries for v0.2.3 - $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu_las` (la_id, la_action, la_what) VALUES ('member', '', 'list_transfer')"; - $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu_las` (la_id, la_action, la_what) VALUES ('member', '', 'del_transfer')"; - $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu_las` (la_id, la_action, la_what) VALUES ('config', '', 'config_transfer')"; - - // Depends on sql_patches (or you have to execute these both SQL statements by phpMyAdmin - $EXT_UPDATE_DEPENDS = "sql_patches"; - - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Erweiterung in's neue Menüsystem integriert."; - break; - - case "0.2.4": // SQL queries for v0.2.4 - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Touring-Code wiederholen nach Touring-Code eingeben hin geändert."; - break; - - case "0.2.5": // SQL queries for v0.2.5 - $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_member_menu` SET action='extras', sort='5' WHERE what='transfer' LIMIT 1"; - - // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Mitgliedsmenü komplett geändert."; + case 'update': // Update an extension + switch (getCurrentExtensionVersion()) { + case '0.0.2': // SQL queries for v0.0.2 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Fehler