More improved SQL queries
[mailer.git] / inc / doubler_send.php
index 8df3d834dc4a8f598b5a4d121cd0c59cbe1f2753..bdf6d7b2826641db4636cdd686d0eca4c1e4bbfc 100644 (file)
@@ -45,7 +45,7 @@ $DOUBLER_POINTS = DOUBLER_GET_TOTAL_POINTS_LEFT();
 if ($DOUBLER_POINTS == 0) {
        // Exit here to prevent some SQL errors (SQL_QUERY_ESC doen't insert zeros! We need to fix this...)
        return;
-}
+} // END - if
 
 // If not currently doubled set it to zero
 unset($_GET['DOUBLER_UID']);
@@ -54,30 +54,31 @@ set_session('DOUBLER_UID', "");
 if (empty($DOUBLER_UID)) $DOUBLER_UID = 0;
 
 // Check for doubles which we can pay out
-$min = bigintval($_CONFIG['doubler_min'] * 2);
+$min = bigintval(getConfig('doubler_min') * 2);
 $result_total = SQL_QUERY_ESC("SELECT DISTINCT d.id, d.userid, d.points, d.remote_ip, d.timemark
-FROM "._MYSQL_PREFIX."_doubler AS d
-LEFT JOIN "._MYSQL_PREFIX."_user_data AS u
+FROM `{!_MYSQL_PREFIX!}_doubler` AS d
+LEFT JOIN `{!_MYSQL_PREFIX!}_user_data` AS u
 ON d.userid=u.userid
-WHERE u.status='CONFIRMED' AND d.points <= %s AND d.points >= %s AND d.completed='N' AND d.is_ref='N'
+WHERE u.`status`='CONFIRMED' AND d.points <= %s AND d.points >= %s AND d.completed='N' AND d.is_ref='N'
 ORDER BY d.timemark", array($DOUBLER_POINTS, $min), __FILE__, __LINE__);
 
 // Check for accounts with limitation
 $result_main = SQL_QUERY_ESC("SELECT DISTINCT d.id, d.userid, d.points, d.remote_ip, d.timemark
-FROM "._MYSQL_PREFIX."_doubler AS d
-LEFT JOIN "._MYSQL_PREFIX."_user_data AS u
+FROM `{!_MYSQL_PREFIX!}_doubler` AS d
+LEFT JOIN `{!_MYSQL_PREFIX!}_user_data` AS u
 ON d.userid=u.userid
-WHERE u.status='CONFIRMED' AND d.points <= %s AND d.points >= %s AND d.completed='N' AND d.is_ref='N'
+WHERE u.`status`='CONFIRMED' AND d.points <= %s AND d.points >= %s AND d.completed='N' AND d.is_ref='N'
 ORDER BY d.timemark
-LIMIT %d", array($DOUBLER_POINTS, $min, $_CONFIG['doubler_max_sent']), __FILE__, __LINE__);
+LIMIT %d", array($DOUBLER_POINTS, $min, getConfig('doubler_max_sent')), __FILE__, __LINE__);
 
-if (((SQL_NUMROWS($result_total) > 0) && ($_CONFIG['doubler_sent_all'] == "Y")) || ((SQL_NUMROWS($result_main) == $_CONFIG['doubler_group_sent']) && ($_CONFIG['doubler_sent_all'] == "N"))) {
+// Do we have entries found?
+if (((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == "Y")) || ((SQL_NUMROWS($result_main) == getConfig('doubler_group_sent')) && (getConfig('doubler_sent_all') == "N"))) {
        // Switch to matching SQL resource
        $result_load = $result_main;
-       if ((SQL_NUMROWS($result_total) > 0) && ($_CONFIG['doubler_sent_all'] == "Y")) $result_load = $result_total;
+       if ((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == "Y")) $result_load = $result_total;
 
        // At least one account was found
-       while(list($id, $uid, $points, $ip, $time) = SQL_FETCHROW($result_load)) {
+       while (list($id, $uid, $points, $ip, $time) = SQL_FETCHROW($result_load)) {
                // Only double when points are enougth!
                if ($DOUBLER_POINTS >= $points) {
                        // Check for his ref points
@@ -88,26 +89,26 @@ if (((SQL_NUMROWS($result_total) > 0) && ($_CONFIG['doubler_sent_all'] == "Y"))
                        if (($ref > 0) && ($DOUBLER_UID == $uid) && (!empty($ref))) {
                                // Referal points found so add them and set line(s) to completed='Y'
                                $points += $ref;
-                               $result_ref = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_doubler SET completed='Y' WHERE refid=%s AND completed='N' AND is_ref='Y'",
-                                array(bigintval($uid)), __FILE__, __LINE__);
+                               SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_doubler` SET completed='Y' WHERE refid=%s AND completed='N' AND is_ref='Y'",
+                                       array(bigintval($uid)), __FILE__, __LINE__);
                        } else {
                                // No referal points found
                                $ref = 0;
                        }
 
                        // Exclude webmaster from doubling...
-                       if ($uid != $_CONFIG['doubler_uid']) {
+                       if ($uid != getConfig('doubler_uid')) {
                                // Add points
-                               ADD_POINTS_REFSYSTEM($uid, $points, false, "0", false, "direct");
+                               ADD_POINTS_REFSYSTEM(sprintf("doubler_%s", strtolower(getConfig('doubler_send_mode'))), $uid, $points, false, "0", false, "direct");
                        } // END - if
 
                        // Set entry as "payed"
-                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_doubler SET completed='Y' WHERE id=%s LIMIT 1",
-                        array(bigintval($id)), __FILE__, __LINE__);
+                       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_doubler` SET completed='Y' WHERE id=%s LIMIT 1",
+                               array(bigintval($id)), __FILE__, __LINE__);
 
                        $OK = false;
                        // Check for jackpot inclusion in doubling process
-                       if (($jackpot > 0) && ($jackpot >= $points) && ($_CONFIG['doubler_jackpot'] == "Y")) {
+                       if (($jackpot > 0) && ($jackpot >= $points) && (getConfig('doubler_jackpot') == "Y")) {
                                // Subtract points from jackpot
                                SUB_JACKPOT($points);
                                $jackpot -= $points;
@@ -117,9 +118,9 @@ if (((SQL_NUMROWS($result_total) > 0) && ($_CONFIG['doubler_sent_all'] == "Y"))
                        } // END - if
 
                        // Exclude also webmaster's ID in taking points from webmaster's account
-                       if (($user > 0) && ($user >= $points) && (!$OK) && ($_CONFIG['doubler_uid'] > 0) && ($uid != $_CONFIG['doubler_uid'])) {
+                       if (($user > 0) && ($user >= $points) && (!$OK) && (getConfig('doubler_uid') > 0) && ($uid != getConfig('doubler_uid'))) {
                                // Add points to used points
-                               SUB_POINTS($_CONFIG['doubler_uid'], $points);
+                               SUB_POINTS("doubler_payout", getConfig('doubler_uid'), $points);
 
                                // Okay, done!
                                $OK = true;
@@ -129,7 +130,7 @@ if (((SQL_NUMROWS($result_total) > 0) && ($_CONFIG['doubler_sent_all'] == "Y"))
                        if (!$OK) {
                                // Add points to used doubler points
                                UPDATE_CONFIG("doubler_used", $points, "+");
-                       }
+                       } // END - if
 
                        // Update variables to prevent errors
                        $_CONFIG['doubler_used'] += $points;
@@ -150,9 +151,9 @@ if (((SQL_NUMROWS($result_total) > 0) && ($_CONFIG['doubler_sent_all'] == "Y"))
                        // Load mail template and send mail away...
                        $msg = LOAD_EMAIL_TEMPLATE("member_doubler", $content, $uid);
                        SEND_EMAIL($uid, DOUBLER_MEMBER_SUBJECT, $msg);
-               }
-       }
-}
+               } // END - if
+       } // END - while
+} // END - if
 
 // Free memory
 SQL_FREERESULT($result_total);