A lightweight forum engine written in PHP. Repository is now obsolete and read-only. http://www.pioder.pl/uforum.html
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

176 lines
4.3 KiB

<?php
/**
* @package uForum
* @file register.php
* @version $Id$
* @copyright 2007-2010 (c) PioDer <[email protected]>
* @link http://www.pioder.pl/
* @license see LICENSE.txt
**/
define('IN_uF', true);
//include files
require('./config.php');
require('./includes/constants.php');
require('./includes/db.php');
require('./includes/errors.php');
//connect to database
DataBase::db_connect();
require('./includes/sessions.php');
require('./includes/classes/class_user.php');
require('./common.php');
require('./includes/misc_functions.php');
require('./includes/classes/class_forum.php');
require('./includes/classes/class_posting.php');
require('./includes/classes/class_topic.php');
require('./includes/emailer.php');
require('./includes/classes/class_mod.php');
require('./includes/classes/secure.php');
$default_lang = DefaultLang();
require('./lngs/'.$default_lang.'/main.php');
require('./lngs/'.$default_lang.'/email.php');
$start = TimeGeneration();
SessDelInvalid();
SessRegister();
SessDeleteOld();
$default_skin = ViewSkinName();
$msg='';
if ($_SESSION['uid']>0)
{
message_forum($lng['youareexist'],'index.php');
}
foreach ($_POST as $name => $value)
{
if ($forum_config['use_censorlist'])
{
$_POST[$name] = Secure::UseCensorlist($value);
}
}
$errors = false;
if (isset($_POST['email']))
{
if (!ereg ("^.+@.+\..+$", $_POST['email']))
{
$errors = true;
$message = $lng['invalid_email'];
}
if (trim($_POST['nick'])=='')
{
$errors = true;
$message = $lng['empty_nick'];
}
if ($_POST['password']=='')
{
$errors = true;
$message = $lng['empty_password'];
}
if ($_POST['confirmpassword']=='')
{
$errors = true;
$message = $lng['empty_password'];
}
if ($_POST['valid_match']!=$_POST['valid_key'])
{
$errors = true;
$message = $lng['key_not_valid'];
}
if ($_POST['password']!=$_POST['confirmpassword'])
{
$errors = true;
$message=$lng['incorrect_password2'];
}
if (!$errors)
{
$nick = addslashes(strip_tags($_POST['nick']));
$sql = "SELECT `nick` FROM `".USERS_TABLE."` WHERE `nick`='$nick'";
$query = DataBase::sql_query($sql,GENERAL,'Could not obtain user information.');
$result = DataBase::fetch($query);
if ($nick == $result['nick'])
{
$errors = true;
$message = $lng['user_is_exist'];
}
}
if (!$errors)
{
$_POST['nick']= addslashes(strip_tags($_POST['nick']));
$original_pass = addslashes($_POST['password']);
$_POST['password']=md5($_POST['password']);
User::CreateProfile($_POST['nick'],$_POST['password'], $_POST['email'],0,1,0,1,'','','');
$stop = TimeGeneration();
if ($forum_config['allow_send_email'])
{
SendRegisterEmail();
}
message_forum($lng['account_created'],'index.php');
}
else
{
$msg = './skins/'.$default_skin.'/post_error_body.tpl';
}
}
else
{
$_POST['nick']='';
$_POST['email']='';
$_POST['interests']='';
$_POST['sig']='';
$_POST['avatar']='';
}
$match_array = Secure::generate_code();
//add skin variables
$skin = array(
//labels profile
'lnick' => $lng['user_name'],
'lpass' => $lng['lpassw'],
'lnewpass' => $lng['new_password'],
'lcpass' => $lng['confirm_password'],
'lemail' => 'E-mail',
'lgg' => $lng['gg_number'],
'lallow_gg' => $lng['allow_gg'],
'lallow_email' => $lng['allow_email'],
'lallow_qr' => $lng['allow_qr'],
'linterests' => $lng['luinterests'],
'lsig' => $lng['sig'],
'lavaddr' => $lng['picture_adress'],
'lmatch'=> $match_array[0].' + '.$match_array[1].' = ',
'valid_key' => $match_array[2],
'lovpr' => $lng['general_settings'],
'lupr' => $lng['profile_settings'],
'lspr' => $lng['signature_settings'],
'lapr' => $lng['avatar_settings'],
'lsubmit' => $lng['save'],
'lreset' => $lng['reset'],
'no' => $lng['no'],
'yes' => $lng['yes'],
'pa_link'=>''
);
$_POST['allow_gg']='1';
$skin = array_push_assoc($skin, GenerateHeader($lng['lregister'], '<a href="register.php" class="navigator">'.$lng['lregister']));
if ($msg=='')
{
$msg = './skins/'.$default_skin.'/blank.tpl';
}
//do it!
require('./skins/'.$default_skin.'/overall_header.tpl');
require('./skins/'.$default_skin.'/register_body.tpl');
$stop = TimeGeneration();
$skin['queries'] = ShowQueries($start, $stop);
require('./skins/'.$default_skin.'/overall_footer.tpl');
?>