]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-rallye.php
needs to be global :(
[mailer.git] / inc / extensions / ext-rallye.php
index a398cc62d7694ec465311b6e8a70258d4d1bbebf..2f12e45136607687aaa29f1e7e8e5ac0311b06d3 100644 (file)
@@ -32,8 +32,7 @@
  ************************************************************************/
 
 // Some security stuff...
  ************************************************************************/
 
 // 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);
 }
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
@@ -49,53 +48,53 @@ $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)
 {
 
 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)
        // SQL commands to run
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_data";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_prices";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_users";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_data (
        // SQL commands to run
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_data";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_prices";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_users";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_data (
-id BIGINT(20) NOT NULL AUTO_INCREMENT,
-admin_id BIGINT(20) NOT NULL DEFAULT '0',
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+admin_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 title VARCHAR(255) NOT NULL DEFAULT '',
 descr LONGBLOB NOT NULL,
 template VARCHAR(255) NOT NULL DEFAULT '',
 title VARCHAR(255) NOT NULL DEFAULT '',
 descr LONGBLOB NOT NULL,
 template VARCHAR(255) NOT NULL DEFAULT '',
-start_time VARCHAR(10) NOT NULL DEFAULT '0',
-end_time VARCHAR(10) NOT NULL DEFAULT '0',
-auto_add_new_user ENUM('Y', 'N') NOT NULL DEFAULT 'Y',
-is_active ENUM('Y', 'N') NOT NULL DEFAULT 'N',
-send_notify ENUM('Y', 'N') NOT NULL DEFAULT 'Y',
-notified ENUM('Y', 'N') NOT NULL DEFAULT 'N',
+start_time VARCHAR(10) NOT NULL DEFAULT 0,
+end_time VARCHAR(10) NOT NULL DEFAULT 0,
+auto_add_new_user ENUM('Y','N') NOT NULL DEFAULT 'Y',
+is_active ENUM('Y','N') NOT NULL DEFAULT 'N',
+send_notify ENUM('Y','N') NOT NULL DEFAULT 'Y',
+notified ENUM('Y','N') NOT NULL DEFAULT 'N',
 KEY (admin_id),
 PRIMARY KEY (id)
 ) TYPE=MyISAM";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_prices (
 KEY (admin_id),
 PRIMARY KEY (id)
 ) TYPE=MyISAM";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_prices (
-id BIGINT(20) NOT NULL AUTO_INCREMENT,
-rallye_id BIGINT(20) NOT NULL DEFAULT '0',
-price_level BIGINT(20) NOT NULL DEFAULT '0',
-points BIGINT(20) NOT NULL DEFAULT '0',
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+rallye_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+price_level BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 info LONGBLOB NOT NULL,
 KEY (rallye_id),
 PRIMARY KEY(id)
 ) TYPE=MyISAM";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_users (
 info LONGBLOB NOT NULL,
 KEY (rallye_id),
 PRIMARY KEY(id)
 ) TYPE=MyISAM";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_users (
-id BIGINT(20) NOT NULL AUTO_INCREMENT,
-rallye_id BIGINT(20) NOT NULL DEFAULT '0',
-userid BIGINT(20) NOT NULL DEFAULT '0',
-refs BIGINT(20) NOT NULL DEFAULT '0',
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+rallye_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+refs BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 KEY (rallye_id),
 KEY (userid),
 PRIMARY KEY(id)
 ) TYPE=MyISAM";
        // Admin menu
 KEY (rallye_id),
 KEY (userid),
 PRIMARY KEY(id)
 ) TYPE=MyISAM";
        // Admin menu
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', NULL, 'Rallye-Management', 'Richten Sie neue Ref-Rallyes ein, die zeitgesteuert anfangen und aufhöhren. Dabei wird alles weitere automatisch geregelt.', '9')";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', 'add_rallye', 'Neue Rallye hinzufügen', 'Neue Ref-Rallye hinzufügen.', '1')";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', 'config_rallye_prices', 'Preise einrichten', 'Richten Sie Preise zu den Rallyes ein.', '2')";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', 'list_rallyes', 'Rallyes verwalten', 'Alle bestehenden Ref-Rallyes auflisten, bearbeiten, stoppen, löschen usw.', '3')";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye', NULL, 'Rallye-Management','Richten Sie neue Ref-Rallyes ein, die zeitgesteuert anfangen und aufhöhren. Dabei wird alles weitere automatisch geregelt.','9')";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye','add_rallye','Neue Rallye hinzufügen','Neue Ref-Rallye hinzufügen.','1')";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye','config_rallye_prices','Preise einrichten','Richten Sie Preise zu den Rallyes ein.','2')";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye','list_rallyes','Rallyes verwalten','Alle bestehenden Ref-Rallyes auflisten, bearbeiten, stoppen, löschen usw.','3')";
        // Guest menu
        // Guest menu
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, visible, locked, sort) VALUES ('main', 'rallyes', 'Ref-Rallyes', 'Y', 'Y', '9')";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','rallyes','Ref-Rallyes','Y','Y','9')";
        // Member menu
        // Member menu
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, visible, locked, sort) VALUES('main', 'rallyes', 'Ref-Rallyes', 'Y', 'Y', '9')";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','rallyes','Ref-Rallyes','Y','Y','9')";
        break;
 
 case "remove": // Do stuff when removing extension
        break;
 
 case "remove": // Do stuff when removing extension
