= ({?doubler_min?} * 2) AND `do`.`completed`='N' AND `do`.`is_ref`='N' ORDER BY `do`.`timemark` ASC", array( $totalPoints ), __FILE__, __LINE__); // Get total count list($totalCount) = sqlFetchRow($result_total); // Free memory sqlFreeResult($result_total); // Check for accounts with limitation $result_main = sqlQueryEscaped("SELECT `do`.`id`, `do`.`userid`, `do`.`points`, `do`.`remote_ip`, `do`.`timemark` FROM `{?_MYSQL_PREFIX?}_doubler` AS `do` INNER JOIN `{?_MYSQL_PREFIX?}_user_data` AS `d` ON `do`.`userid`=`d`.`userid` WHERE `d`.`status`='CONFIRMED' " . runFilterChain('user_exclusion_sql', ' ' . $whereStatement) . " AND `do`.`points` <= %s AND `do`.`points` >= ({?doubler_min?} * 2) AND `do`.`completed`='N' AND `do`.`is_ref`='N' ORDER BY `do`.`timemark` ASC LIMIT {?doubler_max_sent?}", array( $totalPoints ), __FILE__, __LINE__); // Are there entries found? if ((($totalCount > 0) && (getConfig('doubler_sent_all') == 'Y')) || ((sqlNumRows($result_main) == getConfig('doubler_group_sent')) && (getConfig('doubler_sent_all') != 'Y'))) { // Switch to matching SQL resource $result_load = $result_main; if (($totalCount > 0) && (getConfig('doubler_sent_all') == 'Y')) { $result_load = $result_total; } // END - if // At least one account was found while ($content = sqlFetchArray($result_load)) { // Only double when points are enougth! if ($totalPoints >= $content['points']) { // Check for his ref points $refPoints = countSumTotalData($content['userid'], 'doubler', 'points', 'refid', FALSE, " AND `completed`='N' AND `is_ref`='Y'"); // Zero refid when empty (might be helpful!) if (empty($refPoints)) { $refPoints = '0'; } // END - if if (($refPoints > 0) && ($GLOBALS['local_doubler_userid'] == $content['userid']) && (!empty($refPoints))) { // Referral points found so add them and set line(s) to completed='Y' $content['points'] += $refPoints; sqlQueryEscaped("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 referral points found $refPoints = '0'; } // Exclude webmaster from doubling... if ($content['userid'] != getDoublerUserid()) { // Add points initReferralSystem(); addPointsThroughReferralSystem(sprintf('doubler_%s', strtolower(getDoublerSendMode())), $content['userid'], $content['points']); } // END - if // Set entry as "payed" sqlQueryEscaped("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 (($jackpotPoints > 0) && ($jackpotPoints >= $content['points']) && (getConfig('doubler_jackpot') == 'Y')) { // Subtract points from jackpot $okay = subtractPointsFromJackpot($content['points']); $jackpotPoints -= $content['points']; } // END - if // Exclude also webmaster's id in taking points from webmaster's account if (($userPoints > 0) && ($userPoints >= $content['points']) && ($okay === FALSE) && (isValidId(getDoublerUserid())) && ($content['userid'] != getDoublerUserid())) { // Subtract points $okay = subtractPoints('doubler_payout', getDoublerUserid(), $content['points']); } // END - if // Update doubler's account only when others are not updated if ($okay === FALSE) { // Add points to used doubler points updateConfiguration('doubler_used', $content['points'], '+'); } // END - if // Update variables to prevent errors incrementConfigEntry('doubler_used', $content['points']); $totalPoints -= $content['points']; // Prepare array $content['timemark'] = generateDateTime($content['timemark'], 2); // Load mail template and send mail away... $message = loadEmailTemplate('member_doubler', $content, $content['userid']); sendEmail($content['userid'], '{--MEMBER_DOUBLER_SUBJECT--}', $message); } // END - if } // END - while } // END - if // Free memory sqlFreeResult($result_total); sqlFreeResult($result_main); // [EOF] ?>