0) unsetPostRequestElement('ok'); } if ((isFormSent()) && (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(postRequestElement('pay_type')), __FILE__, __LINE__); list($points, $pay, $curr) = SQL_FETCHROW($result); // Free memory SQL_FREERESULT($result); // Add points to array 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 = 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(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')); } // 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 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) { // 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 .= loadTemplate('guest_sponsor_payment_row', false, $content); $SW = 3 - $SW; } $OUT .= "
\n"; // 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... :-( 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 $content['gender_' . strtolower(postRequestElement('gender'))] = ' selected="selected"'; // Init receive selection $content['rec_y'] = ''; $content['rec_n'] = ''; // Check for receive_warnings $content['rec_' . strtolower(postRequestElement('receive_warnings'))] = ' selected="selected"'; $OUT = ''; // Errors found? if (count($FORM_ERRORS) > 0) { $OUT = "
".getMessage('SPONSOR_REGISTER_SOMETHING_MISSING').":

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

\n"; } // END - if $content['form_errors'] = $OUT; $content['refid'] = bigintval(postRequestElement('refid')); } // END - if // Prepare referal id $content['refid'] = determineReferalId(); // Display registration form loadTemplate('guest_sponsor_reg', false, $content); } else { // Nothing added so far loadTemplate('admin_settings_saved', false, getMessage('SPONSOR_PAYMENT_LIST_IS_EMPTY')); } // Free memory SQL_FREERESULT($result); } // [EOF] ?>