X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-register.php;h=9065ccf701edaa5bc5d6800c9c54b79bdd00d78f;hp=c0eeb66f5b82e40a23c8eba0e0f57136b9b06549;hb=9afd6ec5878544a7982c50ed9c0dd7de37606d5b;hpb=19cd0d37b2bcbf9dd4f3c38a9cecd7f5011d6b66 diff --git a/inc/modules/guest/what-register.php b/inc/modules/guest/what-register.php index c0eeb66f5b..9065ccf701 100644 --- a/inc/modules/guest/what-register.php +++ b/inc/modules/guest/what-register.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * 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 * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,445 +37,435 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ - $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"); - } - return; -} +if (!defined('__SECURITY')) { + die(); +} // END - if // Add description as navigation point -ADD_DESCR("guest", basename(__FILE__)); +addMenuDescription('guest', __FILE__); -OPEN_TABLE("100%", "guest_content_align", ""); -global $_CONFIG, $DATA; +if (!isExtensionActive('register')) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('register')); + return; +} elseif (!isExtensionActive('country')) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('country')); + return; +} // 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'])) -{ +$isOkay = true; +$shortPass = false; +$cats = '0'; +$ipTimedOut = false; + +// Default refid is zero +setRequestPostElement('refid', 0); +if (determineReferalId() > 0) { + // Test if the refid is valid + if (!fetchUserData(determineReferalId())) { + // Not found so we set your refid! + setRequestPostElement('refid', getConfig('def_refid')); + setSession('refid', getConfig('def_refid')); + } else { + // Use the refid here + setRequestPostElement('refid', determineReferalId()); + } +} // END - if + +if (isFormSent()) { // 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 (postRequestElement('agree') != 'Y') { + setRequestPostElement('agree', '!'); + $isOkay = false; + } // 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 ((!isPostRequestElementSet('email')) || (!isEmailValid(postRequestElement('email')))) { + setRequestPostElement('email', '!'); + $isOkay = false; + } // 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 (!isPostRequestElementSet('surname')) { + setRequestPostElement('surname', '!'); + $isOkay = false; + } // END - if + if (!isPostRequestElementSet('family')) { + setRequestPostElement('family', '!'); + $isOkay = false; + } // END - if + + // Get temporary array for modification + $postArray = postRequestArray(); // Check for required fields - if (!$FAILED) $FAILED = REGISTER_CHECK_REQUIRED_FIELDS($_POST); + if ($isOkay === true) $isOkay = ifRequiredRegisterFieldsAreSet($postArray); + + // Set it back in request + setPostRequestArray($postArray); // 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'] = ""; } - } - $FAILED = true; - } - // Is the password long enouth? - if ((strlen($_POST['pass1']) < $_CONFIG['pass_len']) && (!$FAILED) && (!IS_ADMIN())) - { - $SHORT_PASS = true; - $FAILED = true; - } - // Did he select enougth categories? - if (!IS_ADMIN()) - { - // Do this check only when no admin is logged in - foreach ($_POST['cat'] as $id=>$answer) - { - if ($answer == "Y") $cats++; - } - if ($cats < $_CONFIG['least_cats']) - { - // ... nope! - $FAILED = true; + if (((!isPostRequestElementSet('pass1')) || (!isPostRequestElementSet('pass2'))) || ((postRequestElement('pass1') != postRequestElement('pass2')) && (isPostRequestElementSet('pass1')) && (isPostRequestElementSet('pass2')))) { + if ((postRequestElement('pass1') != postRequestElement('pass2')) && (isPostRequestElementSet('pass1')) && (isPostRequestElementSet('pass2'))) { + setRequestPostElement('pass1', '!'); + setRequestPostElement('pass2', '!'); + } else { + if (!isPostRequestElementSet('pass1')) { setRequestPostElement('pass1', '!'); } else { setRequestPostElement('pass1', ''); } + if (!isPostRequestElementSet('pass2')) { setRequestPostElement('pass2', '!'); } else { setRequestPostElement('pass2', ''); } } - } - 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; } - } - - // 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; - } + $isOkay = false; + } // 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']; - set_session("refid", $_CONFIG['def_refid']); - } + // Is the password long enouth? + if ((strlen(postRequestElement('pass1')) < getConfig('pass_len')) && ($isOkay === true)) { + $shortPass = true; + $isOkay = false; + } // END - if - // Free memory - SQL_FREERESULT($result); -} + // No admin? Admins can always register! + if (!isAdmin()) { + // Do this check only when no admin is logged in + foreach (postRequestElement('cat') as $id => $answer) { + if ($answer == 'Y') $cats++; + } // END - foreach -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 ($cats < getConfig('least_cats')) { + // ... nope! + $isOkay = false; + } // END - if + } // END - if - // 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()); + if ((postRequestElement('email') != '!') && (getConfig('check_double_email') == 'Y')) { + // Does the email address already exists in our database? + $CHK = isEmailTaken(postRequestElement('email')); + if ($CHK === true) { + setRequestPostElement('email', '?'); + $isOkay = false; + } // END - if + } // END - if + + // Check for IP timeout? + if (getConfig('ip_timeout') > 0) { + // Check his IP number + $result = SQL_QUERY_ESC("SELECT + `userid` +FROM + `{?_MYSQL_PREFIX?}_user_data` +WHERE + `REMOTE_ADDR`='%s' AND + (`joined` > (UNIX_TIMESTAMP() - {?ip_timeout?}) OR `last_update` > (UNIX_TIMESTAMP() - {?ip_timeout?})) +LIMIT 1", + array(detectRemoteAddr()), __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. + $ipTimedOut = true; + $isOkay = false; + } // END - if + + // Free memory + SQL_FREERESULT($result); + } // END - if +} // END - if + +// Is the form sent and all went fine or admin logged in? +//* DEBUG: */ print intval(isFormSent()).'/'.intval($isOkay).'/'.intval(isAdmin()).'
'; +if ((isFormSent()) && (($isOkay === true) || (isAdmin()))) { + // Prepapre month and day of birth + if (strlen(postRequestElement('day')) == 1) setRequestPostElement('day' , 0 . postRequestElement('day')); + if (strlen(postRequestElement('month')) == 1) setRequestPostElement('month', 0 . postRequestElement('month')); + + // Get total ... + // ... confirmed, ... + $confirmedUsers = countSumTotalData('CONFIRMED' , 'user_data', 'userid', 'status', true); + // ... unconfirmed ... + $unconfirmedUsers = countSumTotalData('UNCONFIRMED', 'user_data', 'userid', 'status', true); + // ... and locked users! + $lockedUsers = countSumTotalData('LOCKED' , 'user_data', 'userid', 'status', true); + + // Generate hash which will be inserted into confirmation mail + $hash = generateHash(sha1($confirmedUsers.getConfig('ENCRYPT_SEPERATOR').$unconfirmedUsers.getConfig('ENCRYPT_SEPERATOR').$lockedUsers.getConfig('ENCRYPT_SEPERATOR').postRequestElement('month') . '-'.postRequestElement('day') . '-'.postRequestElement('year').getConfig('ENCRYPT_SEPERATOR').getenv('SERVER_NAME').getConfig('ENCRYPT_SEPERATOR').detectRemoteAddr().getConfig('ENCRYPT_SEPERATOR').detectUserAgent() . '/' . getConfig('SITE_KEY') . '/' . getConfig('DATE_KEY') . '/'. getConfig('CACHE_BUSTER'))); // 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 (isExtensionInstalledAndNewer('theme', '0.0.8')) { // 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 (isExtensionInstalledAndNewer('beg', '0.1.7')) { // Okay, shall I disable now? - if ($_CONFIG['beg_new_mem_notify'] == "N") - { - $ADD1 .= ", beg_ral_notify, beg_ral_en_notify"; - $ADD2 .= ", UNIX_TIMESTAMP(), UNIX_TIMESTAMP()"; - } - } + 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 (isExtensionInstalledAndNewer('bonus', '0.7.7')) { // Okay, shall I disable now? - if ($_CONFIG['bonus_new_mem_notify'] == "N") - { - $ADD1 .= ", bonus_ral_notify, bonus_ral_en_notify"; - $ADD2 .= ", UNIX_TIMESTAMP(), UNIX_TIMESTAMP()"; - } - } + 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 (isExtensionActive('country')) { // Save with new selectable country code - $countryRow = "country_code"; - $countryData = bigintval($_POST['country_code']); - } - else - { + $countryRow = '`country_code`'; + $countryData = bigintval(postRequestElement('country_code')); + } else { // Old way with enterable two-char-code - $countryRow = "country"; - $countryData = addslashes(substr($_POST['cntry'], 0, 2)); + $countryRow = '`country`'; + $countryData = substr(postRequestElement('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(postRequestElement('gender'), 0, 1), + postRequestElement('surname'), + postRequestElement('family'), + postRequestElement('street_nr'), + $countryData, + bigintval(postRequestElement('zip')), + postRequestElement('city'), + postRequestElement('email'), + bigintval(postRequestElement('day')), + bigintval(postRequestElement('month')), + bigintval(postRequestElement('year')), + generateHash(postRequestElement('pass1')), + bigintval(postRequestElement('max_mails')), + bigintval(postRequestElement('max_mails')), + bigintval(postRequestElement('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! + loadTemplate('admin_settings_saved', false, getMessage('USER_NOT_REGISTERED')); + return; + } // END - if + + // Is the refback extension there? + // @TODO Rewrite this to a filter + if (isExtensionActive('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__); + $locked = 'points'; + + // Pay him later. First he has to confirm some mails! + if (getConfig('ref_payout') > 0) $locked = 'locked_points'; + + // @TODO Rewrite this to addPointsDirectly() + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_points` (`userid`, `ref_depth`, `".$locked."`) VALUES (%s,0,'{?points_register?}')", + array(bigintval($userid)), __FILE__, __LINE__); // Update mediadata as well - if ((GET_EXT_VERSION("mediadata") >= "0.0.4") && ($locked == "points")) { + if ((isExtensionInstalledAndNewer('mediadata', '0.0.4')) && ($locked == 'points')) { // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "add", $_CONFIG['points_register']); - } - } + updateMediadataEntry(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 ($joined == "Y") { + if ((is_array(postRequestElement('cat'))) && (count(postRequestElement('cat')))) { + foreach (postRequestElement('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)", - array(bigintval($userid), bigintval($cat)), __FILE__, __LINE__); - } - } + 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(postRequestElement('gender')); + + // ... rewrite a zero referal id to the main title + if (postRequestElement('refid') == '0') setRequestPostElement('refid', getConfig('MAIN_TITLE')); + + // Is ZIP code set? + if (isPostRequestElementSet('zip')) { + // Prepare data array for the email template + // Start with the gender... + $content = array( + 'hash' => $hash, + 'userid' => $userid, + 'gender' => $gender, + 'surname' => SQL_ESCAPE(postRequestElement('surname')), + 'family' => SQL_ESCAPE(postRequestElement('family')), + 'email' => SQL_ESCAPE(postRequestElement('email')), + 'street' => SQL_ESCAPE(postRequestElement('street_nr')), + 'city' => SQL_ESCAPE(postRequestElement('city')), + 'zip' => bigintval(postRequestElement('zip')), + 'country' => $countryData, + 'refid' => SQL_ESCAPE(postRequestElement('refid')), + 'pass' => SQL_ESCAPE(postRequestElement('pass1')), + ); + } else { + // No ZIP code entered + $content = array( + 'hash' => $hash, + 'userid' => $userid, + 'gender' => $gender, + 'surname' => SQL_ESCAPE(postRequestElement('surname')), + 'family' => SQL_ESCAPE(postRequestElement('family')), + 'email' => SQL_ESCAPE(postRequestElement('email')), + 'street' => SQL_ESCAPE(postRequestElement('street_nr')), + 'city' => SQL_ESCAPE(postRequestElement('city')), + 'zip' => '', + 'country' => $countryData, + 'refid' => SQL_ESCAPE(postRequestElement('refid')), + 'pass' => SQL_ESCAPE(postRequestElement('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' => SQL_ESCAPE($_POST['surname']), - 'family' => SQL_ESCAPE($_POST['family_name']), - 'email' => SQL_ESCAPE($_POST['addy']), - 'street' => SQL_ESCAPE($_POST['street_nr']), - 'city' => SQL_ESCAPE($_POST['city']), - 'zip' => bigintval($_POST['zip']), - 'country' => $countryData, - 'refid' => SQL_ESCAPE($_POST['refid']), - 'pass' => SQL_ESCAPE($_POST['pass1']), - ); - // Continue with birthday... - switch (GET_LANGUAGE()) - { - case "de": - $DATA['birthday'] = bigintval($_POST['day']).".".bigintval($_POST['month']).".".bigintval($_POST['year']); - break; - - default: - $DATA['birthday'] = bigintval($_POST['month'])."/".bigintval($_POST['day'])."/".bigintval($_POST['year']); - break; - } + switch (getLanguage()) { + case 'de': + $content['birthday'] = bigintval(postRequestElement('day')) . '.' . bigintval(postRequestElement('month')) . '.' . bigintval(postRequestElement('year')); + break; + + default: + $content['birthday'] = bigintval(postRequestElement('month')) . '/' . bigintval(postRequestElement('day')) . '/' . bigintval(postRequestElement('year')); + break; + } // END - switch // Display information to the user that he got mail and send it away - $msg_guest = LOAD_EMAIL_TEMPLATE("register-member", $DATA, $userid); + $messageGuest = loadEmailTemplate('register-member', $content, $userid); // Send mail to user (confirmation link!) - $EMAIL = $DATA['email']; - SEND_EMAIL ($DATA['email'], GUEST_CONFIRM_LINK, $msg_guest); - $DATA['email'] = $EMAIL; + $email = $content['email']; + sendEmail($content['email'], getMessage('GUEST_SUBJECT_CONFIRM_LINK'), $messageGuest); + $content['email'] = $email; // Send mail to admin - SEND_ADMIN_NOTIFICATION(ADMIN_NEW_ACCOUNT, "register-admin", $DATA, $userid); + sendAdminNotification(getMessage('ADMIN_SUBJECT_NEW_ACCOUNT'), 'register-admin', $content, $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']."

"); - } + loadTemplate('admin_settings_saved', false, getMessage('REGISTRATION_DONE')); +} else { + if (postRequestElement('agree') == '!') { + registerOutputFailedMessage('HAVE_TO_AGREE'); + } // END - if + + if (postRequestElement('email') == '!') { + registerOutputFailedMessage('ENTER_EMAIL'); + setRequestPostElement('email', ''); + } elseif (postRequestElement('email') == '?') { + registerOutputFailedMessage('EMAIL_ALREADY_DB'); + setRequestPostElement('email', ''); + } + + if (postRequestElement('surname') == '!') { + registerOutputFailedMessage('ENTER_SURNAME'); + setRequestPostElement('surname', ''); + } // END - if + + if (postRequestElement('family') == '!') { + registerOutputFailedMessage('ENTER_FAMILY'); + setRequestPostElement('family', ''); + } // END - if + + if ((postRequestElement('pass1') == '!') && (postRequestElement('pass2') == '!')) { + registerOutputFailedMessage('ENTER_BOTH_PASSWORDS'); + } elseif (postRequestElement('pass1') == '!') { + registerOutputFailedMessage('ENTER_PASS1'); + } elseif (postRequestElement('pass2') == '!') { + registerOutputFailedMessage('ENTER_PASS2'); + } + + if ($shortPass === true) { + registerOutputFailedMessage('SHORT_PASS', ": ".getConfig('pass_len')); + } // END - if + + if ($ipTimedOut === 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()) - { - case "de": // German date format - define('BIRTHDAY_SELECTION', ADD_SELECTION("day", $_POST['day']).ADD_SELECTION("month", $_POST['month']).ADD_SELECTION("year", $_POST['year'])); - break; - - default: // Default is the US date format... :) - break; + switch (getLanguage()) { + case 'de': // German date format + $content['birthday_selection'] = addSelectionBox('day', postRequestElement('day')).addSelectionBox('month', postRequestElement('month')).addSelectionBox('year', postRequestElement('year')); + break; + + default: // Default is the US date format... :) + $content['birthday_selection'] = addSelectionBox('month', postRequestElement('month')).addSelectionBox('day', postRequestElement('day')).addSelectionBox('year', postRequestElement('year')); + break; } // Adds a table for the guests with all visible categories - define('CATEGORY_SELECTION', REGISTER_ADD_CATEGORY_TABLE("guest", true)); + $content['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; - } - } + $content['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'])); + $content['refid_content'] = loadTemplate('guest_register_refid_hide', true, determineReferalId()); + } else { + // Load template to enter it + $content['refid_content'] = loadTemplate('guest_register_refid', true, determineReferalId()); } // 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)); - - // Please select at least x categories - define('LEAST_CATS_VALUE', $_CONFIG['least_cats']); + $content['header_content'] = loadTemplate('register_header', true); // 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']); - - // Shall I add a counrty selection box or the old input box? - if (EXT_IS_ACTIVE("country")) - { - // New variant, good! - $OUT = ""; - define('__COUNTRY_CONTENT', $OUT); - } - else - { - // Old out-dated variant - define('__COUNTRY_CONTENT', ""); - } - - // Set MUST_??? constants - if ((EXT_IS_ACTIVE("register")) && (GET_EXT_VERSION("register") > "0.0")) REGISTER_FILL_MUST_CONSTANTS(); + $content['surname'] = SQL_ESCAPE(postRequestElement('surname')); + $content['family'] = SQL_ESCAPE(postRequestElement('family')); + $content['street_nr'] = SQL_ESCAPE(postRequestElement('street_nr')); + $content['zip'] = bigintval(postRequestElement('zip')); + $content['city'] = SQL_ESCAPE(postRequestElement('city')); + $content['email'] = SQL_ESCAPE(postRequestElement('email')); + + // Prepare country selection box + $OUT = ""; + $content['country'] = $OUT; + + // Set must-fillout fields + $content = runFilterChain('register_must_fillout', $content); // Display registration form - LOAD_TEMPLATE("guest_register"); + loadTemplate('guest_register', false, $content); } -CLOSE_TABLE(); -// + +// [EOF] ?>