1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-19 15:17:16 +01:00

User registration works.

git-svn-id: file:///svn/phpbb/trunk@106 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
James Atkinson 2001-03-19 01:35:04 +00:00
parent 40f1f172a8
commit 9eff772508
14 changed files with 822 additions and 202 deletions

View File

@ -63,6 +63,8 @@ else
$email_sig = stripslashes($config[0]["email_sig"]);
$email_from = $config[0]["email_from"];
$default_lang = $config[0]["default_lang"];
$require_activation = $config[0]["require_activation"];
$sys_timezone = $config[0]["system_timezone"];
$sys_lang = $default_lang;
}

View File

@ -29,9 +29,9 @@ $session_cookie_time = 3600;
// DB connection config
$dbms = "mysql";
$dbhost = "localhost";
$dbname = "phpbb2";
$dbuser = "phpbb2";
$dbpasswd = "bbphp2bb";
$dbname = "";
$dbuser = "";
$dbpasswd = "";
// Date format (needs to go into DB)
$date_format = "M d Y h:i:s a"; // American datesformat

View File

@ -46,6 +46,7 @@ CREATE TABLE phpbb_config (
allow_bbcode tinyint(3),
allow_sig tinyint(3),
allow_namechange tinyint(3),
require_activation tinyint(3),
selected int(2) DEFAULT '0' NOT NULL,
posts_per_page int(10),
hot_threshold int(10),
@ -54,6 +55,7 @@ CREATE TABLE phpbb_config (
override_themes tinyint(3),
email_sig varchar(255),
email_from varchar(100),
system_timezone varchar(4),
default_lang varchar(255),
PRIMARY KEY (config_id),
UNIQUE selected (selected)
@ -298,6 +300,8 @@ CREATE TABLE phpbb_users (
user_rank int(10) DEFAULT '0',
user_level int(10) DEFAULT '1',
user_lang varchar(255),
user_timezone varchar(4),
user_active tinyint(3),
user_actkey varchar(32),
user_newpasswd varchar(32),
user_notify tinyint(3),

View File

@ -33,88 +33,91 @@
*/
function auth($type, $db, $id = "", $user_ip = "")
{
global $userdata;
switch($type)
{
case 'ip ban':
$sql = "DELETE FROM ".BANLIST_TABLE."
WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
AND (ban_end > 0)";
$db->sql_query($sql);
$sql = "SELECT ban_ip FROM ".BANLIST_TABLE;
if($result = $db->sql_query($sql))
{
if($totalrows = $db->sql_numrows($result))
{
$iprow = $db->sql_fetchrowset($result);
for($x = 0; $x < $totalrows; $x++)
{
$ip = $iprow[$x]["ban_ip"];
if($ip[strlen($ip) - 1] == ".")
{
$db_ip = explode(".", $ip);
$this_ip = explode(".", $user_ip);
for($x = 0; $x < count($db_ip) - 1; $x++)
{
$my_ip .= $this_ip[$x] . ".";
}
if($my_ip == $ip)
{
return(FALSE);
}
}
else
{
if($ipuser == $ip)
{
return(FALSE);
}
}
}
return(TRUE);
}
else
{
return(TRUE);
}
}
return(TRUE);
break;
case 'username ban':
$sql = "DELETE FROM ".BANLIST_TABLE."
WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
AND (ban_end > 0)";
$db->sql_query($sql);
$sql = "SELECT ban_userid FROM ".BANLIST_TABLE." WHERE ban_userid = '$user_id'";
if($result = $db->sql_query($sql))
{
if($db->sql_numrows($result))
{
return(FALSE);
}
else
{
return(TRUE);
}
}
else
{
return(TRUE);
}
break;
case 'login':
global $password;
if($userdata["user_password"] != md5($password))
{
return(FALSE);
}
else
{
return(TRUE);
}
}
global $userdata;
switch($type)
{
case 'ip ban':
$sql = "DELETE FROM ".BANLIST_TABLE."
WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
AND (ban_end > 0)";
$db->sql_query($sql);
$sql = "SELECT ban_ip FROM ".BANLIST_TABLE;
if($result = $db->sql_query($sql))
{
if($totalrows = $db->sql_numrows($result))
{
$iprow = $db->sql_fetchrowset($result);
for($x = 0; $x < $totalrows; $x++)
{
$ip = $iprow[$x]["ban_ip"];
if($ip[strlen($ip) - 1] == ".")
{
$db_ip = explode(".", $ip);
$this_ip = explode(".", $user_ip);
for($x = 0; $x < count($db_ip) - 1; $x++)
{
$my_ip .= $this_ip[$x] . ".";
}
if($my_ip == $ip)
{
return(FALSE);
}
}
else
{
if($ipuser == $ip)
{
return(FALSE);
}
}
}
return(TRUE);
}
else
{
return(TRUE);
}
}
return(TRUE);
break;
case 'username ban':
$sql = "DELETE FROM ".BANLIST_TABLE."
WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
AND (ban_end > 0)";
$db->sql_query($sql);
$sql = "SELECT ban_userid FROM ".BANLIST_TABLE." WHERE ban_userid = '$user_id'";
if($result = $db->sql_query($sql))
{
if($db->sql_numrows($result))
{
return(FALSE);
}
else
{
return(TRUE);
}
}
else
{
return(TRUE);
}
break;
case 'login':
global $password;
if($userdata["user_password"] != md5($password))
{
return(FALSE);
}
else if($userdata["user_active"] == 0)
{
return(FALSE);
}
else
{
return(TRUE);
}
}
}
@ -124,41 +127,41 @@ function auth($type, $db, $id = "", $user_ip = "")
function get_userdata_from_id($userid, $db)
{
$sql = "SELECT * FROM ".USERS_TABLE." WHERE user_id = $userid";
if(!$result = $db->sql_query($sql))
{
$userdata = array("error" => "1");
return ($userdata);
}
if($db->sql_numrows($result))
{
$myrow = $db->sql_fetchrowset($result);
return($myrow[0]);
}
else
{
$userdata = array("error" => "1");
return ($userdata);
}
$sql = "SELECT * FROM ".USERS_TABLE." WHERE user_id = $userid";
if(!$result = $db->sql_query($sql))
{
$userdata = array("error" => "1");
return ($userdata);
}
if($db->sql_numrows($result))
{
$myrow = $db->sql_fetchrowset($result);
return($myrow[0]);
}
else
{
$userdata = array("error" => "1");
return ($userdata);
}
}
function get_userdata($username, $db) {
$sql = "SELECT * FROM ".USERS_TABLE." WHERE username = '$username' AND user_level != ".DELETED;
if(!$result = $db->sql_query($sql))
{
$userdata = array("error" => "1");
}
$sql = "SELECT * FROM ".USERS_TABLE." WHERE username = '$username' AND user_level != ".DELETED;
if(!$result = $db->sql_query($sql))
{
$userdata = array("error" => "1");
}
if($db->sql_numrows($result))
{
$myrow = $db->sql_fetchrowset($result);
return($myrow[0]);
}
else
{
$userdata = array("error" => "1");
return ($userdata);
}
if($db->sql_numrows($result))
{
$myrow = $db->sql_fetchrowset($result);
return($myrow[0]);
}
else
{
$userdata = array("error" => "1");
return ($userdata);
}
}
?>

View File

@ -24,64 +24,63 @@
function error_die($db, $error_code = "", $error_msg = "")
{
global $template, $phpEx, $default_lang;
if(!$template->get("overall_header"))
{
if(!empty($default_lang))
{
include('language/lang_'.$default_lang.'.'.$phpEx);
}
else
{
include('language/lang_english.'.$phpEx);
}
include('includes/page_header.'.$phpEx);
}
if(!$error_msg)
{
switch($error_code)
global $template, $phpEx, $default_lang;
if(!defined("HEADER_INC"))
{
case GENERAL_ERROR:
if(!$error_msg)
{
$error_msg = "An Error Occured";
}
break;
case SQL_CONNECT:
$db_error = $db->sql_error();
$error_msg = "Error: phpBB could not connect to the database. Reason: " . $db_error["message"];
break;
case BANNED:
$error_msg = "You have been banned from this forum.";
break;
case QUERY_ERROR:
$db_error = $db->sql_error();
$error_msg = "Error: phpBB could not query the database. Reason: " . $db_error["message"];
break;
case SESSION_CREATE:
$error_msg = "Error creating session. Could not log you in. Please go back and try again.";
break;
case NO_POSTS:
$error_msg = "There are no posts in this forum. Click on the 'Post New Topic' link on this page to post one.";
break;
case LOGIN_FAILED:
$error_msg = "Login Failed. You have specified an incorrect username or password, please go back and try again.";
break;
if(!empty($default_lang))
{
include('language/lang_'.$default_lang.'.'.$phpEx);
}
else
{
include('language/lang_english.'.$phpEx);
}
include('includes/page_header.'.$phpEx);
}
}
if(DEBUG)
{
//$error_msg .= "<br>Line number: ".__LINE__."<br>In File: ".__FILE__;
}
$template->set_file(array("error_body" => "error_body.tpl"));
$template->set_var(array("ERROR_MESSAGE" => $error_msg));
$template->pparse("output", "error_body");
include('includes/page_tail.'.$phpEx);
exit();
if(!$error_msg)
{
switch($error_code)
{
case GENERAL_ERROR:
if(!$error_msg)
{
$error_msg = "An Error Occured";
}
break;
case SQL_CONNECT:
$db_error = $db->sql_error();
$error_msg = "Error: phpBB could not connect to the database. Reason: " . $db_error["message"];
break;
case BANNED:
$error_msg = "You have been banned from this forum.";
break;
case QUERY_ERROR:
$db_error = $db->sql_error();
$error_msg = "Error: phpBB could not query the database. Reason: " . $db_error["message"];
break;
case SESSION_CREATE:
$error_msg = "Error creating session. Could not log you in. Please go back and try again.";
break;
case NO_POSTS:
$error_msg = "There are no posts in this forum. Click on the 'Post New Topic' link on this page to post one.";
break;
case LOGIN_FAILED:
$error_msg = "Login Failed. You have specified an incorrect/inactive username or invalid password, please go back and try again.";
break;
}
}
if(DEBUG)
{
//$error_msg .= "<br>Line number: ".__LINE__."<br>In File: ".__FILE__;
}
$template->set_filenames(array("error_body" => "error_body.tpl"));
$template->assign_vars(array("ERROR_MESSAGE" => $error_msg));
$template->pparse("error_body");
include('includes/page_tail.'.$phpEx);
exit();
}
?>

View File

@ -117,4 +117,162 @@ function make_jumpbox($db)
return($boxstring);
}
?>
function language_select($default, $name="language", $dirname="language/")
{
global $phpEx;
$dir = opendir($dirname);
$lang_select = "<select name=\"$name\">\n";
while ($file = readdir($dir))
{
if (ereg("^lang_", $file))
{
$file = str_replace("lang_", "", $file);
$file = str_replace(".$phpEx", "", $file);
$file == $default ? $selected = " SELECTED" : $selected = "";
$lang_select .= " <option$selected>$file\n";
}
}
$lang_select .= "</select>\n";
closedir($dir);
return $lang_select;
}
function theme_select($default, $db)
{
$sql = "SELECT theme_id, theme_name FROM ".THEMES_TABLE." ORDER BY theme_name";
if($result = $db->sql_query($sql))
{
$num = $db->sql_numrows($result);
$rowset = $db->sql_fetchrowset($result);
$theme_select = "<select name=\"theme\">\n";
for($i = 0; $i < $num; $i++)
{
if((stripslashes($rowset[$i]["theme_name"]) == $default) || ($rowset[$i]["theme_id"] == $default))
{
$selected = " SELECTED";
}
else
{
$selected = "";
}
$theme_select .= "\t<option value=\"".$rowset[$i]["theme_id"]."\"$selected>".stripslashes($rowset[$i]["theme_name"])."</option>\n";
}
$theme_select .= "</select>\n";
}
else
{
$theme_select = "<select name=\"theme\"><option value=\"-1\">Error in theme_select</option></select>";
}
return($theme_select);
}
function tz_select($default)
{
global $board_tz;
if(!isset($default))
{
$default == $board_tz;
}
$tz_select = "<select name=\"timezone\">";
$tz_array = array(
"-12" => "(GMT -12:00 hours) Eniwetok, Kwajalein",
"-11" => "(GMT -11:00 hours) Midway Island, Samoa",
"-10" => "(GMT -10:00 hours) Hawaii",
"-9" => "(GMT -9:00 hours) Alaska",
"-8" => "(GMT -8:00 hours) Pacific Time (US & Canada)",
"-7" => "(GMT -7:00 hours) Mountain Time (US & Canada)",
"-6" => "(GMT -6:00 hours) Central Time (US & Canada), Mexico City",
"-5" => "(GMT -5:00 hours) Eastern Time (US & Canada), Bogota, Lima, Quito",
"-4" => "(GMT -4:00 hours) Atlantic Time (Canada), Caracas, La Paz",
"-3.5" => "(GMT -3:30 hours) Newfoundland",
"-3" => "(GMT -3:00 hours) Brazil, Buenos Aires, Georgetown",
"-2" => "(GMT -2:00 hours) Mid-Atlantic",
"-1" => "(GMT -1:00 hours) Azores, Cape Verde Islands",
"0" => "(GMT) Western Europe Time, London, Lisbon, Casablanca, Monrovia",
"+1" => "(GMT +1:00 hours) CET(Central Europe Time), Brussels, Copenhagen, Madrid, Paris",
"+2" => "(GMT +2:00 hours) EET(Eastern Europe Time), Kaliningrad, South Africa",
"+3" => "(GMT +3:00 hours) Baghdad, Kuwait, Riyadh, Moscow, St. Petersburg, Volgograd, Nairobi",
"+3.5" => "(GMT +3:30 hours) Tehran",
"+4" => "(GMT +4:00 hours) Abu Dhabi, Muscat, Baku, Tbilisi",
"+4.5" => "(GMT +4:30 hours) Kabul",
"+5" => "(GMT +5:00 hours) Ekaterinburg, Islamabad, Karachi, Tashkent",
"+5.5" => "(GMT +5:30 hours) Bombay, Calcutta, Madras, New Delhi",
"+6" => "(GMT +6:00 hours) Almaty, Dhaka, Colombo",
"+7" => "(GMT +7:00 hours) Bangkok, Hanoi, Jakarta",
"+8" => "(GMT +8:00 hours) Beijing, Perth, Singapore, Hong Kong, Chongqing, Urumqi, Taipei",
"+9" => "(GMT +9:00 hours) Tokyo, Seoul, Osaka, Sapporo, Yakutsk",
"+9.5" => "(GMT +9:30 hours) Adelaide, Darwin",
"+10" => "(GMT +10:00 hours) EAST(East Australian Standard), Guam, Papua New Guinea, Vladivostok",
"+11" => "(GMT +11:00 hours) Magadan, Solomon Islands, New Caledonia",
"+12" => "(GMT +12:00 hours) Auckland, Wellington, Fiji, Kamchatka, Marshall Island");
while(list($offset, $zone) = each($tz_array))
{
if($offset == $default)
{
$selected = " SELECTED";
}
else
{
$selected = "";
}
$tz_select .= "\t<option value=\"$offset\"$selected>$zone</option>\n";
}
$tz_select .= "</select>\n";
return($tz_select);
}
function validate_username(&$username, $db)
{
$username = trim($username);
$username = strip_tags($username);
$username = htmlspecialchars($username);
if(empty($username))
{
return(FALSE);
}
$valid_name = TRUE;
$sql = "SELECT LOWER(username) FROM ".USERS_TABLE." WHERE username = '$username'";
if($result = $db->sql_query($sql))
{
if( ($numrows = $db->sql_numrows($result) ) > 0)
{
$valid_name = FALSE;
}
}
$sql = "SELECT disallow_username FROM ".DISALLOW_TABLE." WHERE disallow_username = '$username'";
if($result = $db->sql_query($sql))
{
if(($numrows = $db->sql_numrows($result)) > 0)
{
$valid_name = FALSE;
}
}
return($valid_name);
}
function generate_activation_key()
{
$chars = array(
"a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
"k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
"u","U","v","V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8",
"9","0"
);
$max_elements = count($chars) - 1;
srand((double)microtime()*1000000);
$act_key = $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key .= $chars[rand(0,$max_elements)];
$act_key_md = md5($act_key);
return($act_key_md);
}
?>

View File

@ -70,7 +70,7 @@ define(POST_FORUM_URL, 'f');
define(POST_USERS_URL, 'u');
define('BANLIST_TABLE', $table_prefix.'banlist');
define('CATEGORIES_TABLE', $table_prefix.'categories');
define('CATEGORIES_TABLE', $table_prefix.'catagories');
define('CONFIG_TABLE', $table_prefix.'config');
define('DISALLOW_TABLE', $table_prefix.'disallow');
define('FORUM_ACCESS_TABLE', $table_prefix.'forum_access');

View File

@ -22,6 +22,8 @@
*
***************************************************************************/
DEFINE(HEADER_INC, TRUE);
// Parse and show the overall header.
$template->set_filenames(array("overall_header" => "overall_header.tpl",
"overall_footer" => "overall_footer.tpl"));
@ -131,6 +133,21 @@ switch($pagetype)
"L_POSTNEWIN" => $l_postnewin));
$template->pparse("header");
break;
case 'register':
if(!isset($agreed))
{
if(!isset($coppa))
{
$coppa = FALSE;
}
$template->set_filenames(array("body" => "agreement.tpl"));
$template->assign_vars(array("COPPA" => $coppa));
}
else
{
$template->set_filenames(array("body" => "profile_add_body.tpl"));
}
break;
}
?>

