X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-confirm.php;h=a97110740193836eac1601b5d051ba1ba29b3be0;hb=53aff78b88e6e8756f0aa21bb30a5f6b3c569211;hp=42dbdc82ed94013a4af702142cc4aaacf1e37267;hpb=c2e17d983fcbc0c3bd1dd37908d87c678f0367df;p=mailer.git diff --git a/inc/modules/guest/what-confirm.php b/inc/modules/guest/what-confirm.php index 42dbdc82ed..a971107401 100644 --- a/inc/modules/guest/what-confirm.php +++ b/inc/modules/guest/what-confirm.php @@ -1,7 +1,7 @@ getMessage('GUEST_CONFIRMED_FAILED'), - 'userid' => 0, -); - -if (isGetRequestElementSet('hash')) { - // Initialize the user ID - $userid = 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(getRequestElement('hash')), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { - // Ok, he want's to confirm now so we load some data - list ($userid, $email, $rid) = SQL_FETCHROW($result); - - // Unlock his account (but only when it is on UNCONFIRMED!) - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `status`='CONFIRMED', ref_payout={?ref_payout?}, `user_hash`=NULL WHERE `user_hash`='%s' AND `status`='UNCONFIRMED' LIMIT 1", - array(getRequestElement('hash')), __FILE__, __LINE__); - if (SQL_AFFECTEDROWS() == 1) { - $message = loadEmailTemplate('confirm-member', array('points' => getConfig('points_register')), bigintval($userid)); - - // And send him right away the confirmation mail - sendEmail($email, getMessage('GUEST_THANX_CONFIRM'), $message); - - // Maybe he got "referaled"? - if (($rid > 0) && ($rid != $userid)) { - // 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) { - // Update ref counter... - updateReferalCounter($rid); - - // Shall I 'pay' the referal points imidiately? - if (getConfig('ref_payout') == 0) { - // Yes, 'pay' it now - $locked = false; - } else { - // No, 'pay' it later - $locked = true; - } - - // If version matches add ref bonus to refid's account - if ((getExtensionVersion('bonus') >= '0.4.4') && (getConfig('bonus_active') == 'Y')) { - // Add points (directly only!) - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `bonus_ref`=`bonus_ref`+{?bonus_ref?} WHERE `userid`=%s LIMIT 1", - array(bigintval($rid)), __FILE__, __LINE__); - - // Subtract points from system - handleBonusPoints(getConfig('bonus_ref')); - } // END - if - - // Add one-time referal bonus over referal system or directly - // @TODO Try to rewrite the following unset() - unset($GLOBALS['ref_level']); - addPointsThroughReferalSystem('referal_bonus', $rid, getConfig('points_ref'), true, bigintval($userid), $locked, getConfig('reg_points_mode')); - } // END - if - } // END - if - - if (isExtensionActive('rallye')) { - // Add user to rallye (or not?) - addUserToReferalRallye(bigintval($userid)); - } // END - if - - // Account confirmed! - if (isExtensionActive('lead')) { - // Set special lead cookie - setSession('lead_userid', bigintval($userid)); - - // Lead-Code mode enabled - redirectToUrl('lead-confirm.php'); - } else { - $content['message'] = getMessage('GUEST_CONFIRMED_DONE'); - $content['userid'] = bigintval($userid); - } - } elseif (isExtensionActive('lead')) { - // Set special lead cookie - setSession('lead_userid', bigintval($userid)); - - // Lead-Code mode enabled - redirectToUrl('lead-confirm.php'); - } else { - // Nobody was found unter this hash key... or our new member want's to confirm twice? - $content['message'] = getMessage('GUEST_CONFIRMED_TWICE'); - } - } else { - // Nobody was found unter this hash key... or our new member want's to confirm twice? - $content['message'] = getMessage('GUEST_CONFIRMED_TWICE'); - } - - // Load template - loadTemplate('guest_confirm_table', false, $content); -} elseif ((isFormSent()) && (isPostRequestElementSet('email'))) { +if (isGetRequestParameterSet('hash')) { + // Do user account confirmation + doConfirmUserAccount(getRequestParameter('hash')); +} elseif ((isFormSent()) && (isPostRequestParameterSet('email'))) { // Confirmation link requested 0 1 2 - $result = SQL_QUERY_ESC("SELECT `userid`, `status`, `user_hash` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `email`='%s' LIMIT 1", - array(postRequestElement('email')), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { + if (fetchUserData(postRequestParameter('email'), 'email')) { // Email address found - $content = SQL_FETCHARRAY($result); + $content = getUserDataArray(); + + // Detect status switch ($content['status']) { case 'UNCONFIRMED': // Account not confirmed // Load email template $message = loadEmailTemplate('guest_request_confirm', array('hash' => $content['user_hash']), $content['userid']); // Send email - sendEmail(postRequestElement('email'), getMessage('REQUEST_CONFIRM_LINK_SUBJ'), $message); + sendEmail(postRequestParameter('email'), '{--REQUEST_CONFIRM_LINK_SUBJECT--}', $message); // And set message - $content['message'] = getMessage('CONFIRM_LINK_SENT'); + $content['message'] = '{--CONFIRM_LINK_SENT--}'; break; case 'CONFIRMED': // Account already confirmed - $content['message'] = getMessage('LOGIN_ID_CONFIRMED'); + $content['message'] = '{--LOGIN_ID_CONFIRMED--}'; break; case 'LOCKED': // Account is locked - $content['message'] = getMessage('LOGIN_ID_LOCKED'); + $content['message'] = '{--LOGIN_ID_LOCKED--}'; break; } // END - switch } else { // Email address not registered - $content['message'] = getMessage('EMAIL_ADDRESS_404'); + $content['message'] = '{--EMAIL_404--}'; } // Load template