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";
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 .= "- ".$error."
\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);
}
//
?>