X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-sponsor_reg.php;h=cd23e6eda3bad9217a1119aca2670f6ab85f9d1e;hb=5e4fd904c6045b66540a4e8fd77bf4f2f04537eb;hp=059a38206946eec84dbc2799153f807a0575ac2c;hpb=ae798f7e416793adf24a3b87024df1027e520ce2;p=mailer.git diff --git a/inc/modules/guest/what-sponsor_reg.php b/inc/modules/guest/what-sponsor_reg.php index 059a382069..cd23e6eda3 100644 --- a/inc/modules/guest/what-sponsor_reg.php +++ b/inc/modules/guest/what-sponsor_reg.php @@ -17,12 +17,13 @@ * 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 * @@ -37,248 +38,249 @@ // Some security stuff... if (!defined('__SECURITY')) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php"; - require($INC); -} elseif ((!EXT_IS_ACTIVE("sponsor"))) { - addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "sponsor"); - return; + die(); } // Add description as navigation point -ADD_DESCR("guest", __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 (IS_FORM_SENT()) { +if (isFormSent()) { // // Check submitted form data // // 1. Salutation / Surname / family name - if (!REQUEST_ISSET_POST(('gender'))) { + if (!isPostRequestElementSet('gender')) { // Surname is empty $FORM_ERRORS[] = getMessage('SPONSOR_NO_GENDER_SELECTED'); - } + } // END - if - if (!REQUEST_ISSET_POST(('surname'))) { + if (!isPostRequestElementSet('surname')) { // Surname is empty $FORM_ERRORS[] = getMessage('SPONSOR_SURNAME_IS_EMPTY'); - } + } // END - if - if (!REQUEST_ISSET_POST(('family'))) { + if (!isPostRequestElementSet('family')) { // Surname 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 (((!REQUEST_ISSET_POST(('company'))) && ((REQUEST_ISSET_POST(('tax_ident'))) || (REQUEST_ISSET_POST(('position'))))) || ((REQUEST_ISSET_POST(('company'))) && (!REQUEST_ISSET_POST(('tax_ident'))))) { - if (!REQUEST_ISSET_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[] = getMessage('SPONSOR_COMPANY_IS_EMPTY'); - } elseif (!REQUEST_ISSET_POST(('tax_ident'))) { + } elseif (!isPostRequestElementSet('tax_ident')) { // Tax ident number name is empty $FORM_ERRORS[] = getMessage('SPONSOR_TAX_IDENT_IS_EMPTY'); } - if (!REQUEST_ISSET_POST(('position'))) { + if (!isPostRequestElementSet('position')) { // Not fatal but not nice: position in company is empty $FORM_ERRORS[] = getMessage('SPONSOR_POSITION_IS_EMPTY'); - } - } + } // END - if + } // END - if // 3. Street and number - if (!REQUEST_ISSET_POST(('street_nr1'))) { + if (!isPostRequestElementSet('street_nr1')) { // Street name and house number are empty $FORM_ERRORS[] = getMessage('SPONSOR_STREET_NR1_IS_EMPTY'); - } elseif ((REQUEST_ISSET_POST(('street_nr2'))) && (!REQUEST_ISSET_POST(('street_nr1')))) { + } elseif ((isPostRequestElementSet('street_nr2')) && (!isPostRequestElementSet('street_nr1'))) { // 1st line for street is empty, but 2nd line not $FORM_ERRORS[] = getMessage('SPONSOR_STREET_NR1_IS_EMPTY_2_NOT'); } // 4. Country code - if (!REQUEST_ISSET_POST(('country'))) { + if (!isPostRequestElementSet('country')) { // Country code is empty $FORM_ERRORS[] = getMessage('SPONSOR_COUNTRY_IS_EMPTY'); - } elseif (strlen(REQUEST_POST('country')) != 2) { + } elseif (strlen(postRequestElement('country')) != 2) { // Country code is invalid $FORM_ERRORS[] = getMessage('SPONSOR_COUNTRY_IS_INVALID'); } // 3. ZIP code - if (!REQUEST_ISSET_POST(('zip'))) { + if (!isPostRequestElementSet('zip')) { // ZIP code is empty $FORM_ERRORS[] = getMessage('SPONSOR_ZIP_IS_EMPTY'); - } elseif (bigintval(REQUEST_POST('zip')) != REQUEST_POST('zip')) { + } elseif (bigintval(postRequestElement('zip')) != postRequestElement('zip')) { // ZIP is invalid $FORM_ERRORS[] = getMessage('SPONSOR_ZIP_IS_INVALID'); - REQUEST_SET_POST('zip', ""); + setRequestPostElement('zip', ''); } // 4. City - if (!REQUEST_ISSET_POST(('city'))) { + if (!isPostRequestElementSet('city')) { // City is empty $FORM_ERRORS[] = getMessage('SPONSOR_CITY_IS_EMPTY'); - } + } // END - if // 5. Phone number - if (!REQUEST_ISSET_POST(('phone'))) { + if (!isPostRequestElementSet('phone')) { // City is empty $FORM_ERRORS[] = getMessage('SPONSOR_PHONE_IS_EMPTY'); - } + } // END - if // 6. Homepage URL - if (!REQUEST_ISSET_POST(('url'))) { + if (!isPostRequestElementSet('url')) { // Homepage URL is empty $FORM_ERRORS[] = getMessage('SPONSOR_URL_IS_EMPTY'); - } elseif (!VALIDATE_URL(REQUEST_POST('url'))) { + } elseif (!isUrlValid(postRequestElement('url'))) { // Homepage URL is invalid $FORM_ERRORS[] = getMessage('SPONSOR_URL_IS_INVALID'); - REQUEST_SET_POST('url', ""); + setRequestPostElement('url', ''); } // 7. Light validation of email address - if ((!REQUEST_ISSET_POST(('email'))) || (REQUEST_POST('email') == "@")) { + if ((!isPostRequestElementSet('email')) || (postRequestElement('email') == '@')) { // Email is invalid/empty $FORM_ERRORS[] = getMessage('SPONSOR_EMAIL_IS_INVALID'); - } elseif (SPONSOR_FOUND_EMAIL_DB(REQUEST_POST('email'))) { + } elseif (isSponsorRegisteredWithEmail(postRequestElement('email'))) { // Email already found in database! $FORM_ERRORS[] = getMessage('SPONSOR_EMAIL_IS_ALREADY_REGISTERED'); - REQUEST_SET_POST('email', ""); + setRequestPostElement('email', ''); } // 8. Pay type selected? - if (!REQUEST_ISSET_POST(('pay_type'))) { + if (!isPostRequestElementSet('pay_type')) { // Not pay type selected $FORM_ERRORS[] = getMessage('SPONSOR_NO_PAYTYPE_SELECTED'); - } + } // END - if // 9. Interval of mails - if (!REQUEST_ISSET_POST(('warning_interval'))) { + if (!isPostRequestElementSet('warning_interval')) { // No warning interval selected $FORM_ERRORS[] = getMessage('SPONSOR_NO_WARNING_INTERVAL_SELECTED'); - } + } // END - if // 10. Mail notifications disabled/enabled - if (!REQUEST_ISSET_POST(('receive_warnings'))) { + if (!isPostRequestElementSet('receive_warnings')) { // Option not selected! $FORM_ERRORS[] = getMessage('SPONSOR_NO_RECEIVE_WARNINGS_SELECTED'); - } + } // END - if // Did he enter his password twice? - if (((!REQUEST_ISSET_POST(('pass1'))) || (!REQUEST_ISSET_POST(('pass2')))) || ((REQUEST_POST('pass1') != REQUEST_POST('pass2')) && (REQUEST_ISSET_POST(('pass1'))) && (REQUEST_ISSET_POST(('pass2'))))) { - if ((REQUEST_POST('pass1') != REQUEST_POST('pass2')) && (REQUEST_ISSET_POST(('pass1'))) && (REQUEST_ISSET_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[] = getMessage('SPONSOR_PASSWORDS_MISMATCH'); } else { - if (!REQUEST_ISSET_POST(('pass1'))) { + if (!isPostRequestElementSet('pass1')) { // Password 1 is empty $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORD1_EMPTY'); } - if (!REQUEST_ISSET_POST(('pass2'))) { + if (!isPostRequestElementSet('pass2')) { // Password 2 is empty $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORD2_EMPTY'); } } - } elseif (strlen(REQUEST_POST('pass1')) < getConfig('pass_len')) { + } 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 (!REQUEST_ISSET_POST(('terms'))) { + if (!isPostRequestElementSet('terms')) { // Homepage URL is empty $FORM_ERRORS[] = getMessage('SPONSOR_TERMS_NOT_ACCEPTED'); - } - + } // END - if + // If there is something wrong/missing stop registration - if (count($FORM_ERRORS) > 0) REQUEST_UNSET_POST('ok'); + if (count($FORM_ERRORS) > 0) unsetPostRequestElement('ok'); } -if ((IS_FORM_SENT()) && (count($FORM_ERRORS) == 0)) { +if ((isFormSent()) && (count($FORM_ERRORS) == 0)) { // Generate message array - $MSGs = array( + $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(REQUEST_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 - REQUEST_POST('points_amount', $points); - REQUEST_POST('points_used' , "0.00000"); - REQUEST_POST('last_pay' , $pay); - REQUEST_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(REQUEST_POST_ARRAY(), 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(REQUEST_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' , REQUEST_POST('email')); - define('__SURNAME' , REQUEST_POST('surname')); - define('__FAMILY' , REQUEST_POST('family')); - define('__GENDER' , TRANSLATE_GENDER(REQUEST_POST('gender'))); - define('__TIMESTAMP', MAKE_DATETIME(time(), 0)); - define('__PASSWORD' , REQUEST_POST('pass1')); - - // Generate email and send it to the new sponsor - $EMAIL_MSG = LOAD_EMAIL_TEMPLATE("sponsor_confirm", $hash); - SEND_EMAIL(REQUEST_POST('email'), getMessage('SPONSOR_PLEASE_CONFIRM_SUBJ'), $EMAIL_MSG); - - // Send mail to admin - SEND_ADMIN_NOTIFICATION(getMessage('ADMIN_NEW_SPONSOR'), "admin_sponsor_reg", $hash); - - // Output message: DONE - $MSG = $MSGs['added']; - } else { - // Sponsor account not found??? - $MSG = sprintf(getMessage('SPONSOR_EMAIL_404'), REQUEST_POST('email')); - } - - // Free memory - SQL_FREERESULT($result); - break; + 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); + + // 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')); + + // 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')); + } - default: - DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s detected.", $STATUS)); - if (!IS_ADMIN()) { - // Message for testing admin - $MSG = sprintf(getMessage('ADMIN_SPONSOR_UNKNOWN_STATUS'), $STATUS); - } else { - // Message for the guest - $MSG = sprintf(getMessage('SPONSOR_UNKNOWN_STATUS'), $STATUS); - } - break; + // 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); + 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__); + $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... // @TODO Swap this HTML code to templates @@ -287,131 +289,81 @@ ORDER BY pay_name", __FILE__, __LINE__); while ($content = SQL_FETCHARRAY($result)) { // Prepare content for output $content['sw'] = $SW; - $content['res'] = TRANSLATE_COMMA($content['pay_rate'] * $content['pay_min_count']); + $content['res'] = translateComma($content['pay_rate'] * $content['pay_min_count']); // Load row template and switch color - $OUT .= LOAD_TEMPLATE("guest_sponsor_payment_row", false, $content); + $OUT .= loadTemplate('guest_sponsor_payment_row', false, $content); $SW = 3 - $SW; } $OUT .= "\n"; - // @TODO Rewrite this constant - define('__PAYMENT_LIST', $OUT); + // Remember the list in table + $content['payment_list'] = $OUT; + + // Init a lot array elements + foreach (array('company','position','tax_ident','gender_m','gender_f','gender_c','surname','family','street_nr1','street_nr2','country','zip','city','phone','fix','cell','email','url','rec_y','rec_n','form_errors','refid') as $entry) { + $content[$entry] = ''; + } // END - foreach // Check for invalid entries if (count($FORM_ERRORS) > 0) { // Some found... :-( - // @TODO Rewrite these constants - define('__COMPANY' , COMPILE_CODE(REQUEST_POST('company'))); - define('__POSITION' , COMPILE_CODE(REQUEST_POST('position'))); - define('__TAX_IDENT', COMPILE_CODE(REQUEST_POST('tax_ident'))); - define('__SURNAME' , COMPILE_CODE(REQUEST_POST('surname'))); - define('__FAMILY' , COMPILE_CODE(REQUEST_POST('family'))); - define('__STREET1' , COMPILE_CODE(REQUEST_POST('street_nr1'))); - define('__STREET2' , COMPILE_CODE(REQUEST_POST('street_nr2'))); - define('__COUNTRY' , COMPILE_CODE(REQUEST_POST('country'))); - define('__ZIP' , COMPILE_CODE(REQUEST_POST('zip'))); - define('__CITY' , COMPILE_CODE(REQUEST_POST('city'))); - define('__PHONE' , COMPILE_CODE(REQUEST_POST('phone'))); - define('__FAX' , COMPILE_CODE(REQUEST_POST('fax'))); - define('__CELL' , COMPILE_CODE(REQUEST_POST('cell'))); - define('__EMAIL' , COMPILE_CODE(REQUEST_POST('email'))); - define('__URL' , COMPILE_CODE(REQUEST_POST('url'))); + foreach (array('company','position','tax_ident','surname','family','street_nr1','street_nr2','country','zip','city','phone','fix','cell','email','url') as $entry) { + $content[$entry] = secureString(postRequestElement($entry)); + } // END - foreach + + // Init gender + foreach (array('m', 'f', 'c') as $gender) { + $content['gender_' . $gender] = ''; + } // END - foreach // Check for gender selection - switch (REQUEST_POST('gender')) - { - case "M": // Male - define('__GENDER_M' , " selected=\"selected\""); - define('__GENDER_F' , ""); - define('__GENDER_C' , ""); - break; - - case "F": // Female - define('__GENDER_M' , ""); - define('__GENDER_F' , " selected=\"selected\""); - define('__GENDER_C' , ""); - break; - - case "C": // Company - define('__GENDER_M' , ""); - define('__GENDER_F' , ""); - define('__GENDER_C' , " selected=\"selected\""); - break; - } + $content['gender_' . strtolower(postRequestElement('gender'))] = ' selected="selected"'; - // Check for receive_warnings - switch (REQUEST_POST('receive_warnings')) - { - case "Y": - define('__REC_Y' , " selected=\"selected\""); - define('__REC_N' , ""); - break; - - case "N": - define('__REC_Y' , ""); - define('__REC_N' , " selected=\"selected\""); - break; - } + // Init receive selection + $content['rec_y'] = ''; + $content['rec_n'] = ''; - // Errors found - $OUT = "
-
-