Вывод сообщения - комментарий удален
После удаления комментария пользователя, на его месте остается сообщение ***Комментарий удален***. Это иногда полезно, когда нужно удалить из статьи комментарии и при этом сохранить последовательность обсуждения. При этом комментарий не удаляется физически и удалить его полностью можно из админ-панели. Ниже представлено два варианта этой реализации.
Важно: при использовании этого хака рекомендуется отключить в настройках DLE возможность редактирования собственных комментариев пользователем.
Вариант 1. После удаления комментария на его месте, от Пользователя, остается сообщение ***Комментарий удален***
Установка:
1. Открыть engine/ajax/deletecomments.php и найти:
$db->query( "DELETE FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} WHERE id = '$id'" );
// обновление количества комментариев у юзера
if( $is_reg ) {
$author = $db->safesql($author);
$db->query( "UPDATE " . USERPREFIX . "_users set comm_num=comm_num-1 where name ='$author'" );
}
// обновление количества комментариев в новостях
$db->query( "UPDATE " . PREFIX . "_{$allowed_areas[$area]['counter_table']} SET comm_num=comm_num-1 where id='$post_id'" );
Заменить на:
$lang_text = '***комментарий удалён***';
$db->query("UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} SET text='$lang_text' WHERE id='$id'");
2. Открыть engine/modules/comments.php и найти:
$db->query( "DELETE FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} WHERE id = '$id'" );
Заменить на:
$lang_text = '***комментарий удалён***';
$db->query("UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} SET text='$lang_text' WHERE id='$id'");
Найти еще ниже:
$db->query( "DELETE FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} WHERE id = '$id'" );
Заменить на:
$lang_text = '***комментарий удалён***';
$db->query("UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} SET text='$lang_text' WHERE id='$id'");
Готово!
Вариант 2. После удаления комментария на его месте, от Робота, остается сообщение ***Комментарий удален***
Установка:
1. Открыть engine/ajax/deletecomments.php и найти:
$db->query( "DELETE FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} WHERE id = '$id'" );
// обновление количества комментариев у юзера
if( $is_reg ) {
$author = $db->safesql($author);
$db->query( "UPDATE " . USERPREFIX . "_users set comm_num=comm_num-1 where name ='$author'" );
}
// обновление количества комментариев в новостях
$db->query( "UPDATE " . PREFIX . "_{$allowed_areas[$area]['counter_table']} SET comm_num=comm_num-1 where id='$post_id'" );
Заменить на:
$lang_text = '***комментарий удалён***';
$db->query("UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} SET user_id='0', autor='Робот', email='', text='$lang_text', is_register='0', approve='1' WHERE id='$id'");
2. Открыть engine/modules/comments.php и найти:
$db->query( "DELETE FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} WHERE id = '$id'" );
Заменить на:
$lang_text = '***комментарий удалён***';
$db->query("UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} SET user_id='0', autor='Робот', email='', text='$lang_text', is_register='0', approve='1' WHERE id='$id'");
Найти еще ниже:
$db->query( "DELETE FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} WHERE id = '$id'" );
Заменить на:
$lang_text = '***комментарий удалён***';
$db->query("UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} SET user_id='0', autor='Робот', email='', text='$lang_text', is_register='0', approve='1' WHERE id='$id'");
Готово!
• Автор: Sillys Developer
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.