punbb/register.php
changeset 7 98bbc533541c
equal deleted inserted replaced
6:5e1f1e916419 7:98bbc533541c
       
     1 <?php
       
     2 /***********************************************************************
       
     3 
       
     4   Copyright (C) 2002-2008  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 // if (!defined('PUN_ROOT'))
       
    27 // 	define('PUN_ROOT', './');
       
    28 // require PUN_ROOT.'include/common.php';
       
    29 
       
    30 // import globals (I really hope this isn't dangerous)
       
    31 foreach ( $GLOBALS as $key => $_ )
       
    32 {
       
    33   $$key =& $GLOBALS[$key];
       
    34 }
       
    35 
       
    36 ($hook = get_hook('rg_start')) ? eval($hook) : null;
       
    37 
       
    38 // If we are logged in, we shouldn't be here
       
    39 if (!$pun_user['is_guest'])
       
    40 {
       
    41 	header('Location: '.pun_link($pun_url['index']));
       
    42 	exit;
       
    43 }
       
    44 
       
    45 // Load the register.php language file
       
    46 require PUN_ROOT.'lang/'.$pun_user['language'].'/profile.php';
       
    47 
       
    48 
       
    49 if ($pun_config['o_regs_allow'] == '0')
       
    50 	message($lang_profile['No new regs']);
       
    51 
       
    52 
       
    53 // User pressed the cancel button
       
    54 if (isset($_GET['cancel']))
       
    55 	pun_redirect(pun_link($pun_url['index']), $lang_profile['Reg cancel redirect']);
       
    56 
       
    57 // User pressed agree but failed to tick checkbox
       
    58 else if (isset($_GET['agree']) && !isset($_GET['req_agreement']))
       
    59 	pun_redirect(pun_link($pun_url['index']), $lang_profile['Reg cancel redirect']);
       
    60 
       
    61 // Show the rules
       
    62 else if ($pun_config['o_rules'] == '1' && !isset($_GET['agree']) && !isset($_POST['form_sent']))
       
    63 {
       
    64 	// Setup breadcrumbs
       
    65 	$pun_page['crumbs'] = array(
       
    66 		array($pun_config['o_board_title'], pun_link($pun_url['index'])),
       
    67 		array($lang_common['Register'], pun_link($pun_url['register'])),
       
    68 		$lang_common['Rules']
       
    69 	);
       
    70 
       
    71 	($hook = get_hook('rg_rules_pre_header_load')) ? eval($hook) : null;
       
    72 
       
    73 	define('PUN_PAGE', 'rules');
       
    74 	require PUN_ROOT.'header.php';
       
    75 
       
    76 	$pun_page['set_count'] = $pun_page['fld_count'] = 0;
       
    77 
       
    78 ?>
       
    79 <div id="pun-main" class="main">
       
    80 
       
    81 	<h1><span><?php echo end($pun_page['crumbs']) ?></span></h1>
       
    82 
       
    83 	<div class="main-head">
       
    84 		<h2><span><?php echo $lang_common['Forum rules'].' '.$lang_profile['Agree to rules'] ?></span></h2>
       
    85 	</div>
       
    86 
       
    87 	<div class="main-content frm">
       
    88 		<div class="userbox">
       
    89 			<?php echo $pun_config['o_rules_message'] ?>
       
    90 		</div>
       
    91 		<form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo $base_url ?>/register.php">
       
    92 			<fieldset class="frm-set set<?php echo ++$pun_page['set_count'] ?>">
       
    93 				<legend class="frm-legend"><strong><?php echo $lang_common['Required information'] ?></strong></legend>
       
    94 				<div class="checkbox radbox">
       
    95 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>"><span class="fld-label"><?php echo $lang_profile['Agreement'] ?></span><br /><input type="checkbox" id="fld<?php echo $pun_page['fld_count'] ?>" name="req_agreement" value="1" /> <?php echo $lang_profile['Agreement label'] ?></label>
       
    96 				</div>
       
    97 			</fieldset>
       
    98 			<div class="frm-buttons">
       
    99 				<span class="submit"><input type="submit" name="agree" value="<?php echo $lang_profile['Agree'] ?>" /></span>
       
   100 				<span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" /></span>
       
   101 			</div>
       
   102 		</form>
       
   103 	</div>
       
   104 
       
   105 </div>
       
   106 <?php
       
   107 
       
   108 	require PUN_ROOT.'footer.php';
       
   109 }
       
   110 
       
   111 else if (isset($_POST['form_sent']))
       
   112 {
       
   113 	($hook = get_hook('rg_register_form_submitted')) ? eval($hook) : null;
       
   114 
       
   115 	// Check that someone from this IP didn't register a user within the last hour (DoS prevention)
       
   116 	$query = array(
       
   117 		'SELECT'	=> '1',
       
   118 		'FROM'		=> 'users AS u',
       
   119 		'WHERE'		=> 'u.registration_ip=\''.get_remote_address().'\' AND u.registered>'.(time() - 3600)
       
   120 	);
       
   121 
       
   122 	($hook = get_hook('rg_qr_check_register_flood')) ? eval($hook) : null;
       
   123 	$result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
       
   124 	if ($pun_db->num_rows($result))
       
   125 		message($lang_profile['Registration flood']);
       
   126 
       
   127 	$username = trim($_POST['req_username']);
       
   128 	$email1 = strtolower(trim($_POST['req_email1']));
       
   129 
       
   130 	if ($pun_config['o_regs_verify'] == '1')
       
   131 	{
       
   132 		$email2 = strtolower(trim($_POST['req_email2']));
       
   133 
       
   134 		$password1 = random_key(8, true);
       
   135 		$password2 = $password1;
       
   136 	}
       
   137 	else
       
   138 	{
       
   139 		$password1 = trim($_POST['req_password1']);
       
   140 		$password2 = trim($_POST['req_password2']);
       
   141 	}
       
   142 
       
   143 	// Validate the username
       
   144 	$errors = validate_username($username);
       
   145 	if (!empty($errors))
       
   146 		message(current($errors));
       
   147 
       
   148 	// ... and the password
       
   149 	if (pun_strlen($password1) < 4)
       
   150 		message($lang_profile['Pass too short']);
       
   151 	else if ($password1 != $password2)
       
   152 		message($lang_profile['Pass not match']);
       
   153 
       
   154 	// ... and the e-mail address
       
   155 	require PUN_ROOT.'include/email.php';
       
   156 
       
   157 	if (!is_valid_email($email1))
       
   158 		message($lang_common['Invalid e-mail']);
       
   159 	else if ($pun_config['o_regs_verify'] == '1' && $email1 != $email2)
       
   160 		message($lang_profile['E-mail not match']);
       
   161 
       
   162 	// Check if it's a banned e-mail address
       
   163 	$banned_email = is_banned_email($email1);
       
   164 	if ($banned_email && $pun_config['p_allow_banned_email'] == '0')
       
   165 		message($lang_profile['Banned e-mail']);
       
   166 
       
   167 	// Check if someone else already has registered with that e-mail address
       
   168 	$dupe_list = array();
       
   169 
       
   170 	$query = array(
       
   171 		'SELECT'	=> 'u.username',
       
   172 		'FROM'		=> 'users AS u',
       
   173 		'WHERE'		=> 'u.email=\''.$email1.'\''
       
   174 	);
       
   175 
       
   176 	($hook = get_hook('rg_qr_check_email_dupe')) ? eval($hook) : null;
       
   177 	$result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
       
   178 	if ($pun_db->num_rows($result))
       
   179 	{
       
   180 		if ($pun_config['p_allow_dupe_email'] == '0')
       
   181 			message($lang_profile['Dupe e-mail']);
       
   182 
       
   183 		while ($cur_dupe = $pun_db->fetch_assoc($result))
       
   184 			$dupe_list[] = $cur_dupe['username'];
       
   185 	}
       
   186 
       
   187 	// Make sure we got a valid language string
       
   188 	if (isset($_POST['language']))
       
   189 	{
       
   190 		$language = preg_replace('#[\.\\\/]#', '', $_POST['language']);
       
   191 		if (!file_exists(PUN_ROOT.'lang/'.$language.'/common.php'))
       
   192 			message($lang_common['Bad request']);
       
   193 	}
       
   194 	else
       
   195 		$language = $pun_config['o_default_lang'];
       
   196 
       
   197 	$save_pass = (!isset($_POST['save_pass']) || $_POST['save_pass'] != '1') ? 0 : 1;
       
   198 	$email_setting = intval($_POST['email_setting']);
       
   199 	if ($email_setting < 0 || $email_setting > 2) $email_setting = 1;
       
   200 
       
   201 	$initial_group_id = ($pun_config['o_regs_verify'] == '0') ? $pun_config['o_default_user_group'] : PUN_UNVERIFIED;
       
   202 	$salt = random_key(12);
       
   203 	$password_hash = sha1($salt.sha1($password1));
       
   204 
       
   205 	($hook = get_hook('rg_register_pre_add_user')) ? eval($hook) : null;
       
   206 
       
   207 	// Insert the new user into the database. We do this now to get the last inserted id for later use.
       
   208 	$errors = add_user(array(
       
   209 			'username'				=>	$username,
       
   210 			'group_id'				=>	$initial_group_id,
       
   211 			'salt'					=>	$salt,
       
   212 			'password'				=>	$password1,
       
   213 			'password_hash'			=>	$password_hash,
       
   214 			'email'					=>	$email1,
       
   215 			'email_setting'			=>	$email_setting,
       
   216 			'save_pass'				=>	$save_pass,
       
   217 			'timezone'				=>	$_POST['timezone'],
       
   218 			'language'				=>	$language,
       
   219 			'style'					=>	$pun_config['o_default_style'],
       
   220 			'registered'			=>	time(),
       
   221 			'registration_ip'		=>	get_remote_address(),
       
   222 			'activate_key'			=>	($pun_config['o_regs_verify'] == '1') ? '\''.random_key(8, true).'\'' : 'NULL',
       
   223 			'require_verification'	=>	($pun_config['o_regs_verify'] == '1'),
       
   224 			'notify_admins'			=>	($pun_config['o_regs_report'] == '1')
       
   225 		),
       
   226 		$new_uid	// By ref
       
   227 	);
       
   228 
       
   229 	// If we previously found out that the e-mail was banned
       
   230 	if ($banned_email && $pun_config['o_mailing_list'] != '')
       
   231 	{
       
   232 		($hook = get_hook('rg_register_banned_email')) ? eval($hook) : null;
       
   233 
       
   234 		$mail_subject = 'Alert - Banned e-mail detected';
       
   235 		$mail_message = 'User \''.$username.'\' registered with banned e-mail address: '.$email1."\n\n".'User profile: '.pun_link($pun_url['user'], $new_uid)."\n\n".'-- '."\n".'Forum Mailer'."\n".'(Do not reply to this message)';
       
   236 
       
   237 		pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
       
   238 	}
       
   239 
       
   240 	// If we previously found out that the e-mail was a dupe
       
   241 	if (!empty($dupe_list) && $pun_config['o_mailing_list'] != '')
       
   242 	{
       
   243 		($hook = get_hook('rg_register_dupe_email')) ? eval($hook) : null;
       
   244 
       
   245 		$mail_subject = 'Alert - Duplicate e-mail detected';
       
   246 		$mail_message = 'User \''.$username.'\' registered with an e-mail address that also belongs to: '.implode(', ', $dupe_list)."\n\n".'User profile: '.pun_link($pun_url['user'], $new_uid)."\n\n".'-- '."\n".'Forum Mailer'."\n".'(Do not reply to this message)';
       
   247 
       
   248 		pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
       
   249 	}
       
   250 
       
   251 	($hook = get_hook('rg_register_pre_login_redirect')) ? eval($hook) : null;
       
   252 
       
   253 	// Must the user verify the registration or do we log him/her in right now?
       
   254 	if ($pun_config['o_regs_verify'] == '1')
       
   255 		message(sprintf($lang_profile['Reg e-mail'], '<a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>'));
       
   256 
       
   257 	pun_setcookie($cookie_name, base64_encode($new_uid.'|'.$password_hash), ($save_pass != '0') ? time() + 31536000 : 0);
       
   258 
       
   259 	pun_redirect(pun_link($pun_url['index']), $lang_profile['Reg complete']);
       
   260 }
       
   261 
       
   262 // Setup form
       
   263 $pun_page['set_count'] = $pun_page['fld_count'] = 0;
       
   264 $pun_page['form_action'] = $base_url.'/register.php?action=register';
       
   265 
       
   266 // Setup form information
       
   267 $pun_page['frm_info'][] = '<p>'.$lang_profile['Register intro'].'</p>';
       
   268 if ($pun_config['o_regs_verify'] != '0')
       
   269 	$pun_page['frm_info'][] = '<p class="warn">'.$lang_profile['E-mail info'].'</p>';
       
   270 
       
   271 // Setup breadcrumbs
       
   272 $pun_page['crumbs'] = array(
       
   273 	array($pun_config['o_board_title'], pun_link($pun_url['index'])),
       
   274 	$lang_common['Register']
       
   275 );
       
   276 
       
   277 ($hook = get_hook('rg_register_pre_header_load')) ? eval($hook) : null;
       
   278 
       
   279 define('PUN_PAGE', 'register');
       
   280 require PUN_ROOT.'header.php';
       
   281 
       
   282 ?>
       
   283 <div id="pun-main" class="main">
       
   284 
       
   285 	<h1><span><?php echo end($pun_page['crumbs']) ?></span></h1>
       
   286 
       
   287 	<div class="main-head">
       
   288 		<h2><span><?php printf($lang_profile['Register at'], htmlspecialchars($pun_config['o_board_title'])) ?></span></h2>
       
   289 	</div>
       
   290 
       
   291 	<div class="main-content frm">
       
   292 		<div class="frm-info">
       
   293 			<?php echo implode("\n\t\t\t\t", $pun_page['frm_info'])."\n" ?>
       
   294 		</div>
       
   295 		<div id="req-msg" class="frm-warn">
       
   296 			<p class="important"><?php printf($lang_common['Required warn'], '<em class="req-text">'.$lang_common['Required'].'</em>') ?></p>
       
   297 		</div>
       
   298 		<form class="frm-form" id="afocus" method="post" accept-charset="utf-8" action="<?php echo $pun_page['form_action'] ?>">
       
   299 			<div class="hidden">
       
   300 				<input type="hidden" name="form_sent" value="1" />
       
   301 			</div>
       
   302 <?php ($hook = get_hook('rg_register_pre_req_info_fieldset')) ? eval($hook) : null; ?>
       
   303 			<fieldset class="frm-set set<?php echo ++$pun_page['set_count'] ?>">
       
   304 				<legend class="frm-legend"><strong><?php echo $lang_common['Required information'] ?></strong></legend>
       
   305 				<div class="frm-fld text required">
       
   306 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   307 						<span class="fld-label"><?php echo $lang_profile['Username'] ?></span><br />
       
   308 						<span class="fld-input"><input type="text" id="fld<?php echo $pun_page['fld_count'] ?>" name="req_username" size="35" maxlength="25" /></span><br />
       
   309 						<em class="req-text"><?php echo $lang_common['Required'] ?></em>
       
   310 						<span class="fld-help"><?php echo $lang_profile['Username help'] ?></span>
       
   311 					</label>
       
   312 				</div>
       
   313 <?php if ($pun_config['o_regs_verify'] == '0'): ?>				<div class="frm-fld text required">
       
   314 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   315 						<span class="fld-label"><?php echo $lang_profile['Password'] ?></span><br />
       
   316 						<span class="fld-input"><input type="password" id="fld<?php echo $pun_page['fld_count'] ?>" name="req_password1" size="35" /></span><br />
       
   317 						<em class="req-text"><?php echo $lang_common['Required'] ?></em>
       
   318 						<span class="fld-help"><?php echo $lang_profile['Password help'] ?></span>
       
   319 					</label>
       
   320 				</div>
       
   321 				<div class="frm-fld text required">
       
   322 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   323 						<span class="fld-label"><?php echo $lang_profile['Confirm password'] ?></span><br />
       
   324 						<span class="fld-input"><input type="password" id="fld<?php echo $pun_page['fld_count'] ?>" name="req_password2" size="35" /></span><br />
       
   325 						<em class="req-text"><?php echo $lang_common['Required'] ?></em>
       
   326 						<span class="fld-help"><?php echo $lang_profile['Confirm password help'] ?></span>
       
   327 					</label>
       
   328 				</div>
       
   329 <?php endif; ($hook = get_hook('rg_register_pre_email_field')) ? eval($hook) : null; ?>				<div class="frm-fld text required">
       
   330 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   331 						<span class="fld-label"><?php echo $lang_profile['E-mail'] ?></span><br />
       
   332 						<span class="fld-input"><input type="text" id="fld<?php echo $pun_page['fld_count'] ?>" name="req_email1" size="35" maxlength="80" /></span><br />
       
   333 						<em class="req-text"><?php echo $lang_common['Required'] ?></em>
       
   334 						<span class="fld-help"><?php echo $lang_profile['E-mail help'] ?></span>
       
   335 					</label>
       
   336 				</div>
       
   337 <?php if ($pun_config['o_regs_verify'] == '1'): ?>				<div class="frm-fld text required">
       
   338 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   339 						<span class="fld-label"><?php echo $lang_profile['Confirm e-mail'] ?></span><br />
       
   340 						<span class="fld-input"><input type="text" id="fld<?php echo $pun_page['fld_count'] ?>" name="req_email2" size="35" maxlength="80" /></span><br />
       
   341 						<em class="req-text"><?php echo $lang_common['Required'] ?></em>
       
   342 						<span class="fld-help"><?php echo $lang_profile['Confirm e-mail help'] ?></span>
       
   343 					</label>
       
   344 				</div>
       
   345 <?php endif; ($hook = get_hook('rg_register_req_info_end')) ? eval($hook) : null; ?>			</fieldset>
       
   346 <?php ($hook = get_hook('rg_register_post_req_info_fieldset')) ? eval($hook) : null; ?>
       
   347 			<fieldset class="frm-set set<?php echo ++$pun_page['set_count'] ?>">
       
   348 				<legend class="frm-legend"><strong><?php echo $lang_profile['Local legend'] ?></strong></legend>
       
   349 <?php
       
   350 
       
   351 		$languages = array();
       
   352 		$d = dir(PUN_ROOT.'lang');
       
   353 		while (($entry = $d->read()) !== false)
       
   354 		{
       
   355 			if ($entry != '.' && $entry != '..' && is_dir(PUN_ROOT.'lang/'.$entry) && file_exists(PUN_ROOT.'lang/'.$entry.'/common.php'))
       
   356 				$languages[] = $entry;
       
   357 		}
       
   358 		$d->close();
       
   359 
       
   360 		// Only display the language selection box if there's more than one language available
       
   361 		if (count($languages) > 1)
       
   362 		{
       
   363 			natcasesort($languages);
       
   364 
       
   365 ?>
       
   366 				<div class="frm-fld select">
       
   367 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   368 						<span class="fld-label"><?php echo $lang_profile['Language'] ?></span><br />
       
   369 						<span class="fld-input"><select id="fld<?php echo $pun_page['fld_count'] ?>" name="language">
       
   370 <?php
       
   371 
       
   372 			while (list(, $temp) = @each($languages))
       
   373 			{
       
   374 				if ($pun_config['o_default_lang'] == $temp)
       
   375 					echo "\t\t\t\t\t\t".'<option value="'.$temp.'" selected="selected">'.$temp.'</option>'."\n";
       
   376 				else
       
   377 					echo "\t\t\t\t\t\t".'<option value="'.$temp.'">'.$temp.'</option>'."\n";
       
   378 			}
       
   379 
       
   380 ?>
       
   381 						</select></span>
       
   382 					</label>
       
   383 				</div>
       
   384 <?php
       
   385 
       
   386 		}
       
   387 
       
   388 ?>
       
   389 				<div class="frm-fld select">
       
   390 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
       
   391 						<span class="fld-label"><?php echo $lang_profile['Timezone'] ?></span><br />
       
   392 						<span class="fld-input"><select id="fld<?php echo $pun_page['fld_count'] ?>" name="timezone">
       
   393 						<option value="-12"<?php if ($pun_config['o_default_timezone'] == -12 ) echo ' selected="selected"' ?>>-12</option>
       
   394 						<option value="-11"<?php if ($pun_config['o_default_timezone'] == -11) echo ' selected="selected"' ?>>-11</option>
       
   395 						<option value="-10"<?php if ($pun_config['o_default_timezone'] == -10) echo ' selected="selected"' ?>>-10</option>
       
   396 						<option value="-9.5"<?php if ($pun_config['o_default_timezone'] == -9.5) echo ' selected="selected"' ?>>-9.5</option>
       
   397 						<option value="-9"<?php if ($pun_config['o_default_timezone'] == -9 ) echo ' selected="selected"' ?>>-09</option>
       
   398 						<option value="-8.5"<?php if ($pun_config['o_default_timezone'] == -8.5) echo ' selected="selected"' ?>>-8.5</option>
       
   399 						<option value="-8"<?php if ($pun_config['o_default_timezone'] == -8 ) echo ' selected="selected"' ?>>-08 PST</option>
       
   400 						<option value="-7"<?php if ($pun_config['o_default_timezone'] == -7 ) echo ' selected="selected"' ?>>-07 MST</option>
       
   401 						<option value="-6"<?php if ($pun_config['o_default_timezone'] == -6 ) echo ' selected="selected"' ?>>-06 CST</option>
       
   402 						<option value="-5"<?php if ($pun_config['o_default_timezone'] == -5 ) echo ' selected="selected"' ?>>-05 EST</option>
       
   403 						<option value="-4"<?php if ($pun_config['o_default_timezone'] == -4 ) echo ' selected="selected"' ?>>-04 AST</option>
       
   404 						<option value="-3.5"<?php if ($pun_config['o_default_timezone'] == -3.5) echo ' selected="selected"' ?>>-3.5</option>
       
   405 						<option value="-3"<?php if ($pun_config['o_default_timezone'] == -3 ) echo ' selected="selected"' ?>>-03 ADT</option>
       
   406 						<option value="-2"<?php if ($pun_config['o_default_timezone'] == -2 ) echo ' selected="selected"' ?>>-02</option>
       
   407 						<option value="-1"<?php if ($pun_config['o_default_timezone'] == -1) echo ' selected="selected"' ?>>-01</option>
       
   408 						<option value="0"<?php if ($pun_config['o_default_timezone'] == 0) echo ' selected="selected"' ?>>00 GMT</option>
       
   409 						<option value="1"<?php if ($pun_config['o_default_timezone'] == 1) echo ' selected="selected"' ?>>+01 CET</option>
       
   410 						<option value="2"<?php if ($pun_config['o_default_timezone'] == 2 ) echo ' selected="selected"' ?>>+02</option>
       
   411 						<option value="3"<?php if ($pun_config['o_default_timezone'] == 3 ) echo ' selected="selected"' ?>>+03</option>
       
   412 						<option value="3.5"<?php if ($pun_config['o_default_timezone'] == 3.5 ) echo ' selected="selected"' ?>>+03.5</option>
       
   413 						<option value="4"<?php if ($pun_config['o_default_timezone'] == 4 ) echo ' selected="selected"' ?>>+04</option>
       
   414 						<option value="4.5"<?php if ($pun_config['o_default_timezone'] == 4.5 ) echo ' selected="selected"' ?>>+04.5</option>
       
   415 						<option value="5"<?php if ($pun_config['o_default_timezone'] == 5 ) echo ' selected="selected"' ?>>+05</option>
       
   416 						<option value="5.5"<?php if ($pun_config['o_default_timezone'] == 5.5 ) echo ' selected="selected"' ?>>+05.5</option>
       
   417 						<option value="6"<?php if ($pun_config['o_default_timezone'] == 6 ) echo ' selected="selected"' ?>>+06</option>
       
   418 						<option value="6.5"<?php if ($pun_config['o_default_timezone'] == 6.5 ) echo ' selected="selected"' ?>>+06.5</option>
       
   419 						<option value="7"<?php if ($pun_config['o_default_timezone'] == 7 ) echo ' selected="selected"' ?>>+07</option>
       
   420 						<option value="8"<?php if ($pun_config['o_default_timezone'] == 8 ) echo ' selected="selected"' ?>>+08</option>
       
   421 						<option value="9"<?php if ($pun_config['o_default_timezone'] == 9 ) echo ' selected="selected"' ?>>+09</option>
       
   422 						<option value="9.5"<?php if ($pun_config['o_default_timezone'] == 9.5 ) echo ' selected="selected"' ?>>+09.5</option>
       
   423 						<option value="10"<?php if ($pun_config['o_default_timezone'] == 10) echo ' selected="selected"' ?>>+10</option>
       
   424 						<option value="10.5"<?php if ($pun_config['o_default_timezone'] == 10.5 ) echo ' selected="selected"' ?>>+10.5</option>
       
   425 						<option value="11"<?php if ($pun_config['o_default_timezone'] == 11) echo ' selected="selected"' ?>>+11</option>
       
   426 						<option value="11.5"<?php if ($pun_config['o_default_timezone'] == 11.5 ) echo ' selected="selected"' ?>>+11.5</option>
       
   427 						<option value="12"<?php if ($pun_config['o_default_timezone'] == 12 ) echo ' selected="selected"' ?>>+12</option>
       
   428 						<option value="13"<?php if ($pun_config['o_default_timezone'] == 13 ) echo ' selected="selected"' ?>>+13</option>
       
   429 						<option value="14"<?php if ($pun_config['o_default_timezone'] == 14 ) echo ' selected="selected"' ?>>+14</option>
       
   430 						</select></span>
       
   431 					</label>
       
   432 				</div>
       
   433 				<div class="checkbox radbox">
       
   434 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>"><span class="fld-label"><?php echo $lang_profile['Adjust for DST'] ?></span><br /><input type="checkbox" id="fld<?php echo $pun_page['fld_count'] ?>" /> <?php echo $lang_profile['DST label'] ?></label>
       
   435 				</div>
       
   436 <?php ($hook = get_hook('rg_register_local_end')) ? eval($hook) : null; ?>
       
   437 			</fieldset>
       
   438 <?php ($hook = get_hook('rg_register_post_local_fieldset')) ? eval($hook) : null; ?>
       
   439 			<fieldset class="frm-set set<?php echo ++$pun_page['set_count'] ?>">
       
   440 				<legend class="frm-legend"><strong><?php echo $lang_profile['Other settings'] ?></strong></legend>
       
   441 				<fieldset class="frm-group">
       
   442 					<legend><span><?php echo $lang_profile['E-mail settings'] ?></span></legend>
       
   443 					<div class="radbox"><label for="fld<?php echo ++$pun_page['fld_count'] ?>"><input type="radio" id="fld<?php echo $pun_page['fld_count'] ?>" name="email_setting" value="0" /> <?php echo $lang_profile['E-mail setting 1'] ?></label></div>
       
   444 					<div class="radbox"><label for="fld<?php echo ++$pun_page['fld_count'] ?>"><input type="radio" id="fld<?php echo $pun_page['fld_count'] ?>" name="email_setting" value="1" checked="checked" /> <?php echo $lang_profile['E-mail setting 2'] ?></label></div>
       
   445 					<div class="radbox"><label for="fld<?php echo ++$pun_page['fld_count'] ?>"><input type="radio" id="fld<?php echo $pun_page['fld_count'] ?>" name="email_setting" value="2" /> <?php echo $lang_profile['E-mail setting 3'] ?></label></div>
       
   446 				</fieldset>
       
   447 				<div class="checkbox radbox">
       
   448 					<label for="fld<?php echo ++$pun_page['fld_count'] ?>"><span class="fld-label"><?php echo $lang_profile['Persistent login'] ?></span><br /><input type="checkbox" id="fld<?php echo $pun_page['fld_count'] ?>" name="save_pass" value="1" checked="checked" /> <?php echo $lang_profile['Save user/pass'] ?></label>
       
   449 				</div>
       
   450 <?php ($hook = get_hook('rg_register_other_end')) ? eval($hook) : null; ?>
       
   451 			</fieldset>
       
   452 <?php ($hook = get_hook('rg_register_post_other_fieldset')) ? eval($hook) : null; ?>
       
   453 			<div class="frm-buttons">
       
   454 				<span class="submit"><input type="submit" name="register" value="<?php echo $lang_common['Register'] ?>" /></span>
       
   455 			</div>
       
   456 		</form>
       
   457 	</div>
       
   458 
       
   459 </div>
       
   460 <?php
       
   461 
       
   462 ($hook = get_hook('rg_end')) ? eval($hook) : null;
       
   463 
       
   464 require PUN_ROOT.'footer.php';