X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-confirm.php;h=ae489f2666bbfd39a72cd5d1dcee0493f6b77eb7;hb=7db85bc0c45b62c28ba49e728f489ad4bc1c115f;hp=6fb1d870258ca676226d4c1c2f1c8d8eef9299b3;hpb=09f5758c42a33a56bdd461c946ffe759a59c54aa;p=mailer.git diff --git a/inc/modules/guest/what-confirm.php b/inc/modules/guest/what-confirm.php index 6fb1d87025..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,144 +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`,`gender` 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, $rid, $gender) = SQL_FETCHROW($result); - - // Fetch user data - if (!fetchUserData($userid)) { - // Not found, should not happen - debug_report_bug('User account ' . $userid . ' not found.'); - } // END - if - - // Load all data and add points - $content = getUserDataArray(); - $content['gender'] = translateGender($content['gender']); - $content['points'] = getConfig('points_register'); - - // 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 (($rid > 0) && ($rid != $userid)) { - // Select the referal userid - if (fetchUserData($rid)) { - // 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('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'] = getMessage('CONFIRM_LINK_SENT'); - break; - - case 'CONFIRMED': // Account already confirmed - $content['message'] = getMessage('LOGIN_ID_CONFIRMED'); - break; - - case 'LOCKED': // Account is locked - $content['message'] = getMessage('LOGIN_ID_LOCKED'); - break; - } // END - switch - } else { - // Email address not registered - $content['message'] = getMessage('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');