X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-doubler.php;h=3c7410914b5256f4d0afd6c7219334b545bf7161;hp=f569b33740eeeb7ce52de72fffe640d1a67a240f;hb=0f3a135204757cc8750262871c8e62c42300acb4;hpb=528cb262219d23d8023ec549cd168edb71ef409c diff --git a/inc/extensions/ext-doubler.php b/inc/extensions/ext-doubler.php index f569b33740..3c7410914b 100644 --- a/inc/extensions/ext-doubler.php +++ b/inc/extensions/ext-doubler.php @@ -14,11 +14,9 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -43,16 +41,16 @@ if (!defined('__SECURITY')) { } // END - if // Version number -setThisExtensionVersion('0.1.7'); +setThisExtensionVersion('0.1.8'); -// 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')); +// Version history array (add more with , '0.0.1' and so on) +setExtensionVersionHistory(array('0.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')); switch (getExtensionMode()) { - case 'register': // Do stuff when installation is running (modules.php?module=admin is called) + case 'register': // Do stuff when installation is running // Doubler table - addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_doubler`'); - addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_doubler` ( + addDropTableSql('doubler'); + addCreateTableSql('doubler', " `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, @@ -61,45 +59,45 @@ switch (getExtensionMode()) { `timemark` BIGINT(10) NOT NULL DEFAULT 0, `completed` ENUM('Y','N') NOT NULL DEFAULT 'N', `is_ref` ENUM('Y','N') NOT NULL DEFAULT 'N', -KEY (`refid`), -KEY (`userid`), -PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +PRIMARY KEY (`id`), +INDEX (`refid`), +INDEX (`userid`)", + 'User doubler data'); // // --- SETTINGS --- // // Minimum points to double - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_min FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000"); + addConfigAddSql('doubler_min', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000'); // Maximum points to double - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_max FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 10000.00000"); + addConfigAddSql('doubler_max', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 10000.00000'); // Points left on users account after doubling - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_left BIGINT(20) UNSIGNED NOT NULL DEFAULT 1000"); + addConfigAddSql('doubler_left', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 1000'); // Charge for doubling points which goes to the webmaster (shreddered in fact!) - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_charge FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.03000"); + addConfigAddSql('doubler_charge', 'FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.03000'); // Referal percents - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_ref FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.02000"); + addConfigAddSql('doubler_ref', 'FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.02000'); // Shall I use the jackpot to take points from? (Y/N, default=Y) - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_jackpot ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addConfigAddSql('doubler_jackpot', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // A user account to take points from (default: 0->none) - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addConfigAddSql('doubler_userid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Total payed out points from your doublers - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addConfigAddSql('doubler_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Sending mode of mails (immediately/daily reset) // --> This also means who fast the doubled points will be payed out! - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_send_mode ENUM('DIRECT','RESET') NOT NULL DEFAULT 'DIRECT'"); + addConfigAddSql('doubler_send_mode', "ENUM('DIRECT','RESET') NOT NULL DEFAULT 'DIRECT'"); // Timeout for entries to be purged (default: one week) - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `doubler_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('ONE_DAY')*7).""); + addConfigAddSql('doubler_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7)); // Number of newest entries to display - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `doubler_display_new` TINYINT(3) UNSIGNED NOT NULL DEFAULT 10"); + addConfigAddSql('doubler_display_new', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); // Number of entries which will be payed out soon - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `doubler_display_pay` TINYINT(3) UNSIGNED NOT NULL DEFAULT 10"); + addConfigAddSql('doubler_display_pay', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); // Number of entries which are already payed out - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `doubler_display_old` TINYINT(3) UNSIGNED NOT NULL DEFAULT 10"); + addConfigAddSql('doubler_display_old', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); // Points used by every member - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `doubler_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `doubler_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Counter for usage of the doubler - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `doubler_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addConfigAddSql('doubler_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // // --- MENU SYSTEMS --- @@ -110,18 +108,18 @@ PRIMARY KEY (`id`) addAdminMenuSql('doubler','config_doubler','Einstellungen','Prozentuale Gebühr usw. einstellen.', 2); // Guest menu (informations / default doubler link) - addGuestMenuSql('main','doubler','Verdoppeln!','N','Y',3); + addGuestMenuSql('main', 'doubler', 'Verdoppeln!', 3); // Member menu - addMemberMenuSql('main','doubler','Verdoppeln!','N','Y',7); + addMemberMenuSql('main', 'doubler', 'Verdoppeln!', 7); break; case 'remove': // Do stuff when removing extension // SQL commands to run - addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_doubler`'); + addDropTableSql('doubler'); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='doubler'"); - addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='doubler'"); - addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='doubler'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='doubler' LIMIT 1"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='doubler' LIMIT 1"); break; case 'activate': // Do stuff when admin activates this extension @@ -147,7 +145,7 @@ PRIMARY KEY (`id`) case '0.0.2': // SQL queries for v0.0.2 // Total used points - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_used FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addConfigAddSql('doubler_user', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Gebühr wird vom Verdoppler-Pott abgezogen."); @@ -160,92 +158,103 @@ PRIMARY KEY (`id`) case '0.0.4': // SQL queries for v0.0.4 // Shall I use the doubler's account to take points from? (Y/N, default=Y) - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_own ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addConfigAddSql('doubler_own', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("{?POINTS?}-Guthaben des Verdopplers kann optional nicht mit einbezogen werden."); break; - case '0.0.5': // SQL queries for v0.0.5 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Counter-Stand und noch zum Verdoppeln übrige {?POINTS?} in Templates eingebunden. Auflistung in Admin-Bereich komplettiert."); - break; - - case '0.0.6': // SQL queries for v0.0.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_max_sent TINYINT(3) UNSIGNED NOT NULL DEFAULT 1"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_group_sent TINYINT(3) UNSIGNED NOT NULL DEFAULT 1"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD doubler_sent_all ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Gebührenabzug wird beim Einzahlen abgezogen (wurde von Auszahlung abgezogen) und maximal bei Auszahlung zu kontrollierende Accounts einstellbar.
Template admin_config_doubler_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!"); - break; - - case '0.0.7': // SQL queries for v0.0.7 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Wörter {?mt_word?}, {?mt_word2?} und {?mt_word3?} sind austauschbar.

