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