• Автор:

    Flesha
  • Добавлено:

    авг 29, 2013
  • Комментариев:

    0
  • Просмотров:

    1 335

Хак Проверка занятого почтового ящика

Хак Проверка занятого почтового ящика

Обнаружил ошибку в DLE при изменении email в профиле, на тот который уже есть в системе, MySQL вываливается с ошибкой о дубле (ошибка 1062 в profile.php). Не понимаю почему разработчик не добавил простую проверку этой ситуации. Ну да ладно, исправим это сами.

Фикс основан на уже пофиксеном, от другой проблемы, решении от MSW.

Установка:

В файле /engine/modules/profile.php найти:
if ( !$send_mail_log AND $email != $row['email']) $mailchange = " email='{$email}',";
else $mailchange = "";


Заменить на:
#****** FIX Subscribe Change EMail *** by MSW + RDN TEAM ******#
if ( !$send_mail_log AND $email != $row['email']) {

$checkdoblemail = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users where email='{$email}'" );
if ($checkdoblemail['count']) {
msgbox( $lang['all_err_1'], "Этот email уже используется другим участником!" );
} else {
$db->query("UPDATE ". PREFIX ."_subscribe SET email='{$email}' WHERE user_id='{$id}'");
$mailchange = " email='{$email}',";
}
} else $mailchange = "";
#****** FIX Subscribe Change EMail *** by MSW + RDN TEAM ******#


Готово!

Версия DLE: 9.x-10.0
Автор: Grey
Источник: loginme.ru dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.