Fixed endless loop, if no sql_patches is installed and modules.php?module=index was...
[mailer.git] / mailid.php
index 93def06..523d319 100644 (file)
@@ -42,18 +42,14 @@ $GLOBALS['what'] = ""; $GLOBALS['action'] = "";
 $GLOBALS['module'] = "mailid"; $CSS = -1;
 
 // Load the required file(s)
-require ("inc/config.php");
+require("inc/config.php");
 
-if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_installed')))
-{
+if (isBooleanConstantAndTrue('mxchange_installed')) {
        // Is the extension active
        if (!EXT_IS_ACTIVE("mailid", true)) {
                // Is not activated/installed yet!
-               ADD_FATAL(sprintf(EXTENSION_PROBLEM_NOT_INSTALLED, "mailid"));
-       }
-
-       // Add header
-       require_once(PATH."inc/header.php");
+               LOAD_URL("modules.php?module=index&msg=".CODE_EXTENSION_PROBLEM."&ext=mailid");
+       } // END - if
 
        // Init
        $url_uid = 0; $url_bid = 0; $url_mid = 0;
@@ -89,31 +85,43 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
 
                        // Clean result
                        SQL_FREERESULT($result);
+
                        switch ($ltype)
                        {
                        case "NORMAL":
                                // Is the stats ID valid?
-                               $result = SQL_QUERY_ESC("SELECT pool_id, url FROM "._MYSQL_PREFIX."_user_stats WHERE id=%s LIMIT 1",
+                               $result = SQL_QUERY_ESC("SELECT pool_id, url, subject FROM "._MYSQL_PREFIX."_user_stats WHERE id=%s LIMIT 1",
                                 array($url_mid), __FILE__, __LINE__);
                                break;
 
                        case "BONUS":
+                               // Is the bonus extension active?
+                               if (!EXT_IS_ACTIVE("bonus")) {
+                                       // Abort here
+                                       LOAD_URL("modules.php?module=index&msg=".CODE_EXTENSION_PROBLEM."&ext=mailid");
+                               } // END - if
+
                                // Bonus-Mails
-                               $result = SQL_QUERY_ESC("SELECT id, url FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1",
+                               $result = SQL_QUERY_ESC("SELECT id, url, subject FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1",
                                 array($url_bid), __FILE__, __LINE__);
                                break;
                        }
 
                        if (SQL_NUMROWS($result) == 1) {
                                // Load data
-                               list($pool, $URL) = SQL_FETCHROW($result);
+                               list($pool, $URL, $EXTRA_TITLE) = SQL_FETCHROW($result);
+
+                               // Free result
                                SQL_FREERESULT($result);
 
+                               // Compile extra title
+                               $EXTRA_TITLE = COMPILE_CODE($EXTRA_TITLE);
+
                                // Is the user's ID unlocked?
-                               $result = SQL_QUERY_ESC("SELECT status, sex, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
+                               $result = SQL_QUERY_ESC("SELECT status, gender, surname, family FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
                                 array($url_uid), __FILE__, __LINE__);
                                if (SQL_NUMROWS($result) == 1) {
-                                       list($status, $sex, $sname, $fname) = SQL_FETCHROW($result);
+                                       list($status, $gender, $sname, $fname) = SQL_FETCHROW($result);
                                        SQL_FREERESULT($result);
                                        if ($status == "CONFIRMED") {
                                                // User has confirmed his account so we can procede...
@@ -149,6 +157,9 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
                                                        break;
                                                }
 
+                                               // Add header
+                                               require_once(PATH."inc/header.php");
+
                                                // Was that mail a valid one?
                                                if ($VALID) {
                                                        // If time is zero seconds we have a sponsor mail. 1 Second shall be set to avoid problems
@@ -191,13 +202,18 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
 
        // Error code is set?
        if (!empty($msg)) {
-               switch ($_CONFIG['mailid_error_redirect']) {
+               switch (getConfig('mailid_error_redirect')) {
                        case "INDEX": // Redirect to index page
-                               LOAD_URL("modules.php?module=index&msg=".$msg);
+                               LOAD_URL("modules.php?module=index&msg=".$msg."&ext=mailid");
                                break;
 
                        case "REJECT": // Redirect to rejection page
-                               LOAD_URL($_CONFIG['reject_url']);
+                               LOAD_URL(getConfig('reject_url'));
+                               break;
+
+                       default:
+                               DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s detected in mailid_error_redirect.", getConfig('mailid_error_redirect')));
+                               LOAD_URL("modules.php?module=index&msg=".CODE_UNKNOWN_STATUS."&ext=mailid");
                                break;
                }
        } else {