Название: Account delete
Автор: Qnut
Данный ха даёт возможность пользователю удалить свой аккаунт, при этом все его новости и комментарии останутся на сайте. По возможности можно сделать запрос на удаление комментариев и новостей пользователя. Проверено на работоспособность на DLE 11.2.
Установка:
Открыть engine/modules/profile.php, найти:
Выше вставить:
Открыть /templates/Default-Black/userinfo.tpl, найти:
Перед ним вставить:
Пользователь может удалить себя если он не находится в группе 1, 2 и 3. При желании можно добавить и другие группы пользователей.
Открыть engine/modules/profile.php, найти:
Добавить выше:
Автор: Qnut
Данный ха даёт возможность пользователю удалить свой аккаунт, при этом все его новости и комментарии останутся на сайте. По возможности можно сделать запрос на удаление комментариев и новостей пользователя. Проверено на работоспособность на DLE 11.2.
Установка:
Открыть engine/modules/profile.php, найти:
Код
$tpl->set( '{ip}', $_IP );
Выше вставить:
Код
//################### Удаление профиля пользователя ######################//
if( $member_id['user_id'] == $row['user_id'] and $row['user_group'] >= 4)
$user_delete = "<input type=\"checkbox\" name=\"user_delete\" id=\"user_delete\" value=\"yes\"> <label for=\"user_delete\">Удалить аккаунт <b>(Внимание: после удаления аккаунта дальнейшее его восстановление будет невозможным!!!)</b></label>";
if($_POST['user_delete'] == "yes" ) {
$id = $row['user_id'];
if( $_REQUEST['dle_allow_hash'] == "" or $_REQUEST['dle_allow_hash'] != $dle_login_hash ) die( "Hacking attempt! User not found" );
if( !$id ) die( $lang['user_nouser'] );
if( ! $row['user_id'] ) die( "User not found" );
if (($member_id['user_group'] != 1 AND $row['user_group'] == 1 ) || ($is_login)) die( $lang['user_undel'] );
$db->query( "DELETE FROM " . USERPREFIX . "_pm WHERE user_from = '{$row['name']}' AND folder = 'outbox'" );
@unlink( ROOT_DIR . "/uploads/fotos/" . $row['foto'] );
$db->query( "delete FROM " . USERPREFIX . "_users WHERE user_id='$id'" );
$db->query( "delete FROM " . USERPREFIX . "_banned WHERE users_id='$id'" );
$db->query( "delete FROM " . USERPREFIX . "_pm WHERE user='$id'" );
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '65', '{$row['name']}')" );
clear_cache();
header( "Location: {$_SERVER['REQUEST_URI']}" );
} else
$stop .= "Удаление невозможно!";
$tpl->set( '{user_delete}', $user_delete );
//################### Удаление профиля пользователя ######################//
if( $member_id['user_id'] == $row['user_id'] and $row['user_group'] >= 4)
$user_delete = "<input type=\"checkbox\" name=\"user_delete\" id=\"user_delete\" value=\"yes\"> <label for=\"user_delete\">Удалить аккаунт <b>(Внимание: после удаления аккаунта дальнейшее его восстановление будет невозможным!!!)</b></label>";
if($_POST['user_delete'] == "yes" ) {
$id = $row['user_id'];
if( $_REQUEST['dle_allow_hash'] == "" or $_REQUEST['dle_allow_hash'] != $dle_login_hash ) die( "Hacking attempt! User not found" );
if( !$id ) die( $lang['user_nouser'] );
if( ! $row['user_id'] ) die( "User not found" );
if (($member_id['user_group'] != 1 AND $row['user_group'] == 1 ) || ($is_login)) die( $lang['user_undel'] );
$db->query( "DELETE FROM " . USERPREFIX . "_pm WHERE user_from = '{$row['name']}' AND folder = 'outbox'" );
@unlink( ROOT_DIR . "/uploads/fotos/" . $row['foto'] );
$db->query( "delete FROM " . USERPREFIX . "_users WHERE user_id='$id'" );
$db->query( "delete FROM " . USERPREFIX . "_banned WHERE users_id='$id'" );
$db->query( "delete FROM " . USERPREFIX . "_pm WHERE user='$id'" );
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '65', '{$row['name']}')" );
clear_cache();
header( "Location: {$_SERVER['REQUEST_URI']}" );
} else
$stop .= "Удаление невозможно!";
$tpl->set( '{user_delete}', $user_delete );
//################### Удаление профиля пользователя ######################//
Открыть /templates/Default-Black/userinfo.tpl, найти:
Код
[/not-logged]
Перед ним вставить:
Код
{user_delete}
Пользователь может удалить себя если он не находится в группе 1, 2 и 3. При желании можно добавить и другие группы пользователей.
Открыть engine/modules/profile.php, найти:
Код
if( $member_id['user_id'] == $row['user_id'] and $row['user_group'] >= 4)
Добавить выше:
Код
if( $member_id['user_id'] == $row['user_id'] and $row['user_group'] >= ID_ГРУППЫ)
$user_delete = "<input type=\"checkbox\" name=\"user_delete\" id=\"user_delete\" value=\"yes\"> <label for=\"user_delete\">Удалить аккаунт <b>(Внимание: после удаления аккаунта дальнейшее его восстановление будет невозможным!!!)</b></label>";
$user_delete = "<input type=\"checkbox\" name=\"user_delete\" id=\"user_delete\" value=\"yes\"> <label for=\"user_delete\">Удалить аккаунт <b>(Внимание: после удаления аккаунта дальнейшее его восстановление будет невозможным!!!)</b></label>";
Ctrl
Enter
Заметили ошЫбку
Выделите текст и нажмите Ctrl+EnterКомментарии (0)
Добавить