]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-doubler.php
All database names are now 'back-ticked' and constant _MYSQL_PREFIX is wrapped. Partl...
[mailer.git] / inc / extensions / ext-doubler.php
index 9026ca8f1a7d45b7fbdc97194d99054b4f3c2440..08e70872497bf14ec08e1d48835b3f38d0600882 100644 (file)
@@ -32,8 +32,7 @@
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])))
-{
+if (!defined('__SECURITY')) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
@@ -49,18 +48,18 @@ $EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.
 
 switch ($EXT_LOAD_MODE)
 {
-case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called)
+case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
        // Doubler table
-       $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_doubler";
-       $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_doubler (
-id bigint(20) not null auto_increment,
-userid bigint(20) not null default '0',
-refid bigint(20) not null default '0',
-points double(20,5) not null default '0.00000',
-remote_ip varchar(15) not null default '0.0.0.0',
-timemark varchar(10) not null default '',
-completed enum('Y', 'N') not null default 'N',
-is_ref enum('Y', 'N') not null default 'N',
+       $SQLs[] = "DROP TABLE IF EXISTS `{!MYSQL_PREFIX!}_doubler`";
+       $SQLs[] = "CREATE TABLE `{!MYSQL_PREFIX!}_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,
+points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
+remote_ip VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+timemark VARCHAR(10) NOT NULL DEFAULT '',
+completed ENUM('Y','N') NOT NULL DEFAULT 'N',
+is_ref ENUM('Y','N') NOT NULL DEFAULT 'N',
 KEY(refid),
 KEY(userid),
 PRIMARY KEY(id)
@@ -70,72 +69,72 @@ PRIMARY KEY(id)
        // --- SETTINGS ---
        //
        // Minimum points to double
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_min double(20,5) not null default '100.00000'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_min FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000";
        // Maximum points to double
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_max double(20,5) not null default '10000.00000'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_max FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 10000.00000";
        // Points left on users account after doubling
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_left bigint(20) not null default '1000'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_left BIGINT(20) UNSIGNED NOT NULL DEFAULT 1000";
        // Charge for doubling points which goes to the webmaster (shreddered in fact!)
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_charge float(7,3) not null default '0.030'";
-       // Referral percents
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_ref float(7,3) not null default '0.020'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_charge FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.03000";
+       // Referal percents
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_ref FLOAT(7,5) UNSIGNED NOT NULL DEFAULT 0.02000";
        // Shall I use the jackpot to take points from? (Y/N, default=Y)
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_jackpot enum('Y', 'N') not null default 'Y'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_jackpot ENUM('Y','N') NOT NULL DEFAULT 'Y'";
        // A user account to take points from (default: 0->none)
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_uid bigint(20) not null default '0'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
        // Total payed out points from your doublers
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_points double(20,5) not null default '0.00000'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD 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!
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_send_mode enum('DIRECT', 'RESET') not null default 'DIRECT'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_send_mode ENUM('DIRECT','RESET') NOT NULL DEFAULT 'DIRECT'";
        // Timeout for entries to be purged (default: one week)
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_timeout bigint(20) not null default '".(60*60*24*7)."'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('one_day')*7)."";
        // Number of newest entries to display
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_display_new tinyint(3) not null default '10'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_display_new TINYINT(3) UNSIGNED NOT NULL DEFAULT 10";
        // Number of entries which will be payed out soon
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_display_pay tinyint(3) not null default '10'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_display_pay TINYINT(3) UNSIGNED NOT NULL DEFAULT 10";
        // Number of entries which are already payed out
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_display_old tinyint(3) not null default '10'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_display_old TINYINT(3) UNSIGNED NOT NULL DEFAULT 10";
        // Points used by every member
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD doubler_points double(20,5) not null default '0.00000'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_user_data` ADD doubler_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
        // Counter for usage of the doubler
-       $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_counter bigint(20) not null default '0'";
+       $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_counter BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
 
        //
        // --- MENU SYSTEMS ---
        //
        // Admin menu
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('doubler', '', '{!POINTS!}-Verdoppler', 'Einstellungen und Einträge auflisten.', 4)";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('doubler', 'list_doubler', 'Auflisten', 'Einträge aus der Verdiensttabelle auflisten', 1)";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('doubler', 'config_doubler', 'Einstellungen', 'Prozentuale Gebühr usw. einstellen.', 2)";
+       $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('doubler', NULL, '{!POINTS!}-Verdoppler','Einstellungen und Einträge auflisten.', 4)";
+       $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('doubler','list_doubler','Auflisten','Einträge aus der Verdiensttabelle auflisten', 1)";
+       $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('doubler','config_doubler','Einstellungen','Prozentuale Gebühr usw. einstellen.', 2)";
 
        // Guest menu (informations / default doubler link)
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, sort, visible, locked) VALUES ('main', 'doubler', 'Verdoppeln!', 3, 'Y', 'Y')";
+       $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','doubler','Verdoppeln!',3,'Y','Y')";
 
        // Member menu
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, visible, locked, sort) VALUES ('main', 'doubler', 'Verdoppeln!', 'Y', 'Y', 7)";
+       $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','doubler','Verdoppeln!','Y','Y',7)";
        break;
 
 case "remove": // Do stuff when removing extension
        // SQL commands to run
-       $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_doubler";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='doubler' LIMIT 3";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE what='doubler' LIMIT 1";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='doubler' LIMIT 1";
+       $SQLs[] = "DROP TABLE IF EXISTS `{!MYSQL_PREFIX!}_doubler`";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `{!MYSQL_PREFIX!}_admin_menu` WHERE action='doubler' LIMIT 3";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `{!MYSQL_PREFIX!}_guest_menu` WHERE what='doubler' LIMIT 1";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `{!MYSQL_PREFIX!}_member_menu` WHERE what='doubler' LIMIT 1";
        break;
 
 case "activate": // Do stuff when admin activates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE what='doubler' LIMIT 1";
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='N' WHERE what='doubler' LIMIT 1";
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='N', hidden='N', admin_only='N', mem_only='N' WHERE module='doubler' LIMIT 1";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_member_menu` SET visible='Y', locked='N' WHERE what='doubler' LIMIT 1";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_guest_menu` SET visible='Y', locked='N' WHERE what='doubler' LIMIT 1";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_mod_reg` SET locked='N', hidden='N', admin_only='N', mem_only='N' WHERE module='doubler' LIMIT 1";
        break;
 
 case "deactivate": // Do stuff when admin deactivates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE what='doubler' LIMIT 1";
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='Y' WHERE what='doubler' LIMIT 1";
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='Y' WHERE module='doubler' LIMIT 1";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_member_menu` SET visible='N', locked='Y' WHERE what='doubler' LIMIT 1";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_guest_menu` SET visible='N', locked='Y' WHERE what='doubler' LIMIT 1";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_mod_reg` SET locked='Y' WHERE module='doubler' LIMIT 1";
        break;
 
 case "update": // Update an extension
@@ -148,7 +147,7 @@ case "update": // Update an extension
 
        case "0.0.2": // SQL queries for v0.0.2
                // Total used points
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_used double(20,5) not null default '0.00000'";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_used FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Gebühr wird vom Verdoppler-Pott abgezogen.";
@@ -161,7 +160,7 @@ case "update": // Update an extension
 
        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)
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_own enum('Y', 'N') not null default 'Y'";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_own ENUM('Y','N') NOT NULL DEFAULT 'Y'";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = POINTS."-Guthaben des Verdopplers kann optional nicht mit einbezogen werden.";
@@ -173,22 +172,22 @@ case "update": // Update an extension
                break;
 
        case "0.0.6": // SQL queries for v0.0.6
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_max_sent tinyint(4) not null default '1'";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_group_sent tinyint(4) not null default '1'";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD doubler_sent_all enum('Y', 'N') not null default 'Y'";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_max_sent TINYINT(3) UNSIGNED NOT NULL DEFAULT 1";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD doubler_group_sent TINYINT(3) UNSIGNED NOT NULL DEFAULT 1";
+               $SQLs[] = "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!)
-               $UPDATE_NOTES = "Geb&uuml;hrenabzug wird beim Einzahlen abgezogen (wurde von Auszahlung abgezogen) und maximal bei Auszahlung zu kontrollierende Accounts einstellbar.<br>Template <u>admin_config_doubler_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!";
+               $UPDATE_NOTES = "Geb&uuml;hrenabzug wird beim Einzahlen abgezogen (wurde von Auszahlung abgezogen) und maximal bei Auszahlung zu kontrollierende Accounts einstellbar.<br />Template <u>admin_config_doubler_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!";
                break;
 
        case "0.0.7": // SQL queries for v0.0.7
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "W&ouml;rter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.<br /><br />Minus-Guthaben des Verdoppler-Accounts repariert und Mitgliedsmail erweitert mit Transaktionsummer und IP-Nummer.";
+               $UPDATE_NOTES = "W&ouml;rter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.<br /><br />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!)
-               $UPDATE_NOTES = "Bitte verschieben Sie die doubler-Templates (Ordner: ".PATH."/templates/".GET_LANGUAGE()."/html/) in den neuen Order doubler!";
+               $UPDATE_NOTES = "Bitte verschieben Sie die doubler-Templates (Ordner: {!PATH!}/templates/".GET_LANGUAGE()."/html/) in den neuen Order doubler!";
                break;
 
        case "0.0.9": // SQL queries for v0.0.9
@@ -203,7 +202,7 @@ case "update": // Update an extension
 
        case "0.1.1": // SQL queries for v0.1.1
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Zwei SQL-Fehler in <STRONG>inc/doubler_send.php</STRONG> beseitigt.";
+               $UPDATE_NOTES = "Zwei SQL-Fehler in <strong>inc/doubler_send.php</strong> beseitigt.";
                break;
 
        case "0.1.2": // SQL queries for v0.1.2
@@ -217,7 +216,7 @@ case "update": // Update an extension
                break;
 
        case "0.1.4": // SQL queries for v0.1.4
-               $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='4' WHERE what='doubler' LIMIT 1";
+               $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_member_menu` SET action='extras', sort='4' WHERE what='doubler' LIMIT 1";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Mitgliedsmen&uuml; komplett umgebaut.";
@@ -225,7 +224,7 @@ case "update": // Update an extension
 
        case "0.1.5": // SQL queries for v0.1.5
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Hash-Erstellung von <STRONG>md5()</STRONG> auf bessere Funktion <STRONG>generateHash()</STRONG> umgestellt.";
+               $UPDATE_NOTES = "Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.";
                break;
 
        case "0.1.6": // SQL queries for v0.1.6
@@ -235,24 +234,16 @@ case "update": // Update an extension
        }
        break;
 
-default: // Do stuff when extension is loaded
-       $dummy = LOAD_CONFIG();
-       $_CONFIG = array_merge($_CONFIG, $dummy);
-       unset($dummy);
+case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       break;
 
-       if ((defined('__DAILY_RESET')) && ($_CONFIG['doubler_send_mode'] == "RESET"))
-       {
+default: // Do stuff when extension is loaded
+       if ((isBooleanConstantAndTrue('__DAILY_RESET')) && (getConfig('doubler_send_mode') == "RESET")) {
                // So let's check for points
-               $INC_POOL[] = PATH."inc/doubler_send.php";
+               $INC_POOL[] = sprintf("%sinc/doubler_send.php", PATH);
        }
        break;
 }
 
-// Language file prefix
-$EXT_LANG_PREFIX = "doubler";
-
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = 'N';
-
 //
 ?>