X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=beg.php;h=0f69f2a4bafa798b3127766077b2317b27e1be67;hp=81ee8d4567d10f77126654180ddc56d5a2e00f87;hb=dfc74ff226d77b6e659866111e86a56ee2596d83;hpb=056162fe45aa0d850bb22870e1caf9595a847a9b diff --git a/beg.php b/beg.php index 81ee8d4567..0f69f2a4ba 100644 --- a/beg.php +++ b/beg.php @@ -58,9 +58,13 @@ if (!EXT_IS_ACTIVE("beg")) { if (isBooleanConstantAndTrue('mxchange_installed')) { // Check for userid if (!empty($_GET['uid'])) { - // Init user ID + // Init variables $uid = 0; $result = false; + $points = 0; + + // Don't pay is the default... + $pay = false; // Validate if it is not a number if ("".($_GET['uid'] + 0)."" !== "".$_GET['uid']."") { @@ -80,7 +84,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) { } // Check if locked in so don't pay points - $login = IS_MEMBER(); $status = "failed"; + $status = "failed"; // Check if account was found if ((SQL_NUMROWS($result) == 1) && ($result != false)) { @@ -101,7 +105,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) { $points = mt_rand(($_CONFIG['beg_points'] * 100000), ($_CONFIG['beg_points_max'] * 100000)) / 100000; // Set nickname / userid for the template(s - define('__BEG_UID' , $_GET['uid']); + define('__BEG_UID' , SQL_ESCAPE($_GET['uid'])); define('__BEG_CLICKS', ($clicks + 1)); define('__BEG_BANNER', LOAD_TEMPLATE("beg_banner", true)); define('__BEG_POINTS', TRANSLATE_COMMA($points)); @@ -109,7 +113,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) { // Other status $uid = 0; } - } + } // END - if // Free memory SQL_FREERESULT($result); @@ -125,9 +129,7 @@ if (isBooleanConstantAndTrue('mxchange_installed')) { array($uid, GET_REMOTE_ADDR(), session_id()), __FILE__, __LINE__); // Entry not found, points set and not logged in? - if (((SQL_NUMROWS($result) == 0) || (IS_ADMIN())) && ($points > 0) && (!$login) && ($_CONFIG['beg_pay_mode'] == "NONE")) { - // Don't pay is the default... - $pay = false; + if (((SQL_NUMROWS($result) == 0) || (IS_ADMIN())) && ($points > 0) && (!IS_MEMBER()) && ($_CONFIG['beg_pay_mode'] == "NONE")) { // Admin is testing? if (!IS_ADMIN()) { @@ -149,39 +151,32 @@ if (isBooleanConstantAndTrue('mxchange_installed')) { // Pay points? if ($pay) { - // Set mode depending on how many mails the member has to confirm - $locked = false; - if (($ref_payout > 0) && ($_CONFIG['allow_direct_pay'] == "N")) $locked = true; - - // Is begging rallye active? - if ($_CONFIG['beg_rallye'] == "Y") { - // Add points to rallye account - SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points=beg_points+%s WHERE userid=%s LIMIT 1", - array($points, $uid), __FILE__, __LINE__); + // Add points to user or begging rallye account + if (BEG_ADD_POINTS($uid, $points)) { + // Set "done" message + define('__BEG_MSG', LOAD_TEMPLATE("beg_done", true)); } else { - // Add points to account - unset($DEPTH); - ADD_POINTS_REFSYSTEM($uid, $points, false, "0", $locked, strtolower($_CONFIG['beg_mode'])); + // Error! + define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); } - - // Subtract begged points from member account if the admin has selected one - if ($_CONFIG['beg_uid'] > 0) { - // Subtract from this account - SUB_POINTS($_CONFIG['beg_uid'], $points); - } // END - if - - // Set message - define('__BEG_MSG', LOAD_TEMPLATE("beg_done", true)); } else { // Error! define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); } - } elseif ($login) { + } elseif (IS_MEMBER()) { // Logged in user found! define('__BEG_MSG', LOAD_TEMPLATE("beg_login", true)); - } elseif ($_CONFIG['beg_pay_mode'] != "NONE") { - // Other pay-mode active! - define('__BEG_MSG', LOAD_TEMPLATE("beg_pay_mode_".strtolower($_CONFIG['beg_pay_mode']), true)); + } elseif ($_CONFIG['beg_pay_mode'] != "NONE") { // Other pay-mode active! + // Prepare content for template + $content = array( + 'clicks' => __BEG_CLICKS, + 'points' => __BEG_POINTS, + 'uid' => __BEG_UID + ); + + // Load message template depending on pay-mode + define('__BEG_MSG', LOAD_TEMPLATE("beg_pay_mode_".strtolower($_CONFIG['beg_pay_mode']), true, $content)); + $pay = true; } else { // Clicked received while reload lock is active define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); @@ -197,10 +192,17 @@ if (isBooleanConstantAndTrue('mxchange_installed')) { LOAD_TEMPLATE("beg_link"); // Tracker code enabled? (We don't track users here! - if ($_CONFIG['beg_pay_mode'] != "NONE") { + if (($_CONFIG['beg_pay_mode'] != "NONE") && ($pay)) { + // Prepare content for template + $content = array( + ); + // Include config-depending template - LOAD_TEMPLATE("beg_pay_code_".strtolower($_CONFIG['beg_pay_mode'])); - } // END - if + LOAD_TEMPLATE("beg_pay_code_".strtolower($_CONFIG['beg_pay_mode']), false, $content); + } elseif (!$pay) { + // Cannot pay! :-( + define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); + } // Include footer require_once(PATH."inc/footer.php");