View file 2/3020.ru/main/registration.php

File size: 8.31Kb
<?php

ACCESS('guests'); 
  
ECHO "<div class='navigation'>";
ECHO "<a href='?'>".ICONS('home', 25, 'fa-fw')."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "".LG('Регистрация')."";
ECHO "</div>";

/*
------------------------
Если регистрация закрыта
------------------------
*/

IF (CONFIG('REG_MODE') == 0){
  
  ERROR('Извините, регистрация закрыта', 'forward');
  
  //Навигация
  ECHO "<div class='navigation'>";
  ECHO "<a href='?'>".ICONS('home', 25, 'fa-fw')."</a>";
  ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
  ECHO "".LG('Регистрация')."";
  ECHO "</div>";
  
  REQUIRE (ROOT.'/system/connections/footer.php'); 
  EXIT;
  
}

/*
-------------------------------
Запрет на повторную регистрацию
-------------------------------
*/

IF (CONFIG('REG_ANTIDOUBLE') == 1 && COOKIE('DOUBLE') == 1 || CONFIG('REG_ANTIDOUBLE') == 2 && COOKIE('DOUBLE') == 1 || CONFIG('REG_ANTIDOUBLE') == 2 && DB::GET_COLUMN("SELECT COUNT(*) FROM `USERS` WHERE `IP` = '".IP."'  LIMIT 1") == 1){
  
  ERROR('Извините, вы не можете зарегистрироваться, так как уже регистрировались', 'forward');
  
  //Навигация
  ECHO "<div class='navigation'>";
  ECHO "<a href='?'>".ICONS('home', 25, 'fa-fw')."</a>";
  ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
  ECHO "".LG('Регистрация')."";
  ECHO "</div>";
  
  REQUIRE (ROOT.'/system/connections/footer.php'); 
  EXIT;
  
}

/*
-----------------------------
Регистрируем временные сессии
-----------------------------
*/

IF (!ISSET($_SESSION['step'])){$_SESSION['step'] = 1;}

IF ($_SESSION['step'] != 2){
  
  IF (!ISSET($_SESSION['login_reg'])){$_SESSION['login_reg'] = NULL;}
  IF (!ISSET($_SESSION['email_reg']) && CONFIG('REG_MODE') == 2){$_SESSION['email_reg'] = NULL;}
  
}ELSE{
  
  IF (!ISSET($_SESSION['sex_reg'])){$_SESSION['sex_reg'] = NULL;}
  IF (!ISSET($_SESSION['pass_reg'])){$_SESSION['pass_reg'] = NULL;}
  IF (!ISSET($_SESSION['pass2_reg'])){$_SESSION['pass2_reg'] = NULL;}

}

/*
----------
Шаг 1 из 2
----------
*/

IF ($_SESSION['step'] != 2){
  
  IF (POST('ok')){
    
    REQUIRE (ROOT.'/main/registration/step1.php');
    
    $_SESSION['step'] = 2;
    
    REDIRECT('/?get=registration');
  
  }
  
  ECHO "<div class='list-body'>";
  ECHO "<div class='list-menu'>";
  
  ECHO "<font size='+1'>".LG('Шаг 1 из 2')."</font><br /><br />";
  
  ECHO "<form method='post'>";
  
  ECHO "<b>".LG('Придумайте логин')."</b> ";
  
  IF (CONFIG('REG_LANG') == 1){
    
    ECHO "(".LG('Например:')." <b>Ivan Ivanov</b>, 3-".CONFIG('REG_STR')." ".LG('символов, только английские буквы')."):<br />";
  
  }ELSEIF (CONFIG('REG_LANG') == 2){
    
    ECHO "(".LG('Например:')." <b>Иван Иванов</b>, 3-".CONFIG('REG_STR')." ".LG('символов, только русские буквы')."):<br />";
  
  }ELSEIF (CONFIG('REG_LANG') == 0){
    
    ECHO "(".LG('Например:')." <b>Иван Иванов</b> ".LG('или')." <b>Ivan Ivanov</b>, 3-".CONFIG('REG_STR')." ".LG('символов, только русские и английские буквы')."):<br />";
  
  }
  
  HTML::INPUT('login', 'Логин', NULL, CONFIG('REG_STR'), TEXT_ABSOLUTE($_SESSION['login_reg']), 'form-control-100');
  
  IF (CONFIG('REG_MODE') == 2){
    
    ECHO "<b>".LG('Введите свой E-mail адрес')."</b> (".LG('обязательно, на него придет подтверждение')."):<br />";
    HTML::INPUT('email', 'E-mail', NULL, NULL, TEXT_ABSOLUTE($_SESSION['email_reg']));
  
  }
  
  HTML::BUTTON('btn-registration', 'ok', 'mail-forward', 'ДАЛЕЕ');
  
  ECHO "</form>";
  
  ECHO "</div>";
  ECHO "</div>";
  
}

/*
----------
Шаг 2 из 2
----------
*/

