adopted md5sum
[archlinuxdevstack.git] / fluxbb / register.php
blob80df9192a6726a6b4d7a252c8cdf822510948481
1 <?php
2 /***********************************************************************
4 Copyright (C) 2002-2008 PunBB
6 This file is part of PunBB.
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.
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.
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
23 ************************************************************************/
26 define('PUN_ROOT', './');
27 require PUN_ROOT.'include/common.php';
30 // If we are logged in, we shouldn't be here
31 if (!$pun_user['is_guest'])
33 header('Location: index.php');
34 exit;
36 //This is part of the human test, it will ensure that the values submitted to register.php come from the form and are not part of a spambot submitting POST variables directly to register.php
37 session_start();
38 $hum_id = session_id();
39 // Load the register.php language file
40 require PUN_ROOT.'lang/'.$pun_user['language'].'/register.php';
42 // Load the register.php/profile.php language file
43 require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';
45 if ($pun_config['o_regs_allow'] == '0')
46 message($lang_register['No new regs']);
49 // User pressed the cancel button
50 if (isset($_GET['cancel']))
51 redirect('index.php', $lang_register['Reg cancel redirect']);
54 else if ($pun_config['o_rules'] == '1' && !isset($_GET['agree']) && !isset($_POST['form_sent']))
56 $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
57 require PUN_ROOT.'header.php';
60 <div class="blockform">
61 <h2><span><?php echo $lang_register['Forum rules'] ?></span></h2>
62 <div class="box">
63 <form method="get" action="register.php">
64 <div class="inform">
65 <fieldset>
66 <legend><?php echo $lang_register['Rules legend'] ?></legend>
67 <div class="infldset">
68 <p><?php echo $pun_config['o_rules_message'] ?></p>
69 </div>
70 </fieldset>
71 </div>
72 <p><input type="submit" name="agree" value="<?php echo $lang_register['Agree'] ?>" /><input type="submit" name="cancel" value="<?php echo $lang_register['Cancel'] ?>" /></p>
73 </form>
74 </div>
75 </div>
76 <?php
78 require PUN_ROOT.'footer.php';
82 else if (isset($_POST['form_sent']))
84 //Human validation, first check that the session ID is present in the session array.....
85 //This one should catch most "simple" bot programs because the form requires that step one is loaded. It prevents bots from submitting variables to register.php directly
86 if( $hum_id != $_SESSION['hum_sumtest'] ) {
87 message('Mhhh, maybe you should try and submit your values via the form and not submit them directly to register.php ..... byebye bot....');
88 } //if( $hum_id != $_SESSION['hum_sumtest'] )
89 //Now check that the correct human test answer was given, don't do anything if this fails
90 if( isset($_POST['human_test']) ) { $hum_answer = $_POST['human_test']; } else { $hum_answer = Null; }
91 if( !isset($_SESSION['hum_qna_i']) ) { //Ensure that the Question Index has been stored in the last step
92 message('Missing Question Index, please contact the administrator of the forum and report the issue, thank you.');
93 } //if( !isset($_SESSION['hum_qna_i']) )
94 $hum_q_index = $_SESSION['hum_qna_i']; //This is the question index, used to lookup the question
95 $hum_answ_correct = False; //Set to True if the answer given is correct
96 require_once 'QandA.php';
97 //Now test that the answer is correct, all tests are done in lower case
98 $hum_answ_cnt = count($hum_qna[$hum_q_index]); //First check how many possible answers there are
99 //Now loop through answers to check if the answer given is actually in the list of correct answers
100 for( $hum_x=1 ; $hum_x < $hum_answ_cnt ; $hum_x++ ) {
101 $hum_qna_line = $hum_qna[$hum_q_index][$hum_x];
102 if( strcasecmp( $hum_answer, $hum_qna_line) == 0 ) {
103 $hum_answ_correct = True; //The answer is correct, cool
104 } //if( strcasecmp( $hum_answer, $hum_qna_line) == 0 )
105 }//for( $hum_x=1 ; $hum_x >= $hum_answ_cnt ; $hum_x++ )
106 //The loop is over, check if the correct answer was given and issue error if not
107 if( $hum_answ_correct == False ) {
108 message('You supplied and incorrect answer at the "Human Test" field, please try again');
109 } //if( $hum_answ_correct == False )
110 //This should be it, the user should be human and not a bot
111 // Check that someone from this IP didn't register a user within the last hour (DoS prevention)
112 $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());
114 if ($db->num_rows($result))
115 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.');
118 $username = pun_trim($_POST['req_username']);
119 $email1 = strtolower(trim($_POST['req_email1']));
121 if ($pun_config['o_regs_verify'] == '1')
123 $email2 = strtolower(trim($_POST['req_email2']));
125 $password1 = random_pass(8);
126 $password2 = $password1;
128 else
130 $password1 = trim($_POST['req_password1']);
131 $password2 = trim($_POST['req_password2']);
134 // Convert multiple whitespace characters into one (to prevent people from registering with indistinguishable usernames)
135 $username = preg_replace('#\s+#s', ' ', $username);
137 // Validate username and passwords
138 if (strlen($username) < 2)
139 message($lang_prof_reg['Username too short']);
140 else if (pun_strlen($username) > 25) // This usually doesn't happen since the form element only accepts 25 characters
141 message($lang_common['Bad request']);
142 else if (strlen($password1) < 4)
143 message($lang_prof_reg['Pass too short']);
144 else if ($password1 != $password2)
145 message($lang_prof_reg['Pass not match']);
146 else if (!strcasecmp($username, 'Guest') || !strcasecmp($username, $lang_common['Guest']))
147 message($lang_prof_reg['Username guest']);
148 else if (preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $username))
149 message($lang_prof_reg['Username IP']);
150 else if ((strpos($username, '[') !== false || strpos($username, ']') !== false) && strpos($username, '\'') !== false && strpos($username, '"') !== false)
151 message($lang_prof_reg['Username reserved chars']);
152 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))
153 message($lang_prof_reg['Username BBCode']);
155 // Check username for any censored words
156 if ($pun_config['o_censoring'] == '1')
158 // If the censored username differs from the username
159 if (censor_words($username) != $username)
160 message($lang_register['Username censor']);
163 // Check that the username (or a too similar username) is not already registered
164 $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());
166 if ($db->num_rows($result))
168 $busy = $db->result($result);
169 message($lang_register['Username dupe 1'].' '.pun_htmlspecialchars($busy).'. '.$lang_register['Username dupe 2']);
173 // Validate e-mail
174 require PUN_ROOT.'include/email.php';
176 if (!is_valid_email($email1))
177 message($lang_common['Invalid e-mail']);
178 else if ($pun_config['o_regs_verify'] == '1' && $email1 != $email2)
179 message($lang_register['E-mail not match']);
181 // Check it it's a banned e-mail address
182 if (is_banned_email($email1))
184 if ($pun_config['p_allow_banned_email'] == '0')
185 message($lang_prof_reg['Banned e-mail']);
187 $banned_email = true; // Used later when we send an alert e-mail
189 else
190 $banned_email = false;
192 // Check if someone else already has registered with that e-mail address
193 $dupe_list = array();
195 $result = $db->query('SELECT username FROM '.$db->prefix.'users WHERE email=\''.$email1.'\'') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
196 if ($db->num_rows($result))
198 if ($pun_config['p_allow_dupe_email'] == '0')
199 message($lang_prof_reg['Dupe e-mail']);
201 while ($cur_dupe = $db->fetch_assoc($result))
202 $dupe_list[] = $cur_dupe['username'];
205 // Make sure we got a valid language string
206 if (isset($_POST['language']))
208 $language = preg_replace('#[\.\\\/]#', '', $_POST['language']);
209 if (!file_exists(PUN_ROOT.'lang/'.$language.'/common.php'))
210 message($lang_common['Bad request']);
212 else
213 $language = $pun_config['o_default_lang'];
215 $timezone = round($_POST['timezone'], 1);
216 $save_pass = (!isset($_POST['save_pass']) || $_POST['save_pass'] != '1') ? '0' : '1';
218 $email_setting = intval($_POST['email_setting']);
219 if ($email_setting < 0 || $email_setting > 2) $email_setting = 1;
221 // Insert the new user into the database. We do this now to get the last inserted id for later use.
222 $now = time();
224 $intial_group_id = ($pun_config['o_regs_verify'] == '0') ? $pun_config['o_default_user_group'] : PUN_UNVERIFIED;
225 $password_hash = pun_hash($password1);
227 // Add the user
228 $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());
229 $new_uid = $db->insert_id();
232 // If we previously found out that the e-mail was banned
233 if ($banned_email && $pun_config['o_mailing_list'] != '')
235 $mail_subject = 'Alert - Banned e-mail detected';
236 $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)';
238 pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
241 // If we previously found out that the e-mail was a dupe
242 if (!empty($dupe_list) && $pun_config['o_mailing_list'] != '')
244 $mail_subject = 'Alert - Duplicate e-mail detected';
245 $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)';
247 pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
250 // Should we alert people on the admin mailing list that a new user has registered?
251 if ($pun_config['o_regs_report'] == '1')
253 $mail_subject = 'Alert - New registration';
254 $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)';
256 pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
259 // Must the user verify the registration or do we log him/her in right now?
260 if ($pun_config['o_regs_verify'] == '1')
262 // Load the "welcome" template
263 $mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/welcome.tpl'));
265 // The first row contains the subject
266 $first_crlf = strpos($mail_tpl, "\n");
267 $mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
268 $mail_message = trim(substr($mail_tpl, $first_crlf));
270 $mail_subject = str_replace('<board_title>', $pun_config['o_board_title'], $mail_subject);
271 $mail_message = str_replace('<base_url>', $pun_config['o_base_url'].'/', $mail_message);
272 $mail_message = str_replace('<username>', $username, $mail_message);
273 $mail_message = str_replace('<password>', $password1, $mail_message);
274 $mail_message = str_replace('<login_url>', $pun_config['o_base_url'].'/login.php', $mail_message);
275 $mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message);
277 pun_mail($email1, $mail_subject, $mail_message);
279 message($lang_register['Reg e-mail'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true);
282 pun_setcookie($new_uid, $password_hash, ($save_pass != '0') ? $now + 31536000 : 0);
284 redirect('index.php', $lang_register['Reg complete']);
288 $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
289 $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');
290 $focus_element = array('register', 'req_username');
291 require PUN_ROOT.'header.php';
294 <div class="blockform">
295 <h2><span><?php echo $lang_register['Register'] ?></span></h2>
296 <div class="box">
297 <form id="register" method="post" action="register.php?action=register">
298 <div class="inform">
299 <div class="forminfo">
300 <h3><?php echo $lang_common['Important information'] ?></h3>
301 <p><?php echo $lang_register['Desc 1'] ?></p>
302 <p><?php echo $lang_register['Desc 2'] ?></p>
303 </div>
304 <fieldset>
305 <legend><?php echo $lang_register['Username legend'] ?></legend>
306 <div class="infldset">
307 <input type="hidden" name="form_sent" value="1" />
308 <label><strong><?php echo $lang_common['Username'] ?></strong><br /><input type="text" name="req_username" size="25" maxlength="25" /><br /></label>
309 </div>
310 </fieldset>
311 </div>
312 <?php if ($pun_config['o_regs_verify'] == '0'): ?> <div class="inform">
313 <fieldset>
314 <legend><?php echo $lang_register['Pass legend 1'] ?></legend>
315 <div class="infldset">
316 <label class="conl"><strong><?php echo $lang_common['Password'] ?></strong><br /><input type="password" name="req_password1" size="16" maxlength="16" /><br /></label>
317 <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>
318 <p class="clearb"><?php echo $lang_register['Pass info'] ?></p>
319 </div>
320 </fieldset>
321 </div>
322 <?php endif; ?> <div class="inform">
323 <fieldset>
324 <legend><?php echo ($pun_config['o_regs_verify'] == '1') ? $lang_prof_reg['E-mail legend 2'] : $lang_prof_reg['E-mail legend'] ?></legend>
325 <div class="infldset">
326 <?php if ($pun_config['o_regs_verify'] == '1'): ?> <p><?php echo $lang_register['E-mail info'] ?></p>
327 <?php endif; ?> <label><strong><?php echo $lang_common['E-mail'] ?></strong><br />
328 <input type="text" name="req_email1" size="50" maxlength="50" /><br /></label>
329 <?php if ($pun_config['o_regs_verify'] == '1'): ?> <label><strong><?php echo $lang_register['Confirm e-mail'] ?></strong><br />
330 <input type="text" name="req_email2" size="50" maxlength="50" /><br /></label>
331 <?php endif; ?> </div>
332 </fieldset>
333 </div>
334 <div class="inform">
335 <fieldset>
336 <legend>Human Test</legend>
337 <div class="infldset">
338 Please answer the question below to verify that you are not a computer program, thank you.<br>
339 <?PHP
340 //If the form is not loaded but the values send via POST directly to register.php then
341 // $_Session['hum_sumtest'] will be empty at the next step.
342 $_SESSION['hum_sumtest'] = $hum_id; //Save generated value in session array
343 require_once 'QandA.php';
344 $hum_cnt = count($hum_qna) -1; //Find out how many questions there are, -1 since the count starts at zero
345 $hum_qna_i = rand(0, $hum_cnt); //Get random number within question range
346 $hum_question = $hum_qna[$hum_qna_i][0]; //Get the question and save it
347 $_SESSION['hum_qna_i'] = $hum_qna_i; //Store the index of the question
349 Question: <strong><?PHP echo $hum_question; ?></strong><br>
350 Answer: <input type="text" size="30" maxlength="100" name="human_test" value="" />
351 </div>
352 </fieldset>
353 </div>
354 <div class="inform">
355 <fieldset>
356 <legend><?php echo $lang_prof_reg['Localisation legend'] ?></legend>
357 <div class="infldset">
358 <label><?php echo $lang_prof_reg['Timezone'] ?>: <?php echo $lang_prof_reg['Timezone info'] ?>
359 <br /><select id="time_zone" name="timezone">
360 <option value="-12"<?php if ($pun_config['o_server_timezone'] == -12 ) echo ' selected="selected"' ?>>-12</option>
361 <option value="-11"<?php if ($pun_config['o_server_timezone'] == -11) echo ' selected="selected"' ?>>-11</option>
362 <option value="-10"<?php if ($pun_config['o_server_timezone'] == -10) echo ' selected="selected"' ?>>-10</option>
363 <option value="-9.5"<?php if ($pun_config['o_server_timezone'] == -9.5) echo ' selected="selected"' ?>>-9.5</option>
364 <option value="-9"<?php if ($pun_config['o_server_timezone'] == -9 ) echo ' selected="selected"' ?>>-09</option>
365 <option value="-8.5"<?php if ($pun_config['o_server_timezone'] == -8.5) echo ' selected="selected"' ?>>-8.5</option>
366 <option value="-8"<?php if ($pun_config['o_server_timezone'] == -8 ) echo ' selected="selected"' ?>>-08 PST</option>
367 <option value="-7"<?php if ($pun_config['o_server_timezone'] == -7 ) echo ' selected="selected"' ?>>-07 MST</option>
368 <option value="-6"<?php if ($pun_config['o_server_timezone'] == -6 ) echo ' selected="selected"' ?>>-06 CST</option>
369 <option value="-5"<?php if ($pun_config['o_server_timezone'] == -5 ) echo ' selected="selected"' ?>>-05 EST</option>
370 <option value="-4"<?php if ($pun_config['o_server_timezone'] == -4 ) echo ' selected="selected"' ?>>-04 AST</option>
371 <option value="-3.5"<?php if ($pun_config['o_server_timezone'] == -3.5) echo ' selected="selected"' ?>>-3.5</option>
372 <option value="-3"<?php if ($pun_config['o_server_timezone'] == -3 ) echo ' selected="selected"' ?>>-03 ADT</option>
373 <option value="-2"<?php if ($pun_config['o_server_timezone'] == -2 ) echo ' selected="selected"' ?>>-02</option>
374 <option value="-1"<?php if ($pun_config['o_server_timezone'] == -1) echo ' selected="selected"' ?>>-01</option>
375 <option value="0"<?php if ($pun_config['o_server_timezone'] == 0) echo ' selected="selected"' ?>>00 GMT</option>
376 <option value="1"<?php if ($pun_config['o_server_timezone'] == 1) echo ' selected="selected"' ?>>+01 CET</option>
377 <option value="2"<?php if ($pun_config['o_server_timezone'] == 2 ) echo ' selected="selected"' ?>>+02</option>
378 <option value="3"<?php if ($pun_config['o_server_timezone'] == 3 ) echo ' selected="selected"' ?>>+03</option>
379 <option value="3.5"<?php if ($pun_config['o_server_timezone'] == 3.5 ) echo ' selected="selected"' ?>>+03.5</option>
380 <option value="4"<?php if ($pun_config['o_server_timezone'] == 4 ) echo ' selected="selected"' ?>>+04</option>
381 <option value="4.5"<?php if ($pun_config['o_server_timezone'] == 4.5 ) echo ' selected="selected"' ?>>+04.5</option>
382 <option value="5"<?php if ($pun_config['o_server_timezone'] == 5 ) echo ' selected="selected"' ?>>+05</option>
383 <option value="5.5"<?php if ($pun_config['o_server_timezone'] == 5.5 ) echo ' selected="selected"' ?>>+05.5</option>
384 <option value="6"<?php if ($pun_config['o_server_timezone'] == 6 ) echo ' selected="selected"' ?>>+06</option>
385 <option value="6.5"<?php if ($pun_config['o_server_timezone'] == 6.5 ) echo ' selected="selected"' ?>>+06.5</option>
386 <option value="7"<?php if ($pun_config['o_server_timezone'] == 7 ) echo ' selected="selected"' ?>>+07</option>
387 <option value="8"<?php if ($pun_config['o_server_timezone'] == 8 ) echo ' selected="selected"' ?>>+08</option>
388 <option value="9"<?php if ($pun_config['o_server_timezone'] == 9 ) echo ' selected="selected"' ?>>+09</option>
389 <option value="9.5"<?php if ($pun_config['o_server_timezone'] == 9.5 ) echo ' selected="selected"' ?>>+09.5</option>
390 <option value="10"<?php if ($pun_config['o_server_timezone'] == 10) echo ' selected="selected"' ?>>+10</option>
391 <option value="10.5"<?php if ($pun_config['o_server_timezone'] == 10.5 ) echo ' selected="selected"' ?>>+10.5</option>
392 <option value="11"<?php if ($pun_config['o_server_timezone'] == 11) echo ' selected="selected"' ?>>+11</option>
393 <option value="11.5"<?php if ($pun_config['o_server_timezone'] == 11.5 ) echo ' selected="selected"' ?>>+11.5</option>
394 <option value="12"<?php if ($pun_config['o_server_timezone'] == 12 ) echo ' selected="selected"' ?>>+12</option>
395 <option value="13"<?php if ($pun_config['o_server_timezone'] == 13 ) echo ' selected="selected"' ?>>+13</option>
396 <option value="14"<?php if ($pun_config['o_server_timezone'] == 14 ) echo ' selected="selected"' ?>>+14</option>
397 </select>
398 <br /></label>
399 <?php
401 $languages = array();
402 $d = dir(PUN_ROOT.'lang');
403 while (($entry = $d->read()) !== false)
405 if ($entry != '.' && $entry != '..' && is_dir(PUN_ROOT.'lang/'.$entry) && file_exists(PUN_ROOT.'lang/'.$entry.'/common.php'))
406 $languages[] = $entry;
408 $d->close();
410 // Only display the language selection box if there's more than one language available
411 if (count($languages) > 1)
415 <label><?php echo $lang_prof_reg['Language'] ?>: <?php echo $lang_prof_reg['Language info'] ?>
416 <br /><select name="language">
417 <?php
419 while (list(, $temp) = @each($languages))
421 if ($pun_config['o_default_lang'] == $temp)
422 echo "\t\t\t\t\t\t\t\t".'<option value="'.$temp.'" selected="selected">'.$temp.'</option>'."\n";
423 else
424 echo "\t\t\t\t\t\t\t\t".'<option value="'.$temp.'">'.$temp.'</option>'."\n";
428 </select>
429 <br /></label>
430 <?php
434 </div>
435 </fieldset>
436 </div>
437 <div class="inform">
438 <fieldset>
439 <legend><?php echo $lang_prof_reg['Privacy options legend'] ?></legend>
440 <div class="infldset">
441 <p><?php echo $lang_prof_reg['E-mail setting info'] ?></p>
442 <div class="rbox">
443 <label><input type="radio" name="email_setting" value="0" /><?php echo $lang_prof_reg['E-mail setting 1'] ?><br /></label>
444 <label><input type="radio" name="email_setting" value="1" checked="checked" /><?php echo $lang_prof_reg['E-mail setting 2'] ?><br /></label>
445 <label><input type="radio" name="email_setting" value="2" /><?php echo $lang_prof_reg['E-mail setting 3'] ?><br /></label>
446 </div>
447 <p><?php echo $lang_prof_reg['Save user/pass info'] ?></p>
448 <div class="rbox">
449 <label><input type="checkbox" name="save_pass" value="1" checked="checked" /><?php echo $lang_prof_reg['Save user/pass'] ?><br /></label>
450 </div>
451 </div>
452 </fieldset>
453 </div>
454 <p><input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" /></p>
455 </form>
456 </div>
457 </div>
458 <?php
460 require PUN_ROOT.'footer.php';