View file shcms/registration.php

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">&nbsp;'.Lang::get('<small>* В логине доступны только английские символы.</small><br/>');
		echo '<img src="../template/icon/warning.png">&nbsp;'.Lang::get('<small>* Вы должны использовать сложный пароль, содержащий не менее 3 и не более 30 символов</small><br/>');
        echo '</div>';

include_once'../template/foot.php';
?>