= %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 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' ORDER BY d.timemark LIMIT %d", array($DOUBLER_POINTS, $min, getConfig('doubler_max_sent')), __FILE__, __LINE__); // 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') != 'Y'))) { // Switch to matching SQL resource $result_load = $result_main; if ((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == 'Y')) $result_load = $result_total; // At least one account was found while ($content = SQL_FETCHARRAY($result_load)) { // Only double when points are enougth! if ($DOUBLER_POINTS >= $content['points']) { // Check for his ref points $ref = GET_TOTAL_DATA($content['userid'], 'doubler', 'points', 'refid', false, " AND completed='N' AND is_ref='Y'"); // Zero refid when empty (might be helpful!) if (empty($ref)) $ref = 0; if (($ref > 0) && ($GLOBALS['doubler_uid'] == $content['userid']) && (!empty($ref))) { // Referal points found so add them and set line(s) to completed='Y' $content['points'] += $ref; SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_doubler` SET completed='Y' WHERE refid=%s AND completed='N' AND is_ref='Y'", array(bigintval($content['userid'])), __FILE__, __LINE__); } else { // No referal points found $ref = 0; } // Exclude webmaster from doubling... if ($content['userid'] != getConfig('doubler_uid')) { // Add points ADD_POINTS_REFSYSTEM_DIRECT(sprintf("doubler_%s", strtolower(getConfig('doubler_send_mode'))), $content['userid'], $content['points']); } // END - if // Set entry as "payed" SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_doubler` SET completed='Y' WHERE `id`=%s LIMIT 1", array(bigintval($content['id'])), __FILE__, __LINE__); $okay = false; // Check for jackpot inclusion in doubling process if (($jackpot > 0) && ($jackpot >= $content['points']) && (getConfig('doubler_jackpot') == 'Y')) { // Subtract points from jackpot SUB_JACKPOT($content['points']); $jackpot -= $content['points']; // Okay, done! $okay = true; } // END - if // Exclude also webmaster's ID in taking points from webmaster's account if (($user > 0) && ($user >= $content['points']) && (!$okay) && (getConfig('doubler_uid') > 0) && ($content['userid'] != getConfig('doubler_uid'))) { // Add points to used points SUB_POINTS("doubler_payout", getConfig('doubler_uid'), $content['points']); // Okay, done! $okay = true; } // END - if // Update doubler's account only when others are not updated if (!$okay) { // Add points to used doubler points updateConfiguration('doubler_used', $content['points'], '+'); } // END - if // Update variables to prevent errors incrementConfigEntry('doubler_used', $content['points']); $DOUBLER_POINTS -= $content['points']; // Prepare array $content = array( // Doubler transmission ID 'id' => $content['id'], // Doubled points 'points' => translateComma($content['points']), // Timemark 'when' => generateDateTime($content['timemark'], '2'), // IP number when the member submitted the doubling form 'ip' => $content['remote_ip'], ); // Load mail template and send mail away... $msg = LOAD_EMAIL_TEMPLATE("member_doubler", $content, $content['userid']); sendEmail($content['userid'], getMessage('DOUBLER_MEMBER_SUBJECT'), $msg); } // END - if } // END - while } // END - if // Free memory SQL_FREERESULT($result_total); SQL_FREERESULT($result_main); // ?>