Account delete DLE

Account delete DLE
Хаки DataLife Engine
na3uTuB4uk
16.11.19, 09:57
534
0
Название: Account delete
Автор: 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 );

  //################### Удаление профиля пользователя ######################//

Открыть /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>";
Ctrl
Enter
Заметили ошЫбку
Выделите текст и нажмите Ctrl+Enter
Вернуться назад
Комментарии (0)