Several fixes and and improvements:
[mailer.git] / inc / extensions / ext-rallye.php
index a398cc62d7694ec465311b6e8a70258d4d1bbebf..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',
+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',
+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',
+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', 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
-       $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,7 +123,7 @@ 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.";
@@ -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ü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!)
-               $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,8 +302,7 @@ 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);
 
@@ -349,8 +347,5 @@ LIMIT 1", __FILE__, __LINE__);
 // Language file prefix
 $EXT_LANG_PREFIX = "rallye";
 
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = "N";
-
 //
 ?>