]> git.mxchange.org Git - mailer.git/blobdiff - mailid_top.php
Don't use convertZeroToNull() here as it makes no sense
[mailer.git] / mailid_top.php
index 6b2ee7bc89faeb5bac20aa584966a987140d3e99..ca8c3a57410b1e6f8d3039c303d6ee0d7b890861 100644 (file)
@@ -87,54 +87,58 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
 
        // Maybe he wants to confirm an email?
        if ($mailId > 0) {
-               $result_main = SQL_QUERY_ESC("SELECT `id`,`link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s AND `userid`=%s LIMIT 1",
+               $result_main = SQL_QUERY_ESC("SELECT `id` AS `link_id`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s AND `userid`=%s LIMIT 1",
                        array($mailId, $userId), __FILE__, __LINE__);
                $type = 'mailid';
                $urlId = $mailId;
        } elseif ($bonusId > 0) {
-               $result_main = SQL_QUERY_ESC("SELECT `id`,`link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s AND `userid`=%s LIMIT 1",
+               $result_main = SQL_QUERY_ESC("SELECT `id` AS `link_id`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s AND `userid`=%s LIMIT 1",
                        array($bonusId, $userId), __FILE__, __LINE__);
                $type = 'bonusid';
                $urlId = $bonusId;
+       } else {
+               // Not detected
+               reportBug(__FILE__, __LINE__, 'Whether bonusid or mailid was set. This is a strange bug.');
        }
 
+       // Is an entry found?
        if (SQL_NUMROWS($result_main) == 1) {
                // Is the stats id valid?
-               list($lid, $ltype) = SQL_FETCHROW($result_main);
+               $data = SQL_FETCHARRAY($result_main);
 
                // Init result here with invalid to avoid possible missing variable
                $result_mailid = false;
 
-               // @TODO Rewrite this to a filter
-               switch ($ltype) {
+               // @TODO Rewrite this to a filter/function
+               switch ($data['link_type']) {
                        case 'NORMAL':
-                               $result_mailid = SQL_QUERY_ESC("SELECT `pool_id`,`userid`,`id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `id`=%s LIMIT 1",
-                                       array($mailId), __FILE__, __LINE__);
+                               $result_mailid = SQL_QUERY_ESC("SELECT `pool_id`, `userid` AS `sender` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `id`=%s LIMIT 1",
+                                       array($urlId), __FILE__, __LINE__);
                                break;
 
                        case 'BONUS':
-                               $result_mailid = SQL_QUERY_ESC("SELECT `id`,`id`,`is_notify` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
-                                       array($bonusId), __FILE__, __LINE__);
+                               $result_mailid = SQL_QUERY_ESC("SELECT `is_notify` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
+                                       array($urlId), __FILE__, __LINE__);
                                break;
 
                        default: // Unknown type
-                               reportBug(__FILE__, __LINE__, 'Unknown mail type ' . $ltype . ' detected.');
+                               reportBug(__FILE__, __LINE__, 'Unknown mail type ' . $data['link_type'] . ' detected.');
                                break;
-               }
+               } // END - switch
 
                // Entry found?
                if (SQL_NUMROWS($result_mailid) == 1) {
                        // Load data
-                       list($pool, $sender, $notify) = SQL_FETCHROW($result_mailid);
+                       $data = merge_array($data, SQL_FETCHARRAY($result_mailid));
 
                        // Correct notification switch in non-bonus mails
-                       if (!in_array($notify, array('Y', 'N'))) {
-                               $notify = 'N';
+                       if ((!isset($data['is_notify'])) || (!in_array($data['is_notify'], array('Y', 'N')))) {
+                               $data['is_notify'] = 'N';
                        } // END - if
 
                        // Set sender to 0 when we have a bonus mail
-                       if ($ltype == 'BONUS') {
-                               $sender = '0';
+                       if ($data['link_type'] == 'BONUS') {
+                               $data['sender'] = '0';
                        } // END - if
 
                        // Is the user id valid?
@@ -143,16 +147,16 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
                                if (getUserData('status') == 'CONFIRMED') {
                                        // User has confirmed his account so we can procede...
                                        // @TODO Rewrite this to a filter
-                                       switch ($ltype) {
+                                       switch ($data['link_type']) {
                                                case 'NORMAL':
                                                        $result = SQL_QUERY_ESC("SELECT `payment_id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `pool_id`=%s LIMIT 1",
-                                                               array(bigintval($pool)), __FILE__, __LINE__);
+                                                               array(bigintval($data['pool_id'])), __FILE__, __LINE__);
 
                                                        // Entry found?
                                                        if (SQL_NUMROWS($result) == 1) {
                                                                list($pay) = SQL_FETCHROW($result);
-                                                               $time      = getPaymentPoints($pay, 'time');
-                                                               $payment   = getPaymentPoints($pay, 'payment');
+                                                               $time      = getPaymentData($pay, 'time');
+                                                               $payment   = getPaymentData($pay, 'payment');
                                                                $isValid   = true;
                                                        } // END - if
 
@@ -162,7 +166,7 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
 
                                                case 'BONUS':
                                                        $result = SQL_QUERY_ESC("SELECT `time`,`points` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
-                                                               array(bigintval($pool)), __FILE__, __LINE__);
+                                                               array(bigintval($data['pool_id'])), __FILE__, __LINE__);
 
                                                        // Entry found?
                                                        if (SQL_NUMROWS($result) == 1) {
@@ -175,7 +179,7 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
                                                        break;
 
                                                default: // Unknown type
-                                                       reportBug(__FILE__, __LINE__, 'Unknown mail type ' . $ltype . ' detected.');
+                                                       reportBug(__FILE__, __LINE__, 'Unknown mail type ' . $data['link_type'] . ' detected.');
                                                        break;
                                        } // END - switch
 
@@ -197,7 +201,7 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
 
                                                                        // Count clicks
                                                                        // @TODO Rewrite this to a filter
-                                                                       switch ($ltype) {
+                                                                       switch ($data['link_type']) {
                                                                                case 'NORMAL':
                                                                                        SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_stats` SET `clicks`=`clicks`+1 WHERE `id`=%s LIMIT 1",
                                                                                                array($mailId), __FILE__, __LINE__);
@@ -223,7 +227,7 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
                                                                                        break;
 
                                                                                default: // Unknown type
-                                                                                       reportBug(__FILE__, __LINE__, 'Unknown mail type ' . $ltype . ' detected.');
+                                                                                       reportBug(__FILE__, __LINE__, 'Unknown mail type ' . $data['link_type'] . ' detected.');
                                                                                        break;
                                                                        } // END - switch
 
@@ -273,7 +277,7 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
                                                                                // Shall I add bonus points for "turbo clickers" ?
                                                                                if (isExtensionInstalledAndNewer('bonus', '0.2.2')) {
                                                                                        // Is an active-rallye running and this is not a notification mail?
-                                                                                       if ((isBonusRallyeActive()) && ($notify != 'Y')) {
+                                                                                       if ((isBonusRallyeActive()) && ($data['is_notify'] != 'Y')) {
                                                                                                // Shall I exclude the webmaster's own userid from the active-rallye?
                                                                                                if ((((getBonusUserid() == $userId) && (getConfig('bonus_include_own') == 'Y')) || (getBonusUserid() != $userId)) && (getDefRefid() != $userId)) {
                                                                                                        // Add points and remember ranking are done in this function....
@@ -303,10 +307,10 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
 
                                                                                // Load template
                                                                                loadTemplate($template, false, $content);
-                                                                       } elseif (isValidUserId($sender)) {
+                                                                       } elseif (isValidUserId($data['sender'])) {
                                                                                // Wrong image code! So add points to sender's account
                                                                                initReferralSystem();
-                                                                               addPointsThroughReferralSystem('mailid_payback', $sender, $payment);
+                                                                               addPointsThroughReferralSystem('mailid_payback', $data['sender'], $payment);
 
                                                                                // Add payment points
                                                                                $content['points'] = $payment;
@@ -323,7 +327,7 @@ if ((isValidUserId($userId)) && (($mailId > 0) || ($bonusId > 0)) && (!ifFatalEr
 
                                                                        // Remove link from table
                                                                        SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `id`=%s LIMIT 1",
-                                                                               array(bigintval($lid)), __FILE__, __LINE__);
+                                                                               array(bigintval($data['link_id'])), __FILE__, __LINE__);
                                                                        break;
 
                                                                case 'img':