Several bugfixes, getMessage() introduced
authorRoland Häder <roland@mxchange.org>
Fri, 19 Dec 2008 15:41:36 +0000 (15:41 +0000)
committerRoland Häder <roland@mxchange.org>
Fri, 19 Dec 2008 15:41:36 +0000 (15:41 +0000)
- Bugfix in doubler, "send new password" and mail order page
- getMessage() introduced, see http://bugs.mxchange.org/view.php?id=4
- Several minor improvements

14 files changed:
doubler.php
inc/databases.php
inc/extensions.php
inc/functions.php
inc/language/de.php
inc/language/en.php
inc/modules/guest/action-
inc/modules/guest/action-admin.php
inc/modules/guest/action-main.php
inc/modules/guest/action-members.php
inc/modules/guest/action-sponsor.php
inc/modules/guest/what-login.php
inc/modules/index.php
inc/modules/member/what-order.php

index 34c7c7380cba253ff4d136a053006bf235ab1e98..060102a3986d8f7902cc0c60924ac9c109f5d8da 100644 (file)
@@ -59,24 +59,31 @@ if (isBooleanConstantAndTrue('mxchange_installed')) {
        // Probe for referal ID
        if (!empty($_GET['refid'])) $GLOBALS['refid'] = SQL_ESCAPE($_GET['refid']);
 
-       // Probe for nickname extension and if a nickname was supplied by URL
-       $probe_nickname = ((EXT_IS_ACTIVE("nickname")) && (("".round($GLOBALS['refid'])."") != $GLOBALS['refid']));
-       if ($probe_nickname) {
-               // Nickname in URL, so load the ID
-               $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE nickname='%s' LIMIT 1",
-                array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
-       } else {
-               // Direct userid entered
-               $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
-                array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
-       }
+       // Only check this if refid is provided!
+       if ($GLOBALS['refid'] > 0) {
+               // Probe for nickname extension and if a nickname was supplied by URL
+               $probe_nickname = ((EXT_IS_ACTIVE("nickname")) && (("".round($GLOBALS['refid'])."") != $GLOBALS['refid']));
+
+               // Do we have nickname or userid set?
+               if ($probe_nickname) {
+                       // Nickname in URL, so load the ID
+                       $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE nickname='%s' LIMIT 1",
+                               array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
+               } else {
+                       // Direct userid entered
+                       $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
+                               array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__);
+               }
 
-       // Load data
-       list($rid, $status_ref) = SQL_FETCHROW($result);
-       $GLOBALS['refid'] = bigintval($rid);
+               // Load data
+               list($rid, $status_ref) = SQL_FETCHROW($result);
+               $GLOBALS['refid'] = bigintval($rid);
+
+               // Free memory
+               SQL_FREERESULT($result);
+       } // END - if
 
-       // Free memory
-       SQL_FREERESULT($result);
+       // Init userid
        $uid = 0;
 
        // If no account was found set default refid and status to CONFIRMED
@@ -97,11 +104,11 @@ if (isBooleanConstantAndTrue('mxchange_installed')) {
                        if ($probe_nickname) {
                                // Nickname in URL, so load the ID
                                $result = SQL_QUERY_ESC("SELECT userid, status, password FROM `"._MYSQL_PREFIX."_user_data` WHERE nickname='%s' LIMIT 1",
-                                array($_POST['userid']), __FILE__, __LINE__);
+                                       array($_POST['userid']), __FILE__, __LINE__);
                        } else {
                                // Direct userid entered
                                $result = SQL_QUERY_ESC("SELECT userid, status, password FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
-                                array(bigintval($_POST['userid'])), __FILE__, __LINE__);
+                                       array(bigintval($_POST['userid'])), __FILE__, __LINE__);
                        }
 
                        // Load data
@@ -131,7 +138,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) {
                                        // Enough points are left so let's continue with the doubling process
                                        // Create doubling "account" width *DOUBLED* points
                                        $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s','%s','%s','".GET_REMOTE_ADDR()."', UNIX_TIMESTAMP(), 'N','N')",
-                                        array($uid, bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2)), __FILE__, __LINE__);
+                                               array($uid, bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2)), __FILE__, __LINE__);
 
                                        // Subtract entered points
                                        SUB_POINTS("doubler", $uid, $_POST['points']);
