X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-confirm.php;h=ae489f2666bbfd39a72cd5d1dcee0493f6b77eb7;hp=38018fd6216d6438721a1f2d7762f6c594ab2241;hb=c8d76610eb94093d4eed4fcd8a6cb72e74c8f6d8;hpb=f2aeaab0cd313b2eeb151642455ed558f6b186dc diff --git a/inc/modules/guest/what-confirm.php b/inc/modules/guest/what-confirm.php index 38018fd621..ae489f2666 100644 --- a/inc/modules/guest/what-confirm.php +++ b/inc/modules/guest/what-confirm.php @@ -14,8 +14,6 @@ * $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 * @@ -45,151 +43,17 @@ if (!defined('__SECURITY')) { // Add description as navigation point addMenuDescription('guest', __FILE__); -// Init content -$content = array( - 'message' => getMessage('GUEST_CONFIRMED_FAILED'), - 'userid' => 0, -); +if ((!isExtensionActive('user')) && (!isAdmin())) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('user')); + return; +} // END - if if (isGetRequestParameterSet('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(getRequestParameter('hash')), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { - // Ok, he want's to confirm now so we load some data - list($userid, $email, $refid) = SQL_FETCHROW($result); - - // Fetch user data - if (!fetchUserData($userid)) { - // Not found, should not happen - debug_report_bug(__FILE__, __LINE__, 'User account ' . $userid . ' not found.'); - } // END - if - - // Load all data and add points - $content = getUserDataArray(); - - // 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(getRequestParameter('hash')), __FILE__, __LINE__); - if (SQL_AFFECTEDROWS() == 1) { - // Send email if updated - $message = loadEmailTemplate('confirm-member', $content, bigintval($userid)); - - // And send him right away the confirmation mail - sendEmail($email, getMessage('GUEST_THANX_CONFIRM'), $message); - - // Maybe he got "referaled"? - if (($refid > 0) && ($refid != $userid)) { - // Select the referal userid - if (fetchUserData($refid)) { - // Update ref counter... - updateReferalCounter($refid); - - // 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 ((isExtensionInstalledAndNewer('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($refid)), __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', $refid, 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'] = '{--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'] = '{--GUEST_CONFIRMED_TWICE--}'; - } - } else { - // Nobody was found unter this hash key... or our new member want's to confirm twice? - $content['message'] = '{--GUEST_CONFIRMED_TWICE--}'; - } - - // Load template - loadTemplate('admin_settings_saved', false, $content['message']); + // Do user account confirmation + doConfirmUserAccount(getRequestParameter('hash')); } elseif ((isFormSent()) && (isPostRequestParameterSet('email'))) { - // Confirmation link requested 0 1 2 - if (fetchUserData(postRequestParameter('email'), 'email')) { - // Email address found - $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(postRequestParameter('email'), getMessage('REQUEST_CONFIRM_LINK_SUBJ'), $message); - - // And set message - $content['message'] = '{--CONFIRM_LINK_SENT--}'; - break; - - case 'CONFIRMED': // Account already confirmed - $content['message'] = '{--LOGIN_ID_CONFIRMED--}'; - break; - - case 'LOCKED': // Account is locked - $content['message'] = '{--LOGIN_ID_LOCKED--}'; - break; - } // END - switch - } else { - // Email address not registered - $content['message'] = '{--EMAIL_404--}'; - } - - // Load template - loadTemplate('admin_settings_saved', false, $content['message']); + // Resend confirmation link + doResendUserConfirmationLink(postRequestParameter('email')); } else { // No hash found, the guest may want to enter his email address to re-get his confirmation link? loadTemplate('guest_confirm_link');