X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-register.php;h=c856e14dd790119f9e780bffeccddd7ca58978a6;hp=7303c4895d832b45a1285ba1aa44cfd5763e9ab5;hb=116f17077ae6fa32c7373ccd6aaf94044bb6c276;hpb=60494e212a67fe360bfbb481eb4928480a6f379b diff --git a/inc/modules/guest/what-register.php b/inc/modules/guest/what-register.php index 7303c4895d..c856e14dd7 100644 --- a/inc/modules/guest/what-register.php +++ b/inc/modules/guest/what-register.php @@ -10,7 +10,12 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Anmeldeformular * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2008 by Roland Haeder * * For more information visit: http://www.mxchange.org * @@ -32,455 +37,449 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; +if (!defined('__SECURITY')) { + $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php'; require($INC); -} - elseif ((!EXT_IS_ACTIVE("register"))) -{ - if (IS_ADMIN()) { - ADD_FATAL(sprintf(EXTENSION_PROBLEM_NOT_INSTALLED, "register")); - } else { - ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "register"); - } +} elseif ((!EXT_IS_ACTIVE('register'))) { + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), 'register')); return; } // Add description as navigation point -ADD_DESCR("guest", basename(__FILE__)); +ADD_DESCR('guest', __FILE__); -OPEN_TABLE("100%", "guest_content_align", ""); -global $_CONFIG, $DATA; +global $DATA; // Initialize variables -$FAILED = false; $SHORT_PASS = false; $cats = 0; $IP_TIMEOUT = false; -if (!isset($_POST['ok'])) unset($_POST['ok']); -if (empty($_POST['agree'])) $_POST['agree'] = ""; -if (empty($_POST['addy'])) $_POST['addy'] = ""; -if (empty($_POST['surname'])) $_POST['surname'] = ""; -if (empty($_POST['family_name'])) $_POST['family_name'] = ""; -if (empty($_POST['pass1'])) $_POST['pass1'] = ""; -if (empty($_POST['pass2'])) $_POST['pass2'] = ""; -if (empty($_POST['day'])) $_POST['day'] = ""; -if (empty($_POST['month'])) $_POST['month'] = ""; -if (empty($_POST['year'])) $_POST['year'] = ""; -if (empty($_POST['max_mails'])) $_POST['max_mails'] = ""; -if (empty($_POST['street_nr'])) $_POST['street_nr'] = ""; -if (empty($_POST['zip'])) $_POST['zip'] = ""; -if (empty($_POST['city'])) $_POST['city'] = ""; -if (empty($_POST['cntry'])) $_POST['cntry'] = ""; -if (empty($_POST['country_code'])) $_POST['country_code'] = "1"; - -if (isset($_POST['ok'])) -{ +$isFailed = false; $SHORT_PASS = false; $cats = 0; $IP_TIMEOUT = false; + +if (!IS_FORM_SENT()) REQUEST_UNSET_POST('ok'); + +if (!REQUEST_ISSET_POST(('agree'))) REQUEST_SET_POST('agree' , ''); +if (!REQUEST_ISSET_POST(('addy'))) REQUEST_SET_POST('addy' , ''); +if (!REQUEST_ISSET_POST(('surname'))) REQUEST_SET_POST('surname' , ''); +if (!REQUEST_ISSET_POST(('family'))) REQUEST_SET_POST('family' , ''); +if (!REQUEST_ISSET_POST(('pass1'))) REQUEST_SET_POST('pass1' , ''); +if (!REQUEST_ISSET_POST(('pass2'))) REQUEST_SET_POST('pass2' , ''); +if (!REQUEST_ISSET_POST(('day'))) REQUEST_SET_POST('day' , ''); +if (!REQUEST_ISSET_POST(('month'))) REQUEST_SET_POST('month' , ''); +if (!REQUEST_ISSET_POST(('year'))) REQUEST_SET_POST('year' , ''); +if (!REQUEST_ISSET_POST(('max_mails'))) REQUEST_SET_POST('max_mails' , ''); +if (!REQUEST_ISSET_POST(('street_nr'))) REQUEST_SET_POST('street_nr' , ''); +if (!REQUEST_ISSET_POST('zip')) REQUEST_SET_POST('zip' , ''); +if (!REQUEST_ISSET_POST(('city'))) REQUEST_SET_POST('city' , ''); +if (!REQUEST_ISSET_POST(('cntry'))) REQUEST_SET_POST('cntry' , ''); +if (!REQUEST_ISSET_POST(('country_code'))) REQUEST_SET_POST('country_code', '1'); + +// Default refid is zero +REQUEST_SET_POST('refid', 0); +if ($GLOBALS['refid'] > 0) { + // Test if the refid is valid + $result = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", + array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__); + + // Userid found? + //* DEBUG: */ die("refid={$GLOBALS['refid']}/numRows=".SQL_NUMROWS($result).""); + if (SQL_NUMROWS($result) == 0) { + // Not found so we set your refid! + REQUEST_SET_POST('refid', getConfig('def_refid')); + setSession('refid', getConfig('def_refid')); + } else { + // Use the refid here + REQUEST_SET_POST('refid', $GLOBALS['refid']); + } +} // END - if + +if (IS_FORM_SENT()) { // First we only check the submitted data then we continue... :) // // Did he agree to our Terms Of Usage? - if ($_POST['agree'] != 'Y') - { - $_POST['agree'] = "!"; - $FAILED = true; - } + if (REQUEST_POST('agree') != 'Y') { + REQUEST_SET_POST('agree', '!'); + $isFailed = true; + } // END - if // Did he enter a valid email address? (we really don't care about // that, he has to click on a confirmation link :P ) - if ((empty($_POST['addy'])) || (!VALIDATE_EMAIL($_POST['addy']))) - { - $_POST['addy'] = "!"; - $FAILED = true; - } + if ((!REQUEST_ISSET_POST(('addy'))) || (!isEmailValid(REQUEST_POST('addy')))) { + REQUEST_SET_POST('addy', '!'); + $isFailed = true; + } // END - if // And what about surname and family's name? - if (empty($_POST['surname'])) - { - $_POST['surname'] = "!"; - $FAILED = true; - } - if (empty($_POST['family_name'])) - { - $_POST['family_name'] = "!"; - $FAILED = true; - } + if (!REQUEST_ISSET_POST(('surname'))) { + REQUEST_SET_POST('surname', '!'); + $isFailed = true; + } // END - if + if (!REQUEST_ISSET_POST(('family'))) { + REQUEST_SET_POST('family', '!'); + $isFailed = true; + } // END - if // Check for required fields - if (!$FAILED) $FAILED = REGISTER_CHECK_REQUIRED_FIELDS($_POST); + if ($isFailed === false) $isFailed = REGISTER_CHECK_REQUIRED_FIELDS(REQUEST_POST_ARRAY()); // Did he enter his password twice? - if (((empty($_POST['pass1'])) || (empty($_POST['pass2']))) || (($_POST['pass1'] != $_POST['pass2']) && (!empty($_POST['pass1'])) && (!empty($_POST['pass2'])))) - { - if (($_POST['pass1'] != $_POST['pass2']) && (!empty($_POST['pass1'])) && (!empty($_POST['pass2']))) - { - $_POST['pass1'] = "!"; - $_POST['pass2'] = "!"; - } - else - { - if (empty($_POST['pass1'])) { $_POST['pass1'] = "!"; } else { $_POST['pass1'] = ""; } - if (empty($_POST['pass2'])) { $_POST['pass2'] = "!"; } else { $_POST['pass2'] = ""; } + if (((!REQUEST_ISSET_POST(('pass1'))) || (!REQUEST_ISSET_POST(('pass2')))) || ((REQUEST_POST('pass1') != REQUEST_POST('pass2')) && (REQUEST_ISSET_POST(('pass1'))) && (REQUEST_ISSET_POST(('pass2'))))) { + if ((REQUEST_POST('pass1') != REQUEST_POST('pass2')) && (REQUEST_ISSET_POST(('pass1'))) && (REQUEST_ISSET_POST(('pass2')))) { + REQUEST_SET_POST('pass1', '!'); + REQUEST_SET_POST('pass2', '!'); + } else { + if (!REQUEST_ISSET_POST(('pass1'))) { REQUEST_SET_POST('pass1', '!'); } else { REQUEST_SET_POST('pass1', ''); } + if (!REQUEST_ISSET_POST(('pass2'))) { REQUEST_SET_POST('pass2', '!'); } else { REQUEST_SET_POST('pass2', ''); } } - $FAILED = true; - } + $isFailed = true; + } // END - if + // Is the password long enouth? - if ((strlen($_POST['pass1']) < $_CONFIG['pass_len']) && (!$FAILED) && (!IS_ADMIN())) - { + if ((strlen(REQUEST_POST('pass1')) < getConfig('pass_len')) && ($isFailed === false)) { $SHORT_PASS = true; - $FAILED = true; - } - // Did he select enougth categories? - if (!IS_ADMIN()) - { + $isFailed = true; + } // END - if + + // No admin? Admins can always register! + if (!IS_ADMIN()) { // Do this check only when no admin is logged in - foreach ($_POST['cat'] as $id=>$answer) - { + foreach (REQUEST_POST('cat') as $id => $answer) { if ($answer == 'Y') $cats++; - } - if ($cats < $_CONFIG['least_cats']) - { - // ... nope! - $FAILED = true; - } - } - if (($_POST['addy'] != "!") && ($_CONFIG['check_double_email'] == 'Y') && (!IS_ADMIN())) - { - // Does the email address already exists in our database? - $CHK = SEARCH_EMAIL_USERTAB($_POST['addy']); - if ($CHK) { $_POST['addy'] = "?"; $FAILED = true; } - } + } // END - foreach - // Check his IP number - $to = bigintval(time() - $_CONFIG['ip_timeout']); - $result = SQL_QUERY_ESC("SELECT joined, last_update FROM "._MYSQL_PREFIX."_user_data WHERE REMOTE_ADDR='%s' AND (joined > %s OR last_update > %s) LIMIT 1", - array(getenv('REMOTE_ADDR'), $to, $to), __FILE__, __LINE__); - if ((SQL_NUMROWS($result) == 1) && (!IS_ADMIN())) - { - // Same IP in timeout range and different email address entered... Eat this, faker! ;-) - // But admins are allowed to fake their own exchange service. - $IP_TIMEOUT = true; - $FAILED = true; - } + if ($cats < getConfig('least_cats')) { + // ... nope! + $isFailed = true; + } // END - if + } // END - if - // Test the refid (because some strange hackers... :-P) - $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", - array(bigintval($GLOBALS['refid'])), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 0) - { - // Not found so we set your refid! - $_POST['refid'] = $_CONFIG['def_refid']; - @setcookie("refid", $_CONFIG['def_refid'], (time() + $_CONFIG['online_timeout']), COOKIE_PATH); - } + if ((REQUEST_POST('addy') != '!') && (getConfig('check_double_email') == 'Y')) { + // Does the email address already exists in our database? + $CHK = isEmailTaken(REQUEST_POST('addy')); + if ($CHK === true) { + REQUEST_SET_POST('addy', '?'); + $isFailed = true; + } // END - if + } // END - if + + // Check for IP timeout? + if (getConfig('ip_timeout') > 0) { + // Check his IP number + $result = SQL_QUERY_ESC("SELECT joined, last_update FROM `{!_MYSQL_PREFIX!}_user_data` WHERE REMOTE_ADDR='%s' AND (joined > (UNIX_TIMESTAMP() - %s) OR last_update > (UNIX_TIMESTAMP() - %s)) LIMIT 1", + array(detectRemoteAddr(), getConfig('ip_timeout'), getConfig('ip_timeout')), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) { + // Same IP in timeout range and different email address entered... Eat this, faker! ;-) + // But admins are allowed to fake their own exchange service. + $IP_TIMEOUT = true; + $isFailed = true; + } // END - if + } // END - if // Free memory SQL_FREERESULT($result); } -if ((isset($_POST['ok'])) && (!$FAILED)) -{ - // Save the registration - if (strlen($_POST['day']) == 1) $_POST['day'] = "0".$_POST['day']; - if (strlen($_POST['month']) == 1) $_POST['month'] = "0".$_POST['month']; +if ((IS_FORM_SENT()) && (($isFailed === false) || (IS_ADMIN()))) { + // Prepapre month and day of birth + if (strlen(REQUEST_POST('day')) == 1) REQUEST_SET_POST('day' , '0'.REQUEST_POST('day')); + if (strlen(REQUEST_POST('month')) == 1) REQUEST_SET_POST('month', '0'.REQUEST_POST('month')); + + // Get total ... + // ... confirmed, ... + $confirmedUsers = GET_TOTAL_DATA('CONFIRMED', 'user_data', 'userid', 'status', true); + // ... unconfirmed ... + $unconfirmedUsers = GET_TOTAL_DATA('UNCONFIRMED', 'user_data', 'userid', 'status', true); + // ... and locked users! + $lockedUsers = GET_TOTAL_DATA('LOCKED', 'user_data', 'userid', 'status', true); - // Hash = MM-DD-YYYY:IP:USER_AGENT:TIMEMARK - $hash = generateHash($_POST['month']."-".$_POST['day']."-".$_POST['year'].":".getenv('SERVER_NAME').":".getenv('REMOTE_ADDR').":".getenv('HTTP_USER_AGENT').":".time()); + // Generate hash which will be inserted into confirmation mail + $hash = generateHash(sha1($confirmedUsers.getConfig('ENCRYPT_SEPERATOR').$unconfirmedUsers.getConfig('ENCRYPT_SEPERATOR').$lockedUsers.getConfig('ENCRYPT_SEPERATOR').REQUEST_POST('month') . '-'.REQUEST_POST('day') . '-'.REQUEST_POST('year').getConfig('ENCRYPT_SEPERATOR').getenv('SERVER_NAME').getConfig('ENCRYPT_SEPERATOR').detectRemoteAddr().getConfig('ENCRYPT_SEPERATOR').detectUserAgent().'/'.getConfig('SITE_KEY') . '/'.getConfig('DATE_KEY') . '/'.constant('RAND_NUMBER'))); // Add design when extension sql_patches is v0.2.7 or greater - $ADD1 = ""; $ADD2 = ""; - if (GET_EXT_VERSION("sql_patches") >= "0.2.7") - { + // @TODO Rewrite these all to a single filter + $ADD1 = ''; $ADD2 = ''; + if (GET_EXT_VERSION('sql_patches') >= '0.2.7') { // Okay, add design here - $ADD1 = ", curr_theme"; - $ADD2 = ", '".GET_CURR_THEME()."'"; - } + $ADD1 = ", `curr_theme`"; + $ADD2 = ', ''.getCurrentTheme().'''; + } // END - if // Check if I shall disable sending mail to newly registered members out about active/begging rallye // // First comes first: begging rallye - if (GET_EXT_VERSION("beg") >= "0.1.7") - { + if (GET_EXT_VERSION('beg') >= '0.1.7') { // Okay, shall I disable now? - if ($_CONFIG['beg_new_mem_notify'] == 'N') - { - $ADD1 .= ", beg_ral_notify, beg_ral_en_notify"; + if (getConfig('beg_new_mem_notify') != 'Y') { + $ADD1 .= ", `beg_ral_notify`, `beg_ral_en_notify`"; $ADD2 .= ", UNIX_TIMESTAMP(), UNIX_TIMESTAMP()"; - } - } + } // END - if + } // END - if // Second: active rallye - if (GET_EXT_VERSION("bonus") >= "0.7.7") - { + if (GET_EXT_VERSION('bonus') >= '0.7.7') { // Okay, shall I disable now? - if ($_CONFIG['bonus_new_mem_notify'] == 'N') - { - $ADD1 .= ", bonus_ral_notify, bonus_ral_en_notify"; + if (getConfig('bonus_new_mem_notify') != 'Y') { + $ADD1 .= ", `bonus_ral_notify`, `bonus_ral_en_notify`"; $ADD2 .= ", UNIX_TIMESTAMP(), UNIX_TIMESTAMP()"; - } - } + } // END - if + } // END - if // Write user data to table - if (EXT_IS_ACTIVE("country")) - { + if (EXT_IS_ACTIVE('country')) { // Save with new selectable country code - $countryRow = "country_code"; - $countryData = bigintval($_POST['country_code']); - } - else - { + $countryRow = "`country_code`"; + $countryData = bigintval(REQUEST_POST('country_code')); + } else { // Old way with enterable two-char-code - $countryRow = "country"; - $countryData = addslashes(substr($_POST['cntry'], 0, 2)); + $countryRow = "`country`"; + $countryData = substr(REQUEST_POST('cntry'), 0, 2); } ////////////////////////////// // Create user's account... // ////////////////////////////// // - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_data (sex, surname, family, street_nr, %s, zip, city, email, birth_day, birth_month, birth_year, password, max_mails, receive_mails, refid, status, user_hash, REMOTE_ADDR, joined, last_update".$ADD1.") -VALUES ('%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', %d, %d, %d, 'UNCONFIRMED', '%s', '%s', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()".$ADD2.")", -array( - $countryRow, - SQL_ESCAPE(substr($_POST['sex'], 0, 1)), - SQL_ESCAPE($_POST['surname']), - SQL_ESCAPE($_POST['family_name']), - SQL_ESCAPE($_POST['street_nr']), - $countryData, - bigintval($_POST['zip']), - SQL_ESCAPE($_POST['city']), - SQL_ESCAPE($_POST['addy']), - bigintval($_POST['day']), - bigintval($_POST['month']), - bigintval($_POST['year']), - generateHash($_POST['pass1']), - bigintval($_POST['max_mails']), - bigintval($_POST['max_mails']), - bigintval($_POST['refid']), - $hash, - getenv('REMOTE_ADDR'), -), __FILE__, __LINE__); + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_data` (gender, surname, family, street_nr,%s, zip, city, email, birth_day, birth_month, birth_year, password, max_mails, receive_mails, refid, status, user_hash, REMOTE_ADDR, joined, last_update".$ADD1.") +VALUES ('%s','%s','%s','%s','%s',%s,'%s','%s',%s, %s,%s,'%s',%s, %s,'%s','UNCONFIRMED','%s','%s', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()".$ADD2.")", + array( + $countryRow, + substr(REQUEST_POST('gender'), 0, 1), + REQUEST_POST('surname'), + REQUEST_POST('family'), + REQUEST_POST('street_nr'), + $countryData, + bigintval(REQUEST_POST('zip')), + REQUEST_POST('city'), + REQUEST_POST('addy'), + bigintval(REQUEST_POST('day')), + bigintval(REQUEST_POST('month')), + bigintval(REQUEST_POST('year')), + generateHash(REQUEST_POST('pass1')), + bigintval(REQUEST_POST('max_mails')), + bigintval(REQUEST_POST('max_mails')), + bigintval(REQUEST_POST('refid')), + $hash, + detectRemoteAddr(), + ), __FILE__, __LINE__); // Get his userid - $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE user_hash='%s' LIMIT 1", - array($hash), __FILE__, __LINE__); - list($userid) = SQL_FETCHROW($result); - - // Secure userid (we have a little paranoia ;-) ) - $userid = bigintval($userid); + $userid = SQL_INSERTID(); + + // Did this work? + if ($userid == 0) { + // Something bad happened! + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('USER_NOT_REGISTERED')); + return; + } // END - if + + // Is the refback extension there? + // @TODO Rewrite this to a filter + if (EXT_IS_ACTIVE('refback')) { + // Update refback table + updateRefbackTable($userid); + } // END - if // Write his welcome-points - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_points WHERE userid=%d AND ref_depth=0 LIMIT 1", - array(bigintval($userid)), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 0) - { + $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_user_points` WHERE userid=%s AND ref_depth=0 LIMIT 1", + array(bigintval($userid)), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 0) { // Add only when the line was not found (maybe some more secure?) $locked = "points"; - if ($_CONFIG['ref_payout'] > 0) $locked = "locked_points"; // Pay him later. First he has to confirm some mails! - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_points (userid, ref_depth, ".$locked.") VALUES(%d, 0, '%s')", - array(bigintval($userid), $_CONFIG['points_register']), __FILE__, __LINE__); + if (getConfig('ref_payout') > 0) $locked = "locked_points"; // Pay him later. First he has to confirm some mails! + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_points` (userid, ref_depth, ".$locked.") VALUES (%s,0,'%s')", + array(bigintval($userid), getConfig('points_register')), __FILE__, __LINE__); // Update mediadata as well - if ((GET_EXT_VERSION("mediadata") >= "0.0.4") && ($locked == "points")) { + if ((GET_EXT_VERSION('mediadata') >= '0.0.4') && ($locked == "points")) { // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "add", $_CONFIG['points_register']); - } - } + MEDIA_UPDATE_ENTRY(array('total_points'), 'add', getConfig('points_register')); + } // END - if + } // END - if // Write catgories - if ((is_array($_POST['cat'])) && (count($_POST['cat']))) { - foreach ($_POST['cat'] as $cat=>$joined) { + if ((is_array(REQUEST_POST('cat'))) && (count(REQUEST_POST('cat')))) { + foreach (REQUEST_POST('cat') as $cat => $joined) { if ($joined == 'Y') { // Insert category entry - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_cats (userid, cat_id) VALUES (%d, %d)", + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_cats` (userid, cat_id) VALUES (%s, %s)", array(bigintval($userid), bigintval($cat)), __FILE__, __LINE__); - } - } + } // END - if + } // END - foreach + } // END - if + + // Rewrite gender + $gender = translateGender(REQUEST_POST('gender')); + + // ... rewrite a zero referal ID to the main title + if (REQUEST_POST('refid') == '0') REQUEST_SET_POST('refid', constant('MAIN_TITLE')); + + // Is ZIP code set? + if (REQUEST_ISSET_POST('zip')) { + // Prepare data array for the email template + // Start with the gender... + $DATA = array( + 'hash' => $hash, + 'uid' => $userid, + 'gender' => $gender, + 'surname' => SQL_ESCAPE(REQUEST_POST('surname')), + 'family' => SQL_ESCAPE(REQUEST_POST('family')), + 'email' => SQL_ESCAPE(REQUEST_POST('addy')), + 'street' => SQL_ESCAPE(REQUEST_POST('street_nr')), + 'city' => SQL_ESCAPE(REQUEST_POST('city')), + 'zip' => bigintval(REQUEST_POST('zip')), + 'country' => $countryData, + 'refid' => SQL_ESCAPE(REQUEST_POST('refid')), + 'pass' => SQL_ESCAPE(REQUEST_POST('pass1')), + ); + } else { + // No ZIP code entered + $DATA = array( + 'hash' => $hash, + 'uid' => $userid, + 'gender' => $gender, + 'surname' => SQL_ESCAPE(REQUEST_POST('surname')), + 'family' => SQL_ESCAPE(REQUEST_POST('family')), + 'email' => SQL_ESCAPE(REQUEST_POST('addy')), + 'street' => SQL_ESCAPE(REQUEST_POST('street_nr')), + 'city' => SQL_ESCAPE(REQUEST_POST('city')), + 'zip' => "", + 'country' => $countryData, + 'refid' => SQL_ESCAPE(REQUEST_POST('refid')), + 'pass' => SQL_ESCAPE(REQUEST_POST('pass1')), + ); } - // Rewrite sex - $sex = TRANSLATE_SEX($_POST['sex']); - - // ... rewrite a zero referral ID to the main title - if ($_POST['refid'] == "0") $_POST['refid'] = MAIN_TITLE; - - // Prepare data array for the email template - // Start with the salutation... - $DATA = array( - 'hash' => $hash, - 'uid' => $userid, - 'salut' => $sex, - 'surname' => $_POST['surname'], - 'family' => $_POST['family_name'], - 'email' => $_POST['addy'], - 'street' => $_POST['street_nr'], - 'city' => $_POST['city'], - 'zip' => bigintval($_POST['zip']), - 'country' => $countryData, - 'refid' => $_POST['refid'], - 'pass' => $_POST['pass1'], - ); - // Continue with birthday... - switch (GET_LANGUAGE()) + switch (getLanguage()) { - case "de": - $DATA['birthday'] = $_POST['day'].".".$_POST['month'].".".$_POST['year']; + case 'de': + $DATA['birthday'] = bigintval(REQUEST_POST('day')).'.'.bigintval(REQUEST_POST('month')).'.'.bigintval(REQUEST_POST('year')); break; default: - $DATA['birthday'] = $_POST['month']."/".$_POST['day']."/".$_POST['year']; + $DATA['birthday'] = bigintval(REQUEST_POST('month')).'/'.bigintval(REQUEST_POST('day')).'/'.bigintval(REQUEST_POST('year')); break; } // Display information to the user that he got mail and send it away - $msg_guest = LOAD_EMAIL_TEMPLATE("register-member", $DATA, $userid); + $msg_guest = LOAD_EMAIL_TEMPLATE('register-member', $DATA, $userid); // Send mail to user (confirmation link!) $EMAIL = $DATA['email']; - SEND_EMAIL ($DATA['email'], GUEST_CONFIRM_LINK, $msg_guest); + sendEmail ($DATA['email'], getMessage('GUEST_CONFIRM_LINK'), $msg_guest); $DATA['email'] = $EMAIL; // Send mail to admin - if (GET_EXT_VERSION("admins") >= "0.4.1") - { - // Use new system - SEND_ADMIN_EMAILS_PRO(ADMIN_NEW_ACCOUNT, "register-admin", $DATA, $userid); - } - else - { - // Use old system - $msg_admin = LOAD_EMAIL_TEMPLATE("register-admin", $DATA, $userid); - SEND_ADMIN_EMAILS (ADMIN_NEW_ACCOUNT, $msg_admin); - } + sendAdminNotification(getMessage('ADMIN_NEW_ACCOUNT'), 'register-admin', $DATA, $userid); // Output success registration - LOAD_TEMPLATE("admin_settings_saved", false, REGISTRATION_DONE); -} - else -{ - if ($_POST['agree'] == "!") - { - OUTPUT_HTML("".HAVE_TO_AGREE."

