X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmails%2Fdoubler_mails.php;h=7ec3e1eb8d000b1f724b9870a3c9a7155893d891;hb=fc913f79acb00d7b330c9275bdb98dadd8378963;hp=ffb1121bd9ea3f13b528ccaf30c872d9474abfba;hpb=fc162164725588cf75969f707faead9c9cd8e68b;p=mailer.git diff --git a/inc/mails/doubler_mails.php b/inc/mails/doubler_mails.php index ffb1121bd9..7ec3e1eb8d 100644 --- a/inc/mails/doubler_mails.php +++ b/inc/mails/doubler_mails.php @@ -14,12 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2011 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 * @@ -41,15 +39,21 @@ if (!defined('__SECURITY')) { die(); } elseif (!isExtensionActive('doubler')) { + // Do not execute when extension is absent + return; +} elseif (!isHtmlOutputMode()) { + // Do not execute when script is in CSS mode return; } -// Do not execute when script is in CSS mode -if (getOutputMode() != 0) return; - // Initialize variables -$jackpotPoints = '0'; $userPoints = '0'; -if (isExtensionActive('jackpot')) $jackpotPoints = getJackpotPoints(); +$jackpotPoints = '0'; +$userPoints = '0'; + +// @TODO Can this be rewritten to a filter? +if (isExtensionActive('jackpot')) { + $jackpotPoints = getJackpotPoints(); +} // END - if // Get total points of the doubler itself $DOUBLER_POINTS = getDoublerTotalPointsLeft(); @@ -59,10 +63,10 @@ if ($DOUBLER_POINTS == '0') { } // END - if // If not currently doubled set it to zero -unsetGetRequestParameter('DOUBLER_UID'); -unsetPostRequestParameter('DOUBLER_UID'); -setSession('DOUBLER_UID', ''); -if (empty($GLOBALS['doubler_userid'])) $GLOBALS['doubler_userid'] = '0'; +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 @@ -108,35 +112,40 @@ LIMIT {?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'))) { +if (((!SQL_HASZERONUMS($result_total)) && (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; + if ((!SQL_HASZERONUMS($result_total)) && (getConfig('doubler_sent_all') == 'Y')) { + $result_load = $result_total; + } // END - if // 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 = 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['doubler_userid'] == $content['userid']) && (!empty($ref))) { - // Referal points found so add them and set line(s) to completed='Y' - $content['points'] += $ref; + 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; 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'; + // No referral points found + $refPoints = '0'; } // Exclude webmaster from doubling... if ($content['userid'] != getConfig('doubler_userid')) { // Add points - addPointsDirectly(sprintf("doubler_%s", strtolower(getConfig('doubler_send_mode'))), $content['userid'], $content['points']); + initReferralSystem(); + addPointsThroughReferralSystem(sprintf("doubler_%s", strtolower(getConfig('doubler_send_mode'))), $content['userid'], $content['points']); } // END - if // Set entry as "payed" @@ -148,20 +157,14 @@ if (((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == 'Y')) // 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; + // Subtract points + $okay = subtractPoints('doubler_payout', getConfig('doubler_userid'), $content['points']); } // END - if // Update doubler's account only when others are not updated @@ -175,20 +178,11 @@ if (((SQL_NUMROWS($result_total) > 0) && (getConfig('doubler_sent_all') == 'Y')) $DOUBLER_POINTS -= $content['points']; // Prepare array - $content = array( - // Doubler transmission id - 'id' => $content['id'], - // Doubled points - 'points' => $content['points'], - // Timemark - 'timemark' => generateDateTime($content['timemark'], 2), - // IP number when the member submitted the doubling form - 'remote_ip' => $content['remote_ip'], - ); + $content['timemark'] = generateDateTime($content['timemark'], 2); // Load mail template and send mail away... $message = loadEmailTemplate('member_doubler', $content, $content['userid']); - sendEmail($content['userid'], '{--DOUBLER_MEMBER_SUBJECT--}', $message); + sendEmail($content['userid'], '{--MEMBER_DOUBLER_SUBJECT--}', $message); } // END - if } // END - while } // END - if