Рейтинг контента 2.X

не корректно отображение рейтинга

 
Посетитель
no avatar
Сообщений: 43
Всем привет!
Обращаюсь за помощью к добрым людям))
На днях столкнулся с такой проблемой:
на своем сайте мы объявили конкурс на лучшую публикацию. То есть за определенный период пользователи должны оценивать публикации стрелками вверх или вниз, и по завершению конкурса, автору публикации с наивысшим рейтингом мы вручаем приз. Люди были бы не людьми, если бы не решились смухлевать. Уже несколько раз пресекались попытки регистрации кучи фэйковых аккаунтов и поголовоном минусовании публикаций. Всех нарушителей отловили, дубли потерли. Но проблема в том, что оценки у публикаций считаются по старому. Если провалиться внутрь оценки, то увидим список оценок, без дублей. Однако финальная оценка, которую видят все, выводится ошибочная. То есть после удаления, нарушителей, их аккаунты удалились вместе с оценками, но тем не менее оценки у публикаций не пересчитались.

Кто-нибудь знает, как можно это исправить? Что нужно сделать, чтобы рейтинг публикаций пересчитался? (примеры приложил в аттаче)

Буду очень благодарен за помощь.
Прикрепленные файлы:
Screenshot2_ek6nu.png | 77.07 Кб | Скачали: 197
Screenshot3_ek6nu.png | 117.41 Кб | Скачали: 179
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1147
Тут, вроде, намекают где копать - http://instantcms.ru/forum/thread22639-1.html
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3094
Для профилактики рекомендую новорегам запретить оценивать материалы
ь
Посетитель
no avatar
Сообщений: 43
Может быть есть возможность сделать какой-то скрипт, чтобы рейтинг у всего контента пересчитался? Готов заплатить за решение.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2719
Пример пересчета рейтинга в постах:
Код PHP:
  1. UPDATE cms_con_posts p SET p.rating = (SELECT SUM(score) FROM cms_rating_log r WHERE r.target_id = p.id AND r.target_subject = 'posts')
Бэкап базы обязательно сделайте перед любыми действиями с ней!
Редактировалось: 1 раз (Последний: 9 февраля 2017 в 19:29)
Посетитель
no avatar
Сообщений: 43
Ris:

Пример пересчета рейтинга в постах:
Код PHP:
  1. UPDATE cms_con_posts p SET p.rating = (SELECT SUM(score) FROM cms_rating_log r WHERE r.target_id = p.id AND r.target_subject = 'posts')
Бэкап базы обязательно сделайте перед любыми действиями с ней!

Благодарю.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.