0) REQUEST_UNSET_POST('ok'); } if ((IS_FORM_SENT()) && (count($FORM_ERRORS) == 0)) { // Generate message 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__); 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); // 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' , translateGender(REQUEST_POST('gender'))); define('__TIMESTAMP', generateDateTime(time(), 0)); define('__PASSWORD' , REQUEST_POST('pass1')); // Generate email and send it to the new sponsor $EMAIL_MSG = LOAD_EMAIL_TEMPLATE("sponsor_confirm", $hash); sendEmail(REQUEST_POST('email'), getMessage('SPONSOR_PLEASE_CONFIRM_SUBJ'), $EMAIL_MSG); // 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'), 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; } // Display message LOAD_TEMPLATE('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) { // Load all types... // @TODO Swap this HTML code to templates $OUT = "\n"; $SW = 2; while ($content = SQL_FETCHARRAY($result)) { // Prepare content for output $content['sw'] = $SW; $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 .= "
\n"; // @TODO Rewrite this constant define('__PAYMENT_LIST', $OUT); // 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'))); // 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; } // 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; } // Errors found $OUT = "

".SPONSOR_REGISTER_SOMETHING_MISSING.":

    \n"; foreach ($FORM_ERRORS as $error) { $OUT .= "
  1. ".$error."
  2. \n"; } // END - if $OUT .= "

\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', ''); } // 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'))); } // Display registration form LOAD_TEMPLATE("guest_sponsor_reg"); } else { // Nothing added so far LOAD_TEMPLATE('admin_settings_saved', false, getMessage('SPONSOR_PAYMENT_LIST_IS_EMPTY')); } // Free memory SQL_FREERESULT($result); } // ?>