X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-bank.php;h=34ebec57293d9df42965ddfd2d3fcff5e3368d77;hp=c8af77f863f8c36eee263d59bb128b7389383a16;hb=b68d7d9622a02f3ea9d44ae3c5dee672b097f956;hpb=5071030af40e69ca4284642f44758964e18f5be8 diff --git a/inc/extensions/ext-bank.php b/inc/extensions/ext-bank.php index c8af77f863..34ebec5729 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, +`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`) +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = '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. - ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_tanlist`"); - ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_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 (account_id, tan) -) TYPE={!_TABLE_TYPE!}"); + 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 (`account_id`, `tan`) +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Bank TAN lists per user'"); // Admin menu queries - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank', NULL, 'Bank-Accounts','Verwalten Sie hier alle Bank-Accounts Ihrer Mitglieder, sowie Angebotspakete und Überweisungen.', 6)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','add_bank_package','Angebotspaket hinzufügen','Neues Angebotspaket erstellen.', 1)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_package','Angebotspakete auflisten','Listet alle erstellten Angebotspakete auf.', 2)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','add_bank_account','Konto anlegen','Legen Sie hier Konten für die Mitglieder an (falls Ihre Mitglieder nicht zurecht kommen).', 6)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_account','Konten auflisten','Auflistung aller Konto oder eines auswählbaren Mitglieds.', 7)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','del_bank_account','Konto löschen','Löschen von Konten mit Bestätigungsmail. Wenn Sie ein Mitglieder-Account löschen, so müssen Sie derzeit seine angelegten Konten auch löschen!', 10)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('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)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('bank','list_bank_trans','Überweisungen auflisten','Nach Auswahl eines Mitgliedes und einem Konto (benötgt JavaScript!) können Sie seitenweise die Überweisungen durchschauen.', 13)"); + 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 Mitglieder-Account 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 - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank', NULL, 'Bank-Account','N','Y', 3)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_infos','Angebotspakete','N','Y', 1)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_create','Konto anlegen','N','Y', 2)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_deposit','Auf Konto einzahlen','N','Y', 3)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_withdraw','Vom Konto abheben','N','Y', 4)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_output','Kontoauszug','N','Y', 5)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_change','Paket wechseln','N','Y', 6)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('bank','bank_remove','Konto Kündigen','N','Y', 7)"); + addMemberMenuSql('bank', NULL, 'Bank-Account', 'N', 'Y', 3); + addMemberMenuSql('bank', 'bank_infos', 'Angebotspakete', 'N', 'Y', 1); + addMemberMenuSql('bank', 'bank_create', 'Konto anlegen', 'N', 'Y', 2); + addMemberMenuSql('bank', 'bank_deposit', 'Auf Konto einzahlen', 'N', 'Y', 3); + addMemberMenuSql('bank', 'bank_withdraw', 'Vom Konto abheben', 'N', 'Y', 4); + addMemberMenuSql('bank', 'bank_output', 'Kontoauszug', 'N', 'Y', 5); + addMemberMenuSql('bank', 'bank_change', 'Paket wechseln', 'N', 'Y', 6); + addMemberMenuSql('bank', 'bank_remove', 'Konto Kündigen', 'N', 'Y', 7); break; case 'remove': // Do stuff when removing extension // SQL commands to run - ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_accounts`"); - ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_transfers`"); - ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_packages`"); - ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_bank_tanlist`"); - ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='bank'"); - ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `action`='bank'"); + 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 'activate': // Do stuff when admin activates this extension // SQL commands to run - ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bank' LIMIT 8"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bank' LIMIT 8"); break; case 'deactivate': // Do stuff when admin deactivates this extension // SQL commands to run - ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bank' LIMIT 8"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bank' LIMIT 8"); break; case 'update': // Update an extension - switch ($EXT_VER) - { + switch (getCurrentExtensionVersion()) { case '0.0.1': // SQL queries for v0.0.1 - ADD_EXT_SQL(''); + addExtensionSql(''); // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES(''); + setExtensionUpdateNotes(''); break; - } + } // END - switch break; - case 'modify': // When the extension got modified - 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; + case 'test': // For testing purposes + break; - default: // Do stuff when extension is loaded - break; -} + case 'init': // Do stuff when extension is initialized + break; + + default: // Unknown extension mode + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); + break; +} // END - switch -// +// [EOF] ?>