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 = "
\n";
$SW = 2;
while ($content = SQL_FETCHARRAY($result)) {
// Prepare content for output
$content['sw'] = $SW;
$content['res'] = TRANSLATE_COMMA($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 .= "- ".$error."
\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);
}
//
?>