punbb/register.php
changeset 0 f9ffdbd96607
child 2 a8a21e1c7afa
equal deleted inserted replaced
-1:000000000000 0:f9ffdbd96607
       
     1 <?php
       
     2 /***********************************************************************
       
     3 
       
     4   Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)
       
     5 
       
     6   This file is part of PunBB.
       
     7 
       
     8   PunBB is free software; you can redistribute it and/or modify it
       
     9   under the terms of the GNU General Public License as published
       
    10   by the Free Software Foundation; either version 2 of the License,
       
    11   or (at your option) any later version.
       
    12 
       
    13   PunBB is distributed in the hope that it will be useful, but
       
    14   WITHOUT ANY WARRANTY; without even the implied warranty of
       
    15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    16   GNU General Public License for more details.
       
    17 
       
    18   You should have received a copy of the GNU General Public License
       
    19   along with this program; if not, write to the Free Software
       
    20   Foundation, Inc., 59 Temple Place, Suite 330, Boston,
       
    21   MA  02111-1307  USA
       
    22 
       
    23 ************************************************************************/
       
    24 
       
    25 
       
    26 define('PUN_ROOT', './');
       
    27 require PUN_ROOT.'include/common.php';
       
    28 
       
    29 
       
    30 // If we are logged in, we shouldn't be here
       
    31 if (!$pun_user['is_guest'])
       
    32 {
       
    33 	header('Location: index.php');
       
    34 	exit;
       
    35 }
       
    36 
       
    37 // Load the register.php language file
       
    38 require PUN_ROOT.'lang/'.$pun_user['language'].'/register.php';
       
    39 
       
    40 // Load the register.php/profile.php language file
       
    41 require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';
       
    42 
       
    43 if ($pun_config['o_regs_allow'] == '0')
       
    44 	message($lang_register['No new regs']);
       
    45 
       
    46 
       
    47 // User pressed the cancel button
       
    48 if (isset($_GET['cancel']))
       
    49 	redirect('index.php', $lang_register['Reg cancel redirect']);
       
    50 
       
    51 
       
    52 else if ($pun_config['o_rules'] == '1' && !isset($_GET['agree']) && !isset($_POST['form_sent']))
       
    53 {
       
    54 	$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
       
    55 	require PUN_ROOT.'header.php';
       
    56 
       
    57 ?>
       
    58 <div class="blockform">
       
    59 	<h2><span><?php echo $lang_register['Forum rules'] ?></span></h2>
       
    60 	<div class="box">
       
    61 		<form method="get" action="register.php">
       
    62 			<div class="inform">
       
    63 				<fieldset>
       
    64 					<legend><?php echo $lang_register['Rules legend'] ?></legend>
       
    65 					<div class="infldset">
       
    66 						<p><?php echo $pun_config['o_rules_message'] ?></p>
       
    67 					</div>
       
    68 				</fieldset>
       
    69 			</div>
       
    70 			<p><input type="submit" name="agree" value="<?php echo $lang_register['Agree'] ?>" /><input type="submit" name="cancel" value="<?php echo $lang_register['Cancel'] ?>" /></p>
       
    71 		</form>
       
    72 	</div>
       
    73 </div>
       
    74 <?php
       
    75 
       
    76 	require PUN_ROOT.'footer.php';
       
    77 }
       
    78 
       
    79 
       
    80 else if (isset($_POST['form_sent']))
       
    81 {
       
    82 	// Check that someone from this IP didn't register a user within the last hour (DoS prevention)
       
    83 	$result = $db->query('SELECT 1 FROM '.$db->prefix.'users WHERE registration_ip=\''.get_remote_address().'\' AND registered>'.(time() - 3600)) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
       
    84 
       
    85 	if ($db->num_rows($result))
       
    86 		message('A new user was registered with the same IP address as you within the last hour. To prevent registration flooding, at least an hour has to pass between registrations from the same IP. Sorry for the inconvenience.');
       
    87 
       
    88 
       
    89 	$username = pun_trim($_POST['req_username']);
       
    90 	$email1 = strtolower(trim($_POST['req_email1']));
       
    91 
       
    92 	if ($pun_config['o_regs_verify'] == '1')
       
    93 	{
       
    94 		$email2 = strtolower(trim($_POST['req_email2']));
       
    95 
       
    96 		$password1 = random_pass(8);
       
    97 		$password2 = $password1;
       
    98 	}
       
    99 	else
       
   100 	{
       
   101 		$password1 = trim($_POST['req_password1']);
       
   102 		$password2 = trim($_POST['req_password2']);
       
   103 	}
       
   104 
       
   105 	// Convert multiple whitespace characters into one (to prevent people from registering with indistinguishable usernames)
       
   106 	$username = preg_replace('#\s+#s', ' ', $username);
       
   107 
       
   108 	// Validate username and passwords
       
   109 	if (strlen($username) < 2)
       
   110 		message($lang_prof_reg['Username too short']);
       
   111 	else if (pun_strlen($username) > 25)	// This usually doesn't happen since the form element only accepts 25 characters
       
   112 	    message($lang_common['Bad request']);
       
   113 	else if (strlen($password1) < 4)
       
   114 		message($lang_prof_reg['Pass too short']);
       
   115 	else if ($password1 != $password2)
       
   116 		message($lang_prof_reg['Pass not match']);
       
   117 	else if (!strcasecmp($username, 'Guest') || !strcasecmp($username, $lang_common['Guest']))
       
   118 		message($lang_prof_reg['Username guest']);
       
   119 	else if (preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $username))
       
   120 		message($lang_prof_reg['Username IP']);
       
   121 	else if ((strpos($username, '[') !== false || strpos($username, ']') !== false) && strpos($username, '\'') !== false && strpos($username, '"') !== false)
       
   122 		message($lang_prof_reg['Username reserved chars']);
       
   123 	else if (preg_match('#\[b\]|\[/b\]|\[u\]|\[/u\]|\[i\]|\[/i\]|\[color|\[/color\]|\[quote\]|\[quote=|\[/quote\]|\[code\]|\[/code\]|\[img\]|\[/img\]|\[url|\[/url\]|\[email|\[/email\]#i', $username))
       
   124 		message($lang_prof_reg['Username BBCode']);
       
   125 
       
   126 	// Check username for any censored words
       
   127 	if ($pun_config['o_censoring'] == '1')
       
   128 	{
       
   129 		// If the censored username differs from the username
       
   130 		if (censor_words($username) != $username)
       
   131 			message($lang_register['Username censor']);
       
   132 	}
       
   133 
       
   134 	// Check that the username (or a too similar username) is not already registered
       
   135 	$result = $db->query('SELECT username FROM '.$db->prefix.'users WHERE UPPER(username)=UPPER(\''.$db->escape($username).'\') OR UPPER(username)=UPPER(\''.$db->escape(preg_replace('/[^\w]/', '', $username)).'\')') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
       
   136 
       
   137 	if ($db->num_rows($result))
       
   138 	{
       
   139 		$busy = $db->result($result);
       
   140 		message($lang_register['Username dupe 1'].' '.pun_htmlspecialchars($busy).'. '.$lang_register['Username dupe 2']);
       
   141 	}
       
   142 
       
   143 
       
   144 	// Validate e-mail
       
   145 	require PUN_ROOT.'include/email.php';
       
   146 
       
   147 	if (!is_valid_email($email1))
       
   148 		message($lang_common['Invalid e-mail']);
       
   149 	else if ($pun_config['o_regs_verify'] == '1' && $email1 != $email2)
       
   150 		message($lang_register['E-mail not match']);
       
   151 
       
   152 	// Check it it's a banned e-mail address
       
   153 	if (is_banned_email($email1))
       
   154 	{
       
   155 		if ($pun_config['p_allow_banned_email'] == '0')
       
   156 			message($lang_prof_reg['Banned e-mail']);
       
   157 
       
   158 		$banned_email = true;	// Used later when we send an alert e-mail
       
   159 	}
       
   160 	else
       
   161 		$banned_email = false;
       
   162 
       
   163 	// Check if someone else already has registered with that e-mail address
       
   164 	$dupe_list = array();
       
   165 
       
   166 	$result = $db->query('SELECT username FROM '.$db->prefix.'users WHERE email=\''.$email1.'\'') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
       
   167 	if ($db->num_rows($result))
       
   168 	{
       
   169 		if ($pun_config['p_allow_dupe_email'] == '0')
       
   170 			message($lang_prof_reg['Dupe e-mail']);
       
   171 
       
   172 		while ($cur_dupe = $db->fetch_assoc($result))
       
   173 			$dupe_list[] = $cur_dupe['username'];
       
   174 	}
       
   175 
       
   176 	// Make sure we got a valid language string
       
   177 	if (isset($_POST['language']))
       
   178 	{
       
   179 		$language = preg_replace('#[\.\\\/]#', '', $_POST['language']);
       
   180 		if (!file_exists(PUN_ROOT.'lang/'.$language.'/common.php'))
       
   181 				message($lang_common['Bad request']);
       
   182 	}
       
   183 	else
       
   184 		$language = $pun_config['o_default_lang'];
       
   185 
       
   186 	$timezone = round($_POST['timezone'], 1);
       
   187 	$save_pass = (!isset($_POST['save_pass']) || $_POST['save_pass'] != '1') ? '0' : '1';
       
   188 
       
   189 	$email_setting = intval($_POST['email_setting']);
       
   190 	if ($email_setting < 0 || $email_setting > 2) $email_setting = 1;
       
   191 
       
   192 	// Insert the new user into the database. We do this now to get the last inserted id for later use.
       
   193 	$now = time();
       
   194 
       
   195 	$intial_group_id = ($pun_config['o_regs_verify'] == '0') ? $pun_config['o_default_user_group'] : PUN_UNVERIFIED;
       
   196 	$password_hash = pun_hash($password1);
       
   197 
       
   198 	// Add the user
       
   199 	$db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, save_pass, timezone, language, style, registered, registration_ip, last_visit) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$email1.'\', '.$email_setting.', '.$save_pass.', '.$timezone.' , \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());
       
   200 	$new_uid = $db->insert_id();
       
   201 
       
   202 
       
   203 	// If we previously found out that the e-mail was banned
       
   204 	if ($banned_email && $pun_config['o_mailing_list'] != '')
       
   205 	{
       
   206 		$mail_subject = 'Alert - Banned e-mail detected';
       
   207 		$mail_message = 'User \''.$username.'\' registered with banned e-mail address: '.$email1."\n\n".'User profile: '.$pun_config['o_base_url'].'/profile.php?id='.$new_uid."\n\n".'-- '."\n".'Forum Mailer'."\n".'(Do not reply to this message)';
       
   208 
       
   209 		pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
       
   210 	}
       
   211 
       
   212 	// If we previously found out that the e-mail was a dupe
       
   213 	if (!empty($dupe_list) && $pun_config['o_mailing_list'] != '')
       
   214 	{
       
   215 		$mail_subject = 'Alert - Duplicate e-mail detected';
       
   216 		$mail_message = 'User \''.$username.'\' registered with an e-mail address that also belongs to: '.implode(', ', $dupe_list)."\n\n".'User profile: '.$pun_config['o_base_url'].'/profile.php?id='.$new_uid."\n\n".'-- '."\n".'Forum Mailer'."\n".'(Do not reply to this message)';
       
   217 
       
   218 		pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
       
   219 	}
       
   220 
       
   221 	// Should we alert people on the admin mailing list that a new user has registered?
       
   222 	if ($pun_config['o_regs_report'] == '1')
       
   223 	{
       
   224 		$mail_subject = 'Alert - New registration';
       
   225 		$mail_message = 'User \''.$username.'\' registered in the forums at '.$pun_config['o_base_url']."\n\n".'User profile: '.$pun_config['o_base_url'].'/profile.php?id='.$new_uid."\n\n".'-- '."\n".'Forum Mailer'."\n".'(Do not reply to this message)';
       
   226 
       
   227 		pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
       
   228 	}
       
   229 
       
   230 	// Must the user verify the registration or do we log him/her in right now?
       
   231 	if ($pun_config['o_regs_verify'] == '1')
       
   232 	{
       
   233 		// Load the "welcome" template
       
   234 		$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/welcome.tpl'));
       
   235 
       
   236 		// The first row contains the subject
       
   237 		$first_crlf = strpos($mail_tpl, "\n");
       
   238 		$mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
       
   239 		$mail_message = trim(substr($mail_tpl, $first_crlf));
       
   240 
       
   241 		$mail_subject = str_replace('<board_title>', $pun_config['o_board_title'], $mail_subject);
       
   242 		$mail_message = str_replace('<base_url>', $pun_config['o_base_url'].'/', $mail_message);
       
   243 		$mail_message = str_replace('<username>', $username, $mail_message);
       
   244 		$mail_message = str_replace('<password>', $password1, $mail_message);
       
   245 		$mail_message = str_replace('<login_url>', $pun_config['o_base_url'].'/login.php', $mail_message);
       
   246 		$mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message);
       
   247 
       
   248 		pun_mail($email1, $mail_subject, $mail_message);
       
   249 
       
   250 		message($lang_register['Reg e-mail'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true);
       
   251 	}
       
   252 
       
   253 	pun_setcookie($new_uid, $password_hash, ($save_pass != '0') ? $now + 31536000 : 0);
       
   254 
       
   255 	redirect('index.php', $lang_register['Reg complete']);
       
   256 }
       
   257 
       
   258 
       
   259 $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
       
   260 $required_fields = array('req_username' => $lang_common['Username'], 'req_password1' => $lang_common['Password'], 'req_password2' => $lang_prof_reg['Confirm pass'], 'req_email1' => $lang_common['E-mail'], 'req_email2' => $lang_common['E-mail'].' 2');
       
   261 $focus_element = array('register', 'req_username');
       
   262 require PUN_ROOT.'header.php';
       
   263 
       
   264 ?>
       
   265 <div class="blockform">
       
   266 	<h2><span><?php echo $lang_register['Register'] ?></span></h2>
       
   267 	<div class="box">
       
   268 		<form id="register" method="post" action="register.php?action=register" onsubmit="this.register.disabled=true;if(process_form(this)){return true;}else{this.register.disabled=false;return false;}">
       
   269 			<div class="inform">
       
   270 				<div class="forminfo">
       
   271 					<h3><?php echo $lang_common['Important information'] ?></h3>
       
   272 					<p><?php echo $lang_register['Desc 1'] ?></p>
       
   273 					<p><?php echo $lang_register['Desc 2'] ?></p>
       
   274 				</div>
       
   275 				<fieldset>
       
   276 					<legend><?php echo $lang_register['Username legend'] ?></legend>
       
   277 					<div class="infldset">
       
   278 						<input type="hidden" name="form_sent" value="1" />
       
   279 						<label><strong><?php echo $lang_common['Username'] ?></strong><br /><input type="text" name="req_username" size="25" maxlength="25" /><br /></label>
       
   280 					</div>
       
   281 				</fieldset>
       
   282 			</div>
       
   283 <?php if ($pun_config['o_regs_verify'] == '0'): ?>			<div class="inform">
       
   284 				<fieldset>
       
   285 					<legend><?php echo $lang_register['Pass legend 1'] ?></legend>
       
   286 					<div class="infldset">
       
   287 						<label class="conl"><strong><?php echo $lang_common['Password'] ?></strong><br /><input type="password" name="req_password1" size="16" maxlength="16" /><br /></label>
       
   288 						<label class="conl"><strong><?php echo $lang_prof_reg['Confirm pass'] ?></strong><br /><input type="password" name="req_password2" size="16" maxlength="16" /><br /></label>
       
   289 						<p class="clearb"><?php echo $lang_register['Pass info'] ?></p>
       
   290 					</div>
       
   291 				</fieldset>
       
   292 			</div>
       
   293 <?php endif; ?>			<div class="inform">
       
   294 				<fieldset>
       
   295 					<legend><?php echo ($pun_config['o_regs_verify'] == '1') ? $lang_prof_reg['E-mail legend 2'] : $lang_prof_reg['E-mail legend'] ?></legend>
       
   296 					<div class="infldset">
       
   297 <?php if ($pun_config['o_regs_verify'] == '1'): ?>			<p><?php echo $lang_register['E-mail info'] ?></p>
       
   298 <?php endif; ?>					<label><strong><?php echo $lang_common['E-mail'] ?></strong><br />
       
   299 						<input type="text" name="req_email1" size="50" maxlength="50" /><br /></label>
       
   300 <?php if ($pun_config['o_regs_verify'] == '1'): ?>						<label><strong><?php echo $lang_register['Confirm e-mail'] ?></strong><br />
       
   301 						<input type="text" name="req_email2" size="50" maxlength="50" /><br /></label>
       
   302 <?php endif; ?>					</div>
       
   303 				</fieldset>
       
   304 			</div>
       
   305 			<div class="inform">
       
   306 				<fieldset>
       
   307 					<legend><?php echo $lang_prof_reg['Localisation legend'] ?></legend>
       
   308 					<div class="infldset">
       
   309 						<label><?php echo $lang_prof_reg['Timezone'] ?>: <?php echo $lang_prof_reg['Timezone info'] ?>
       
   310 						<br /><select id="time_zone" name="timezone">
       
   311 							<option value="-12"<?php if ($pun_config['o_server_timezone'] == -12 ) echo ' selected="selected"' ?>>-12</option>
       
   312 							<option value="-11"<?php if ($pun_config['o_server_timezone'] == -11) echo ' selected="selected"' ?>>-11</option>
       
   313 							<option value="-10"<?php if ($pun_config['o_server_timezone'] == -10) echo ' selected="selected"' ?>>-10</option>
       
   314 							<option value="-9.5"<?php if ($pun_config['o_server_timezone'] == -9.5) echo ' selected="selected"' ?>>-9.5</option>
       
   315 							<option value="-9"<?php if ($pun_config['o_server_timezone'] == -9 ) echo ' selected="selected"' ?>>-09</option>
       
   316 							<option value="-8.5"<?php if ($pun_config['o_server_timezone'] == -8.5) echo ' selected="selected"' ?>>-8.5</option>
       
   317 							<option value="-8"<?php if ($pun_config['o_server_timezone'] == -8 ) echo ' selected="selected"' ?>>-08 PST</option>
       
   318 							<option value="-7"<?php if ($pun_config['o_server_timezone'] == -7 ) echo ' selected="selected"' ?>>-07 MST</option>
       
   319 							<option value="-6"<?php if ($pun_config['o_server_timezone'] == -6 ) echo ' selected="selected"' ?>>-06 CST</option>
       
   320 							<option value="-5"<?php if ($pun_config['o_server_timezone'] == -5 ) echo ' selected="selected"' ?>>-05 EST</option>
       
   321 							<option value="-4"<?php if ($pun_config['o_server_timezone'] == -4 ) echo ' selected="selected"' ?>>-04 AST</option>
       
   322 							<option value="-3.5"<?php if ($pun_config['o_server_timezone'] == -3.5) echo ' selected="selected"' ?>>-3.5</option>
       
   323 							<option value="-3"<?php if ($pun_config['o_server_timezone'] == -3 ) echo ' selected="selected"' ?>>-03 ADT</option>
       
   324 							<option value="-2"<?php if ($pun_config['o_server_timezone'] == -2 ) echo ' selected="selected"' ?>>-02</option>
       
   325 							<option value="-1"<?php if ($pun_config['o_server_timezone'] == -1) echo ' selected="selected"' ?>>-01</option>
       
   326 							<option value="0"<?php if ($pun_config['o_server_timezone'] == 0) echo ' selected="selected"' ?>>00 GMT</option>
       
   327 							<option value="1"<?php if ($pun_config['o_server_timezone'] == 1) echo ' selected="selected"' ?>>+01 CET</option>
       
   328 							<option value="2"<?php if ($pun_config['o_server_timezone'] == 2 ) echo ' selected="selected"' ?>>+02</option>
       
   329 							<option value="3"<?php if ($pun_config['o_server_timezone'] == 3 ) echo ' selected="selected"' ?>>+03</option>
       
   330 							<option value="3.5"<?php if ($pun_config['o_server_timezone'] == 3.5 ) echo ' selected="selected"' ?>>+03.5</option>
       
   331 							<option value="4"<?php if ($pun_config['o_server_timezone'] == 4 ) echo ' selected="selected"' ?>>+04</option>
       
   332 							<option value="4.5"<?php if ($pun_config['o_server_timezone'] == 4.5 ) echo ' selected="selected"' ?>>+04.5</option>
       
   333 							<option value="5"<?php if ($pun_config['o_server_timezone'] == 5 ) echo ' selected="selected"' ?>>+05</option>
       
   334 							<option value="5.5"<?php if ($pun_config['o_server_timezone'] == 5.5 ) echo ' selected="selected"' ?>>+05.5</option>
       
   335 							<option value="6"<?php if ($pun_config['o_server_timezone'] == 6 ) echo ' selected="selected"' ?>>+06</option>
       
   336 							<option value="6.5"<?php if ($pun_config['o_server_timezone'] == 6.5 ) echo ' selected="selected"' ?>>+06.5</option>
       
   337 							<option value="7"<?php if ($pun_config['o_server_timezone'] == 7 ) echo ' selected="selected"' ?>>+07</option>
       
   338 							<option value="8"<?php if ($pun_config['o_server_timezone'] == 8 ) echo ' selected="selected"' ?>>+08</option>
       
   339 							<option value="9"<?php if ($pun_config['o_server_timezone'] == 9 ) echo ' selected="selected"' ?>>+09</option>
       
   340 							<option value="9.5"<?php if ($pun_config['o_server_timezone'] == 9.5 ) echo ' selected="selected"' ?>>+09.5</option>
       
   341 							<option value="10"<?php if ($pun_config['o_server_timezone'] == 10) echo ' selected="selected"' ?>>+10</option>
       
   342 							<option value="10.5"<?php if ($pun_config['o_server_timezone'] == 10.5 ) echo ' selected="selected"' ?>>+10.5</option>
       
   343 							<option value="11"<?php if ($pun_config['o_server_timezone'] == 11) echo ' selected="selected"' ?>>+11</option>
       
   344 							<option value="11.5"<?php if ($pun_config['o_server_timezone'] == 11.5 ) echo ' selected="selected"' ?>>+11.5</option>
       
   345 							<option value="12"<?php if ($pun_config['o_server_timezone'] == 12 ) echo ' selected="selected"' ?>>+12</option>
       
   346 							<option value="13"<?php if ($pun_config['o_server_timezone'] == 13 ) echo ' selected="selected"' ?>>+13</option>
       
   347 							<option value="14"<?php if ($pun_config['o_server_timezone'] == 14 ) echo ' selected="selected"' ?>>+14</option>
       
   348 						</select>
       
   349 						<br /></label>
       
   350 <?php
       
   351 
       
   352 		$languages = array();
       
   353 		$d = dir(PUN_ROOT.'lang');
       
   354 		while (($entry = $d->read()) !== false)
       
   355 		{
       
   356 			if ($entry != '.' && $entry != '..' && is_dir(PUN_ROOT.'lang/'.$entry) && file_exists(PUN_ROOT.'lang/'.$entry.'/common.php'))
       
   357 				$languages[] = $entry;
       
   358 		}
       
   359 		$d->close();
       
   360 
       
   361 		// Only display the language selection box if there's more than one language available
       
   362 		if (count($languages) > 1)
       
   363 		{
       
   364 
       
   365 ?>
       
   366 							<label><?php echo $lang_prof_reg['Language'] ?>: <?php echo $lang_prof_reg['Language info'] ?>
       
   367 							<br /><select name="language">
       
   368 <?php
       
   369 
       
   370 			while (list(, $temp) = @each($languages))
       
   371 			{
       
   372 				if ($pun_config['o_default_lang'] == $temp)
       
   373 					echo "\t\t\t\t\t\t\t\t".'<option value="'.$temp.'" selected="selected">'.$temp.'</option>'."\n";
       
   374 				else
       
   375 					echo "\t\t\t\t\t\t\t\t".'<option value="'.$temp.'">'.$temp.'</option>'."\n";
       
   376 			}
       
   377 
       
   378 ?>
       
   379 							</select>
       
   380 							<br /></label>
       
   381 <?php
       
   382 
       
   383 		}
       
   384 ?>
       
   385 					</div>
       
   386 				</fieldset>
       
   387 			</div>
       
   388 			<div class="inform">
       
   389 				<fieldset>
       
   390 					<legend><?php echo $lang_prof_reg['Privacy options legend'] ?></legend>
       
   391 					<div class="infldset">
       
   392 						<p><?php echo $lang_prof_reg['E-mail setting info'] ?></p>
       
   393 						<div class="rbox">
       
   394 							<label><input type="radio" name="email_setting" value="0" /><?php echo $lang_prof_reg['E-mail setting 1'] ?><br /></label>
       
   395 							<label><input type="radio" name="email_setting" value="1" checked="checked" /><?php echo $lang_prof_reg['E-mail setting 2'] ?><br /></label>
       
   396 							<label><input type="radio" name="email_setting" value="2" /><?php echo $lang_prof_reg['E-mail setting 3'] ?><br /></label>
       
   397 						</div>
       
   398 						<p><?php echo $lang_prof_reg['Save user/pass info'] ?></p>
       
   399 						<div class="rbox">
       
   400 							<label><input type="checkbox" name="save_pass" value="1" checked="checked" /><?php echo $lang_prof_reg['Save user/pass'] ?><br /></label>
       
   401 						</div>
       
   402 					</div>
       
   403 				</fieldset>
       
   404 			</div>
       
   405 			<p><input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" /></p>
       
   406 		</form>
       
   407 	</div>
       
   408 </div>
       
   409 <?php
       
   410 
       
   411 require PUN_ROOT.'footer.php';