Авторизация DLE Ajax [DLE 9.x — 10.x]

Авторизация DLE Ajax [DLE 9.x — 10.x]

Название: Авторизация DLE Ajax
Автор: NeoLife
CMS: Dle 9.x — 10.0
Описание:
Благодаря данному хаку вы сможете сделать на сайте AJAX авторизацию.
 Скриншоты


Установка:

1. Открываем файл index.php, ищем:
echo $tpl->result['main'];
ВЫШЕ вставляем:
if(($_POST['login'] == "submit") AND ($_POST['ajax'] == "1")) {
$tpl->result['main'] = $login_message;
}

2. Открываем engine/nodules/sitelogin.php, после:

if( isset( $_POST['login'] ) AND $_POST['login_name'] AND $_POST['login_password'] AND $_POST['login'] == "submit" ) {
вставляем:
if ($_POST['ajax'] == "1") {
$_POST['login_name'] = convert_unicode( $_POST['login_name'], $config['charset'] );
$_POST['login_password'] = convert_unicode( $_POST['login_password'], $config['charset'] );
}

2.1. Сдесь же, после:

$db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users set lastdate='{$_TIME}', logged_ip='" . $_IP . "' WHERE user_id='$member_id[user_id]'" );
$is_logged = TRUE;
вставляем:
$login_message = "logged";

2.2. Сдесь же, после:

msgbox( $lang['login_err'], $lang['login_err_1'] );
вставляем: 
$login_message = $lang['login_err_1'];

2.3. Сдесь же, после:

msgbox( $lang['login_err'], $lang['login_err_2'] );
вставляем: 
$login_message = $lang['login_err_2'];

2.4. Сдесь же, после:

msgbox( $lang['login_err'], $lang['ip_block_login'] );
вставляем код: 
$login_message = $lang['ip_block_login'];

3. В ваш .js файл вставляем в самый конец:

function sitelogin(){
var uname=$("input[name='login_name']").val(); 
var upassword=$("input[name='login_password']").val();
$.post("/index.php",{login_name:""+uname+"",login_password:""+upassword+"",login:"submit",ajax:"1"},function(data){
if (data == "logged") {
DLEalert("Авторизация прошла успешно", "Авторизация на сайте");
setTimeout(function() {
location.href="";
location.reload();
}, 1500);
} else {
DLEalert(""+data+"", "Ошибка авторизации");
}
});
}

4. Кнопка входа должна быть такого вида:

<a href="javascript://" onclick="sitelogin();return false;">Войти</a>