вопрос
Здравствуйте. Помогите пожалуйста с модулем Лучший комментарий от ув. sx2.name. Суть такова. Модуль работает если стоит сортировка комментов по возрастанию. А если поставить по убыванию, то комментарий закрепляется в самом низу. Подскажите что добавить в код, чтобы заработало с сортировкой по убыванию.
Такой код в engine/classes/comments.class.php
Такой в .js
А такой в файле модуля который закинут по пути \engine\ajax
Такой код в engine/classes/comments.class.php
if (!empty($row['best'])) {
$tpl->set('[best]', "");
$tpl->set('[/best]', "");
} else {
$tpl->set_block("'\\[best\\](.*?)\\[/best\\]'si", "");
}
if ($is_logged AND ($member_id['user_id'] == $news_author) OR ($user_group[$member_id['user_group']]['admin_editusers'])) {
if (empty($row['best'])) {
$tpl->set('[add-best]', "<a href=\"javascript:BestComments('{$row['id']}', '{$row['post_id']}', '0')\">");
$tpl->set('[/add-best]', "</a>");
$tpl->set_block("'\\[dell-best\\](.*?)\\[/dell-best\\]'si", "");
} else {
$tpl->set('[dell-best]', "<a href=\"javascript:BestComments('{$row['id']}', '{$row['post_id']}', '1')\">");
$tpl->set('[/dell-best]', "</a>");
$tpl->set_block("'\\[add-best\\](.*?)\\[/add-best\\]'si", "");
}
} else {
$tpl->set_block("'\\[add-best\\](.*?)\\[/add-best\\]'si", "");
$tpl->set_block("'\\[dell-best\\](.*?)\\[/dell-best\\]'si", "");
}
Такой в .js
function BestComments(a, b, c) {
if (c == 1) {
text = "Открепить данный комментарий?";
} else {
text = "Закрепить данный комментарий первым?";
}
DLEconfirm(text, dle_confirm, function() {
ShowLoading("");
$.post(dle_root + "engine/ajax/controller.php?mod=commsort", {
id: a,
post_id: b,
dell_comm: c,
user_hash: dle_login_hash
}, function(data) {
HideLoading("");
$("#dle-content").load(window.location.href + " #dle-content");
DLEalert(data, dle_info);
})
})
}
А такой в файле модуля который закинут по пути \engine\ajax
if (!defined('DATALIFEENGINE')) {
header("HTTP/1.1 403 Forbidden");
header('Location: ../../');
die("Hacking attempt!");
}
if ($_REQUEST['user_hash'] == "" OR $_REQUEST['user_hash'] != $dle_login_hash) {
die("Error! Not user_hash.");
}
if (!$is_logged)
die("У вас нет прав для закрепления комментария.");
$id = intval($_REQUEST['id']);
$post_id = intval($_REQUEST['post_id']);
$dell_comm = intval($_REQUEST['dell_comm']);
if (!$post_id OR $post_id < 1)
die("Новость с ID {$post_id} не существует!");
if (!$id OR $id < 1)
die("Комментарий с ID {$id} не существует!");
$db->query("UPDATE " . PREFIX . "_comments SET best = '0' WHERE post_id = {$post_id}");
if (empty($dell_comm))
$db->query("UPDATE " . PREFIX . "_comments SET best='1' WHERE id = {$id}");
if ($config['allow_cache']);
clear_cache(array(
'full_',
'comm_'
));
if (!empty($dell_comm))
echo "Комментарий откреплен. Он будет отображаться по дате публикации.";
else
echo "Комментарий закреплён. Теперь он будет отображаться первым.";
?>
ORDER BY best ASC