Variable DEPTH must be deleted before ADD_POINTS_REFSYSTEM() is being called :(
[mailer.git] / inc / modules / guest / what-confirm.php
index 40a1c513d55a1f925bc2d2b62aa0f5bb6fd826b7..1eba1b02c7deb1b5694d35185f6190a387046253 100644 (file)
  ************************************************************************/
 
 // Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
+if (!defined('__SECURITY')) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
+
 // Add description as navigation point
-ADD_DESCR("guest", basename(__FILE__));
+ADD_DESCR("guest", __FILE__);
 
-OPEN_TABLE("100%", "guest_content_align", "");
-if (!empty($_GET['hash']))
-{
+if (!empty($_GET['hash'])) {
        // Initialize the user ID
        $uid = 0;
 
        // Search for an unconfirmed or confirmed account
        $result = SQL_QUERY_ESC("SELECT userid, email, refid FROM "._MYSQL_PREFIX."_user_data WHERE user_hash='%s' AND (status='UNCONFIRMED' OR status='CONFIRMED') LIMIT 1",
-        array($_GET['hash']), __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) == 1)
-       {
+               array($_GET['hash']), __FILE__, __LINE__);
+       if (SQL_NUMROWS($result) == 1) {
                // Ok, he want's to confirm now so we load some data
                list ($uid, $email, $rid) = SQL_FETCHROW($result);
 
                // Unlock his account (but only when it is on UNCONFIRMED!)
-               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET status='CONFIRMED', ref_payout='%s' WHERE user_hash='%s' AND status='UNCONFIRMED' LIMIT 1",
-                array($_CONFIG['ref_payout'], $_GET['hash']), __FILE__, __LINE__);
-               if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1)
-               {
-                       $msg = LOAD_EMAIL_TEMPLATE("confirm-member", "", bigintval($uid));
+               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET status='CONFIRMED', ref_payout=%s, user_hash=NULL WHERE user_hash='%s' AND status='UNCONFIRMED' LIMIT 1",
+                       array($_CONFIG['ref_payout'], $_GET['hash']), __FILE__, __LINE__);
+               if (SQL_AFFECTEDROWS() == 1) {
+                       $msg = LOAD_EMAIL_TEMPLATE("confirm-member", array('points' => $_CONFIG['points_register']), bigintval($uid));
 
                        // And send him right away the confirmation mail
                        SEND_EMAIL($email, GUEST_THANX_CONFIRM, $msg);
 
-                       // Maybe he got "referraled"?
-                       if (($rid > 0) && ($rid != $uid))
-                       {
-                               // Select the referral userid
-                               $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",
+                       // Maybe he got "referaled"?
+                       if (($rid > 0) && ($rid != $uid)) {
+                               // Select the referal userid
+                               $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
                                 array(bigintval($rid)), __FILE__, __LINE__);
-                               if (SQL_NUMROWS($result) == 1)
-                               {
+                               if (SQL_NUMROWS($result) == 1) {
                                        // Update ref counter...
                                        UPDATE_REF_COUNTER($rid);
 
                                        // Ok, write the ref-points to this user and his parent-ref
                                        unset($DEPTH);
 
-                                       // Shall I "pay" the referral points imidiately?
-                                       if ($_CONFIG['ref_payout'] == "0")
-                                       {
+                                       // Shall I "pay" the referal points imidiately?
+                                       if ($_CONFIG['ref_payout'] == "0") {
                                                // Yes, "pay" it now
                                                $locked = false;
-                                       }
-                                        else
-                                       {
+                                       } else {
                                                // No, "pay" it later
                                                $locked = true;
                                        }
 
                                        // If version matches add ref bonus to refid's account
-                                       if ((GET_EXT_VERSION("bonus") >= "0.4.4") && ($_CONFIG['bonus_active'] == 'Y'))
-                                       {
+                                       if ((GET_EXT_VERSION("bonus") >= "0.4.4") && ($_CONFIG['bonus_active'] == "Y")) {
                                                // Add points (directly only!)
-                                               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET bonus_ref=bonus_ref+%s WHERE userid=%d LIMIT 1",
+                                               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET bonus_ref=bonus_ref+%s WHERE userid=%s LIMIT 1",
                                                 array($_CONFIG['bonus_ref'], bigintval($rid)), __FILE__, __LINE__);
 
                                                // Subtract points from system
                                                BONUS_POINTS_HANDLER($_CONFIG['bonus_ref']);
-                                       }
+                                       } // END - if
 
-                                       // Add one-time referral bonus over referral system or directly
-                                       $DEPTH = 0;
+                                       // Add one-time referal bonus over referal system or directly
+                                       unset($DEPTH);
                                        ADD_POINTS_REFSYSTEM($rid, $_CONFIG['points_ref'], true, bigintval($uid), $locked, $_CONFIG['reg_points_mode']);
-                               }
-                       }
+                               } // END - if
+                       } // END - if
 
                        if (EXT_IS_ACTIVE("rallye")) {
                                // Add user to rallye (or not?)
                                RALLYE_AUTOADD_USER(bigintval($uid));
-                       }
+                       } // END - if
 
                        // Account confirmed!
                        if (defined('LEAD_CODE_ENABLED') && defined('LEAD_EXPIRY_TIME')) {
                                // Set special lead cookie
-                               set_session("lead_uid", bigintval($uid), (time() + LEAD_EXPIRY_TIME), COOKIE_PATH);
+                               set_session("lead_uid", bigintval($uid));
 
                                // Lead-Code mode enabled
                                LOAD_URL("lead-confirm.php");
@@ -126,7 +116,7 @@ if (!empty($_GET['hash']))
                        }
                } elseif (defined('LEAD_CODE_ENABLED') && defined('LEAD_EXPIRY_TIME')) {
                        // Set special lead cookie
-                       set_session("lead_uid", bigintval($uid), (time() + LEAD_EXPIRY_TIME), COOKIE_PATH);
+                       set_session("lead_uid", bigintval($uid));
 
                        // Lead-Code mode enabled
                        LOAD_URL("lead-confirm.php");
@@ -155,7 +145,7 @@ if (!empty($_GET['hash']))
                switch ($DATA[1])
                {
                case "UNCONFIRMED": // Account not confirmed
-                       $msg = LOAD_EMAIL_TEMPLATE("guest_request_confirm", "", $DATA[0]);
+                       $msg = LOAD_EMAIL_TEMPLATE("guest_request_confirm", array('hash' => $DATA[2]), $DATA[0]);
                        SEND_EMAIL($_POST['email'], REQUEST_CONFIRM_LINK_SUBJ, $msg);
                        $content = CONFIRM_LINK_SENT;
                        break;
@@ -183,6 +173,6 @@ if (!empty($_GET['hash']))
        // No hash found, the guest may want to enter his email address to re-get his confirmation link?
        LOAD_TEMPLATE("guest_confirm_link");
 }
-CLOSE_TABLE();
+
 //
 ?>