X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-bank.php;h=3559e7ab9a3677421d1c5a0eea32a613e5842658;hp=0bd94d1f8d437a779353902ab1c72c05e93e436b;hb=61621983cc6d7195fcc7eab29b5f6080ff283b34;hpb=e3701377bd1dcae6ac39265f8c1bdd8d0fed7911 diff --git a/inc/extensions/ext-bank.php b/inc/extensions/ext-bank.php index 0bd94d1f8d..3559e7ab9a 100644 --- a/inc/extensions/ext-bank.php +++ b/inc/extensions/ext-bank.php @@ -1,7 +1,7 @@ user transfers'); + + addDropTableSql('bank_packages'); + addCreateTableSql('bank_packages', " +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`title` VARCHAR(255) NOT NULL DEFAULT '', +`description` TINYTEXT NOT NULL, +`account_fee` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, +`free_transfers` INT(7) UNSIGNED NOT NULL DEFAULT 0, +`transfer_fee` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, +`available` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +`output_system_mode` ENUM('LOGIN','EMAIL','DISABLED'), +`package_active` ENUM('Y','N') NOT NULL DEFAULT 'N', +`free_months_no_fee` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0, +`interest_plus` FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.00000, +`interest_minus` FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.00000, +`first_payment` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, +`free_account_income` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, +`free_account_stuff` TINYTEXT null, +`tan_lock` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0, +PRIMARY KEY (`id`)", + 'Bank account packages'); + + // Free_account_stuff will be a list of columns of the table _bank_packages + // what the member shall get for the specified income. output_system_mode + // must be extended with the mode you get for free: output_system_mode:LOGIN + // should be fine. More than one entry and not DISABLED ;) are not supported. + addDropTableSql('bank_tanlist'); + addCreateTableSql('bank_tanlist', " +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`idx` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0, +`account_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`tan` VARCHAR(50) NOT NULL DEFAULT '', +`used` ENUM('Y','N') NOT NULL DEFAULT 'N', +PRIMARY KEY (`id`), +UNIQUE INDEX (`account_id`, `tan`)", + 'Bank TAN lists per user'); + + // Admin menu queries + addAdminMenuSql('bank', NULL, 'Bank-Accounts', 'Verwalten Sie hier alle Bank-Accounts Ihrer Mitglieder, sowie Angebotspakete und Überweisungen.', 6); + addAdminMenuSql('bank', 'add_bank_package', 'Angebotspaket hinzufügen', 'Neues Angebotspaket erstellen.', 1); + addAdminMenuSql('bank', 'list_bank_package', 'Angebotspakete auflisten', 'Listet alle erstellten Angebotspakete auf.', 2); + addAdminMenuSql('bank', 'edit_bank_package', 'Angebotspaket ändern', 'Nach Auswahl eines Angebotspaketes können Sie dieses hier verändern. Bitte beachten Sie, dass Ihre Mitglieder keine Mail dabei erhalten!', 3); + addAdminMenuSql('bank', 'lock_bank_package', 'Angebotspaket ent-/sperren', 'Nehmen Sie Angebotspakete zur temporären Überarbeitung zuvor heraus, dann können Sie in Ruhe drüber nachdenken und Berechnungen anstellen. Freigabe ist hier auch möglich.', 4); + addAdminMenuSql('bank', 'del_bank_package', 'Angebotspaket löschen', 'Nach Auswahl eines Angebotspaketes können Sie mit abschliessender Bestätigung Angebotspakete ganz löschen. Bitte beachten Sie, dass dies nur möglich ist, wenn auch alle Accounts dieses nicht mehr nutzen!', 5); + addAdminMenuSql('bank', 'add_bank_account', 'Konto anlegen', 'Legen Sie hier Konten für die Mitglieder an (falls Ihre Mitglieder nicht zurecht kommen).', 6); + addAdminMenuSql('bank', 'list_bank_account', 'Konten auflisten', 'Auflistung aller Konto oder eines auswählbaren Mitglieds.', 7); + addAdminMenuSql('bank', 'edit_bank_account', 'Konto ändern', 'Ändern Sie hier bestehende Konten, z.B. den Dispositionskredit usw. PINs und TANs sind hier nicht änderbar! Bestätigungsmails sind optional versendbar.', 8); + addAdminMenuSql('bank', 'lock_bank_account', 'Konto ent-/sperren', 'Sperren Sie hier Konten bei Bedarf. Auch das Freischalten ist hier möglich. Eine Benachrichtigung per Mail wird dann an das Mitglied ausgesendet.', 9); + addAdminMenuSql('bank', 'del_bank_account', 'Konto löschen', 'Löschen von Konten mit Bestätigungsmail. Wenn Sie ein Mitgliedaccount löschen, so müssen Sie derzeit seine angelegten Konten auch löschen!', 10); + addAdminMenuSql('bank', 'send_bank_tanlist', 'TAN-Liste aussenden', 'Listet zuerst Anfragen von Mitgliedern auf, die eine neue (i)TAN-Liste benötigen, anschliessend kann die Liste dann ausgesendet werden.', 11); + addAdminMenuSql('bank', 'lock_bank_tanlist', 'TAN-Liste ent-/sperren', 'Bestehende TAN-Listen können auf Kundenwunsch hin gesperrt und wieder entsperrt werden. Dies passiert auch, wenn der Kunde x-mal (siehe Angebotspakete) eine verkehrte TAN eingegeben hat. Einzelne TANs sind nicht ent-/sperrbar.', 12); + addAdminMenuSql('bank', 'list_bank_trans', 'Überweisungen auflisten', 'Nach Auswahl eines Mitgliedes und einem Konto (benötgt JavaScript!) können Sie seitenweise die Überweisungen durchschauen.', 13); + + // Member menu + addMemberMenuSql('bank', NULL, 'Bank-Account', 3); + addMemberMenuSql('bank', 'bank_infos', 'Angebotspakete', 1); + addMemberMenuSql('bank', 'bank_create', 'Konto anlegen', 2); + addMemberMenuSql('bank', 'bank_deposit', 'Auf Konto einzahlen', 3); + addMemberMenuSql('bank', 'bank_withdraw', 'Vom Konto abheben', 4); + addMemberMenuSql('bank', 'bank_output', 'Kontoauszug', 5); + addMemberMenuSql('bank', 'bank_change', 'Paket wechseln', 6); + addMemberMenuSql('bank', 'bank_remove', 'Konto Kündigen', 7); break; - } - break; -case "modify": // When the extension got modified - break; + case 'remove': // Do stuff when removing extension + // SQL commands to run + addDropTableSql('bank_accounts'); + addDropTableSql('bank_transfers'); + addDropTableSql('bank_packages'); + addDropTableSql('bank_tanlist'); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='bank'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `action`='bank'"); + break; -case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305. - 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 `action`='bank' LIMIT 8"); + break; -default: // Do stuff when extension is loaded - 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 `action`='bank' LIMIT 8"); + break; + + case 'update': // Update an extension + switch (getCurrentExtensionVersion()) { + case '0.0.1': // SQL queries for v0.0.1 + addExtensionSql(''); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes(''); + break; + } // END - switch + break; + + case 'modify': // When the extension got modified + break; + + case 'test': // For testing purposes + break; + + case 'init': // Do stuff when extension is initialized + break; + + default: // Unknown extension mode + reportBug(__FILE__, __LINE__, sprintf('Unknown extension mode %s in extension %s detected.', getExtensionMode(), getCurrentExtensionName())); + break; +} // END - switch -// +// [EOF] ?>