X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-sponsor_reg.php;h=cd23e6eda3bad9217a1119aca2670f6ab85f9d1e;hb=93cd46744c402fa7b140e5f1d6b07281fc5558bf;hp=bed8a6149f81c2ac5cf69ef3b3ab4db2288fb4e7;hpb=41e2891fb998d13b22b8d7984358f258cc85267d;p=mailer.git diff --git a/inc/modules/guest/what-sponsor_reg.php b/inc/modules/guest/what-sponsor_reg.php index bed8a6149f..cd23e6eda3 100644 --- a/inc/modules/guest/what-sponsor_reg.php +++ b/inc/modules/guest/what-sponsor_reg.php @@ -10,14 +10,20 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Anmeldeformular fuer Sponsoren * * -------------------------------------------------------------------- * - * * + * $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 * + * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License. * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -31,416 +37,333 @@ ************************************************************************/ // 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(); } // Add description as navigation point -ADD_DESCR("guest", basename(__FILE__)); +addMenuDescription('guest', __FILE__); + +if ((!isExtensionActive('sponsor'))) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('sponsor')); + return; +} // END - if // Create array for form errors (= missing data) $FORM_ERRORS = array(); -if (isset($_POST['ok'])) { +if (isFormSent()) { // // Check submitted form data // // 1. Salutation / Surname / family name - if (empty($_POST['gender'])) - { + if (!isPostRequestElementSet('gender')) { // Surname is empty - $FORM_ERRORS[] = SPONSOR_NO_GENDER_SELECTED; - } - if (empty($_POST['surname'])) - { + $FORM_ERRORS[] = getMessage('SPONSOR_NO_GENDER_SELECTED'); + } // END - if + + if (!isPostRequestElementSet('surname')) { // Surname is empty - $FORM_ERRORS[] = SPONSOR_SURNAME_IS_EMPTY; - } - if (empty($_POST['family'])) - { + $FORM_ERRORS[] = getMessage('SPONSOR_SURNAME_IS_EMPTY'); + } // END - if + + if (!isPostRequestElementSet('family')) { // Surname is empty - $FORM_ERRORS[] = SPONSOR_FAMILY_IS_EMPTY; - } + $FORM_ERRORS[] = getMessage('SPONSOR_FAMILY_IS_EMPTY'); + } // END - if + // 2. Company name - // 012 3 32 23 4 43 3 4 4321 12 3 32 2 3 3210 - if (((empty($_POST['company'])) && ((!empty($_POST['tax_ident'])) || (!empty($_POST['position'])))) || ((!empty($_POST['company'])) && (empty($_POST['tax_ident'])))) - { - if (empty($_POST['company'])) - { + // 012 3 32 23 4 43 3 4 4321 12 3 32 2 3 3210 + if (((!isPostRequestElementSet('company')) && ((isPostRequestElementSet('tax_ident')) || (isPostRequestElementSet('position')))) || ((isPostRequestElementSet('company')) && (!isPostRequestElementSet('tax_ident')))) { + if (!isPostRequestElementSet('company')) { // Company name is empty - $FORM_ERRORS[] = SPONSOR_COMPANY_IS_EMPTY; - } - elseif (empty($_POST['tax_ident'])) - { + $FORM_ERRORS[] = getMessage('SPONSOR_COMPANY_IS_EMPTY'); + } elseif (!isPostRequestElementSet('tax_ident')) { // Tax ident number name is empty - $FORM_ERRORS[] = SPONSOR_TAX_IDENT_IS_EMPTY; + $FORM_ERRORS[] = getMessage('SPONSOR_TAX_IDENT_IS_EMPTY'); } - if (empty($_POST['position'])) - { + + if (!isPostRequestElementSet('position')) { // Not fatal but not nice: position in company is empty - $FORM_ERRORS[] = SPONSOR_POSITION_IS_EMPTY; - } - } + $FORM_ERRORS[] = getMessage('SPONSOR_POSITION_IS_EMPTY'); + } // END - if + } // END - if + // 3. Street and number - if (empty($_POST['street_nr1'])) - { + if (!isPostRequestElementSet('street_nr1')) { // Street name and house number are empty - $FORM_ERRORS[] = SPONSOR_STREET_NR1_IS_EMPTY; - } - elseif ((!empty($_POST['street_nr2'])) && (empty($_POST['street_nr1']))) - { + $FORM_ERRORS[] = getMessage('SPONSOR_STREET_NR1_IS_EMPTY'); + } elseif ((isPostRequestElementSet('street_nr2')) && (!isPostRequestElementSet('street_nr1'))) { // 1st line for street is empty, but 2nd line not - $FORM_ERRORS[] = SPONSOR_STREET_NR1_IS_EMPTY_2_NOT; + $FORM_ERRORS[] = getMessage('SPONSOR_STREET_NR1_IS_EMPTY_2_NOT'); } + // 4. Country code - if (empty($_POST['country'])) - { + if (!isPostRequestElementSet('country')) { // Country code is empty - $FORM_ERRORS[] = SPONSOR_COUNTRY_IS_EMPTY; - } - elseif (strlen($_POST['country']) != 2) - { + $FORM_ERRORS[] = getMessage('SPONSOR_COUNTRY_IS_EMPTY'); + } elseif (strlen(postRequestElement('country')) != 2) { // Country code is invalid - $FORM_ERRORS[] = SPONSOR_COUNTRY_IS_INVALID; + $FORM_ERRORS[] = getMessage('SPONSOR_COUNTRY_IS_INVALID'); } + // 3. ZIP code - if (empty($_POST['zip'])) - { + if (!isPostRequestElementSet('zip')) { // ZIP code is empty - $FORM_ERRORS[] = SPONSOR_ZIP_IS_EMPTY; - } - elseif (bigintval($_POST['zip']) != $_POST['zip']) - { + $FORM_ERRORS[] = getMessage('SPONSOR_ZIP_IS_EMPTY'); + } elseif (bigintval(postRequestElement('zip')) != postRequestElement('zip')) { // ZIP is invalid - $FORM_ERRORS[] = SPONSOR_ZIP_IS_INVALID; - $_POST['zip'] = ""; + $FORM_ERRORS[] = getMessage('SPONSOR_ZIP_IS_INVALID'); + setRequestPostElement('zip', ''); } + // 4. City - if (empty($_POST['city'])) - { + if (!isPostRequestElementSet('city')) { // City is empty - $FORM_ERRORS[] = SPONSOR_CITY_IS_EMPTY; - } + $FORM_ERRORS[] = getMessage('SPONSOR_CITY_IS_EMPTY'); + } // END - if + // 5. Phone number - if (empty($_POST['phone'])) - { + if (!isPostRequestElementSet('phone')) { // City is empty - $FORM_ERRORS[] = SPONSOR_PHONE_IS_EMPTY; - } + $FORM_ERRORS[] = getMessage('SPONSOR_PHONE_IS_EMPTY'); + } // END - if + // 6. Homepage URL - if (empty($_POST['url'])) - { + if (!isPostRequestElementSet('url')) { // Homepage URL is empty - $FORM_ERRORS[] = SPONSOR_URL_IS_EMPTY; - } - elseif (!VALIDATE_URL($_POST['url'])) - { + $FORM_ERRORS[] = getMessage('SPONSOR_URL_IS_EMPTY'); + } elseif (!isUrlValid(postRequestElement('url'))) { // Homepage URL is invalid - $FORM_ERRORS[] = SPONSOR_URL_IS_INVALID; - $_POST['url'] = ""; + $FORM_ERRORS[] = getMessage('SPONSOR_URL_IS_INVALID'); + setRequestPostElement('url', ''); } + // 7. Light validation of email address - if ((empty($_POST['email'])) || ($_POST['email'] == "@")) - { + if ((!isPostRequestElementSet('email')) || (postRequestElement('email') == '@')) { // Email is invalid/empty - $FORM_ERRORS[] = SPONSOR_EMAIL_IS_INVALID; - } - elseif (SPONSOR_FOUND_EMAIL_DB($_POST['email'])) - { + $FORM_ERRORS[] = getMessage('SPONSOR_EMAIL_IS_INVALID'); + } elseif (isSponsorRegisteredWithEmail(postRequestElement('email'))) { // Email already found in database! - $FORM_ERRORS[] = SPONSOR_EMAIL_IS_ALREADY_REGISTERED; - $_POST['email'] = ""; + $FORM_ERRORS[] = getMessage('SPONSOR_EMAIL_IS_ALREADY_REGISTERED'); + setRequestPostElement('email', ''); } + // 8. Pay type selected? - if (empty($_POST['pay_type'])) - { + if (!isPostRequestElementSet('pay_type')) { // Not pay type selected - $FORM_ERRORS[] = SPONSOR_NO_PAYTYPE_SELECTED; - } + $FORM_ERRORS[] = getMessage('SPONSOR_NO_PAYTYPE_SELECTED'); + } // END - if + // 9. Interval of mails - if (empty($_POST['warning_interval'])) - { + if (!isPostRequestElementSet('warning_interval')) { // No warning interval selected - $FORM_ERRORS[] = SPONSOR_NO_WARNING_INTERVAL_SELECTED; - } + $FORM_ERRORS[] = getMessage('SPONSOR_NO_WARNING_INTERVAL_SELECTED'); + } // END - if + // 10. Mail notifications disabled/enabled - if (empty($_POST['receive_warnings'])) - { + if (!isPostRequestElementSet('receive_warnings')) { // Option not selected! - $FORM_ERRORS[] = SPONSOR_NO_RECEIVE_WARNINGS_SELECTED; - } + $FORM_ERRORS[] = getMessage('SPONSOR_NO_RECEIVE_WARNINGS_SELECTED'); + } // END - if + // Did he enter his password twice? - if (((empty($_POST['pass1'])) || (empty($_POST['pass2']))) || (($_POST['pass1'] != $_POST['pass2']) && (!empty($_POST['pass1'])) && (!empty($_POST['pass2'])))) - { - if (($_POST['pass1'] != $_POST['pass2']) && (!empty($_POST['pass1'])) && (!empty($_POST['pass2']))) - { + if (((!isPostRequestElementSet('pass1')) || (!isPostRequestElementSet('pass2'))) || ((postRequestElement('pass1') != postRequestElement('pass2')) && (isPostRequestElementSet('pass1')) && (isPostRequestElementSet('pass2')))) { + if ((postRequestElement('pass1') != postRequestElement('pass2')) && (isPostRequestElementSet('pass1')) && (isPostRequestElementSet('pass2'))) { // Passwords missmatch - $FORM_ERRORS[] = SPONSOR_PASSWORDS_MISMATCH; - } - else - { - if (empty($_POST['pass1'])) - { + $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORDS_MISMATCH'); + } else { + if (!isPostRequestElementSet('pass1')) { // Password 1 is empty - $FORM_ERRORS[] = SPONSOR_PASSWORD1_EMPTY; + $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORD1_EMPTY'); } - if (empty($_POST['pass2'])) - { + + if (!isPostRequestElementSet('pass2')) { // Password 2 is empty - $FORM_ERRORS[] = SPONSOR_PASSWORD2_EMPTY; + $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORD2_EMPTY'); } } - } - // Is the password long enough? - elseif (strlen($_POST['pass1']) < $_CONFIG['pass_len']) - { - // Too short! - $FORM_ERRORS[] = SPONSOR_PASSWORD_TOO_SHORT; + } elseif (strlen(postRequestElement('pass1')) < getConfig('pass_len')) { + // Password is to short! + $FORM_ERRORS[] = sprintf(getMessage('SPONSOR_PASSWORD_TOO_SHORT'), getConfig('pass_len')); } // Check if he has accepted the terms&conditions - if (empty($_POST['terms'])) - { + if (!isPostRequestElementSet('terms')) { // Homepage URL is empty - $FORM_ERRORS[] = SPONSOR_TERMS_NOT_ACCEPTED; - } - + $FORM_ERRORS[] = getMessage('SPONSOR_TERMS_NOT_ACCEPTED'); + } // END - if + // If there is something wrong/missing stop registration - if (count($FORM_ERRORS) > 0) unset($_POST['ok']); + if (count($FORM_ERRORS) > 0) unsetPostRequestElement('ok'); } -if ((isset($_POST['ok'])) && (count($FORM_ERRORS) == 0)) -{ +if ((isFormSent()) && (count($FORM_ERRORS) == 0)) { // Generate message array - $MSGs = array( - 'failed' => SPONSOR_REGISTRATION_FAILED, - 'added' => SPONSOR_REGISTRATION_COMPLETED, + $messageArray = array( + 'failed' => getMessage('SPONSOR_REGISTRATION_FAILED'), + 'added' => getMessage('SPONSOR_REGISTRATION_COMPLETED'), ); // Calulate points - $result = SQL_QUERY_ESC("SELECT (pay_rate * pay_min_count) AS points, pay_min_count AS pay, pay_currency AS curr -FROM "._MYSQL_PREFIX."_sponsor_paytypes -WHERE id='%s' LIMIT 1", array($_POST['pay_type']), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT (`pay_rate` * `pay_min_count`) AS points, `pay_min_count` AS pay, `pay_currency` AS curr +FROM `{?_MYSQL_PREFIX?}_sponsor_paytypes` +WHERE `id`='%s' LIMIT 1", + array(postRequestElement('pay_type')), __FILE__, __LINE__); list($points, $pay, $curr) = SQL_FETCHROW($result); // Free memory SQL_FREERESULT($result); // Add points to array - $_POST['points_amount'] = $points; - $_POST['points_used'] = "0.00000"; - $_POST['last_pay'] = $pay; - $_POST['last_curr'] = $curr; + postRequestElement('points_amount', $points); + postRequestElement('points_used' , '0.00000'); + postRequestElement('last_pay' , $pay); + postRequestElement('last_curr' , $curr); // Register sponsor but never ever update here! - $STATUS = SPONSOR_HANDLE_SPONSOR($_POST, true, $MSGs, true); + $STATUS = handlSponsorRequest(postRequestArray(), true, $messageArray, true); // Check the status of the registration process - switch ($STATUS) - { - case "added": // Sponsor successfully added with account status = UNCONFIRMED! - // Check for his ID number - $result = SQL_QUERY_ESC("SELECT id, hash FROM "._MYSQL_PREFIX."_sponsor_data WHERE email='%s' LIMIT 1", - array($_POST['email']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { - // ID found so let's load it for the confirmation email - list($id, $hash) = SQL_FETCHROW($result); - - // Prepare data for the email template - define('__ID' , $id); - define('__HASH' , $hash); - define('__EMAIL' , $_POST['email']); - define('__SURNAME' , $_POST['surname']); - define('__FAMILY' , $_POST['family']); - define('__GENDER' , TRANSLATE_GENDER($_POST['gender'])); - define('__TIMESTAMP', MAKE_DATETIME(time(), 0)); - define('__PASSWORD' , $_POST['pass1']); - - // Generate email and send it to the new sponsor - $EMAIL_MSG = LOAD_EMAIL_TEMPLATE("sponsor_confirm", $hash); - SEND_EMAIL($_POST['email'], SPONSOR_PLEASE_CONFIRM_SUBJ, $EMAIL_MSG); - - // Send mail to admin - SEND_ADMIN_NOTIFICATION(ADMIN_NEW_SPONSOR, "admin_sponsor_reg", $hash); - - // Output message: DONE - $MSG = $MSGs['added']; - } - else - { - // Sponsor account not found??? - $MSG = SPONSOR_EMAIL_404_1.$_POST['email'].SPONSOR_EMAIL_404_2; - } + switch ($STATUS) { + case 'added': // Sponsor successfully added with account status = UNCONFIRMED! + // Check for his ID number + $result = SQL_QUERY_ESC("SELECT `id`, `hash` FROM `{?_MYSQL_PREFIX?}_sponsor_data` WHERE `email`='%s' LIMIT 1", + array(postRequestElement('email')), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) { + // ID found so let's load it for the confirmation email + list($id, $hash) = SQL_FETCHROW($result); - // Free memory - SQL_FREERESULT($result); - break; + // Prepare data for the email template + $content['id'] = $id; + $content['hash'] = $hash; + $content['email'] = secureString(postRequestElement('email')); + $content['surname'] = secureString(postRequestElement('surname')); + $content['family'] = secureString(postRequestElement('family')); + $content['gender'] = translateGender(postRequestElement('gender')); + $content['timestamp'] = generateDateTime(time(), 0); + $content['password'] = secureString(postRequestElement('pass1')); - default: - if (!IS_ADMIN()) - { - // Message for testing admin - $MSG = ADMIN_SPONSOR_UNKOWN_STATUS_1.$STATUS.ADMIN_SPONSOR_UNKOWN_STATUS_2; - } - else - { - // Message for the guest - $MSG = SPONSOR_UNKOWN_STATUS_1.$STATUS.SPONSOR_UNKOWN_STATUS_2; - } - break; + // Generate email and send it to the new sponsor + $message = loadEmailTemplate('sponsor_confirm', $hash); + sendEmail(postRequestElement('email'), getMessage('SPONSOR_PLEASE_CONFIRM_SUBJ'), $message); + + // Send mail to admin + sendAdminNotification(getMessage('ADMIN_NEW_SPONSOR'), 'admin_sponsor_reg', $hash); + + // Output message: DONE + $message = $messageArray['added']; + } else { + // Sponsor account not found??? + $message = sprintf(getMessage('SPONSOR_EMAIL_404'), postRequestElement('email')); + } + + // Free memory + SQL_FREERESULT($result); + break; + + default: + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown status %s detected.", $STATUS)); + if (!isAdmin()) { + // Message for testing admin + $message = sprintf(getMessage('ADMIN_SPONSOR_UNKNOWN_STATUS'), $STATUS); + } else { + // Message for the guest + $message = sprintf(getMessage('SPONSOR_UNKNOWN_STATUS'), $STATUS); + } + break; } // Display message - LOAD_TEMPLATE("admin_settings_saved", false, $MSG); -} - else -{ + loadTemplate('admin_settings_saved', false, $message); +} else { // Check for payment types - $result = SQL_QUERY("SELECT id, pay_name, pay_rate, pay_currency, pay_min_count -FROM "._MYSQL_PREFIX."_sponsor_paytypes -ORDER BY pay_name", __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) - { + $result = SQL_QUERY("SELECT `id`, `pay_name`, `pay_rate`, `pay_currency`, `pay_min_count` +FROM `{?_MYSQL_PREFIX?}_sponsor_paytypes` +ORDER BY `pay_name`", __FILE__, __LINE__); + if (SQL_NUMROWS($result) > 0) { // Load all types... - $OUT = "
- ".$name." - (".$min." ".$curr." = ".TRANSLATE_COMMA($rate * $min)." ".POINTS.")
- |
-
- ".SPONSOR_REGISTER_SOMETHING_MISSING.":
-