Хак для DLE Ajax авторизация входа на сайт


Работает хак для DLE Ajax авторизация на версии. Вот такой вариант авторизации https://dle9.com/ предлагаем, как вариант замена стандартной системы входа на сайт. Хак DLE Ajax авторизация на веб-ресурсе в всплывающем окне, при этом, при не правильном вводе пароля и логина или превышения ошибок - сообщение выходит уже в модальном окне. Как это показано на картинках ниже авторизация входа на сайт будет происходить в таком окне.




Хаки для DLE 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="jаvascript://" onclick="sitelogin();return false;">Войти</a>


Спасибо за внимание :)

Автор: NeoLif

Единственный плюс это обработка ошибок без обновления страницы, но как правило ошибки бывают не так часто, поэтому смысл делать такой хак, который не снижает нагрузку и тем более не ускоряет работу сайта для клиента.
Идея хорошая, но исполнение на троечку.
Если стоят редиректы для index.php на основной адрес сайта - хак не работает. Так же, если мы вводим правильный пароль, выскакивает окно, мол, мы успешно авторизовались, но личный кабинет так и не появляется, приходится обновлять страницу, так что по-сути никакой прелести аякса то и нет.

Предлагаем ознакомится хак datalife engine Ajax авторизация входа на сайт

Hak-Avtorizaciya-DLE-Ajax.rar [51,07 Kb] (cкачиваний: 186)
00

Комментарии (0)

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив