File size: 11.63Kb
<?
/*
=============================================
Движок: SHCMS Engine
=============================================
Название файла: Регистрация
=============================================
Official website: http://shcms.ru
=============================================
Данный код защищен авторскими правами
=============================================
*/
define('SHCMS', true);
include_once'../system/inc/system_core.php';
if(isset($user_id))
{
header("Refresh:1; url=/index.php");
exit();
}
if(!$settings_shcms['act_reg']){
$shcmsengine['title'] = Lang::get('Регистрация отключена');
}
else {
$shcmsengine['title'] = Lang::get('Регистрация нового пользователя');
}
include_once'../template/head.php';
if (!$settings_shcms['act_reg']){
engine::errors(Lang::get('Регистрация временно отключена'));
include_once'../template/foot.php';
exit;
}
if(isset($user_id)) {
header("Refresh: 1; url=/index.php");
exit();
}
/*
----------------------------
Присваивание из Глобальных переменных $_POST в обычные
----------------------------
*/
if(isset($_POST['login'])){
$reg_login = $_POST['login'];
}
if(isset($_POST['submit'])){
$submit = $_POST['submit'];
}
if(isset($_POST['password'])){
$reg_password = $_POST['password'];
}
if(isset($_POST['password2'])){
$reg_password2 = $_POST['password2'];
}
if(isset($_POST['email'])){
$email = $_POST['email'];
}
if(isset($_POST['pol'])){
$pol = $_POST['pol'] ? 1 : 2;
}
if(isset($submit)) {
$reg_login = stripslashes($reg_login);
$reg_login = htmlspecialchars($reg_login);
$reg_login = trim($reg_login);
$reg_password = trim($reg_password);
$reg_password2 = trim($reg_password2);
if(SHCMS_core::suspicion($reg_login)){
mysql_query("INSERT INTO `users_doub` (`login`,`time`,`text`) VALUES ('$reg_login','".time()."','".Lang::get('Зачтен как подозрительный пользователь')."')");
}
//Обработка логина
registration::reg_login($reg_login);
//Обработка пороля
registration::reg_password($reg_password,$reg_password2);
//Обработка Email
//Проверка введен или E-mail или нет
if (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui',$email))
{
engine::errors(Lang::get('Введенный e-mail адрес неверный'));
header("Refresh: 1; url=?");
include_once '../template/foot.php';
exit();
}
//Если введенный емаил уже есть в базе данных то выводит ошибку
$reqmail = mysql_query("SELECT * FROM `users` WHERE `email`='" . mysql_real_escape_string($email) ."'");
if (mysql_fetch_array($reqmail) != 0)
{
engine::errors(Lang::get('Введенный e-mail адрес уже зарегестрирован.'));
header("Refresh: 1; url=?");
include_once '../template/foot.php';
exit();
}
//Обработка капчи
if($settings_shcms['captcha_reg'] == 1)
{
$antibot = isset($_POST['kod']) ? trim($_POST['kod']) : '';
if (empty($antibot) || strlen($antibot) < 3)
{
engine::errors(Lang::get('Код безопастности не введен!'));
header('Refresh: 1; url=?' . $conservation . '&' );
include_once'../template/foot.php';
exit();
}
elseif ($antibot != $_SESSION['code'])
{
engine::errors(Lang::get('Код безопасности не соответствует отображённому'));
header('Refresh: 1; url=?' . $conservation . '&' );
include_once'../template/foot.php';
exit();
}
unset($_SESSION['code']);
}
/*
* Зашита от регистраций
*/
if($settings_shcms['limit_reg'] == 1) {
$secure_ip = mysql_fetch_array(mysql_query("SELECT * FROM `users` ORDER BY `id` DESC"));
if(time() < $secure_ip['datereg'] + 400){
echo '<div class="maintext">';
engine::errors(Lang::get('Включен лимит регистрации'));
echo '</div>';
echo '<div class="maintext">'.Lang::get('Следующяя регистрация будет доступна:').$timedate->times($secure_ip['datereg']+400).'</div>';
exit;
}
}
if(isset($reg_login) && isset($reg_password))
{
$pass = md5(md5($reg_password));
$ok_table = mysql_query("INSERT INTO `users` (`login`,`password`,`datereg`,`ip`,`email`,`pol`,`datelast`) VALUES ('$reg_login','$pass','".time()."','$vi_shcms','$email','$pol','$time_date')");
if($ok_table == true)
{
$_SESSION['login'] = false;
echo '<div class="maintitle mainrazd">'.Lang::get('Успешная регистрация').'</div>';
echo '<div class="maintext">';
echo '<div class="posts">';
echo engine::correct(Lang::get("Регистрация прошла успешно")).'<hr/>';
echo '<a class="link_str" href="'.DIR_SHCMS.'authorization.php">'.Lang::get('Авторизация').'</a></div></div>';
mails_listing::mails(Lang::get('Регистрация на %s Добро пожаловать.<br/>Мы рады видеть Вас на нашем сайте.',$_SERVER['HTTP_HOST']),time());
include_once'../template/foot.php';
exit();
}
else
{
engine::errors(Lang::get('Возникла ошибка при регистрации'));
}
}
}
/*
----------------------------
Форма для регистрации пользователя
----------------------------
*/
echo '<div class="maintext">';
echo Lang::get('<strong>Здравствуйте, уважаемый посетитель нашего сайта!</strong>');
echo '<br/>';
echo Lang::get('Регистрация на нашем сайте позволит Вам быть его полноценным участником.');
echo '</div>';
echo '<div class="maintitle mainrazd">'.Lang::get('Регистрация нового пользователя').'</div>
<div class="maintext">';
if($_POST['logins'] == false) {
echo '<form id="reg-rules" action="?'.$conservation.'" method="post">';
echo "<script language='javascript'>
check_eula = function() {
if( document.getElementById( 'rules' ).checked == true ){
return true;
}else{
alert( '".Lang::get('Чтобы продолжить регистрацию вы должны соглашаться с условиями пользования')."' );
return false;
}}document.getElementById( 'reg-rules' ).onsubmit = check_eula;
</script>";
echo '<strong>'.Lang::get('Логин:').'</strong> <small>[A-z 0-9 -_];</small><br/><input type="text" name="login" maxlength="20" value="'.$_SESSION['login'].'">';
echo '<input type="submit" name="logins" value="'.Lang::get('Проверка логина').'"><hr/>';
}else {
$_SESSION['login'] = $reg_login;
echo '<div class="maintitle mainrazd">'.Lang::get('Проверка Логина').'</div>';
if(registration::pro_login($reg_login)){
echo '<div class="maintext"> <font color="green">'.Lang::get('Ник <strong>%s</strong> доступен для регистрации',$reg_login).'</font><hr/>';
echo '<a href="registration.php">'.Lang::get('Продолжить регистрацию').'</a>';
include_once'../template/foot.php';
exit;
echo '</div>';
}else {
echo '<div class="maintext"> <font color="red">'.Lang::get('Выбранный ник <strong>%s</strong> недоступен или уже зарегестрирован на сайте',$reg_login).' </font></div>';
}
echo '<form action="?'.$conservation.'" method="post">';
echo '<strong>'.Lang::get('Логин:').'</strong> <small>[A-z 0-9 -_];</small><br/><input type="text" name="login" maxlength="20" value="'.$reg_login.'">';
echo '<input type="submit" name="logins" value="'.Lang::get('Проверка логина').'"><hr/>';
echo '</form>';
}
echo '<strong>'.Lang::get('Пороль:').'</strong> <small>[5-30];</small><br/><input id="pass" type="text" maxlength="30" name="password" value="'.$reg_password.'"><hr/>';
echo '<strong>'.Lang::get('Еще раз пороль:').'</strong> <small>[5-30];</small><br/><input id="repass" type="text" maxlength="30" name="password2" value="'.$reg_password2.'">
<a href="#" class="rootlink" onclick="getPass(\'pass\',\'repass\'); this.blur(); return false;">';
echo SHCMS_core::img_shcms('../template/icon/refresh.png',Lang::get('Генерация пороля'));
echo '</a><hr/>';
echo '<strong>'.Lang::get('E-mail адрес:').' </strong><br/><input type="text" name="email" maxlength="30" ><hr/>';
echo'<strong>'.Lang::get('Ваш пол:').'</strong><br/> <select name="pol">';
echo '<option value="1"'.((isset($users_nav['pol']) and $users_nav['pol'] == 1)?" selected='selected'":null).'>'.Lang::get('Мужской').'</option>';
echo '<option value="2"'.((isset($users_nav['pol']) and $users_nav['pol'] == 2)?" selected='selected'":null).'>'.Lang::get('Женский').'</option>';
echo '</select><hr/>';
if($settings_shcms['captcha_reg'] == 1){
echo '<script type="text/javascript">
src="/shcms/antibot.php?r=rand(1000,9999)";
function reload(){
document.captcha.src="/shcms/antibot.php?r=rand(1000,9999)";
document.captcha.src=src+"?rand="+Math.random(); } </script>';
echo '<img name="captcha" class="midside" alt="'.Lang::get('Код безопастности').'" src="'.DIR_SHCMS.'antibot.php?r=' . rand(1000, 9999) . ' "/><br />';
echo '<a href="javascript:void(0)" onclick="reload()">'.Lang::get('обновить, если не виден код').'</a><br/>';
echo '<input type="text" style="width:115px" size="5" maxlength="5" name="kod"/><hr/>';
}
echo '<input type="checkbox" value="1" checked="checked" name="rules" id="rules"/>'.Lang::get('<strong>Я прочитал и соглашаюсь с</strong> <a href="../rules.php">Условия использования</a>').'<hr/>';
if (mysql_num_rows($req) != 0) {
echo '<input type="submit" value="'.Lang::get('Смена логина').'">';
}
else
{
echo '<input type="submit" name="submit" value="'.Lang::get('Регистрация').'">';}
echo '</form></div>';
echo '<div class="maintext">';
echo '<img src="../template/icon/warning.png"> '.Lang::get('<small>* В логине доступны только английские символы.</small><br/>');
echo '<img src="../template/icon/warning.png"> '.Lang::get('<small>* Вы должны использовать сложный пароль, содержащий не менее 3 и не более 30 символов</small><br/>');
echo '</div>';
include_once'../template/foot.php';
?>