X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fguest%2Fwhat-register.php;h=09716317831b7c4acc536ab184704458d0ca2046;hb=43f8fab36af6c030d8835e1118cab430f8585e67;hp=c38e2e5bb5676d069c12a2f56a91a9c81e320308;hpb=fc7f4d7fd71c718503c2af305276f5a374ae24da;p=mailer.git diff --git a/inc/modules/guest/what-register.php b/inc/modules/guest/what-register.php index c38e2e5bb5..0971631783 100644 --- a/inc/modules/guest/what-register.php +++ b/inc/modules/guest/what-register.php @@ -94,86 +94,83 @@ if (isset($_POST['ok'])) { if ($_POST['agree'] != "Y") { $_POST['agree'] = "!"; $FAILED = 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; - } + } // END - if // And what about surname and family's name? if (empty($_POST['surname'])) { $_POST['surname'] = "!"; $FAILED = true; - } + } // END - if if (empty($_POST['family_name'])) { $_POST['family_name'] = "!"; $FAILED = true; - } + } // END - if // Check for required fields if (!$FAILED) $FAILED = REGISTER_CHECK_REQUIRED_FIELDS($_POST); // 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']))) - { + 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 - { + } else { if (empty($_POST['pass1'])) { $_POST['pass1'] = "!"; } else { $_POST['pass1'] = ""; } if (empty($_POST['pass2'])) { $_POST['pass2'] = "!"; } else { $_POST['pass2'] = ""; } } $FAILED = true; - } + } // END - if + // Is the password long enouth? - if ((strlen($_POST['pass1']) < $_CONFIG['pass_len']) && (!$FAILED) && (!IS_ADMIN())) - { + if ((strlen($_POST['pass1']) < $_CONFIG['pass_len']) && (!$FAILED)) { $SHORT_PASS = true; $FAILED = true; - } - // Did he select enougth categories? - if (!IS_ADMIN()) - { + } // 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 ($_POST['cat'] as $id => $answer) { if ($answer == "Y") $cats++; - } - if ($cats < $_CONFIG['least_cats']) - { + } // END - foreach + + if ($cats < $_CONFIG['least_cats']) { // ... nope! $FAILED = true; - } - } - if (($_POST['addy'] != "!") && ($_CONFIG['check_double_email'] == "Y") && (!IS_ADMIN())) - { + } // END - if + } // END - if + + if (($_POST['addy'] != "!") && ($_CONFIG['check_double_email'] == "Y")) { // Does the email address already exists in our database? $CHK = SEARCH_EMAIL_USERTAB($_POST['addy']); if ($CHK) { $_POST['addy'] = "?"; $FAILED = true; } - } + } // END - if - // 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(GET_REMOTE_ADDR(), $_CONFIG['ip_timeout'], $_CONFIG['ip_timeout']), __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; - } + // Check for IP timeout? + if ($_CONFIG['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(GET_REMOTE_ADDR(), $_CONFIG['ip_timeout'], $_CONFIG['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; + $FAILED = true; + } // END - if + } // END - if // Free memory SQL_FREERESULT($result); } -if ((isset($_POST['ok'])) && (!$FAILED)) { +if ((isset($_POST['ok'])) && ((!$FAILED) || (IS_ADMIN()))) { // Prepapre month and day of birth if (strlen($_POST['day']) == 1) $_POST['day'] = "0".$_POST['day']; if (strlen($_POST['month']) == 1) $_POST['month'] = "0".$_POST['month']; @@ -305,22 +302,41 @@ VALUES ('%s','%s','%s','%s','%s',%s,'%s','%s',%s, %s,%s,'%s',%s, %s,'%s','UNCONF // ... rewrite a zero referal ID to the main title if ($_POST['refid'] == "0") $_POST['refid'] = MAIN_TITLE; - // Prepare data array for the email template - // Start with the gender... - $DATA = array( - 'hash' => $hash, - 'uid' => $userid, - 'gender' => $gender, - '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']), - ); + // Is ZIP code set? + if (!empty($_POST['zip'])) { + // Prepare data array for the email template + // Start with the gender... + $DATA = array( + 'hash' => $hash, + 'uid' => $userid, + 'gender' => $gender, + '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']), + ); + } else { + // No ZIP code entered + $DATA = array( + 'hash' => $hash, + 'uid' => $userid, + 'gender' => $gender, + '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' => "", + 'country' => $countryData, + 'refid' => SQL_ESCAPE($_POST['refid']), + 'pass' => SQL_ESCAPE($_POST['pass1']), + ); + } // Continue with birthday... switch (GET_LANGUAGE()) @@ -398,6 +414,7 @@ VALUES ('%s','%s','%s','%s','%s',%s,'%s','%s',%s, %s,%s,'%s',%s, %s,'%s','UNCONF break; default: // Default is the US date format... :) + define('BIRTHDAY_SELECTION', ADD_SELECTION("month", $_POST['month']).ADD_SELECTION("day", $_POST['day']).ADD_SELECTION("year", $_POST['year'])); break; } @@ -427,7 +444,11 @@ VALUES ('%s','%s','%s','%s','%s',%s,'%s','%s',%s, %s,%s,'%s',%s, %s,'%s','UNCONF define('__FAMILY', SQL_ESCAPE($_POST['family_name'])); define('__STREET', SQL_ESCAPE($_POST['street_nr'])); define('__COUNTRY', SQL_ESCAPE($_POST['cntry'])); - define('__ZIP', bigintval($_POST['zip'])); + if (!empty($_POST['zip'])) { + define('__ZIP', bigintval($_POST['zip'])); + } else { + define('__ZIP', ""); + } define('__CITY', SQL_ESCAPE($_POST['city'])); define('__ADDY', SQL_ESCAPE($_POST['addy']));