X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-confirm.php;h=ae489f2666bbfd39a72cd5d1dcee0493f6b77eb7;hb=7db85bc0c45b62c28ba49e728f489ad4bc1c115f;hp=730e78dcace4c74cd04b3c7c7354273376921a41;hpb=263a089d8a499e0e26d0af9e7aa7639f88b8ca60;p=mailer.git diff --git a/inc/modules/guest/what-confirm.php b/inc/modules/guest/what-confirm.php index 730e78dcac..ae489f2666 100644 --- a/inc/modules/guest/what-confirm.php +++ b/inc/modules/guest/what-confirm.php @@ -14,10 +14,9 @@ * $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 * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -44,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 (isGetRequestElementSet('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(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, $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(getRequestElement('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']); -} elseif ((isFormSent()) && (isPostRequestElementSet('email'))) { - // Confirmation link requested 0 1 2 - if (fetchUserData(postRequestElement('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(postRequestElement('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_ADDRESS_404'); - } +if ((!isExtensionActive('user')) && (!isAdmin())) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('user')); + return; +} // END - if - // Load template - loadTemplate('admin_settings_saved', false, $content['message']); +if (isGetRequestParameterSet('hash')) { + // Do user account confirmation + doConfirmUserAccount(getRequestParameter('hash')); +} elseif ((isFormSent()) && (isPostRequestParameterSet('email'))) { + // 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');