SEO SMM Арбитраж трафика Инструменты Программирование Веб-разработка Графика Софт Cоц. сети Скрипты сайтов Боты
хостинг

Telegram Expert

Купить резедентные прокси

Проверка Email на занятость при регистрации для DLE



Представляем хак для дле проверка Email на занятость при регистрации или свободен почтовый адрес E-mail для регистрации на сайта, проверка производиться в базе данных и запрещает регистрацию если Email адрес почты дублируется. Это довольно простой скрипт dle проверки БД на занятость email, скрипт будет проверять при регистрации свободен ли email и логин на портале. Решение для DLE 14 и выше скрипт проверки Email-адреса (почты) на занят или нет при регистрации.

Установка хака проверка Email на свободность при регистрации
1. Открыть файл дле шаблона registration.tpl и найти:

<input type="text" name="email" class="f_input" />


Заменить на:

<input type="text" name="email" id="email" class="f_input" /> <input class="bbcodes" style="height: 22px; font-size: 11px;" title="Проверить доступность E-Mail для регистрации" onclick="CheckEmail(); return false;" type="button" value="Проверить E-Mail" /><br /><div id='result-email'></div>


2. Открыть файл engine/classes/js/dle_js.js и найти:

function CheckLogin(){var a=document.getElementById("name").value;ShowLoading("");$.post(dle_root+"engine/ajax/registration.php",{name:a},function(a){HideLoading("");$("#result-registration").html(a)});return!1}


Добавить ниже:

function CheckEmail(){var a=document.getElementById("email").value;ShowLoading("");$.post(dle_root+"engine/ajax/registration.php",{email:a},function(a){HideLoading("");$("#result-email").html(a)});return!1}


3. Открыть файл engine/ajax/registration.php и найти:

function check_name($name) {
	global $lang, $db, $banned_info, $relates_word, $config;
	...
	... 


Добавить выше:

function check_email($email) {
	global $lang, $db, $banned_info, $config;
	$stop = "";
	
	if( empty( $email ) OR strlen( $email ) > 50 OR @count(explode("@", $email)) != 2 OR !preg_match( "|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is", $email)) $stop .= $lang['reg_err_6'];
	if( count( $banned_info['email'] ) ) {
		foreach ( $banned_info['email'] as $banned ) {
			$banned['email'] = str_replace( '\*', '.*', preg_quote( $banned['email'], "#" ) );
		
			if( $banned['email'] and preg_match( "#^{$banned['email']}$#i", $email ) ) {
				if( $banned['descr'] ) {
					$lang['reg_err_23'] = str_replace( "{descr}", $lang['reg_err_22'], $lang['reg_err_23'] );
					$lang['reg_err_23'] = str_replace( "{descr}", $banned['descr'], $lang['reg_err_23'] );
				} else {
					$lang['reg_err_23'] = str_replace( "{descr}", "", $lang['reg_err_23'] );
				}
			
				$stop .= $lang['reg_err_23'];
			}
		}
	}
	
	if( $stop == "" ) {
		$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users WHERE email='" . $email . "'" );
		if( $row['count'] ) $stop .= "Пользователь с таким E-Mail адресом уже зарегистрирован!";
	}
	return (!$stop) ? false : $stop;
}


Найти еще:

$name  = $db->safesql(trim(htmlspecialchars($parse->process(convert_unicode($_POST['name'], $config['charset'])), ENT_QUOTES, $config['charset'])));
$name = preg_replace('#\s+#i', ' ', $name);
$allow = check_name($name);
if (!$allow)
	$buffer = "<font color=\"green\">".$lang['reg_ok_ajax']."</font>";
else
	$buffer = "<font color=\"red\">".$allow."</font>";


Для версии DLE 10/12
Заменить на:

if( isset($_POST['name']) ) {
	$name  = $db->safesql(trim(htmlspecialchars($parse->process(convert_unicode($_POST['name'], $config['charset'])), ENT_QUOTES, $config['charset'])));
	$name  = preg_replace('#\s+#i', ' ', $name);
	$allow = check_name($name);
	$buffer = (!$allow) ? "<font color=\"green\">" . $lang['reg_ok_ajax'] . "</font>" : "<font color=\"red\">" . $allow . "</font>";
} elseif( isset($_POST['email']) ) {
	$email = $db->safesql(trim($_POST['email']));
	$allow = check_email($email);
	$buffer = (!$allow) ? "<font color=\"green\">Вы можете использовать данный E-Mail для регистрации</font>" : "<font color=\"red\">" . $allow . "</font>";
}


Для версии DLE 13/14 и выше Читаем комметарий

Заменить на:

$name  = $db->safesql(trim(htmlspecialchars($parse->process(convert_unicode($_POST['name'], $config['charset'])), ENT_QUOTES, $config['charset'])));
	$name  = preg_replace('#\s+#i', ' ', $name);
	$allow = check_name($name);
	$buffer = (!$allow) ? "<font color=\"green\">" . $lang['reg_ok_ajax'] . "</font>" : "<font color=\"red\">" . $allow . "</font>";
} elseif( isset($_POST['email']) ) {
	$email = $db->safesql(trim($_POST['email']));
	$allow = check_email($email);
	$buffer = (!$allow) ? "<font color=\"green\">Вы можете использовать данный E-Mail для регистрации</font>" : "<font color=\"red\">" . $allow . "</font>";


Готово!

Версия DataLife Engine: Любая

[attachment=14853:proverka-email-na-zanyatost-pri-registracii-dle.rar]
879
Рейтинг:

Проверка Email на занятость при регистрации для DLE

31-03-2022, 22:30 .zip

Скачать
Сохранить или отправить

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

Партнёрские программы

Смотреть все
1WIN ПАРТНЕРКА

1WIN ПАРТНЕРКА

1 650
  • 40
Партнерские программы / Гемблинг партнерки
Обзор RollerAds: умная пуш-сеть с инновационными инструментами

Обзор RollerAds: умная пуш-сеть с инновационными инструментами

1 893
  • 100
PUSH партнерки / Арбитраж трафика / Партнерские программы
Смотреть все

Магазин

Смотреть все
Купить
Продается готовый скрипт онлайн-казино / игрового сайта

Продается готовый скрипт онлайн-казино / игрового

Продается готовый скрипт онлайн-казино / игрового сайта Кому подходит: Тем,...

Купить
Бот для продажи VPN 3X-UI для Telegram

Бот для продажи VPN 3X-UI для Telegram

Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...

Купить
Мониторинг хайп проектов на движке DLE

Мониторинг хайп проектов на движке DLE

В данном скрипте есть возможность включить функцию чтобы пользователи сами...

Купить
Скрипт казино с 5 классическими играми.

Скрипт казино с 5 классическими играми.

Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...

Купить
Customer WishList / Избранные товары покупателей

Customer WishList / Избранные товары покупателей

Данный модуль позволяет просматривать избранные товары пользователей. Есть...

Смотреть все

Сервисы

Смотреть все
Смотреть все