Хак , который после удаления комментария юзера, не удаляет комментарий физически, а удаляет текст комментария и вместо его пишет текст "
Комментарий удален". Это очень полезно для сохранения последовательности комментирования новости в процессе дискуссии.
А если вы хотите удалить полностью комментарий , тогда вы можите сделать это из админ панели.
Инструкция по установке:
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'");
Готово!
Версия DLE: 9.5-10.0