» » » Account delete [DLE 9.x - 10.2]

Ошибка добавление новости
Вы зашли на сайт как незарегистрированный пользователь.
Для добавления новости Вам требуется зарегистрироваться либо войти на сайт под своим именем.
Ошибка добавление вопроса
Вы зашли на сайт как незарегистрированный пользователь.
Для добавления вопроса Вам требуется зарегистрироваться либо войти на сайт под своим именем.

Account delete [DLE 9.x - 10.2]

 Robot    2014.04.20    DLE хаки     2047 
Account delete [DLE 9.x - 10.2]


Название: Account delete
Автор: Qnut
CMS: DLE 9.x - 10.2

Описание:
Данный хак дает возможность пользователю удалить свой аккаунт по какой либо причине, его новости и комментарии остаются не тронутыми, по желанию можете сами добавить запрос на их удаление.

Установка:
Открыть engine/modules/profile.php, найти:
$tpl->set( '{ip}', $_IP );


Выше вставить:
// uaer delete by qnut
	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\">Удалить аккаунт</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 );
	} else {
		$tpl->set( '{user_delete}', "" );
	}
	// uaer delete by qnut

Открыть templates/{THEME}/userinfo.tpl, найти:
[/not-logged]


Перед ним вставить:
{user_delete}



Дополнительно:
Пользователь может удалить себя только в том случае, если он не находится в группе 1, 2 или 3

Account delete [DLE 9.x - 10.2]
Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.