View File

@ -1,7 +1,26 @@
<?php
// (insert phpBB file header here)
/***************************************************************************
* template.inc
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
/**
* Template class. By Nathan Codding of the phpBB group.
* The interface was originally inspired by PHPLib templates,

View File

@ -98,6 +98,8 @@ $l_nonewposts = "No New $l_posts $l_sincelast";
$l_indextitle = "Forum Index";
// Members and profile
$l_reginfo = "Registration Information";
$l_profileinfo = "Profile Information (this information will be publicly viewable)";
$l_profile = "Profile";
$l_register = "Register";
$l_onlyreq = "Only requried if being changed";
@ -191,9 +193,12 @@ $l_version = "Version";
// Auth
// Register
$l_accountinactive = "Your account has been created. However, this forum requires account activation, an activation key has been sent to the email address you provided. Pease check your email for further information.";
$l_coppa = "Your account has been created, however in complance with the COPPA act you must print out this page and have you parent or guardian email it to: <br>$l_mailingaddress<br>Or fax it to: <br> $l_faxinfo<br> Once this information has been recived your account will be activated by the administrator and you will recive and email notification.";
$l_acountadded = "Thank you for registering with $sitename. Your account has been successfully created.";
$l_nowactive = "Your account is now been activated. You may login and post with this account. Thank you for using $sitename forums.";
$l_notfilledin = "Error - you did not fill in all the required fields.";
$l_invalidname = "The username you chose \"$username\" has been taken.";
$l_disallowname = "The username you chose, \"$username\" has been disallowed by the administrator.";
$l_invalidname = "The username you chose \"$username\" has been taken or has been disallowed by the administrator.";
$l_welcomesubj = "Welcome to $sitename Forums";
$l_welcomemail =
@ -217,10 +222,36 @@ Thank you for registering.
$email_sig
";
$l_welcomeemailactivate =
"
$l_welcomesubj,
Please keep this email for your records.
Your account information is as follows:
----------------------------
Username: $username
Password: $password
----------------------------
Your account is currently INACTIVE. You cannot use it until you visit the following link:
http://$SERVER_NAME$PHP_SELF?mode=activate&act_key=$act_key
Please do not forget your password as it has been encrypted in our database and we cannot retrieve it for you.
However, should you forget your password we provide an easy to use script to generate and email a new, random, password.
Thank you for registering.
$email_sig
";
$l_beenadded = "You have been added to the database.";
$l_thankregister= "Thank you for registering!";
$l_useruniq = "Must be unique. No two users can have the same Username.";
$l_storecookie = "Store my username in a cookie for 1 year.";
$l_storecookie = "Store my username in a cookie for 1 year";
// Prefs
$l_prefupdated = "$l_preferences updated. $l_click <a href=\"index.$phpEx\">$l_here</a> $l_returnindex";
@ -235,7 +266,7 @@ $l_boardtheme = "Board Theme";
$l_boardlang = "Board Language";
$l_nothemes = "No Themes In database";
$l_saveprefs = "Save $l_preferences";
$l_timezone = "Timezone";
// Search
$l_searchterms = "Keywords";
$l_searchany = "Search for ANY of the terms (Default)";

View File

@ -28,30 +28,30 @@ if($submit)
{
$userdata = get_userdata($username, $db);
if($userdata["error"])
{
error_die($db, LOGIN_FAILED);
}
{
error_die($db, LOGIN_FAILED);
}
else
{
if(!auth("login", $db))
{
error_die($db, LOGIN_FAILED);
}
else
{
$sessid = new_session($userdata[user_id], $user_ip, $session_cookie_time, $db);
set_session_cookie($sessid, $session_cookie_time, $session_cookie, "", "", 0);
header("Location: index.$phpEx");
}
}
{
if(!auth("login", $db))
{
error_die($db, LOGIN_FAILED);
}
else
{
$sessid = new_session($userdata[user_id], $user_ip, $session_cookie_time, $db);
set_session_cookie($sessid, $session_cookie_time, $session_cookie, "", "", 0);
header("Location: index.$phpEx");
}
}
}
else if($logout)
{
if($user_logged_in)
{
end_user_session($userdata["user_id"], $db);
}
header("Location: index.$phpEx");
if($user_logged_in)
{
end_user_session($userdata["user_id"], $db);
}
header("Location: index.$phpEx");
}
?>

View File

@ -1,6 +1,6 @@
<?php
/***************************************************************************
*
* profile.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
@ -22,6 +22,237 @@
*
***************************************************************************/
include('extension.inc');
include('common.'.$phpEx);
switch($mode)
{
case 'viewprofile':
break;
case 'editprofile':
break;
case 'register':
?>
$pagetype = "register";
$page_title = "$l_register";
include('includes/page_header.'.$phpEx);
if(!isset($agreed))
{
$template->pparse("body");
include('includes/page_tail.'.$phpEx);
}
else
{
if(isset($submit))
{
$error = FALSE;
if(empty($username) || empty($password) || empty($password_confirm) || empty($email))
{
$error = TRUE;
$error_msg = $l_notfilledin;
}
if(isset($username) && (!validate_username($username, $db)))
{
$error = TRUE;
if(isset($error_msg))
{
$error_msg .= "<br>";
}
$error_msg .= $l_invalidname;
}
if(isset($password) && ($password != $password_confirm))
{
$error = TRUE;
if(isset($error_msg))
{
$error_msg .= "<br>";
}
$error_msg .= $l_mismatch;
}
}
if(isset($submit) && !$error)
{
$md_pass = md5($password);
$sql = "INSERT INTO ".USERS_TABLE." (
username,
user_regdate,
user_password,
user_email,
user_icq,
user_website,
user_occ,
user_from,
user_intrest,
user_sig,
user_viewemail,
user_theme,
user_aim,
user_yim,
user_msnm,
user_attachsig,
user_desmile,
user_html,
user_bbcode,
user_timezone,
user_lang,
user_active,
user_actkey)
VALUES (
'".addslashes($username)."',
'".time()."',
'$md_pass',
'$email',
'$icq',
'".addslashes($website)."',
'".addslashes($occ)."',
'".addslashes($from)."',
'".addslashes($intrest)."',
'".addslashes($sig)."',
'$viewemail',
'$theme',
'".addslashes($aim)."',
'".addslashes($yim)."',
'".addslashes($msn)."',
'$alwayssig',
'$alwayssmile',
'$alwayshtml',
'$alwaysbbcode',
'$timezone',
'$lang',
";
if($require_activation || $coppa)
{
$act_key = generate_activation_key();
$sql .= "0, '$act_key')";
}
else
{
$sql .= "1, '')";
}
if($result = $db->sql_query($sql))
{
if($require_activation)
{
$msg = $l_accountinactive;
$email_msg = $l_welcomeemailactivate;
}
else if($coppa)
{
$msg = $l_coppa;
}
else
{
$msg = $l_accountadded;
$email_msg = $l_welcomeemail;
}
mail($email, $l_welcomesubj, $email_msg, "From: $email_from\r\n");
error_die($db, GENERAL_ERROR, $msg);
}
}
if($error)
{
$template->set_filenames(array("reg_header" => "error_body.tpl"));
$template->assign_vars(array("ERROR_MESSAGE" => $error_msg));
$template->pparse("reg_header");
}
if(!isset($coppa))
{
$coppa = FALSE;
}
$template->assign_vars(array("COPPA" => $coppa,
"L_SUBMIT" => $l_submit,
"USERNAME" => $username,
"EMAIL" => $email,
"YIM" => $yim,
"ICQ" => $icq,
"MSN" => $msn,
"AIM" => $aim,
"OCC" => $occ,
"INTERESTS" => $interests,
"FROM" => $from,
"WEBSITE" => $website,
"SIG" => $sig,
"VIEWEMAIL_YES" => ($viewemail) ? "CHECKED" : "",
"VIEWEMAIL_NO" => (!$viewemail) ? "CHECKED" : "",
"STOREUSERNAME_YES" => (!isset($storeusername) || $storeusername == 1) ? "CHECKED" : "",
"STOREUSERNAME_NO" => (isset($storeusername) && $storeusername == 0) ? "CHECKED" : "",
"ALWAYSSIG_YES" => ($alwayssig) ? "CHECKED" : "",
"ALWAYSSIG_NO" => (!$alwayssig) ? "CHECKED" : "",
"ALWAYSBBCODE_YES" => ($alwaysbbcode) ? "CHECKED" : "",
"ALWAYSBBCODE_NO" => (!$alwaysbbcode) ? "CHECKED" : "",
"ALWAYSHTML_YES" => ($alwayshtml) ? "CHECKED" : "",
"ALWAYSHTML_NO" => (!$alwayshtml) ? "CHECKED" : "",
"ALWAYSSMILE_YES" => ($alwayssmile) ? "CHECKED" : "",
"ALWAYSSMILE_NO" => (!$alwayssmile) ? "CHECKED" : "",
"LANGUAGE_SELECT" => language_select($default_lang, "lang"),
"THEME_SELECT" => theme_select($theme, $db),
"TIMEZONE_SELECT" => tz_select($timezone),
"L_ICQNUMBER" => $l_icqnumber,
"L_STORECOOKIE" => $l_storecookie,
"L_MESSENGER" => $l_messenger,
"L_YAHOO" => $l_yahoo,
"L_WEBSITE" => $l_website,
"L_AIM" => $l_aim,
"L_FROM" => $l_from,
"L_OCC" => $l_occupation,
"L_ALWAYSSMILE" => $l_alwayssmile,
"L_BOARDLANG" => $l_boardlang,
"L_BOARDTHEME" => $l_boardtheme,
"L_TIMEZONE" => $l_timezone,
"L_YES" => $l_yes,
"L_NO" => $l_no,
"L_INTERESTS" => $l_interests,
"L_USERUNIQ" => $l_useruniq,
"L_ALWAYSBBCODE" => $l_alwaysbbcode,
"L_ALWAYSHTML" => $l_alwayshtml,
"L_ALWAYSSIG" => $l_alwayssig,
"L_SIGNATURE" => $l_signature,
"L_SIGEXPLAIN" => $l_sigexplain,
"L_PREFERENCES" => $l_preferences,
"L_PUBLICMAIL" => $l_publicmail,
"L_ITEMSREQ" => $l_itemsreq,
"MODE" => $mode,
"L_REGINFO" => $l_reginfo,
"L_PROFILEINFO" => $l_profileinfo,
"L_CONFIRM" => $l_confirm,
"L_EMAILADDRESS" => $l_emailaddress));
$template->pparse("body");
include('includes/page_tail.'.$phpEx);
}
break;
case 'activate':
$sql = "SELECT user_id FROM ".USERS_TABLE." WHERE user_actkey = '$act_key'";
if($result = $db->sql_query($sql))
{
if($num = $db->sql_numrows($result))
{
$rowset = $db->sql_fetchrowset($result);
$sql_update = "UPDATE ".USERS_TABLE." SET user_active = 1, user_actkey = '' WHERE user_id = ".$rowset[0]["user_id"];
if($result = $db->sql_query($sql_update))
{
error_die($db, GENERAL_ERROR, $l_nowactive);
}
else
{
error_die($db, QUERY_ERROR);
}
}
else
{
error_die($db, GENERAL_ERROR, $l_wrongactiv);
}
}
else
{
error_die($db, QUERY_ERROR);
}
break;
}
?>