Minus-Guthaben des Verdoppler-Accounts repariert und Mitgliedsmail erweitert mit Transaktionsummer und IP-Nummer."); - break; - - case '0.0.8': // SQL queries for v0.0.8 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Bitte verschieben Sie die doubler-Templates (Ordner: {?PATH?}/templates/".getLanguage()."/html/) in den neuen Order doubler!"); - break; - - case '0.0.9': // SQL queries for v0.0.9 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Abspeichern von Einstellungen repariert."); - break; - - case '0.1.0': // SQL queries for v0.2.1 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4."); - break; - - case '0.1.1': // SQL queries for v0.1.1 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Zwei SQL-Fehler in inc/doubler_send.php beseitigt."); - break; - - case '0.1.2': // SQL queries for v0.1.2 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle."); - break; - - case '0.1.3': // SQL queries for v0.1.3 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."); - break; - - case '0.1.4': // SQL queries for v0.1.4 - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras', `sort`=4 WHERE `what`='doubler' LIMIT 1"); - - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut."); - break; - - case '0.1.5': // SQL queries for v0.1.5 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."); - break; - - case '0.1.6': // SQL queries for v0.1.6 - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); - break; - - case '0.1.7': // SQL queries for v0.1.7 - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_charge`=`doubler_charge`*100"); - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_ref`=`doubler_ref`*100"); - - // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); - break; + case '0.0.5': // SQL queries for v0.0.5 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Counter-Stand und noch zum Verdoppeln übrige {?POINTS?} in Templates eingebunden. Auflistung in Admin-Bereich komplettiert."); + break; + + case '0.0.6': // SQL queries for v0.0.6 + addConfigAddSql('doubler_max_sent', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 1'); + addConfigAddSql('doubler_group_sent', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 1'); + addConfigAddSql('doubler_sent_all', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Gebührenabzug wird beim Einzahlen abgezogen (wurde von Auszahlung abgezogen) und maximal bei Auszahlung zu kontrollierende Accounts einstellbar.
Template admin_config_doubler_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!"); + break; + + case '0.0.7': // SQL queries for v0.0.7 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Wörter {?mt_word?}, {?mt_word2?} und {?mt_word3?} sind austauschbar.

Minus-Guthaben des Verdoppler-Accounts repariert und Mitgliedsmail erweitert mit Transaktionsummer und IP-Nummer."); + break; + + case '0.0.8': // SQL queries for v0.0.8 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Bitte verschieben Sie die doubler-Templates (Ordner: {?PATH?}/templates/".getLanguage()."/html/) in den neuen Order doubler!"); + break; + + case '0.0.9': // SQL queries for v0.0.9 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Abspeichern von Einstellungen repariert."); + break; + + case '0.1.0': // SQL queries for v0.2.1 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4."); + break; + + case '0.1.1': // SQL queries for v0.1.1 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Zwei SQL-Fehler in inc/doubler_send.php beseitigt."); + break; + + case '0.1.2': // SQL queries for v0.1.2 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle."); + break; + + case '0.1.3': // SQL queries for v0.1.3 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden."); + break; + + case '0.1.4': // SQL queries for v0.1.4 + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras', `sort`=4 WHERE `what`='doubler' LIMIT 1"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut."); + break; + + case '0.1.5': // SQL queries for v0.1.5 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Hash-Erstellung von md5() auf bessere Funktion generateHash() umgestellt."); + break; + + case '0.1.6': // SQL queries for v0.1.6 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + break; + + case '0.1.7': // SQL queries for v0.1.7 + addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_charge`=`doubler_charge`*100 WHERE `config`=0 LIMIT 1'); + addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_config` SET `doubler_ref`=`doubler_ref`*100 WHERE `config`=0 LIMIT 1'); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + break; + + case '0.1.8': // SQL queries for v0.1.8 + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`,`column_name`,`locked_mode`,`payment_method`) VALUES ('doubler_direct','points','LOCKED','DIRECT')"); + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`,`column_name`,`locked_mode`,`payment_method`) VALUES ('doubler_reset','points','LOCKED','DIRECT')"); + + // This depends on ext-sql_patches + addExtensionDependency('sql_patches'); + + // Update notes + setExtensionUpdateNotes("Doppler-Gutschriften werden nun über die Tabelle {OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data verwaltet."); + break; } // END - switch 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. + case 'test': // For testing purposes break; case 'init': // Do stuff when extension is initialized