IF ($_SESSION['step'] == 2){
  
  IF (POST('ok')){
    
    REQUIRE (ROOT.'/main/registration/step1.php');
    REQUIRE (ROOT.'/main/registration/step2.php');
    
    IF (CONFIG('REG_MODE') == 2){
      
      $code = RAND(111111,999999);
      
      EMAIL(TEXT_ABSOLUTE($_SESSION['email_reg']), 'Подтверждение E-mail на '.HTTP_HOST.'', 'Здравствуйте. Вы получили это письмо для подтверждения E-mail адреса на нашем сайте <b>'.HTTP_HOST.'</b>.<br><br> Введите этот код для подтверждения: <b>'.$code.'</b>', TEXT_ABSOLUTE(CONFIG('EMAIL')));
      
      $SQL1 = ", `REG_CODE`, `REG_EMAIL`, `REG_OK`";
      $SQL2 = ", '$code', '$email', '1'";
      
    }ELSE{
      
      $SQL1 = NULL;    
      $SQL2 = NULL;    
    
    }
    
    $ID = DB::GET_ADD("INSERT INTO `USERS` (`BROWSER`, `IP`, `DATE_CREATE`, `DATE_VISIT`, `LOGIN`, `PASSWORD`, `SEX`$SQL1) VALUES ('".USER_BROWSER."', '".IP."', '".TIME()."', '".TIME()."', '".$login."', '".SHIF($password)."', '".$sex."'$SQL2)");
    
    $user = DB::GET_STRING("SELECT * FROM `USERS` WHERE `ID` = '".$ID."' AND `LOGIN` = '".$login."' AND `PASSWORD` = '".SHIF($password)."' LIMIT 1");
    
    $hash = USER_HASH($user['ID']);
    
    DB::GET_SET("UPDATE `USERS` SET `HASH` = '".$hash."' WHERE `ID` = '".$user['ID']."' LIMIT 1");
    
    SETCOOKIE('DOUBLE', 1, TIME() + 60 * 60 * 24 * 365);
    SETCOOKIE('USER_ID', $user['ID'], TIME() + 60 * 60 * 24 * 365);
    SETCOOKIE('PASSWORD', ENCRYPT($password, $user['ID']), TIME() + 60 * 60 * 24 * 365);
    
    $_SESSION['step'] = 1;
    $_SESSION['sex_reg'] = 1;
    $_SESSION['login_reg'] = NULL;
    $_SESSION['pass2_reg'] = NULL;
    $_SESSION['pass_reg'] = NULL;
    $_SESSION['email_reg'] = NULL;
    
    SUCCESS('Регистрация прошла успешно');    
    REDIRECT('/index');
  
  }
  
  ECHO "<div class='list-body'>";
  ECHO "<div class='list-menu'>";
  ECHO "<b>".LG('Выбранный логин').":</b> <span class='btn-o'>".ICONS('user', 15, 'fa-fw')." ".TEXT_ABSOLUTE($_SESSION['login_reg'])."</span><br />";
  
  IF (CONFIG('REG_MODE') == 2){
    
    ECHO "<b>".LG('Выбранный E-mail').":</b> ".TEXT_ABSOLUTE($_SESSION['email_reg'])."<br />";
    
  }
    
  ECHO "<br /><a href='/?get=registration&step=no' class='btn'>".ICONS('times', 15, 'fa-fw')." ".LG('Отменить')."</a>";
  ECHO "</div>";
  ECHO "</div>";
  
  IF (GET('step') == 'no' || !ISSET($_SESSION['login_reg']) || CONFIG('REG_MODE') == 2 && !ISSET($_SESSION['email_reg'])){
    
    $_SESSION['step'] = 1;
    $_SESSION['sex_reg'] = 1;
    $_SESSION['login_reg'] = NULL;
    $_SESSION['pass2_reg'] = NULL;
    $_SESSION['pass_reg'] = NULL;
    $_SESSION['email_reg'] = NULL;
    
    REDIRECT('/?get=registration');
    
  }
  
  ECHO "<div class='list-body'>";
  ECHO "<div class='list-menu'>";
  
  ECHO "<font size='+1'>".LG('Шаг 2 из 2')."</font><br /><br />";
  
  ECHO "<form method='post'>";
  
  ECHO "<b>".LG('Придумайте пароль')."</b> (".LG('8-20 символов')."):<br />";
  HTML::INPUT('password', 'Пароль', NULL, '20', TEXT_ABSOLUTE($_SESSION['pass_reg']), 'form-control-100', 'password');
  
  ECHO "<b>".LG('Повторите пароль')."</b>:<br />";
  HTML::INPUT('password2', 'Пароль', NULL, '20', TEXT_ABSOLUTE($_SESSION['pass2_reg']), 'form-control-100', 'password');
  
  ECHO "<b>".LG('Ваш пол').":</b><br />";
  ECHO "<select class='form-control-select' name='sex'>";
  ECHO "<option value='1' " . ($_SESSION['sex_reg'] == 1 ? "selected='selected'" : NULL) . ">".LG('Мужской')."</option>";
  ECHO "<option value='2' " . ($_SESSION['sex_reg'] == 2 ? "selected='selected'" : NULL) . ">".LG('Женский')."</option>";
  ECHO "</select><br /><br />";
  
  CAPTCHA('Введите числа с картинки', 'form-control-30');
  
  ECHO "<label class='custom-checkbox'><input type='checkbox' name='rules' value='1'><span>".LG('Я принимаю все условия')."</span> "; 
  ECHO "<a href='/modules/rules/' style='position: relative; bottom: 2px;'>".LG('соглашения')."</a></label><br /><br />";
  
  HTML::BUTTON('btn-registration', 'ok', 'mail-forward', 'ЗАРЕГИСТРИРОВАТЬ');
  
  ECHO "</form>";
  
  ECHO "</div>";
  ECHO "</div>";

}

ECHO "<div class='navigation'>";
ECHO "<a href='?'>".ICONS('home', 25, 'fa-fw')."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "".LG('Регистрация')."";
ECHO "</div>";