Просмотр файла 2/3020.ru/system/connections/panel/access.php

Размер файла: 6Kb
<?php

/*
---------------
Доступ в панель
---------------
*/
  
//Доступ по паролю
IF (STR(CONFIG('PASSWORD')) > 0 && COOKIE('PANEL_PASSWORD') != CONFIG('PASSWORD') && MANAGEMENT == 1){
  
  ECHO "<div class='content-center-fixed'>";
  
  ECHO "<div class='content-center'>";
  
  ECHO "<div class='list-title'>";
  ECHO "".ICONS('lock', 23, 'fa-fw')." ".LG('Доступ заморожен')."";
  ECHO "</div>";
  
  ECHO "<div class='list'>";
  
  //Подключаем системные оповещения
  REQUIRE (ROOT.'/system/connections/panel/inform.php');
  
  IF (POST('ok')){
    
    $err_data = 0;
    
    IF (CONFIG('PASSWORD') != SHIF(POST('password'))){
      
      ERROR('Неверный пароль', 'session');
      $err_data = 1;
      
    }
    
    IF (!POST('captcha') OR !POST('captcha_key')) {
      
      ERROR('Вы не ввели числа с картинки', 'session');
      $err_data = 1;
    
    }
    
    IF (MD5((int)POST('captcha') + $captcha_random_seed) != POST('captcha_key')) { 
      
      ERROR('Числа с картинки введены неверно', 'session');
      $err_data = 1;
    
    }
    
    IF ($err_data == 1){
      
      REDIRECT('/panel/');
    
    }
    
    SETCOOKIE('PANEL_PASSWORD', SHIF(POST('password')), TIME() + 60 * 60 * 24 * 365);    
    REDIRECT('/panel/');
  
  }
  
  ECHO "<font size='+1' color='#FFD0CD'>".LG('На доступ к панели установлен пароль.')."</font><br /><br />";
  
  ECHO "<form method='post'>";
  
  HTML::INPUT('password', 'Пароль', 'Введите пароль:', NULL, NULL, 'form-control-100', 'password'); 
    
  CAPTCHA('Введите числа с картинки', 'form-control-30');
    
  HTML::BUTTON('panel-button2', 'ok', 'plus', 'Подтвердить');
  
  ECHO "</form>";
  
  ECHO "</div>";
  
  ECHO "</div>";
  
  ECHO "</div>";
  
  EXIT;
  
}

//Проверка IP при входе
IF (CONFIG('ACCESS') == 2 && $user['PANEL_IP'] != IP && MANAGEMENT == 1){
  
  IF ($user['PANEL_CODE_IP'] == 0 && STR($user['EMAIL']) > 0){
    
    $code = RAND(111111,999999);
    
    EMAIL($user['EMAIL'], 'Подтверждение смены IP', 'Здравствуйте. У вас сменился IP и необходимо его подтвердить для возвращения доступа в панель управления.<br /><br />Код для разблокировки доступа: <b>'.$code.'</b>', CONFIG('EMAIL_ADM'));
    
    DB::GET_SET("UPDATE `USERS` SET `PANEL_CODE_IP` = '".$code."' WHERE `ID` = '".$user['ID']."' LIMIT 1");
    
    REDIRECT('/panel/');
  
  }
  
  ECHO "<div class='content-center-fixed'>";
  
  ECHO "<div class='content-center'>";
  
  ECHO "<div class='list-title'>";
  ECHO "".ICONS('lock', 23, 'fa-fw')." ".LG('Доступ заморожен')."";
  ECHO "</div>";
  
  ECHO "<div class='list'>";
  
  //Подключаем системные оповещения
  REQUIRE (ROOT.'/system/connections/panel/inform.php');
  
  ECHO "<font size='+1' color='#FFD0CD'>".LG('Сработала защита. Необходимо подтвердить смену IP.')."</font><br /><br />";
  
  IF (STR($user['EMAIL']) > 0){
    
    IF (POST('ok')){
      
      $err_data = 0;
      
      IF ($user['PANEL_CODE_IP'] != POST('code')){
        
        ERROR('Неверный код', 'session');
        $err_data = 1;
        
      }
      
      IF (!POST('captcha') OR !POST('captcha_key')) {
        
        ERROR('Вы не ввели числа с картинки', 'session');
        $err_data = 1;
      
      }
      
      IF (MD5((int)POST('captcha') + $captcha_random_seed) != POST('captcha_key')) { 
        
        ERROR('Числа с картинки введены неверно', 'session');
        $err_data = 1;
      
      }
      
      IF ($err_data == 1){
        
        REDIRECT('/panel/');
      
      }
      
      DB::GET_SET("UPDATE `USERS` SET `PANEL_CODE_IP` = '0', `PANEL_IP` = '".IP."' WHERE `ID` = '".$user['ID']."' LIMIT 1");

      REDIRECT('/panel/');
      
    }
    
    ECHO "".LG('На ваш E-mail')." <b>".TEXT_ABSOLUTE($user['EMAIL'])."</b> ".LG('отправлен код для смены IP')."<br /><br />";
    
    ECHO "<form method='post'>";
    
    HTML::INPUT('code', 'Код', 'Введите полученный код:', NULL, NULL, 'form-control-30'); 
    
    CAPTCHA('Введите числа с картинки', 'form-control-30');
    
    HTML::BUTTON('panel-button2', 'ok', 'plus', 'Подтвердить');
    
    IF (STR($user['EMAIL']) > 0){
      
      ECHO " ";
      
      HTML::BUTTON('panel-button2', 'go', 'mail-forward', 'Отправить повторно');
      
      IF (POST('go')){
        
        $code = RAND(111111,999999);
        
        EMAIL($user['EMAIL'], 'Подтверждение смены IP', 'Здравствуйте. У вас сменился IP и необходимо его подтвердить для возвращения доступа в панель управления.<br /><br />Код для разблокировки доступа: <b>'.$code.'</b>', CONFIG('EMAIL_ADM'));
        
        DB::GET_SET("UPDATE `USERS` SET `PANEL_CODE_IP` = '".$code."' WHERE `ID` = '".$user['ID']."' LIMIT 1");
        
        SUCCESS('Код успешно отправлен повторно', 'session');
        REDIRECT('/panel/');
      
      }
      
    }
    
    ECHO "</form>";
    
  }ELSE{
    
    ECHO "".LG('Отправка кода для разблокировки доступа к панели невозможна, так как вы не указали свой E-mail адрес в профиле. Сделать это можно здесь:')."<br /><br />";
    ECHO "<a href='/users/profile/?path=settings&section=email' load='none' class='panel-button'>".ICONS('gear', 15, 'fa-fw')." ".LG('Подтвердить E-mail')."</a>";
  
  }  
  
  ECHO "</div>";
  
  ECHO "</div>";
  
  ECHO "</div>";
  
  EXIT;

}
    
?>