View File

@ -0,0 +1,33 @@
<tr>
<td>
<table border="0" align="center" width="100%" bgcolor="#000000" cellpadding="0" cellspacing="1">
<tr>
<td>
<table border="0" width="100%" cellpadding="0" cellspacing="1">
<tr class="tableheader">
<td width="100%" align="center"><b>{SITENAME} Forums Registration Agreement<b></td>
</tr>
<tr class="tablebody" bgcolor="#CCCCCC">
<td width="100%" style="{padding: 5px; font-size: 10pt;}">
Registration to this forum is free! We do insist that you abide by the rules and policies detailed below.
If you agree to the terms, please press the Agree button at the end of the page.
<br>
Although the administrators and moderators of phpBB.com will attempt to keep all objectionable messages off this forum,
it is impossible for us to review all messages. All messages express the views of the author, the owners of phpBB.com
will be held responsible for the content of any message.<br>
<br>
By clicking the Agree button, you warrant that you will not post any messages that are obscene, vulgar, sexually-orientated,
hateful, threatening, or otherwise violative of any laws.<br>
<br>
The owners of phpBB.com and the moderators of this forum have the right to remove, edit, move or close any thread for any reason.<br>
<br>
<div align="center" style="{font-weight: bold;}"><a href="profile.{PHPEX}?mode=register&agreed=true">I Agree to these terms (and am over 13 years of age)</a>&nbsp;&nbsp;
<a href="profile.{PHPEX}?mode=register&agreed=true&coppa=true">I Agree to these terms (and am <b>under</b> 13 years of age)</a>&nbsp;&nbsp;
<a href="index.{PHPEX}">I do not agree to these terms</a></div>
</td>
</table>
</td>
</tr>
</table>
</td>
</tr>

