• Автор:

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

    апр 20, 2014
  • Комментариев:

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

    1 609

Хак Удаление своей новости

Хак Удаление своей новости

Что бы пользователь, который добавил новость на сайт, смог ее и удалить, и только он и никто другой из группы пользователей.

Установка:

1. Открыть /engine/modules/show.full.php найти:
$tpl->set_block( "'\\[edit\\](.*?)\\[/edit\\]'si", "" );


Ниже вставить:
if( $is_logged and ($member_id['name'] == $row['autor']) ) {
$tpl->set( '{dell_user}', "<a onclick=\"dle_news_delete (" . $row['id'] . ") \" >Удалить новость</a>" );
} else
$tpl->set( '{dell_user}', "" );


Открыть engine/modules/show.short.php найти:
$tpl->set_block( "'\\[edit\\](.*?)\\[/edit\\]'si", "" );


Ниже вставить:
if( $is_logged and ($member_id['name'] == $row['autor']) ) {
$tpl->set( '{dell_user}', "<a onclick=\"dle_news_delete (" . $row['id'] . ") \" >Удалить новость</a>" );
} else
$tpl->set( '{dell_user}', "" );


2. Открыть engine/modules/deletnews.php и найти:
if ($is_logged AND $user_group[$member_id['user_group']]['allow_all_edit']) {


Заменить на:
$id = intval($_GET['id']);
if ($id > 0)
$row = $db->super_query("SELECT id, autor, title, category FROM " . PREFIX . "_post WHERE id = '$id'");
else
die("Hacking attempt! User not found");

if ($is_logged AND ($user_group[$member_id['user_group']]['allow_all_edit'] || $row['author'] == $member_id['name'] )) {


Найти:
$id = intval($_GET['id']);

if ($id > 0) {

$row = $db->super_query("SELECT id, autor, title, category FROM " . PREFIX . "_post WHERE id = '$id'");


Заменить на:
if ($id > 0) {


В полном и кратком шаблоне вставить тег:
{dell_user}


Автор: kRicha
Версия DLE: 10.x dle
Вернуться

Комментарии:


  1. banbanan → 17 ноября 2015 11:23
    при попытке пользователем удалить новость пишет Hacking attempt! Not logged, длеша 10.6
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.