0) REQUEST_UNSET_POST('ok'); } if ((IS_FORM_SENT()) && (count($FORM_ERRORS) == 0)) { // Generate message array $MSGs = 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, $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(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; 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; } // 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... // @TODO Swap this HTML code to templates $OUT = "
".$name." (".$min." ".$curr." = ".TRANSLATE_COMMA($rate * $min)." {!POINTS!})
|