drew_bras 0 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 Здравствуйте. Помогите дилетанту, пожалуйста. Повадились на сайт ходить люди и портить рейтинг новостей. Тупо, не глядя давят на одну звезду и тем самым портят рейтинг размещающим. Нет ли какого-то способа проследить, кто это пакостит? Может в логах движка где-нибудь фиксируется, кто сколько звезд надавил. Уж очень хочется выявить школоту эту. Движок DLE ver 7.5. Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 082 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 Может в логах движка где-нибудь фиксируется, кто сколько звезд надавил. Нет не фиксируется Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 Автор И запретить отдельным категориям выставлять рейтинг тоже, походу, невозможно. Да, грустно, блин. Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 И запретить отдельным категориям выставлять рейтинг тоже, походу, невозможно. Да, грустно, блин. Почему нет, смотрите настройки групп пользователей: Разрешить выставление рейтинга новостей Вы можете разрешить или запретить данной группе выставлять рейтинг для новостей, если запретить, то пользователи смогут только видеть результаты рейтинга Правда в 7,5 не помню уже есть ли это. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 можно также посмотреть кто что ставил модификации в скрипте минимальны Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 Автор И запретить отдельным категориям выставлять рейтинг тоже, походу, невозможно. Да, грустно, блин. Походу, не так выразился. В самой новости нельзя запретить выставление рейтинга отдельным категориям именно для этой новости. Всем-то скопом, т.е. всей категории можно запретить рейтинг для всех новостей. Проблема в том, что в некоторых новостях ссылки на скачивание доступны только Вип-клиентам, хотя новость видна всем. Вот в этих новостях бы и разрешить проставление рейтинга только этим самым Випам, которые могут оценить ее, а не всем праздношатающимся. можно также посмотреть кто что ставил модификации в скрипте минимальны Да я же в этом деле дилетант, так и в заголовке написано. )) Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 3 января 2012 Рассказать Опубликовано: 3 января 2012 (изменено) добавляешь в таблицу dle_logs еще одно поле, например mark, тип int(1) в файле engine/ajax/rating.php находишь строку добавления лога, что то в виде $db->query( "INSERT INTO " . PREFIX . "_logs (news_id, ip, member, и заменяешь на $db->query( "INSERT INTO " . PREFIX . "_logs (news_id, ip, member, mark) values ('$news_id', '$_IP', '$user_name', '$go_rate')" ); [/code] эта модификация будет фиксировать оценку в логах а теперь для просмотра engine/modules/show.full.php например перед строчкой [code] $tpl->set( '{comments}', "<!--dlecomments-->" );[/code] вставляешь: [code]// вывод рейтинга пользователей $showrate=""; if ($member_id['user_group'] == 1) { $rate_sql = "SELECT * FROM dle_logs WHERE news_id=".$row['id']; $rate_result = $db->query( $rate_sql ); while ( $raterow = $db->get_row( $rate_result ) ) { $showrate .= addslashes($raterow["member"])." - ".$raterow["mark"].", "; } $tpl->set( '{showrate}', $showrate ); }[/code] и в шаблоне fullstory.tpl вставь в удобное место вывод проголосовавших, видно будет только администраторам [CODE][group=1]<br /><div>{showrate}</div>[/group][/code] Изменено 3 января 2012 пользователем prikindel 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 Автор Вот спасибо. Обязательно попробую. а теперь для просмотра engine/modules/show.full.php например перед строчкой $tpl->set( '{comments}', "<!--dlecomments-->" );[/CODE] Не нашел такой строчки в этом файле. ((единственное похожее $tpl->set( '{comment}', "<div id='comm-id-" . $row['id'] . "'>" . stripslashes( $row['text'] ) . "</div>" ); Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 drew_bras, ну или перед этой, там не суть важно главное не после $tpl->compile 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 (изменено) Автор drew_bras, ну или перед этой, там не суть важно главное не после $tpl->compile Там есть только такие: $tpl->compile( 'content' ) аж пять штук и эта строчка $tpl->set( '{comment}', "<div id='comm-id-" . $row['id'] . "'>" . stripslashes( $row['text'] ) . "</div>" ) находится явно после первой. Изменено 4 января 2012 пользователем drew_bras Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 (изменено) не может быть $tpl->compile перед $tpl->set( '{comment} ибо compile собирает из шаблона и переменных финальный хтмл. ну, вставь перед $tpl->set( '{comment}', "<div id='comm-id-" . $row['id'] . "'>" . stripslashes( $row['text'] ) . "</div>" ) я не знаю куда точнее, у меня нет версии 7.5. под рукой. Изменено 4 января 2012 пользователем prikindel 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 Автор Все сделал, но выводится только вот это слово: {showrate} и все. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 замени мой код для show.full // вывод рейтинга пользователей $showrate=""; if ($member_id['user_group'] == 1) { $rate_sql = "SELECT * FROM dle_logs WHERE news_id=".$row['id']; $rate_result = $db->query( $rate_sql ); while ( $raterow = $db->get_row( $rate_result ) ) { $showrate .= addslashes($raterow["member"])." - ".$raterow["mark"].", "; } $tpl->set( '{showrate}', $showrate ); } на // вывод рейтинга пользователей $showrate=""; if ($member_id['user_group'] == 1) { $rate_sql = "SELECT * FROM dle_logs WHERE news_id=".$row['id']; $rate_result = $db->query( $rate_sql ); while ( $raterow = $db->get_row( $rate_result ) ) { $showrate .= addslashes($raterow["member"])." - ".$raterow["mark"].", "; } } $tpl->set( '{showrate}', $showrate ); если надпись исчезнет, то дело в условии if ($member_id['user_group'] == 1) { я если честно не помню, как в 7.5. называется эта переменная а если не исчезнет, то тогда ты просто неправильно вставил код.еще один момент, у тебя префикс таблиц какой? если что то и запрос надо поменять "SELECT * FROM dle_logs WHERE news_id=".$row['id']; на "SELECT * FROM " . PREFIX . "_logs WHERE news_id=".$row['id']; 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 Автор Заменил код, но после этого вообще полная новость перестала выводиться, пишет ошибка в файле showfull. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 drew_bras, код 100% рабочий, ты что то не так делаешь 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 Автор drew_bras, код 100% рабочий, ты что то не так делаешь Понял, сейчас буду перепроверять. Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 Автор Ого, вроде заработало. Только не вполне понятно, что означают цифры после логина пользователя, как-то никакой связи с рейтингом не вижу, т.е. рейтинг, к примеру, 3 звезды, проголосовало 7 человек и у всех после имени пользователя стоит 0. В принципе, конечно, неважно, уже можно вычислить, кто пакостит. Спасибо большое. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 drew_bras, у меня возле ников пишется оценка 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 Автор drew_bras, у меня возле ников пишется оценка Да это-то вроде понятно, что должна писаться оценка, только что вот за оценка 0? Или просто движок старые оценки не может вывести, которые были поставлены до внесений изменений в скрипт и ставит просто ноль? Сейчас вот проголосовал сам, все работает, свою оценку вижу, а все остальные ноли. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2012 Рассказать Опубликовано: 4 января 2012 drew_bras, ну так да, только вновь добавленные оценки будет видностарые ведь не фиксировались. фиксировался только факт голосования, а сама оценка нет.уф..с тебя пиво) 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 5 января 2012 Рассказать Опубликовано: 5 января 2012 Автор drew_bras, уф..с тебя пиво) Готов. Куда нести? Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 5 января 2012 Рассказать Опубликовано: 5 января 2012 боюсь, что в силу геолокации встретиться не получится с новым годом! 1 Цитата Ссылка на сообщение Поделиться на других сайтах
drew_bras 0 Опубликовано: 5 января 2012 Рассказать Опубликовано: 5 января 2012 Автор боюсь, что в силу геолокации встретиться не получится с новым годом! Блин, а жалко! Но все равно, спасибо громадное. Уже вычислил одного умника. И вовсе даже не школота оказалось шалит, а вполне себе солидный и уважаемый (теперь уже в прошлом) человек. С новым годом! Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.