0) unset($_POST['ok']); } if ((isset($_POST['ok'])) && (count($FORM_ERRORS) == 0)) { // Generate message array $MSGs = array( '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($_POST['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; // Register sponsor but never ever update here! $STATUS = SPONSOR_HANDLE_SPONSOR($_POST, true, $MSGs, 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; } // Free memory SQL_FREERESULT($result); break; default: DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s detected.", $STATUS)); 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; } // Display message LOAD_TEMPLATE("admin_settings_saved", false, $MSG); } 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... $OUT = "\n"; $SW = 2; while (list($id, $name, $rate, $curr, $min) = SQL_FETCHROW($result)) { $OUT .= "\n"; $SW = 3 - $SW; } $OUT .= "
 ".$name."
(".$min." ".$curr." = ".TRANSLATE_COMMA($rate * $min)." {!POINTS!})
\n"; define('__PAYMENT_LIST', $OUT); SQL_FREERESULT($result); // Check for invalid entries if (count($FORM_ERRORS) > 0) { // Some found... :-( define('__COMPANY' , COMPILE_CODE($_POST['company'])); define('__POSITION' , COMPILE_CODE($_POST['position'])); define('__TAX_IDENT', COMPILE_CODE($_POST['tax_ident'])); define('__SURNAME' , COMPILE_CODE($_POST['surname'])); define('__FAMILY' , COMPILE_CODE($_POST['family'])); define('__STREET1' , COMPILE_CODE($_POST['street_nr1'])); define('__STREET2' , COMPILE_CODE($_POST['street_nr2'])); define('__COUNTRY' , COMPILE_CODE($_POST['country'])); define('__ZIP' , COMPILE_CODE($_POST['zip'])); define('__CITY' , COMPILE_CODE($_POST['city'])); define('__PHONE' , COMPILE_CODE($_POST['phone'])); define('__FAX' , COMPILE_CODE($_POST['fax'])); define('__CELL' , COMPILE_CODE($_POST['cell'])); define('__EMAIL' , COMPILE_CODE($_POST['email'])); define('__URL' , COMPILE_CODE($_POST['url'])); // Check for gender selection switch ($_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 ($_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', $_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 (!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($_GET['refid'])); } // Display registration form LOAD_TEMPLATE("guest_sponsor_reg"); } else { // Nothing added so far LOAD_TEMPLATE("admin_settings_saved", false, SPONSOR_PAYMENT_LIST_IS_EMPTY); } // Free memory SQL_FREERESULT($result); } // ?>