Представляем хак DLE Модерация комментариев автором статьи, хак позволит Авторам своих публикаций удалять / редактировать комментарии добавленные в их новостях.
Комментарии очень важны для веб-проекта, есть даже возможность зарабатывать на комментариях, а владельцам сайта наполнять сообщениями страницы соответствующими отзывами. О самых популярных биржах, где заработок на комментариях приносит хороших доход, а главное куча всегда есть заказов, читайте на странице сайта netraboti.ru по ссылке выше.
Установка хака DLE Модерация комментариев автором статьи :
1.0 Открыть файл engine/modules/show.full.php
Найти:
$news_id = $row['id'];
$allow_comments = $row['allow_comm'];
Добавить выше:
$autor = $row['autor'];
Далее найти:
$comments = new DLE_Comments( $db, $comments_num, intval($config['comm_nummers']) );
Привести в такое состояние:
$comments = new DLE_Comments( $db, $comments_num, intval($config['comm_nummers']), $autor );
2.0 Открыть файл engine/classes/comments.class.php
Найти:
var $query = false;
Добавить ниже:
var $autor = false;
Далее найти:
function DLE_Comments( $db, $total_comments, $comments_per_pages ) {
Привести в такое состояние:
function DLE_Comments( $db, $total_comments, $comments_per_pages, $autor ) {
Далее найти:
$this->db = $db;
Добавить ниже:
$this->autor = $autor;
Далее найти:
// редактирование
if( $is_logged AND $edit_limit AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc']) ) {
Привести в такое состояние:
// редактирование
if( $is_logged AND $edit_limit AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc'] OR $member_id['name'] == ($this->autor ? $this->autor : $row['author'])) ) {
Далее найти:
// удаление
if( $is_logged AND $edit_limit AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_delc']) OR $member_id['user_group'] == '1' OR $user_group[$member_id['user_group']]['del_allc']) ) {
Привести в такое состояние:
// удаление
if( $is_logged AND $edit_limit AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_delc']) OR $member_id['user_group'] == '1' OR $user_group[$member_id['user_group']]['del_allc'] OR $member_id['name'] == ($this->autor ? $this->autor : $row['author'])) ) {
3.0 Открыть файл engine/ajax/deletecomments.php
Найти:
$row = $db->super_query....
Добавить ниже:
$sql = $db->super_query( "SELECT autor FROM " . PREFIX . "_{$allowed_areas[$area]['counter_table']} WHERE id = '{$row['post_id']}'" );
Далее найти:
if( $_GET['dle_allow_hash'] != "" AND $_GET['dle_allow_hash'] == $dle_login_hash AND (($member_id['user_id'] == $row['user_id'] AND $is_reg AND $user_group[$member_id['user_group']]['allow_delc']) OR $member_id['user_group'] == '1' OR $user_group[$member_id['user_group']]['del_allc']) )
Привести в такое состояние:
if( $_GET['dle_allow_hash'] != "" AND $_GET['dle_allow_hash'] == $dle_login_hash AND (($member_id['user_id'] == $row['user_id'] AND $is_reg AND $user_group[$member_id['user_group']]['allow_delc']) OR $member_id['user_group'] == '1' OR $user_group[$member_id['user_group']]['del_allc'] OR $member_id['name'] == $sql['autor']) )
Готово!
1.0 Открыть файл engine/ajax/editcomments.php
Найти:
$allowed_areas = array(
'news' => array (
'comments_table' => 'comments',
),
'ajax' => array (
'comments_table' => 'comments',
),
'lastcomments' => array (
'comments_table' => 'comments',
),
);
Привести в такое состояние:
$allowed_areas = array(
'news' => array (
'comments_table' => 'comments',
'counter_table' => 'post'
),
'ajax' => array (
'comments_table' => 'comments',
'counter_table' => 'post'
),
'lastcomments' => array (
'comments_table' => 'comments',
'counter_table' => 'post'
),
);
Далее найти 2 раза:
if( $id != $row['id'] ) die("error");
Добавить ниже:
$sql = $db->super_query( "SELECT autor FROM " . PREFIX . "_{$allowed_areas[$area]['counter_table']} WHERE id = '{$row['post_id']}'" );
Далее найти:
SELECT id, date,
Привести в такое состояние:
SELECT id, post_id, date,
Далее найти:
if( $is_logged and (($member_id['name'] == $row['autor'] and $row['is_register'] and $user_group[$member_id['user_group']]['allow_editc']) or $user_group[$member_id['user_group']]['edit_allc']) ) {
$have_perm = 1;
}
Привести в такое состояние:
if( $is_logged and (($member_id['name'] == $row['autor'] and $row['is_register'] and $user_group[$member_id['user_group']]['allow_editc']) or $user_group[$member_id['user_group']]['edit_allc'] OR $member_id['name'] == $sql['autor']) ) {
$have_perm = 1;
}
Далее найти:
if( $is_logged AND (($member_id['name'] == $row['autor'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc'] OR $user_group[$member_id['user_group']]['admin_comments']) ) {
$have_perm = 1;
}
Привести в такое состояние:
if( $is_logged AND (($member_id['name'] == $row['autor'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc'] OR $user_group[$member_id['user_group']]['admin_comments'] OR $member_id['name'] == $sql['autor']) ) {
$have_perm = 1;
}
Готово!
Автор: Vitnet
Проверено на: DLE 10.4 и выше в том числе на свежей версии dle 110
Скачать бесплатно хаки дле, как хак
Moderaciya-kommentariev-avtorom-stati-dlya-DLE-10.4-i-vyshe.rar [43,13 Kb] (cкачиваний: 60)