]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-rallye.php
Several fixes and and improvements:
[mailer.git] / inc / extensions / ext-rallye.php
index 600fcf01892e54070dcca08a73fa12840e9327a9..ffd56fe5116c5a0de1c0d3bd44afd734a8d95d7c 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,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)
 {
-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 (
-id bigint(20) not null auto_increment,
-admin_id bigint(20) not null default '0',
-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',
+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 '',
+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 (
-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',
-info longblob not null,
+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 (
-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
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', '', '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
-       $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
-       $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
@@ -104,8 +103,8 @@ case "remove": // Do stuff when removing extension
        $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."_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
@@ -124,14 +123,14 @@ 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
-               $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 DOUBLE(23,3) NOT NULL DEFAULT '0.000'";
 
                // 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
-               $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 DOUBLE(23,5) NOT NULL DEFAULT '0.00000'";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "5 Nachkommastellen implementiert.";
@@ -191,7 +190,7 @@ case "update": // Update an extension
 
        case "0.1.6": // SQL queries for v0.1.6
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Seit <A href=\"".SERVER_URL."/patches/340-Gast_Mitgliedsmenue_Deaktivieren.zip\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
+               $UPDATE_NOTES = "Seit <A href=\"#\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
                break;
 
        case "0.1.7": // SQL queries for v0.1.7
@@ -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!)
-               $UPDATE_NOTES = "Weitere Templates vom Admin-Bereich ausgelagert und Referral-Anazahl in der Mail zur Rallye-Ank&uuml;ndigung repariert.";
+               $UPDATE_NOTES = "Weitere Templates vom Admin-Bereich ausgelagert und Referal-Anazahl in der Mail zur Rallye-Ank&uuml;ndigung repariert.";
                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
-               $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 = "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>
@@ -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!)
-               $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
@@ -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
-               $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.";
@@ -303,30 +302,27 @@ Zudem sollten Sie mindestens folgende Templates (in <STRONG>templates/".GET_LANG
 
 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);
 
                // Add more data on higher versions
                $ADD1 = ""; $ADD2 = ""; $OR = "";
-               if (GET_EXT_VERSION("rallye") >= "0.2.0")
-               {
+               if (GET_EXT_VERSION("rallye") >= "0.2.0") {
                        $ADD1 = ", min_users, min_prices";
                        $ADD2 = ", d.min_users, d.min_prices";
                        $OR   = " OR (d.min_users <= ".$TOTAL." AND d.min_users > 0)";
-               }
+               } // END  - if
 
                // Check for new started but not notified rallyes
                $result = SQL_QUERY("SELECT SQL_SMALL_RESULT id, title, start_time, end_time, send_notify".$ADD1."
 FROM "._MYSQL_PREFIX."_rallye_data
-WHERE is_active='Y' AND notified='N' AND expired='N' AND start_time <= ".time()." AND end_time > ".time()."
+WHERE is_active='Y' AND notified='N' AND expired='N' AND start_time <= UNIX_TIMESTAMP() AND end_time > UNIX_TIMESTAMP()
 LIMIT 1", __FILE__, __LINE__);
-               if (SQL_NUMROWS($result) == 1)
-               {
+               if (SQL_NUMROWS($result) == 1) {
                        // Start rallye
                        RALLYE_AUTOSTART_RALLYES($result);
-               }
+               } // END - if
 
                // Free memory
                SQL_FREERESULT($result);
@@ -334,7 +330,7 @@ LIMIT 1", __FILE__, __LINE__);
                // Check for expired rallyes
                $result = SQL_QUERY("SELECT SQL_SMALL_RESULT d.id, d.title, d.start_time, d.end_time, d.send_notify".$ADD2."
 FROM "._MYSQL_PREFIX."_rallye_data AS d
-WHERE d.is_active='Y' AND d.notified='Y' AND d.expired='N' AND (d.end_time <= ".time()."".$OR.")
+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")))
                {
@@ -351,8 +347,5 @@ LIMIT 1", __FILE__, __LINE__);
 // Language file prefix
 $EXT_LANG_PREFIX = "rallye";
 
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = 'N';
-
 //
 ?>