
Представляем на https://dle9.com/ хак для DLE авторизация через Логин или Email на сайте, после добавления хака ваши пользователи при входе на сайт смогут сами выбирать, как им удобно производить авторизацию с помощью логина или почтового адреса. Как вам известного, в стандартном виде это возможно сделать только через Логин, или только Email, после включения в настойках движка одного из варианта. Хак для DLE авторизация на сайте через Логин и Email добавляет новую функцию, обеспечит выборный вход на ресурс по желанию пользователей через Логин, и через Email.
Инструкция по установке хака авторизация на сайте через Логин и Email для DLE:
1. Идем в engine/inc/options.php. Ищем:
array ("0" => $lang['opt_sys_login'], "1" => $lang['opt_sys_email'] )
Заменяем на:
array ("0" => $lang['opt_sys_login'], "1" => $lang['opt_sys_email'], "2" => "По логину или E-mail" )
2. Далее идем в engine/modules/sitelogin.php и ищем:
if ($config['auth_metod']) {
Выше вставляем:
if($config['auth_metod'] == '2') {
if(preg_match('/^(?:[a-z0-9]+(?:[-_]?[a-z0-9]+)?@[a-z0-9]+(?:.?[a-z0-9]+)?.[a-z]{2,5})$/i',$_POST['login_name'])) $config['auth_metod'] = true;
else $config['auth_metod'] = false;
}
Вот и все готово, но есть небольшая доработка. После всего сделанного выше, Вы не сможете в админку попасть только через Email, для этого исправляем:
Идем в файл engine/inc/include/function.inc.php, и ищем:
if ($config['auth_metod']) {
Выше вставить:
if($config['auth_metod'] == '2') {
if(preg_match('/^(?:[a-z0-9]+(?:[-_]
?[a-z0-9]+)?@[a-z0-9]+(?:.?[a-z0-9]+)?
.[a-z]{2,5})$/i',$username)) $config['auth_metod'] = true;
else $config['auth_metod'] = false;
}
Теперь уже точно все готово.
Хак предложил : reanimator692
Возможно будет работать на версии DataLife Engine 13.х, но рассчитан на версии ниже 11.х-12.1
Скачать хаки для DLE, хак представленный у нас на dle9.com можно по следующей ссылке