X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-confirm.php;h=42dbdc82ed94013a4af702142cc4aaacf1e37267;hp=40a1c513d55a1f925bc2d2b62aa0f5bb6fd826b7;hb=c2e17d983fcbc0c3bd1dd37908d87c678f0367df;hpb=0e899620c7a065952d6787c236fb2b33ae337d6a diff --git a/inc/modules/guest/what-confirm.php b/inc/modules/guest/what-confirm.php index 40a1c513d5..42dbdc82ed 100644 --- a/inc/modules/guest/what-confirm.php +++ b/inc/modules/guest/what-confirm.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Alles um den Bestaetigungslink * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $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 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,157 +37,145 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} +if (!defined('__SECURITY')) { + die(); +} // END - if + // Add description as navigation point -ADD_DESCR("guest", basename(__FILE__)); +addMenuDescription('guest', __FILE__); + +// Init content +$content = array( + 'message' => getMessage('GUEST_CONFIRMED_FAILED'), + 'userid' => 0, +); -OPEN_TABLE("100%", "guest_content_align", ""); -if (!empty($_GET['hash'])) -{ +if (isGetRequestElementSet('hash')) { // Initialize the user ID - $uid = 0; + $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($_GET['hash']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + $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 ($uid, $email, $rid) = SQL_FETCHROW($result); + list ($userid, $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)); + 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 - 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", - array(bigintval($rid)), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + 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... - UPDATE_REF_COUNTER($rid); + updateReferalCounter($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") - { - // Yes, "pay" it now + // Shall I 'pay' the referal points imidiately? + if (getConfig('ref_payout') == 0) { + // Yes, 'pay' it now $locked = false; - } - else - { - // No, "pay" it later + } 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 ((getExtensionVersion('bonus') >= '0.4.4') && (getConfig('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", - array($_CONFIG['bonus_ref'], bigintval($rid)), __FILE__, __LINE__); + 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 - BONUS_POINTS_HANDLER($_CONFIG['bonus_ref']); - } + handleBonusPoints(getConfig('bonus_ref')); + } // END - if - // Add one-time referral bonus over referral system or directly - $DEPTH = 0; - ADD_POINTS_REFSYSTEM($rid, $_CONFIG['points_ref'], true, bigintval($uid), $locked, $_CONFIG['reg_points_mode']); - } - } + // 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 (EXT_IS_ACTIVE("rallye")) { + if (isExtensionActive('rallye')) { // Add user to rallye (or not?) - RALLYE_AUTOADD_USER(bigintval($uid)); - } + addUserToReferalRallye(bigintval($userid)); + } // END - if // Account confirmed! - if (defined('LEAD_CODE_ENABLED') && defined('LEAD_EXPIRY_TIME')) { + if (isExtensionActive('lead')) { // Set special lead cookie - set_session("lead_uid", bigintval($uid), (time() + LEAD_EXPIRY_TIME), COOKIE_PATH); + setSession('lead_userid', bigintval($userid)); // Lead-Code mode enabled - LOAD_URL("lead-confirm.php"); + redirectToUrl('lead-confirm.php'); } else { - define('__CONFIRM_MSG', GUEST_CONFIRMED_DONE); - define('__UID', bigintval($uid)); - LOAD_TEMPLATE("guest_confirm_table"); + $content['message'] = getMessage('GUEST_CONFIRMED_DONE'); + $content['userid'] = bigintval($userid); } - } elseif (defined('LEAD_CODE_ENABLED') && defined('LEAD_EXPIRY_TIME')) { + } elseif (isExtensionActive('lead')) { // Set special lead cookie - set_session("lead_uid", bigintval($uid), (time() + LEAD_EXPIRY_TIME), COOKIE_PATH); + setSession('lead_userid', bigintval($userid)); // Lead-Code mode enabled - LOAD_URL("lead-confirm.php"); + redirectToUrl('lead-confirm.php'); } else { // Nobody was found unter this hash key... or our new member want's to confirm twice? - define('__CONFIRM_MSG', GUEST_CONFIRMED_TWICE); - define('__UID', "0"); - LOAD_TEMPLATE("guest_confirm_table"); + $content['message'] = getMessage('GUEST_CONFIRMED_TWICE'); } } else { // Nobody was found unter this hash key... or our new member want's to confirm twice? - define('__CONFIRM_MSG', GUEST_CONFIRMED_TWICE); - define('__UID', "0"); - LOAD_TEMPLATE("guest_confirm_table"); + $content['message'] = getMessage('GUEST_CONFIRMED_TWICE'); } -} - elseif ((isset($_POST['ok'])) && (!empty($_POST['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($_POST['email']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + + // Load template + loadTemplate('guest_confirm_table', false, $content); +} elseif ((isFormSent()) && (isPostRequestElementSet('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) { // Email address found - $DATA = SQL_FETCHROW($result); - switch ($DATA[1]) - { - case "UNCONFIRMED": // Account not confirmed - $msg = LOAD_EMAIL_TEMPLATE("guest_request_confirm", "", $DATA[0]); - SEND_EMAIL($_POST['email'], REQUEST_CONFIRM_LINK_SUBJ, $msg); - $content = CONFIRM_LINK_SENT; - break; - - case "CONFIRMED": // Account already confirmed - $content = LOGIN_ID_CONFIRMED; - break; - - case "LOCKED": // Account is locked - $content = LOGIN_ID_LOCKED; - break; - } - } - else - { + $content = SQL_FETCHARRAY($result); + 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 = EMAIL_ADDY_404; + $content['message'] = getMessage('EMAIL_ADDRESS_404'); } - define('__CONFIRM_MSG', $content); - LOAD_TEMPLATE("guest_confirm_table"); -} - else -{ + // Load template + loadTemplate('admin_settings_saved', false, $content['message']); +} else { // No hash found, the guest may want to enter his email address to re-get his confirmation link? - LOAD_TEMPLATE("guest_confirm_link"); + loadTemplate('guest_confirm_link'); } -CLOSE_TABLE(); -// + +// [EOF] ?>