"); - } - if ($_POST['addy'] == "!") - { - OUTPUT_HTML("".ENTER_EMAIL."

"); - $_POST['addy'] = ""; - } - elseif ($_POST['addy'] == "?") - { - OUTPUT_HTML("".EMAIL_ALREADY_DB."

"); - $_POST['addy'] = ""; - } - if ($_POST['surname'] == "!") - { - OUTPUT_HTML("".ENTER_SURNAME."

"); - $_POST['surname'] = ""; - } - if ($_POST['family_name'] == "!") - { - OUTPUT_HTML("".ENTER_FAMILY."

"); - $_POST['family_name'] = ""; - } - if (($_POST['pass1'] == "!") && ($_POST['pass2'] == "!")) - { - OUTPUT_HTML("".ENTER_BOTH_PASSWORDS."

"); - } - elseif ($_POST['pass1'] == "!") - { - OUTPUT_HTML("".ENTER_PASS1."

"); - } - elseif ($_POST['pass2'] == "!") - { - OUTPUT_HTML("".ENTER_PASS2."

"); - } - if ($SHORT_PASS) - { - OUTPUT_HTML("".SHORT_PASS.": ".$_CONFIG['pass_len']."

"); - } - if ($IP_TIMEOUT) - { - OUTPUT_HTML("".REMOTE_ADDR_TIMEOUT."

