/*************************************************************************** * ExBB v.1.1 * * Copyright (c) 2002-20õõ by Alexander Subhankulov aka Warlock * * * * http://www.exbb.net * * email: admin@exbb.net * * * ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ include('common.php'); $vars = parsed_vars(); include($exbb['home_path'] . 'language/' . $exbb['default_lang'] . '/lang_reg.php'); if (!$exbb['reg_on']) error($lang['Registration'],$lang['Reg_dinied'],'',false); if ($vars['action'] == 'addmember') { if ($vars['request_method'] != 'post') {error($lang['Main_msg'],$lang['Correct_post']);} if ($exbb['anti_bot']) { //echo trim( $vars['reg_code'] )." != ".$_SESSION['reg_code'].$_SESSION['reg_code2']; if (trim( $vars['reg_code'] ) != $_SESSION['reg_code'].$_SESSION['reg_code2']) error($lang['Registration'],$lang['Pers_error']); } $emailaddress = $vars['emailaddress']; $homepage = $vars['homepage']; $aolname = $vars['aolname']; $icqnumber = $vars['icqnumber']; $location = $vars['location']; $interests = $vars['interests']; $signature = $vars['signature']; $useravatar = $vars['useravatar']; $inmembername = str_replace( "'" , ''', $vars['inmembername'] ); $ipaddress = $vars['IP_ADDRESS']; $emailaddress = (!empty($emailaddress)) ? strtolower($emailaddress) : ''; $homepage = (!empty($homepage) || $homepage != 'http://') ? trim(strip_tags($homepage)) : ''; $aolname = (!empty($aolname)) ? trim(strip_tags($aolname)) : ''; $icqnumber = (!empty($icqnumber)) ? trim(strip_tags($icqnumber)) : ''; $location = (!empty($location)) ? trim(strip_tags($location)) : ''; $interests = (!empty($interests)) ? trim(strip_tags($interests)) : ''; $inmembername = (!empty($inmembername)) ? trim(strip_tags(str_replace(" ", " ", $inmembername))) : ''; $inmembername = preg_replace( "/\s{2,}/", " ", $inmembername ); $bannedmembers = get_file($exbb['home_path'].'data/banlist.php'); $bannedmember = 0; if (is_array($bannedmembers)) { foreach($bannedmembers as $name=>$infa){ if ($emailaddress == $infa['em']) { $bannedmember = 1; break;} if ($inmembername == $name) { $bannedmember = 1; break;} if ($ipaddress == $infa['ip']) { $bannedmember = 1; break;} } } unset($bannedmembers); if ($bannedmember) { error($lang['Registration'],$lang['Registr_denied']); } if (!empty($signature)) { $signature = trim($signature); $signature = str_replace('
','
',$signature);
}
validate_items($icqnumber, $aolname, $homepage, $location, $interests, $signature);
if (!$exbb['passwordverification']) {$password = $vars['password'];}
else {$password = password();}
$siglines = explode('
',$signature);
if ((count($siglines) > $exbb['max_sig_lin']) || (strlen($_POST['signature']) > $exbb['max_sig_chars'])) error($lang['Registration'],$lang['Sig_lines']);
$inmembername = ltrim(trim($inmembername));
$name = preg_replace ($lang['search'], $lang['replace'], $inmembername);
$blankfields = 0;
if ($name == 'guest' || $name == preg_replace ($lang['search'], $lang['replace'], $lang['Unreg']) ) error($lang['Registration'],$inmembername.$lang['Name_exist']);
if( empty($inmembername) || empty($password) || empty($emailaddress) ) $blankfields = 1;
if ($blankfields) error($lang['Registration'],$lang['Check_fields']);
######check for bad words
if ($exbb['wordcensor']) {
if (bads_filter($inmembername,0) || bads_filter($signature,0)) {
error($lang['Registration'],$lang['No_profanity'],'',0);
}
}
if (empty($exbb['ru_nicks']) && ereg("[�-�|�-�]{1,}",$inmembername)) {error($lang['Registration'],$lang['Name_wrong_sim'],'',0);}
if ((ereg("[�-�|�-�]{1,}",$inmembername)) and (ereg("[a-z|A-Z]{1,}",$inmembername))) {error($lang['Registration'],$lang['int_name'],'',0);}
if (ereg("([ ]{2,})|([<|>]{1,}|([|]{1,})|([[|]]{1,})|([\/|\\]{1,})|([*|?]{1,})|([\|]{1,}))",$inmembername)) error($lang['Registration'],$lang['Name_wrong_sim'],'',0);
$emailaddress = vm($emailaddress);
if ( !$emailaddress ) error($lang['Registration'],$lang['Wrong_email']);
$filetoopen = $exbb['home_path'].'data/users.php';
include ('./data/boardstats.php');
if (file_exists($filetoopen)) {
$allusers = get_file($filetoopen);
foreach ($allusers as $u_id=>$info) {
if ($info['n'] == $name) error($lang['Registration'],$inmembername.$lang['Name_exist']);
if ($info['m'] == $emailaddress) error($lang['Registration'],$lang['Email_exist'],'',false);
}
$ids = array();
$ids = array_keys($allusers);
$id = max($ids) + 1;
while (isset($allusers[$id])) $id++;
unset($ids);
} else {$allusers = array(); $id = 2;}
if ( intval($exbb['last_id']) == $id ) $id++;
$usr = fopen($filetoopen,'w');
lock_file($usr);
$allusers[$id]['n'] = $name;
$allusers[$id]['m'] = $emailaddress;
save_opened_file($usr,$allusers);
unset($allusers);
$user = array();
$user['status'] = 'me';
$user['title'] = '';
$user['posts'] = 0;
$user['joined'] = time();
$user['ip'] = $vars['IP_ADDRESS'];
$user['name'] = $inmembername;
$user['id'] = $id;
$user['pass'] = $password;
#$user['gender'] = 'Male';
$user['mail'] = $emailaddress;
$user['showemail'] = ($vars['showemail'] == 'yes') ? true : false;
if (!empty($homepage)) $user['www'] = $homepage;
$user['aim'] = $aolname;
$user['icq'] = $icqnumber;
$user['location'] = $location;
$user['interests'] = $interests;
$user['sig'] = $signature;
$user['lang'] = $vars['default_lang'];
$user['skin'] = $vars['default_style'];
$user['timedif'] = $vars['timedifference'];
$user['avatar'] = $useravatar;
$user['upload'] = ($exbb['autoup']) ? true : false;
$filetomake = $exbb['home_path'].'members/'.$id.'.php';
save_file($filetomake,$user);
@chmod($filetomake,$exbb['ch_files']);
if ( !$exbb['passwordverification'] || !$exbb['emailfunctions'] ) {
$_SESSION['mid'] = $id;
$_SESSION['sts'] = 'me';
$_SESSION['time'] = intval($vars['timedifference']);
$_SESSION['iden'] = md5($user['name'].$user['pass']);
unset($_SESSION['reg_code']);
my_setcookie('exbbn',$id);
my_setcookie('exbbp',md5($inpassword));
}
$exbb['mem_id'] = $id;
### update statistic
$exbb['totalmembers']++;
$exbb['lastreg'] = $inmembername;
$exbb['last_id'] = $id;
save_statfile();
if ($exbb['emailfunctions']) {
$subject = $lang['Reg_thanks'].$exbb['boardname'];
include('./templates/'.$exbb['default_style'].'email_newreg.tpl');
sendmail($exbb['boardname'],$exbb['adminemail'],$email,$subject,$emailaddress);
if ($exbb['newusernotify']) {
$subject = $lang['New_reged'];
include('./templates/'.$exbb['default_style'].'email_adminreg.tpl');
sendmail($exbb['boardname'],$exbb['adminemail'],$email,$subject,$exbb['adminemail']);
}
}
if (($exbb['passwordverification']) && ($exbb['emailfunctions'])) {
$url1 = '