<?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§ion=email' load='none' class='panel-button'>".ICONS('gear', 15, 'fa-fw')." ".LG('Подтвердить E-mail')."</a>";
}
ECHO "</div>";
ECHO "</div>";
ECHO "</div>";
EXIT;
}
?>