View File

@ -0,0 +1,123 @@
<tr>
<td><form action="profile.{PHPEX}" method="POST">
<table border="0" align="center" width="100%" bgcolor="#000000" cellpadding="0" cellspacing="1">
<tr>
<td>
<table border="0" width="100%" cellpadding="3" cellspacing="1">
<tr class="tableheader">
<td colspan="2"><b>{L_REGINFO}</b> ({L_ITEMSREQ})</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_USERNAME}: *</b><br>{L_USERUNIQ}</td>
<td bgcolor="#CCCCCC"><input type="text" name="username" size="35" maxlenght="40" value="{USERNAME}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_PASSWORD}: *</b></td>
<td bgcolor="#CCCCCC"><input type="password" name="password" size="35" maxlenght="100" value="{PASSWORD}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_CONFIRM} {L_PASSWORD}: *</b></td>
<td bgcolor="#CCCCCC"><input type="password" name="password_confirm" size="35" maxlenght="100" value="{PASSWORD_CONFIRM}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_EMAILADDRESS}: *</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="email" size="35" maxlength="255" value="{EMAIL}"></td>
</tr>
<tr class="tableheader">
<td colspan="2"><b><b>{L_PROFILEINFO}</b></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_ICQNUMBER}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="icq" size="10" maxlength="15" value="{ICQ}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_AIM}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="aim" size="20" maxlength="255" value="{AIM}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_MESSENGER}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="msn" size="20" maxlength="255" value="{ICQ}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_YAHOO}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="yim" size="20" maxlength="255" value="{YIM}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_WEBSITE}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="website" size="35" maxlength="255" value="{WEBSITE}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_FROM}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="from" size="35" maxlength="100" value="{FROM}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_OCC}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="occ" size="35" maxlength="100" value="{OCC}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_INTERESTS}:</b></td>
<td bgcolor="#CCCCCC"><input type="text" name="interests" size="35" maxlength="150" value="{OCC}"></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_SIGNATURE}:</b><br><font style="{font-size: 8pt;}">{L_SIGEXPLAIN}</font></td>
<td bgcolor="#CCCCCC"><textarea name="sig" rows="6" cols="45">{SIG}</textarea></td>
</tr>
<tr class="tableheader">
<td colspan="2"><b>{L_PREFERENCES}</b></td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_PUBLICMAIL}:</b></td>
<td bgcolor="#CCCCCC"><input type="radio" name="viewemail" value="1" {VIEWEMAIL_YES}> {L_YES}&nbsp;&nbsp;
<input type="radio" name="viewemail" value="0" {VIEWEMAIL_NO}> {L_NO}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_STORECOOKIE}:</b></td>
<td bgcolor="#CCCCCC"><input type="radio" name="storeusername" value="1" {STOREUSERNAME_YES}> {L_YES}&nbsp;&nbsp;
<input type="radio" name="storeusername" value="0" {STOREUSERNAME_NO}> {L_NO}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_ALWAYSSIG}:</b></td>
<td bgcolor="#CCCCCC"><input type="radio" name="alwayssig" value="1" {ALWAYSSIG_YES}> {L_YES}&nbsp;&nbsp;
<input type="radio" name="alwayssig" value="0" {ALWAYSSIG_NO}> {L_NO}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_ALWAYSBBCODE}:</b></td>
<td bgcolor="#CCCCCC"><input type="radio" name="alwaysbbcode" value="1" {ALWAYSBBCODE_YES}> {L_YES}&nbsp;&nbsp;
<input type="radio" name="alwaysbbcode" value="0" {ALWAYSBBCODE_NO}> {L_NO}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_ALWAYSHTML}:</b></td>
<td bgcolor="#CCCCCC"><input type="radio" name="alwayshtml" value="1" {ALWAYSHTML_YES}> {L_YES}&nbsp;&nbsp;
<input type="radio" name="alwayshtml" value="0" {ALWAYSHTML_NO}> {L_NO}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_ALWAYSSMILE}:</b></td>
<td bgcolor="#CCCCCC"><input type="radio" name="alwayssmile" value="1" {ALWAYSSMILE_YES}> {L_YES}&nbsp;&nbsp;
<input type="radio" name="alwayssmile" value="0" {ALWAYSSMILE_NO}> {L_NO}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_BOARDLANG}:</b></td>
<td bgcolor="#CCCCCC">{LANGUAGE_SELECT}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_BOARDTHEME}:</b></td>
<td bgcolor="#CCCCCC">{THEME_SELECT}</td>
</tr>
<tr class="tablebody">
<td bgcolor="#DDDDDD"><b>{L_TIMEZONE}:</b></td>
<td bgcolor="#CCCCCC">{TIMEZONE_SELECT}</td>
</tr>
<tr class="tableheader">
<td align="center" colspan="2">
<input type="hidden" name="mode" value="{MODE}">
<input type="hidden" name="agreed" value="true">
<input type="hidden" name="coppa" value="{COPPA}">
<input type="submit" name="submit" value="{L_SUBMIT}">&nbsp;
</tr>
</table>
</td>
</tr>
</table>
</form>
</td>
</tr>