]> git.mxchange.org Git - mailer.git/blobdiff - beg.php
Surfbar continued and some rewrites/fixes:
[mailer.git] / beg.php
diff --git a/beg.php b/beg.php
index 81ee8d4567d10f77126654180ddc56d5a2e00f87..368d6db1dc5b8b3875d99ec1d86eb053141acb07 100644 (file)
--- a/beg.php
+++ b/beg.php
@@ -46,7 +46,7 @@ $CSS = -1;
 $msg = null;
 
 // Load the required file(s)
-require ("inc/config.php");
+require("inc/config.php");
 
 // Is the "beg" extension active?
 if (!EXT_IS_ACTIVE("beg")) {
@@ -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");