Extension 'ext-coupon' moved to branch, SQLs improved:
[mailer.git] / inc / modules / guest / what-sponsor_reg.php
index 0ab123a83bf7a582689c54a58777589520d9df7b..bc5bbdfcdea337564f92a30bd4a25b4f0a4e18e5 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 06/10/2005 *
- * ===============                              Last change: 05/18/2008 *
+ * Mailer v0.2.1-FINAL                                Start: 06/10/2005 *
+ * ===================                          Last change: 05/18/2008 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-sponsor_reg.php                             *
  * $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                           *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
  * 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       *
 
 // 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__, sprintf(getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), 'sponsor'));
-       return;
-}
+       die();
+} // END - if
 
 // Add description as navigation point
-ADD_DESCR('guest', __FILE__);
+addYouAreHereLink('guest', __FILE__);
+
+if ((!isExtensionActive('sponsor'))) {
+       displayMessage(generateExtensionInactiveNotInstalledMessage('sponsor'));
+       return;
+} // END - if
 
 // Create array for form errors (= missing data)
-$FORM_ERRORS = array();
+$formErrors = array();
 
-if (IS_FORM_SENT()) {
+if (isFormSent()) {
        //
        // Check submitted form data
        //
        // 1. Salutation / Surname / family name
-       if (!REQUEST_ISSET_POST(('gender'))) {
+       if (!isPostRequestParameterSet('gender')) {
                // Surname is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_NO_GENDER_SELECTED');
-       }
+               $formErrors[] = '{--SPONSOR_NO_GENDER_SELECTED--}';
+       } // END - if
 
-       if (!REQUEST_ISSET_POST(('surname'))) {
+       if (!isPostRequestParameterSet('surname')) {
                // Surname is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_SURNAME_IS_EMPTY');
-       }
+               $formErrors[] = '{--SPONSOR_SURNAME_IS_EMPTY--}';
+       } // END - if
 
-       if (!REQUEST_ISSET_POST(('family'))) {
+       if (!isPostRequestParameterSet('family')) {
                // Surname is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_FAMILY_IS_EMPTY');
-       }
+               $formErrors[] = '{--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 (((!isPostRequestParameterSet('company')) && ((isPostRequestParameterSet('tax_ident')) || (isPostRequestParameterSet('position')))) || ((isPostRequestParameterSet('company')) && (!isPostRequestParameterSet('tax_ident')))) {
+               if (!isPostRequestParameterSet('company')) {
                        // Company name is empty
-                       $FORM_ERRORS[] = getMessage('SPONSOR_COMPANY_IS_EMPTY');
-               } elseif (!REQUEST_ISSET_POST(('tax_ident'))) {
+                       $formErrors[] = '{--SPONSOR_COMPANY_IS_EMPTY--}';
+               } elseif (!isPostRequestParameterSet('tax_ident')) {
                        // Tax ident number name is empty
-                       $FORM_ERRORS[] = getMessage('SPONSOR_TAX_IDENT_IS_EMPTY');
+                       $formErrors[] = '{--SPONSOR_TAX_IDENT_IS_EMPTY--}';
                }
 
-               if (!REQUEST_ISSET_POST(('position'))) {
+               if (!isPostRequestParameterSet('position')) {
                        // Not fatal but not nice: position in company is empty
-                       $FORM_ERRORS[] = getMessage('SPONSOR_POSITION_IS_EMPTY');
-               }
-       }
+                       $formErrors[] = '{--SPONSOR_POSITION_IS_EMPTY--}';
+               } // END - if
+       } // END - if
 
        // 3. Street and number
-       if (!REQUEST_ISSET_POST(('street_nr1'))) {
+       if (!isPostRequestParameterSet('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')))) {
+               $formErrors[] = '{--SPONSOR_STREET_NR1_IS_EMPTY--}';
+       } elseif ((isPostRequestParameterSet('street_nr2')) && (!isPostRequestParameterSet('street_nr1'))) {
                // 1st line for street is empty, but 2nd line not
-               $FORM_ERRORS[] = getMessage('SPONSOR_STREET_NR1_IS_EMPTY_2_NOT');
+               $formErrors[] = '{--SPONSOR_STREET_NR1_IS_EMPTY_2_NOT--}';
        }
 
        // 4. Country code