"); - } - if ((!empty($cats)) && ($cats < $_CONFIG['least_cats'])) - { - OUTPUT_HTML("".CATS_LEAST.": ".$_CONFIG['least_cats']."

"); - } + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('REGISTRATION_DONE')); +} else { + if (REQUEST_POST('agree') == '!') { + registerOutputFailedMessage('HAVE_TO_AGREE'); + } // END - if + + if (REQUEST_POST('addy') == '!') { + registerOutputFailedMessage('ENTER_EMAIL'); + REQUEST_SET_POST('addy', ''); + } elseif (REQUEST_POST('addy') == '?') { + registerOutputFailedMessage('EMAIL_ALREADY_DB'); + REQUEST_SET_POST('addy', ''); + } + + if (REQUEST_POST('surname') == '!') { + registerOutputFailedMessage('ENTER_SURNAME'); + REQUEST_SET_POST('surname', ''); + } // END - if + + if (REQUEST_POST('family') == '!') { + registerOutputFailedMessage('ENTER_FAMILY'); + REQUEST_SET_POST('family', ''); + } // END - if + + if ((REQUEST_POST('pass1') == '!') && (REQUEST_POST('pass2') == '!')) { + registerOutputFailedMessage('ENTER_BOTH_PASSWORDS'); + } elseif (REQUEST_POST('pass1') == '!') { + registerOutputFailedMessage('ENTER_PASS1'); + } elseif (REQUEST_POST('pass2') == '!') { + registerOutputFailedMessage('ENTER_PASS2'); + } + + if ($SHORT_PASS === true) { + registerOutputFailedMessage('SHORT_PASS', ": ".getConfig('pass_len')); + } // END - if + + if ($IP_TIMEOUT === true) { + registerOutputFailedMessage('REMOTE_ADDR_TIMEOUT'); + } // END - if + + if ((!empty($cats)) && ($cats < getConfig('least_cats'))) { + registerOutputFailedMessage(sprintf(getMessage('CATS_LEAST'), getConfig('least_cats'))); + } // END - if // Generate birthday selection - switch (GET_LANGUAGE()) + switch (getLanguage()) { - case "de": // German date format - define('BIRTHDAY_SELECTION', ADD_SELECTION("day", $_POST['day']).ADD_SELECTION("month", $_POST['month']).ADD_SELECTION("year", $_POST['year'])); + case 'de': // German date format + define('BIRTHDAY_SELECTION', ADD_SELECTION('day', REQUEST_POST('day')).ADD_SELECTION('month', REQUEST_POST('month')).ADD_SELECTION('year', REQUEST_POST('year'))); break; default: // Default is the US date format... :) + define('BIRTHDAY_SELECTION', ADD_SELECTION('month', REQUEST_POST('month')).ADD_SELECTION('day', REQUEST_POST('day')).ADD_SELECTION('year', REQUEST_POST('year'))); break; } // Adds a table for the guests with all visible categories - define ('CATEGORY_SELECTION', REGISTER_ADD_CATEGORY_TABLE("guest", true)); + define('CATEGORY_SELECTION', registerGenerateCategoryTable('guest', true)); // Adds maximum receiveable mails list... :) - define ('MAX_RECEIVE_LIST', ADD_MAX_RECEIVE_LIST("guest", "", true)); - - // Check if nickname extension is active and get state if nickname is selected or userid - $nick = false; - if (EXT_IS_ACTIVE("nickname")) $nick = NICKNAME_IS_ACTIVE($GLOBALS['refid']); - - // Is the nickname valid? - if (!$nick) { - // Nope, disable it - if (GET_EXT_VERSION("sql_patches") != "") { - // Use default refid - $GLOBALS['refid'] = $_CONFIG['def_refid']; - } else { - // Set zero - $GLOBALS['refid'] = 0; - } - } + define('MAX_RECEIVE_LIST', addMaxReceiveList('guest', '', true)); // Shall I display the refid or shall I make it editable? - if ($_CONFIG['display_refid'] == 'Y') { - // Load template to enter it - define('REFID_CONTENT', LOAD_TEMPLATE("guest_register_refid", true, $GLOBALS['refid'])); - } else { + if (getConfig('display_refid') == 'Y') { // Load "hide" form template - define ('REFID_CONTENT', LOAD_TEMPLATE("guest_register_refid_hide", true, $GLOBALS['refid'])); + define('REFID_CONTENT', LOAD_TEMPLATE('guest_register_refid_hide', true, $GLOBALS['refid'])); + } else { + // Load template to enter it + define('REFID_CONTENT', LOAD_TEMPLATE('guest_register_refid', true, $GLOBALS['refid'])); } // You may want to modify the register_header.tpl.xx file and not this script when you add your scripts etc. :-) - define('REGISTER_HEADER_CONTENT', LOAD_TEMPLATE("register_header", true)); + define('REGISTER_HEADER_CONTENT', LOAD_TEMPLATE('register_header', true)); // Please select at least x categories - define('LEAST_CATS_VALUE', $_CONFIG['least_cats']); + define('LEAST_CATS_VALUE', getConfig('least_cats')); // Other values - define('__SURNAME', $_POST['surname']); define('__FAMILY', $_POST['family_name']); - define('__STREET', $_POST['street_nr']); define('__COUNTRY', $_POST['cntry']); - define('__ZIP', $_POST['zip']); define('__CITY', $_POST['city']); - define('__ADDY', $_POST['addy']); + define('__SURNAME', SQL_ESCAPE(REQUEST_POST('surname'))); + define('__FAMILY', SQL_ESCAPE(REQUEST_POST('family'))); + define('__STREET', SQL_ESCAPE(REQUEST_POST('street_nr'))); + define('__COUNTRY', SQL_ESCAPE(REQUEST_POST('cntry'))); + if (REQUEST_ISSET_POST('zip')) { + define('__ZIP', bigintval(REQUEST_POST('zip'))); + } else { + define('__ZIP', ''); + } + define('__CITY', SQL_ESCAPE(REQUEST_POST('city'))); + define('__ADDY', SQL_ESCAPE(REQUEST_POST('addy'))); // Shall I add a counrty selection box or the old input box? - if (EXT_IS_ACTIVE("country")) - { + if (EXT_IS_ACTIVE('country')) { // New variant, good! - $OUT = "\n"; $whereStatement = "WHERE is_active='Y'"; - if (IS_ADMIN()) $whereStatement = ""; - $OUT .= ADD_OPTION_LINES("countries", "id", "descr", $_POST['country_code'], "code", $whereStatement); - $OUT .= ""; + if (IS_ADMIN()) $whereStatement = ''; + $OUT .= generateOptionList('countries', 'id', 'descr', REQUEST_POST('country_code'), 'code', $whereStatement); + $OUT .= ""; define('__COUNTRY_CONTENT', $OUT); - } - else - { + } else { // Old out-dated variant - define('__COUNTRY_CONTENT', ""); + define('__COUNTRY_CONTENT', ""); } // Set MUST_??? constants - if ((EXT_IS_ACTIVE("register")) && (GET_EXT_VERSION("register") > "0.0")) REGISTER_FILL_MUST_CONSTANTS(); + if ((EXT_IS_ACTIVE('register')) && (GET_EXT_VERSION('register') > '0.0')) registerMustFillout(); // Display registration form - LOAD_TEMPLATE("guest_register"); + LOAD_TEMPLATE('guest_register'); } -CLOSE_TABLE(); + // ?>