index 94869b22656acbc4061910b44d2e19cbc2fb6ae4..7ca5b789e759182a8ec9d5da6c0171bd07345cd5 100644 (file)
@@ -38,39 +38,40 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // System-wide return codes
-define('CODE_WRONG_PASS'       ,  1);
-define('CODE_WRONG_ID'         ,  2);
-define('CODE_ID_LOCKED'        ,  3);
-define('CODE_ID_UNCONFIRMED'   ,  4);
-define('CODE_UNKNOWN_STATUS'   ,  5);
-define('CODE_NO_COOKIES'       ,  6);
-define('CODE_CNTR_FAILED'      ,  8);
-define('CODE_LOGOUT_DONE'      ,  8);
-define('CODE_LOGOUT_FAILED'    ,  9);
-define('CODE_URL_TLOCK'        , 10);
-define('CODE_URL_FOUND'        , 11);
-define('CODE_OVERLENGTH'       , 12);
-define('CODE_SUBJ_URL'         , 13);
-define('CODE_BLIST_URL'        , 14);
-define('CODE_NO_RECS_LEFT'     , 15);
-define('CODE_INVALID_TAGS'     , 16);
-define('CODE_MORE_POINTS'      , 18);
-define('CODE_COOKIES_DISABLED' , 18);
-define('CODE_DATA_INVALID'     , 19);
-define('CODE_POSSIBLE_INVALID' , 20);
-define('CODE_ACCOUNT_LOCKED'   , 21);
-define('CODE_USER_404'         , 22);
-define('CODE_STATS_404'        , 23);
-define('CODE_ALREADY_CONFIRMED', 24);
-define('CODE_ERROR_MAILID'     , 25);
-define('CODE_EXTENSION_PROBLEM', 26);
-define('CODE_MORE_RECEIVERS1'  , 28);
-define('CODE_MORE_RECEIVERS2'  , 28);
-define('CODE_MORE_RECEIVERS3'  , 29);
-define('CODE_INVALID_URL'      , 30);
-define('CODE_MENU_NOT_VALID'   , 31);
-define('CODE_LOGIN_FAILED'     , 32);
-define('CODE_BEG_SAME_AS_OWN'  , 33);
+define('CODE_WRONG_PASS'       , 0x001);
+define('CODE_WRONG_ID'         , 0x002);
+define('CODE_ID_LOCKED'        , 0x003);
+define('CODE_ID_UNCONFIRMED'   , 0x004);
+define('CODE_UNKNOWN_STATUS'   , 0x005);
+define('CODE_NO_COOKIES'       , 0x006);
+define('CODE_CNTR_FAILED'      , 0x008);
+define('CODE_LOGOUT_DONE'      , 0x008);
+define('CODE_LOGOUT_FAILED'    , 0x009);
+define('CODE_URL_TLOCK'        , 0x00A);
+define('CODE_URL_FOUND'        , 0x00B);
+define('CODE_OVERLENGTH'       , 0x00C);
+define('CODE_SUBJ_URL'         , 0x00D);
+define('CODE_BLIST_URL'        , 0x00E);
+define('CODE_NO_RECS_LEFT'     , 0x00F);
+define('CODE_INVALID_TAGS'     , 0x010);
+define('CODE_MORE_POINTS'      , 0x011);
+define('CODE_COOKIES_DISABLED' , 0x012);
+define('CODE_DATA_INVALID'     , 0x013);
+define('CODE_POSSIBLE_INVALID' , 0x014);
+define('CODE_ACCOUNT_LOCKED'   , 0x015);
+define('CODE_USER_404'         , 0x016);
+define('CODE_STATS_404'        , 0x017);
+define('CODE_ALREADY_CONFIRMED', 0x018);
+define('CODE_ERROR_MAILID'     , 0x019);
+define('CODE_EXTENSION_PROBLEM', 0x01A);
+define('CODE_MORE_RECEIVERS1'  , 0x01B);
+define('CODE_MORE_RECEIVERS2'  , 0x01C);
+define('CODE_MORE_RECEIVERS3'  , 0x01D);
+define('CODE_INVALID_URL'      , 0x01E);
+define('CODE_MENU_NOT_VALID'   , 0x01F);
+define('CODE_LOGIN_FAILED'     , 0x020);
+define('CODE_BEG_SAME_AS_OWN'  , 0x020);
+define('CODE_UNHANDLED_STATUS' , 0x020);
 
 // Full version string: /([0-9]){1}\.([0-9]){1}\.([0-9]){1}(-(alpha|beta|pre|rc([1-3]))([0-9]+))?/
 // If you understand regular expressions ^^^ you may know how I versionize... ;-)