-       if (!REQUEST_ISSET_POST(('country'))) {
+       if (!isPostRequestParameterSet('country')) {
                // Country code is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_COUNTRY_IS_EMPTY');
-       } elseif (strlen(REQUEST_POST('country')) != 2) {
+               $formErrors[] = '{--kSPONSOR_COUNTRY_IS_EMPTY--}';
+       } elseif (strlen(postRequestParameter('country')) != 2) {
                // Country code is invalid
-               $FORM_ERRORS[] = getMessage('SPONSOR_COUNTRY_IS_INVALID');
+               $formErrors[] = '{--SPONSOR_COUNTRY_IS_INVALID--}';
        }
 
        // 3. ZIP code
-       if (!REQUEST_ISSET_POST('zip')) {
+       if (!isPostRequestParameterSet('zip')) {
                // ZIP code is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_ZIP_IS_EMPTY');
-       } elseif (bigintval(REQUEST_POST('zip')) != REQUEST_POST('zip')) {
+               $formErrors[] = '{--SPONSOR_ZIP_IS_EMPTY--}';
+       } elseif (bigintval(postRequestParameter('zip')) != postRequestParameter('zip')) {
                // ZIP is invalid
-               $FORM_ERRORS[] = getMessage('SPONSOR_ZIP_IS_INVALID');
-               REQUEST_SET_POST('zip', '');
+               $formErrors[] = '{--SPONSOR_ZIP_IS_INVALID--}';
+               setPostRequestParameter('zip', '');
        }
 
        // 4. City
-       if (!REQUEST_ISSET_POST(('city'))) {
+       if (!isPostRequestParameterSet('city')) {
                // City is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_CITY_IS_EMPTY');
-       }
+               $formErrors[] = '{--SPONSOR_CITY_IS_EMPTY--}';
+       } // END - if
 
        // 5. Phone number
-       if (!REQUEST_ISSET_POST(('phone'))) {
+       if (!isPostRequestParameterSet('phone')) {
                // City is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_PHONE_IS_EMPTY');
-       }
+               $formErrors[] = '{--SPONSOR_PHONE_IS_EMPTY--}';
+       } // END - if
 
        // 6. Homepage URL
-       if (!REQUEST_ISSET_POST(('url'))) {
+       if (!isPostRequestParameterSet('url')) {
                // Homepage URL is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_URL_IS_EMPTY');
-       } elseif (!VALIDATE_URL(REQUEST_POST('url'))) {
+               $formErrors[] = '{--SPONSOR_URL_IS_EMPTY--}';
+       } elseif (!isUrlValid(postRequestParameter('url'))) {
                // Homepage URL is invalid
-               $FORM_ERRORS[] = getMessage('SPONSOR_URL_IS_INVALID');
-               REQUEST_SET_POST('url', '');
+               $formErrors[] = '{--SPONSOR_URL_IS_INVALID--}';
+               setPostRequestParameter('url', '');
        }
 
        // 7. Light validation of email address
-       if ((!REQUEST_ISSET_POST(('email'))) || (REQUEST_POST('email') == "@")) {
+       if ((!isPostRequestParameterSet('email')) || (postRequestParameter('email') == '@')) {
                // Email is invalid/empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_EMAIL_IS_INVALID');
-       } elseif (SPONSOR_FOUND_EMAIL_DB(REQUEST_POST('email'))) {
+               $formErrors[] = '{--SPONSOR_EMAIL_IS_INVALID--}';
+       } elseif (isSponsorRegisteredWithEmail(postRequestParameter('email'))) {
                // Email already found in database!
-               $FORM_ERRORS[] = getMessage('SPONSOR_EMAIL_IS_ALREADY_REGISTERED');
-               REQUEST_SET_POST('email', '');
+               $formErrors[] = '{--SPONSOR_EMAIL_IS_ALREADY_REGISTERED--}';
+               setPostRequestParameter('email', '');
        }
 
        // 8. Pay type selected?
-       if (!REQUEST_ISSET_POST(('pay_type'))) {
+       if (!isPostRequestParameterSet('pay_type')) {
                // Not pay type selected
-               $FORM_ERRORS[] = getMessage('SPONSOR_NO_PAYTYPE_SELECTED');
-       }
+               $formErrors[] = '{--SPONSOR_NO_PAYTYPE_SELECTED--}';
+       } // END - if
 
        // 9. Interval of mails
-       if (!REQUEST_ISSET_POST(('warning_interval'))) {
+       if (!isPostRequestParameterSet('warning_interval')) {
                // No warning interval selected
-               $FORM_ERRORS[] = getMessage('SPONSOR_NO_WARNING_INTERVAL_SELECTED');
-       }
+               $formErrors[] = '{--SPONSOR_NO_WARNING_INTERVAL_SELECTED--}';
+       } // END - if
 
        // 10. Mail notifications disabled/enabled
-       if (!REQUEST_ISSET_POST(('receive_warnings'))) {
+       if (!isPostRequestParameterSet('receive_warnings')) {
                // Option not selected!
-               $FORM_ERRORS[] = getMessage('SPONSOR_NO_RECEIVE_WARNINGS_SELECTED');
-       }
+               $formErrors[] = '{--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 (((!isPostRequestParameterSet('pass1')) || (!isPostRequestParameterSet('pass2'))) || ((postRequestParameter('pass1') != postRequestParameter('pass2')) && (isPostRequestParameterSet('pass1')) && (isPostRequestParameterSet('pass2')))) {
+               if ((postRequestParameter('pass1') != postRequestParameter('pass2')) && (isPostRequestParameterSet('pass1')) && (isPostRequestParameterSet('pass2'))) {
                        // Passwords missmatch
-                       $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORDS_MISMATCH');
+                       $formErrors[] = '{--SPONSOR_PASSWORDS_MISMATCH--}';
                } else {
-                       if (!REQUEST_ISSET_POST(('pass1'))) {
+                       if (!isPostRequestParameterSet('pass1')) {
                                // Password 1 is empty
-                               $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORD1_EMPTY');
+                               $formErrors[] = '{--SPONSOR_PASSWORD1_EMPTY--}';
                        }
 
-                       if (!REQUEST_ISSET_POST(('pass2'))) {
+                       if (!isPostRequestParameterSet('pass2')) {
                                // Password 2 is empty
-                               $FORM_ERRORS[] = getMessage('SPONSOR_PASSWORD2_EMPTY');
+                               $formErrors[] = '{--SPONSOR_PASSWORD2_EMPTY--}';
                        }
                }
-       } elseif (strlen(REQUEST_POST('pass1')) < getConfig('pass_len')) {
+       } elseif (strlen(postRequestParameter('pass1')) < getPassLen()) {
                // Password is to short!
-               $FORM_ERRORS[] = sprintf(getMessage('SPONSOR_PASSWORD_TOO_SHORT'), getConfig('pass_len'));
+               $formErrors[] = '{--SPONSOR_PASSWORD_TOO_SHORT--}';
        }
 
        // Check if he has accepted the terms&conditions
-       if (!REQUEST_ISSET_POST(('terms'))) {
+       if (!isPostRequestParameterSet('terms')) {
                // Homepage URL is empty
-               $FORM_ERRORS[] = getMessage('SPONSOR_TERMS_NOT_ACCEPTED');
-       }
-       
+               $formErrors[] = '{--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($formErrors) > 0) unsetPostRequestParameter('ok');
+} // END - if
 
-if ((IS_FORM_SENT()) && (count($FORM_ERRORS) == 0)) {
+if ((isFormSent()) && (count($formErrors) == 0)) {
        // Generate message array
        $messageArray = array(
-               'failed' => getMessage('SPONSOR_REGISTRATION_FAILED'),
-               'added'  => getMessage('SPONSOR_REGISTRATION_COMPLETED'),
+               'failed' => '{--SPONSOR_REGISTRATION_FAILED--}',
+               'added'  => '{--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`, `pay_currency`
+FROM
+       `{?_MYSQL_PREFIX?}_sponsor_paytypes`
+WHERE
+       `id`=%s
+LIMIT 1",
+               array(postRequestParameter('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);
+       postRequestParameter('points_amount', $points);
+       postRequestParameter('points_used'  , '0.00000');
+       postRequestParameter('last_payment' , $pay);
+       postRequestParameter('last_currency', $curr);
 
        // Register sponsor but never ever update here!
-       $STATUS = SPONSOR_HANDLE_SPONSOR(REQUEST_POST_ARRAY(), 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
-                       $message = $messageArray['added'];
-               } else {
-                       // Sponsor account not found???
-                       $message = sprintf(getMessage('SPONSOR_EMAIL_404'), REQUEST_POST('email'));
-               }
-
-               // Free memory
-               SQL_FREERESULT($result);
-               break;
-
-       default:
-               DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s detected.", $STATUS));
-               if (!IS_ADMIN()) {
-                       // 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;
-       }
+       $message = doProcessSponsorFormRequest($messageArray);
 
        // Display message
-       LOAD_TEMPLATE('admin_settings_saved', false, $message);
+       displayMessage($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` ASC', __FILE__, __LINE__);
+       if (!SQL_HASZERONUMS($result)) {
                // Load all types...
-               // @TODO Swap this HTML code to templates
-               $OUT = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"300\" class=\"left2 right2 top2\">\n";
-               $SW = 2;
+               $OUT = '';
                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);
-                       $SW = 3 - $SW;
-               }
-               $OUT .= "</table>\n";
+                       $OUT .= loadTemplate('guest_sponsor_payment_row', true, $content);
+               } // END - while
 
-               // @TODO Rewrite this constant
-               define('__PAYMENT_LIST', $OUT);
+               // Remember the list in table
+               $content['payment_list'] = loadTemplate('guest_sponsor_payment', true, $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','fax','cell','email','url','receive_warnings_y','receive_warnings_n','form_errors','refid') as $entry) {
+                       $content[$entry]   = '';
+               } // END - foreach
 
                // Check for invalid entries
-               if (count($FORM_ERRORS) > 0) {
+               if (count($formErrors) > 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','fax','cell','email','url') as $entry) {
+                               $content[$entry]    = secureString(postRequestParameter($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(postRequestParameter('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['receive_warnings_y'] = '';
+                       $content['receive_warnings_n'] = '';
 
-                       // Errors found
-                       $OUT = "<P align=\"center\">
-  <strong><div class=\"guest_failed\">".SPONSOR_REGISTER_SOMETHING_MISSING.":</div></strong><br />
-</P>
-<ol>\n";
-                       foreach ($FORM_ERRORS as $error) {
-                               $OUT .= "<li>".$error."</li>\n";
+                       // Check for receive_warnings
+                       $content['receive_warnings_' . strtolower(postRequestParameter('receive_warnings'))] = ' selected="selected"';
+                       $OUT = '';
+
+                       // Errors found?
+                       if (count($formErrors) > 0) {
+                               $OUT = displayMessage('{--SPONSOR_REGISTER_SOMETHING_MISSING--}', true);
+                               $OUT .= '<ol>';
+                               foreach ($formErrors as $error) {
+                                       $OUT .= '<li>' . $error . '</li>';
+                               } // END - foreach
+
+                               $OUT .= '</ol>';
                        } // END - if
 
-                       $OUT .= "</ol><br />\n";
-                       define('__SPONSOR_FORM_ERRORS', $OUT);
-                       define('__SPONSOR_REFID', REQUEST_POST('refid'));
-               } else {
-                       // None found, first call
-                       define('__COMPANY'  , '');
-                       define('__POSITION' , '');
-                       define('__TAX_IDENT', '');
-                       define('__GENDER_M' , '');
-                       define('__GENDER_F' , '');
-                       define('__GENDER_C' , '');
-                       define('__SURNAME'  , '');
-                       define('__FAMILY'   , '');
-                       define('__STREET1'  , '');
-                       define('__STREET2'  , '');
-                       define('__COUNTRY'  , '');
-                       define('__ZIP'      , '');
-                       define('__CITY'     , '');
-                       define('__PHONE'    , '');
-                       define('__FAX'      , '');
-                       define('__CELL'     , '');
-                       define('__EMAIL'    , '');
-                       define('__URL'      , '');
-                       define('__REC_Y'    , '');
-                       define('__REC_N'    , '');
-
-                       // No errors found so far
-                       define('__SPONSOR_FORM_ERRORS', '');
-               }
+                       $content['form_errors'] = $OUT;
 
-               // Prepare referal things
-               if (!REQUEST_ISSET_GET(('refid'))) {
-                       // No referal link
-                       define('__SPONSOR_REFID', "0");
-               } else  {
-                       // Referal ID transmitted, we don't care here if it is right or not
-                       define('__SPONSOR_REFID', bigintval(REQUEST_GET('refid')));
-               }
+                       // @TODO Maybe a default referal id?
+                       $content['refid'] = 0;
+
+                       // Is the referal id valid?
+                       if ((isPostRequestParameterSet('refid')) && (isValidUserId(postRequestParameter('refid')))) {
+                               // Transfer referal id
+                               $content['refid'] = bigintval(postRequestParameter('refid'));
+                       } // END - if
+               } // END - if
 
                // Display registration form
-               LOAD_TEMPLATE("guest_sponsor_reg");
+               loadTemplate('guest_sponsor_reg', false, $content);
        } else {
                // Nothing added so far
-               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('SPONSOR_PAYMENT_LIST_IS_EMPTY'));
+               displayMessage('{--SPONSOR_PAYMENT_LIST_IS_EMPTY--}');
        }
 
        // Free memory
        SQL_FREERESULT($result);
 }
 
-//
+// [EOF]
 ?>