@@ -103,35 +102,35 @@ case "remove": // Do stuff when removing extension
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_data";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_prices";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_users";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_data";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_prices";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_users";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='rallye' LIMIT 4";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE what='rallye' LIMIT 1";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='rallye' LIMIT 1";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE action='rallye' LIMIT 4";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_guest_menu` WHERE what='rallyes' LIMIT 1";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_member_menu` WHERE what='rallyes' LIMIT 1";
        break;
 
 case "activate": // Do stuff when admin activates this extension
        // SQL commands to run
        break;
 
 case "activate": // Do stuff when admin activates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='N' WHERE what='rallyes' LIMIT 1";
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE what='rallyes' LIMIT 1";
+       $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_guest_menu` SET visible='Y', locked='N' WHERE what='rallyes' LIMIT 1";
+       $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET visible='Y', locked='N' WHERE what='rallyes' LIMIT 1";
        break;
 
 case "deactivate": // Do stuff when admin deactivates this extension
        // SQL commands to run
        break;
 
 case "deactivate": // Do stuff when admin deactivates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='Y' WHERE what='rallyes' LIMIT 1";
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE what='rallyes' LIMIT 1";
+       $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_guest_menu` SET visible='N', locked='Y' WHERE what='rallyes' LIMIT 1";
+       $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET visible='N', locked='Y' WHERE what='rallyes' LIMIT 1";
        break;
 
 case "update": // Update an extension
        switch ($EXT_VER)
        {
        case "0.0.1": // SQL queries for v0.0.1
        break;
 
 case "update": // Update an extension
        switch ($EXT_VER)
        {
        case "0.0.1": // SQL queries for v0.0.1
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD expired ENUM('Y', 'N') NOT NULL DEFAULT 'N'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD expired ENUM('Y','N') NOT NULL DEFAULT 'N'";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Ablaufen der Rallyes intergriert.";
                break;
 
        case "0.0.2": // SQL queries for v0.0.2
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Ablaufen der Rallyes intergriert.";
                break;
 
        case "0.0.2": // SQL queries for v0.0.2
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users ADD curr_points DOUBLE(23,3) NOT NULL DEFAULT '0.000'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users ADD curr_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Aktueller {!POINTS!}-Stand wird beachtet.";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Aktueller {!POINTS!}-Stand wird beachtet.";
@@ -158,7 +157,7 @@ case "update": // Update an extension
                break;
 
        case "0.1.0": // SQL queries for v0.2.1
                break;
 
        case "0.1.0": // SQL queries for v0.2.1
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users CHANGE curr_points curr_points DOUBLE(23,5) NOT NULL DEFAULT '0.00000'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users CHANGE curr_points curr_points FLOAT(23,5) UNSIGNED NOT NULL DEFAULT 0.00000";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "5 Nachkommastellen implementiert.";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "5 Nachkommastellen implementiert.";
@@ -201,20 +200,20 @@ case "update": // Update an extension
 
        case "0.1.8": // SQL queries for v0.1.8
                // Update notes (these will be set as task text!)
 
        case "0.1.8": // SQL queries for v0.1.8
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Weitere Templates vom Admin-Bereich ausgelagert und Referral-Anazahl in der Mail zur Rallye-Ankündigung repariert.";
+               $UPDATE_NOTES = "Weitere Templates vom Admin-Bereich ausgelagert und Referal-Anazahl in der Mail zur Rallye-Ankündigung repariert.";
                break;
 
        case "0.1.9": // SQL queries for v0.1.9
                // Update notes (these will be set as task text!)
                break;
 
        case "0.1.9": // SQL queries for v0.1.9
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Funktion ADMIN_USER_PROFILE_LINK() mit Verlinkung auf Referral-Liste implementiert.";
+               $UPDATE_NOTES = "Funktion ADMIN_USER_PROFILE_LINK() mit Verlinkung auf Referal-Liste implementiert.";
                break;
 
        case "0.2.0": // SQL queries for v0.2.0
                break;
 
        case "0.2.0": // SQL queries for v0.2.0
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_users BIGINT(20) NOT NULL DEFAULT '0'";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_prices BIGINT(20) NOT NULL DEFAULT '3'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_users BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_prices BIGINT(20) UNSIGNED NOT NULL DEFAULT '3'";
 
                // Update notes (these will be set as task text!)
 
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template <STRONG>templates/de/emails/member/member_rallye_notifty.tpl</STRONG> folgende zwei Zeilen ein:<br />
+               $UPDATE_NOTES = "Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template <STRONG>templates/de/emails/member/member_rallye_notify.tpl</STRONG> folgende zwei Zeilen ein:<br />
 <UL>
   <LI>&#36;DATA&#91;min_users&#93;</LI>
   <LI>&#36;DATA&#91;min_prices&#93;</LI>
 <UL>
   <LI>&#36;DATA&#91;min_users&#93;</LI>
   <LI>&#36;DATA&#91;min_prices&#93;</LI>
@@ -253,7 +252,7 @@ Zudem sollten Sie mindestens folgende Templates (in <STRONG>templates/".GET_LANG
 
        case "0.2.6": // SQL queries for v0.2.6
                // Update notes (these will be set as task text!)
 
        case "0.2.6": // SQL queries for v0.2.6
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Automatisches Starten von Referral-Rallyes repariert.";
+               $UPDATE_NOTES = "Automatisches Starten von Referal-Rallyes repariert.";
                break;
 
        case "0.2.7": // SQL queries for v0.2.7
                break;
 
        case "0.2.7": // SQL queries for v0.2.7
@@ -283,7 +282,7 @@ Zudem sollten Sie mindestens folgende Templates (in <STRONG>templates/".GET_LANG
                break;
 
        case "0.3.2": // SQL queries for v0.3.2
                break;
 
        case "0.3.2": // SQL queries for v0.3.2
-               $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='rals', sort='1', title='Referral-Rallye' WHERE what='rallyes' LIMIT 1";
+               $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET action='rals', sort='1', title='Referal-Rallye' WHERE what='rallyes' LIMIT 1";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Mitgliedsmen&uuml; komplett umgebaut.";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Mitgliedsmen&uuml; komplett umgebaut.";
@@ -301,10 +300,12 @@ Zudem sollten Sie mindestens folgende Templates (in <STRONG>templates/".GET_LANG
        }
        break;
 
        }
        break;
 
+case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       break;
+
 default: // Do stuff when extension is loaded
        // Do stuff only when not in CSS mode
 default: // Do stuff when extension is loaded
        // Do stuff only when not in CSS mode
-       if (($CSS != "1") && ($CSS != "-1"))
-       {
+       if (($CSS != "1") && ($CSS != "-1") && ($cacheMode != "init")) {
                // Get total member count
                $TOTAL = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true);
 
                // Get total member count
                $TOTAL = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true);
 
@@ -334,23 +335,16 @@ LIMIT 1", __FILE__, __LINE__);
 FROM "._MYSQL_PREFIX."_rallye_data AS d
 WHERE d.is_active='Y' AND d.notified='Y' AND d.expired='N' AND (d.end_time <= UNIX_TIMESTAMP()".$OR.")
 LIMIT 1", __FILE__, __LINE__);
 FROM "._MYSQL_PREFIX."_rallye_data AS d
 WHERE d.is_active='Y' AND d.notified='Y' AND d.expired='N' AND (d.end_time <= UNIX_TIMESTAMP()".$OR.")
 LIMIT 1", __FILE__, __LINE__);
-               if ((SQL_NUMROWS($result) == 1) && (EXT_IS_ACTIVE("autopurge")))
-               {
+               if ((SQL_NUMROWS($result) == 1) && (EXT_IS_ACTIVE("autopurge"))) {
                        // End rallye here...
                        RALLYE_EXPIRE_RALLYES($result);
                        // End rallye here...
                        RALLYE_EXPIRE_RALLYES($result);
-               }
+               } // END - if
 
                // Free memory
                SQL_FREERESULT($result);
 
                // Free memory
                SQL_FREERESULT($result);
-       }
+       } // END - if
        break;
 }
 
        break;
 }
 
-// Language file prefix
-$EXT_LANG_PREFIX = "rallye";
-
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = "N";
-
 //
 ?>
 //
 ?>