@@ -114,7 +115,7 @@ define('USAGE_BASE', "usage");
 define('SERVER_URL', "http://www.mxchange.org");
 
 // Current SVN revision
-define('CURR_SVN_REVISION', "658");
+define('CURR_SVN_REVISION', "659");
 
 // Take a prime number which is long (if you know a longer one please try it out!)
 define('_PRIME', 591623);
index 4cc56fb5b6e10863564df84147d4d68ade3ecaf0..ccd38d91f230e17c4163bdc10063e44702954091 100644 (file)
@@ -140,8 +140,6 @@ function EXTENSION_REGISTER ($ext_name, $task_id, $dry_run = false, $logout = tr
        $NOTES = "";
        $INC_POOL = array();
 
-       // By default the language prefix is the extension's name
-       // @TODO: Do we really need this one anymore? Can't we just take $ext_name and done?
        // By default we have no failtures
        $EXT_REPORTS_FAILURE = false;
 
index a1d9b344f625bbcb0694f77ce52c51c4464ce4df..cb7e4c1536d2528fafaada603fbc3b0723db18d1 100644 (file)
@@ -2868,6 +2868,28 @@ function getConfig ($entry) {
        return $value;
 }
 
+// @TODO Rewrite all language constants to the function getLanguage().
+// "Getter" for language strings
+function getMessage ($messageId) {
+       // Default is not found!
+       $return = "!".$messageId."!";
+
+       // Is the language string found?
+       if (isset($GLOBALS['msg'][$messageId])) {
+               // Language array element found
+               $return = $GLOBALS['msg'][$messageId];
+       } elseif (defined($messageId)) {
+               // @DEPRECATED Deprecated constant found
+               $return = constant($messageId);
+       } else {
+               // Missing language constant
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Missing message string %s detected.", $messageId));
+       }
+
+       // Return the string
+       return $return;
+}
+
 //////////////////////////////////////////////////
 //                                              //
 // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //
index eeb1e509854f648a09e534e199c045f95836a283..dda9ec3c9709bf7834c979109779c7e74657414f 100644 (file)
@@ -284,9 +284,8 @@ define('ADMIN_THANX', "Mit freundlichem Gruss,");
 define('SCRIPT', "Script");
 define('ADMIN_NEW_ACCOUNT', "Neue Anmeldung zu Ihrem {!MT_WORD!}");
 define('REGISTRATION_DONE', "Vielen Dank f&uuml;r die Anmeldung. Ein Best&auml;tigungslink ist zur angemeldeten EMail-Adresse unterwegs!");
-define('GUEST_404_ACTION_1', "Das angegeben Aktionsmodul <U>");
-define('GUEST_404_ACTION_2', "</U> existiert leider nicht, oder dieses Script hat einen Fehler gemacht!");
-define('GUEST_LOCKED_ACTION', "Aktionsmodul wurde gesperrt!");
+define('GUEST_404_ACTION', "Das angegeben Aktionsmodul <u>%s</u> existiert leider nicht, oder dieses Script hat einen Fehler gemacht!");
+define('GUEST_LOCKED_ACTION', "Aktionsmodul <u>%s</u> wurde gesperrt!");
 define('FATAL_REPORT_ERRORS', "Es wurde ein Problem w&auml;hrend der Abarbeitung von Anweisungen festgestellt. Wenn ein Modul gesperrt sein sollte, so wird vermutlich gerade dran gearbeitet, anderfalls melden Sie sich bitte bei uns!");
 define('TEMPLATE_404', "Template nicht gefunden!");
 define('EDIT_GUEST_MENU', "G&auml;stemen&uuml; bearbeiten");
index ca7aeb2a99c53e47b20b5faba351f0266c82efc0..52329ef52ce4de54c5a6051ab83c8ae34027854f 100644 (file)
@@ -289,8 +289,7 @@ define('ADMIN_THANX', "Best regards,");
 define('SCRIPT', "Script");
 define('ADMIN_NEW_ACCOUNT', "New registration for your email exchange");
 define('REGISTRATION_DONE', "Registration is done. An email is on its way to you.");
-define('GUEST_404_ACTION_1', "The action module <U>");
-define('GUEST_404_ACTION_2', "</U> does not exist or this script makes a boo-boo!");
+define('GUEST_404_ACTION', "The action module <u>%s</u> does not exist or this script makes a boo-boo!");
 define('GUEST_LOCKED_ACTION', "Action module is locked.");
 define('FATAL_REPORT_ERRORS', "A fatal error ocurs while runtime. If a module is locked we are working on it othervice please contact us!");
 define('TEMPLATE_404', "Template not found.");
index a31675b174bf2d0c0b1f43b9c93981cbdd4c9d84..6b8b39bc5d5d2dc578b50406f0407c87e61d42b1 100644 (file)
@@ -51,8 +51,10 @@ $INC = sprintf(PATH."inc/modules/guest/what-%s.php", $GLOBALS['what']);
 if (FILE_READABLE($INC)) {
        // Ok, we finally load the guest action module
        include($INC);
+} elseif ($IS_VALID) {
+       ADD_FATAL(sprintf(getMessage('GUEST_404_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 } else {
-       ADD_FATAL(GUEST_404_ACTION_1.$GLOBALS['what'].GUEST_404_ACTION_2);
+       ADD_FATAL(sprintf(getMessage('GUEST_LOCKED_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 }
 
 //
index d62329fd1a8fb76f15a72938f59fb61121f9bd99..efbbf18c97424a6f79e6682061891dff5684ab61 100644 (file)
@@ -40,16 +40,16 @@ if (!defined('__SECURITY')) {
        return;
 }
 
-if (GET_ACTION("guest", $GLOBALS['what']) == "admin") {
-       // Only when one admin link is clicked...
-       $INC = sprintf("%sinc/modules/guest/what-%s.php", PATH, SQL_ESCAPE($GLOBALS['what']));
-       if (FILE_READABLE($INC)) {
-               // Ok, we finally load the guest action module
-               include($INC);
-       } else {
-               ADD_FATAL(GUEST_404_ACTION_1.$GLOBALS['what'].GUEST_404_ACTION_2);
-       }
-} // END - if
+// Only when one admin link is clicked...
+$INC = sprintf("%sinc/modules/guest/what-%s.php", PATH, SQL_ESCAPE($GLOBALS['what']));
+if (FILE_READABLE($INC)) {
+       // Ok, we finally load the guest action module
+       include($INC);
+} elseif ($IS_VALID) {
+       ADD_FATAL(sprintf(getMessage('GUEST_404_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
+} else {
+       ADD_FATAL(sprintf(getMessage('GUEST_LOCKED_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
+}
 
 //
 ?>
index 3177c102275230293ae1bffe8308576d2eba5e02..94592b2f4f248681bd3211c89b17009b04a75770 100644 (file)
@@ -45,15 +45,15 @@ ADD_DESCR("guest", __FILE__);
 
 // Load the include file
 $INC = sprintf("%sinc/modules/guest/what-%s.php", PATH, SQL_ESCAPE($GLOBALS['what']));
-$IS_VALID = WHAT_IS_VALID(GET_ACTION("guest", $GLOBALS['what']), $GLOBALS['what'], "guest");
+$IS_VALID = WHAT_IS_VALID($GLOBALS['action'], $GLOBALS['what'], "guest");
 
 if ((FILE_READABLE($INC)) && ($IS_VALID)) {
        // Ok, we finally load the guest action module
        require_once($INC);
 } elseif ($IS_VALID) {
-       ADD_FATAL(GUEST_404_ACTION_1.$GLOBALS['what'].GUEST_404_ACTION_2);
+       ADD_FATAL(sprintf(getMessage('GUEST_404_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 } else {
-       ADD_FATAL(GUEST_LOCKED_ACTION);
+       ADD_FATAL(sprintf(getMessage('GUEST_LOCKED_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 }
 
 //
index 75779be80c7cd1f78d6e54b0142579b4594669bb..78362718dc619e2953b5c3e79b279be5daed39ea 100644 (file)
@@ -48,8 +48,10 @@ $INC = sprintf("%sinc/modules/guest/what-%s.php", PATH, SQL_ESCAPE($GLOBALS['wha
 if (FILE_READABLE($INC)) {
        // Ok, we finally load the guest action module
        include($INC);
+} elseif ($IS_VALID) {
+       ADD_FATAL(sprintf(getMessage('GUEST_404_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 } else {
-       ADD_FATAL(GUEST_404_ACTION_1.$GLOBALS['what'].GUEST_404_ACTION_2);
+       ADD_FATAL(sprintf(getMessage('GUEST_LOCKED_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 }
 
 //
index 1b7b18db342f387bab4c1d986e95d7a27eaf2e85..df18e405970a269791e87dbef04ebba93fe0515e 100644 (file)
@@ -50,8 +50,10 @@ $INC = sprintf("%sinc/modules/guest/what-%s.php", PATH, SQL_ESCAPE($GLOBALS['wha
 if (FILE_READABLE($INC)) {
        // Ok, we finally load the guest action module
        include($INC);
+} elseif ($IS_VALID) {
+       ADD_FATAL(sprintf(getMessage('GUEST_404_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 } else {
-       ADD_FATAL(GUEST_404_ACTION_1.$GLOBALS['what'].GUEST_404_ACTION_2);
+       ADD_FATAL(sprintf(getMessage('GUEST_LOCKED_ACTION'), SQL_ESCAPE($GLOBALS['what'])));
 }
 
 //
index 6035504fb80e6f0470f99f945b1965d267384e95..1cd74d3e09611910e57a8493b619c7226ac9de13 100644 (file)
@@ -241,16 +241,26 @@ if (IS_MEMBER()) {
        // Set ID number when left empty
        if (empty($_POST['id'])) $_POST['id'] = 0;
 
+       // Init result
+       $result = false;
+
        // Probe userid/nickname
-       $probe_nickname = ((EXT_IS_ACTIVE("nickname")) && (("".round($_POST['id'])."") != $_POST['id']));
-       if ($probe_nickname) {
+       if ((EXT_IS_ACTIVE("nickname")) && (("".round($_POST['id'])."") != $_POST['id'])) {
                // Nickname entered
                $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE nickname='%s' OR email='%s' LIMIT 1",
                        array($uid, $_POST['email']), __FILE__, __LINE__);
-       } else {
+       } elseif (($uid > 0) && (empty($_POST['email']))) {
                // Direct userid entered
-               $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s OR email='%s' LIMIT 1",
-                       array(bigintval($uid), $_POST['email']), __FILE__, __LINE__);
+               $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
+                       array(bigintval($uid)), __FILE__, __LINE__);
+       } elseif (!empty($_POST['email'])) {
+               // Email entered
+               $result = SQL_QUERY_ESC("SELECT userid, status FROM `"._MYSQL_PREFIX."_user_data` WHERE email='%s' LIMIT 1",
+                       array($_POST['email']), __FILE__, __LINE__);
+       } else {
+               // Userid not set!
+               DEBUG_LOG(__FILE__, __LINE__, "Userid is not set! BUG!");
+               $ERROR = CODE_WRONG_ID;
        }
 
        // Any entry found?
@@ -275,8 +285,12 @@ if (IS_MEMBER()) {
                } else {
                        // Account is locked or unconfirmed
                        switch ($status) {
-                               case "LOCKED"     : $MSG = CODE_ID_LOCKED;      break;
-                               case "UNCONFIRMED": $MSG = CODE_ID_UNCONFIRMED; break;
+                               case "LOCKED"     : $ERROR = CODE_ID_LOCKED;      break;
+                               case "UNCONFIRMED": $ERROR = CODE_ID_UNCONFIRMED; break;
+                               default: // Unhandled account status!
+                                       $ERROR = CODE_UNHANDLED_STATUS;
+                                       DEBUG_LOG(__FILE__, __LINE__, sprintf("Undhandled account status %s detected.", $status));
+                                       break;
                        }
 
                        // Load URL
index 06fd11d42ff3b78b81f7f07f3d96b90db69258ae..6180e3e9416df571a71fffe6e163713f1bb3fc0b 100644 (file)
@@ -92,11 +92,11 @@ if (empty($GLOBALS['what'])) $GLOBALS['what'] = getConfig('index_home');
 // Adding the main content module here
 if (empty($GLOBALS['action'])) {
        // Get action value from what value
-       $act = GET_ACTION("guest", $GLOBALS['what']);
-} else {
-       // Get action value directly from URL
-       $act = COMPILE_CODE($GLOBALS['action']);
-}
+       $GLOBALS['action'] = GET_ACTION("guest", $GLOBALS['what']);
+} // END - if
+
+// Get action value directly from URL
+$act = COMPILE_CODE($GLOBALS['action']);
 
 // Add the guest's menu here...
 if ((getConfig('guest_menu') == "Y") || (!EXT_IS_ACTIVE("sql_patches", true))) {
index 7753510fa860a5ea7f1053b07e8f63f46be0c1d8..7af82df4464c7888d41a8b8c72ef202b72814c86 100644 (file)
@@ -59,13 +59,10 @@ if (IS_ADMIN()) $whereStatement = "";
 define('__MIN_VALUE', getConfig('order_min'));
 
 // Count unconfirmed mails
-$result_links = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_links WHERE userid=%s",
- array($GLOBALS['userid']), __FILE__, __LINE__);
-$links = SQL_NUMROWS($result_links);
-SQL_FREERESULT($result_links);
+$links = GET_TOTAL_DATA($GLOBALS['userid'], "user_links", "id", "userid", true);
 
 // Does the user has more than 0 mails per day set?
-$HOLIDAY="userid";
+$HOLIDAY = "userid";
 if (GET_EXT_VERSION("holiday") >= "0.1.3") {
        // Fetch also holiday activation data
        $HOLIDAY = "holiday_active";
@@ -74,7 +71,7 @@ if (GET_EXT_VERSION("holiday") >= "0.1.3") {
 $result_mmails = SQL_QUERY_ESC("SELECT userid, receive_mails, mail_orders, ".$HOLIDAY."
 FROM "._MYSQL_PREFIX."_user_data
 WHERE userid=%s AND max_mails > 0 LIMIT 1",
- array($GLOBALS['userid']), __FILE__, __LINE__);
      array($GLOBALS['userid']), __FILE__, __LINE__);
 
 $mmails = SQL_NUMROWS($result_mmails);
 list($DMY, $MAXI, $ORDERS, $HOLIDAY) = SQL_FETCHROW($result_mmails);
@@ -85,19 +82,10 @@ $ALLOWED = $MAXI - $ORDERS;
 if (getConfig('order_max_full') == "MAX") $ALLOWED = $MAXI;
 
 // Now check his points amount
-$TOTAL = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points");
-
-if ($TOTAL > 0) {
-       // And subtract his used points...
-       $TOTAL -= GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");
-
-       // Add (maybe) missing three zeros
-       if (!ereg(".", $TOTAL)) $TOTAL .= ".00000";
-} // END - if
+$TOTAL = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");;
 
 if (($HOLIDAY == "Y") && (GET_EXT_VERSION("holiday") >= "0.1.3")) {
        // Holiday is active!
-       SQL_FREERESULT($result_p);
        LOAD_TEMPLATE("admin_settings_saved", false, HOLIDAY_ORDER_NOT_POSSIBLE);
 } elseif ((!empty($_POST['frametester'])) && ($ALLOWED > 0) && ($_POST['receiver'] > 0)) {
        // Continue with the frametester, we first need to store the data temporary in the pool
@@ -106,12 +94,13 @@ if (($HOLIDAY == "Y") && (GET_EXT_VERSION("holiday") >= "0.1.3")) {
        $result = SQL_QUERY_ESC("SELECT id, data_type
 FROM "._MYSQL_PREFIX."_pool
 WHERE sender=%s AND url='%s' AND timestamp > (UNIX_TIMESTAMP() - %s) LIMIT 1",
-        array($GLOBALS['userid'], $_POST['url'], getConfig('url_tlock')), __FILE__, __LINE__);
+               array($GLOBALS['userid'], $_POST['url'], getConfig('url_tlock')), __FILE__, __LINE__);
 
        $type = "TEMP"; $id = 0;
        if (SQL_NUMROWS($result) == 1) {
+               // Load id and mail type
                list($id, $type) = SQL_FETCHROW($result);
-       }
+       } // END - if
 
        // Free result
        SQL_FREERESULT($result);