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. 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 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 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 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 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 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 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); break; } // END - switch // [EOF] ?>