- <?
- /*
- =============================================
- Движок: SHCMS Engine
- =============================================
- Название файла: Регистрация
- =============================================
- Official website: http://shcms.ru
- =============================================
- Данный код защищен авторскими правами
- =============================================
- */
-
- define('SHCMS', true);
- include_once'../system/inc/basic_settings.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']){
- 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'] ? SHCMS_core::filtering(mb_substr(trim($_POST['pol']), 0, 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(users::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))
- {
- 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)
- {
- 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)
- {
- errors(Lang::get('Код безопастности не введен!'));
- header('Refresh: 1; url=?' . $conservation . '&' );
- include_once'../template/foot.php';
- exit();
- }
- elseif ($antibot != $_SESSION['code'])
- {
- 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">';
- 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 messag(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
- {
- errors(Lang::get('Возникла ошибка при регистрации'));
- }
- }
- }
- /*
- ----------------------------
- Форма для регистрации пользователя
- ----------------------------
- */
- echo Lang::get('<strong>Здравствуйте, уважаемый посетитель нашего сайта!</strong>');
- echo '<br/>';
- echo Lang::get('Регистрация на нашем сайте позволит Вам быть его полноценным участником.');
- echo '<br/><br/>';
- 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('Проверка логина').'"><br/>';
- }else {
- if(isset($_POST['logins'])) {
- $_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('Проверка логина').'"><br/>';
- echo '</form>';
- }
- echo '<strong>'.Lang::get('Пороль:').'</strong> <small>[5-30];</small><br/><input id="pass" type="text" maxlength="30" name="password" value="'.$reg_password.'"><br/>';
- 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><br/>';
- echo '<strong>'.Lang::get('E-mail адрес:').' </strong><br/><input type="text" name="email" maxlength="30" ><br/>';
- 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><br/>';
-
- 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"/><br/>';
- }
- echo '<input type="checkbox" name="rules" id="rules"/>'.Lang::get('<strong>Я прочитал и соглашаюсь с</strong> <a href="../rules.php">Условия использования</a>').'<br/>';
- 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>';
- echo Lang::get('<small>* В логине доступны только английские символы.</small><br/>');
- echo Lang::get('<small>* Вы должны использовать сложный пароль, содержащий не менее 3 и не более 30 символов</small><br/>');
-
-
- include_once'../template/foot.php';
- ?>