X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmails%2Fdoubler_mails.php;h=32d57d36c7356181c74adace6213d5e8a0cf76de;hp=91f3988d91f3b71b8da61fc987eb956c184dfda5;hb=4373e155854012d687fdfcae4c69d1a940883fab;hpb=766fcb898d34d42249d75f6097d85296aa5f9196 diff --git a/inc/mails/doubler_mails.php b/inc/mails/doubler_mails.php index 91f3988d91..32d57d36c7 100644 --- a/inc/mails/doubler_mails.php +++ b/inc/mails/doubler_mails.php @@ -10,14 +10,9 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Sendet Mails bei vergueteter Verdoppelung aus * * -------------------------------------------------------------------- * - * $Revision:: $ * - * $Date:: $ * - * $Tag:: 0.2.1-FINAL $ * - * $Author:: $ * - * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2013 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -56,129 +51,138 @@ if (isExtensionActive('jackpot')) { } // END - if // Get total points of the doubler itself -$DOUBLER_POINTS = getDoublerTotalPointsLeft(); -if ($DOUBLER_POINTS == '0') { - // Exit here to prevent some SQL errors (SQL_QUERY_ESC doen't insert zeros! We need to fix this...) +$totalPoints = getDoublerTotalPointsLeft(); +if ($totalPoints == '0') { + // Exit here to prevent some SQL errors (sqlQueryEscaped doen't insert zeros! We need to fix this...) return; } // END - if // If not currently doubled set it to zero -unsetGetRequestParameter('DOUBLER_UID'); -unsetPostRequestParameter('DOUBLER_UID'); -setSession('DOUBLER_UID', ''); +unsetGetRequestElement('DOUBLER_USERID'); +unsetPostRequestElement('DOUBLER_USERID'); +setSession('DOUBLER_USERID', ''); if (empty($GLOBALS['local_doubler_userid'])) $GLOBALS['local_doubler_userid'] = '0'; // Check for doubles which we can pay out -$result_total = SQL_QUERY_ESC("SELECT - d.id, d.userid, d.points, d.remote_ip, d.timemark +$result_total = sqlQueryEscaped("SELECT + COUNT(`do`.`id`) AS `cnt`, FROM - `{?_MYSQL_PREFIX?}_doubler` AS d -LEFT JOIN - `{?_MYSQL_PREFIX?}_user_data` AS u + `{?_MYSQL_PREFIX?}_doubler` AS `do` +INNER JOIN + `{?_MYSQL_PREFIX?}_user_data` AS `d` ON - d.userid=u.userid + `do`.`userid`=`d`.`userid` WHERE - u.`status`='CONFIRMED' AND - d.points <= %s AND - d.points >= ({?doubler_min?} * 2) AND - d.completed='N' AND - d.is_ref='N' + `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 - d.timemark ASC", + `do`.`timemark` ASC", array( - $DOUBLER_POINTS + $totalPoints ), __FILE__, __LINE__); +// Get total count +list($totalCount) = sqlFetchRow($result_total); + +// Free memory +sqlFreeResult($result_total); + // Check for accounts with limitation -$result_main = SQL_QUERY_ESC("SELECT - d.id, d.userid, d.points, d.remote_ip, d.timemark +$result_main = sqlQueryEscaped("SELECT + `do`.`id`, + `do`.`userid`, + `do`.`points`, + `do`.`remote_ip`, + `do`.`timemark` FROM - `{?_MYSQL_PREFIX?}_doubler` AS d -LEFT JOIN - `{?_MYSQL_PREFIX?}_user_data` AS u + `{?_MYSQL_PREFIX?}_doubler` AS `do` +INNER JOIN + `{?_MYSQL_PREFIX?}_user_data` AS `d` ON - d.userid=u.userid + `do`.`userid`=`d`.`userid` WHERE - u.`status`='CONFIRMED' AND - d.points <= %s AND - d.points >= ({?doubler_min?} * 2) AND - d.completed='N' AND - d.is_ref='N' + `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 - d.timemark ASC + `do`.`timemark` ASC LIMIT {?doubler_max_sent?}", array( - $DOUBLER_POINTS + $totalPoints ), __FILE__, __LINE__); -// Do we have entries found? -if (((!SQL_HASZERONUMS($result_total)) && (getConfig('doubler_sent_all') == 'Y')) || ((SQL_NUMROWS($result_main) == getConfig('doubler_group_sent')) && (getConfig('doubler_sent_all') != 'Y'))) { +// 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 ((!SQL_HASZERONUMS($result_total)) && (getConfig('doubler_sent_all') == 'Y')) { + if (($totalCount > 0) && (getConfig('doubler_sent_all') == 'Y')) { $result_load = $result_total; } // END - if // At least one account was found - while ($content = SQL_FETCHARRAY($result_load)) { + while ($content = sqlFetchArray($result_load)) { // Only double when points are enougth! - if ($DOUBLER_POINTS >= $content['points']) { + if ($totalPoints >= $content['points']) { // Check for his ref points - $ref = countSumTotalData($content['userid'], 'doubler', 'points', 'refid', false, " AND `completed`='N' AND `is_ref`='Y'"); + $refPoints = countSumTotalData($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 (empty($refPoints)) { + $refPoints = '0'; + } // END - if - if (($ref > 0) && ($GLOBALS['local_doubler_userid'] == $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'", + 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 referal points found - $ref = '0'; + // No referral points found + $refPoints = '0'; } // Exclude webmaster from doubling... - if ($content['userid'] != getConfig('doubler_userid')) { + if ($content['userid'] != getDoublerUserid()) { // Add points - addPointsDirectly(sprintf("doubler_%s", strtolower(getConfig('doubler_send_mode'))), $content['userid'], $content['points']); + initReferralSystem(); + addPointsThroughReferralSystem(sprintf('doubler_%s', strtolower(getDoublerSendMode())), $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", + sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_doubler` SET `completed`='Y' WHERE `id`=%s LIMIT 1", array(bigintval($content['id'])), __FILE__, __LINE__); - $okay = false; + $okay = FALSE; // Check for jackpot inclusion in doubling process if (($jackpotPoints > 0) && ($jackpotPoints >= $content['points']) && (getConfig('doubler_jackpot') == 'Y')) { // Subtract points from jackpot - subtractPointsFromJackpot($content['points']); + $okay = subtractPointsFromJackpot($content['points']); $jackpotPoints -= $content['points']; - - // Okay, done! - $okay = true; } // END - if // Exclude also webmaster's id in taking points from webmaster's account - if (($userPoints > 0) && ($userPoints >= $content['points']) && ($okay === false) && (getConfig('doubler_userid') > 0) && ($content['userid'] != getConfig('doubler_userid'))) { - // Add points to used points - subtractPoints('doubler_payout', getConfig('doubler_userid'), $content['points']); - - // Okay, done! - $okay = true; + 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) { + 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']); - $DOUBLER_POINTS -= $content['points']; + $totalPoints -= $content['points']; // Prepare array $content['timemark'] = generateDateTime($content['timemark'], 2); @@ -191,8 +195,8 @@ if (((!SQL_HASZERONUMS($result_total)) && (getConfig('doubler_sent_all') == 'Y') } // END - if // Free memory -SQL_FREERESULT($result_total); -SQL_FREERESULT($result_main); +sqlFreeResult($result_total); +sqlFreeResult($result_main); // [EOF] ?>