Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Удаление минусов с репутации. Как?

Опубликовано:

Зашел спамер и поставил кучу минусов везде, как удалить его минусы с репутации? Спасибо.

Рекомендованные сообщения

Опубликовано:

Никак. Только вручную sql запросами.

Опубликовано:
  • Автор

Никак. Только вручную sql запросами.

Спасибо, не продуманно однако)

Опубликовано:

Чтобы удалить отрицательные изменения репутации от определенного пользователя выполните следующие SQL запросы:

 

- Удаление отрицательной репутации выданной другим пользователям

 

UPDATE ibf_profile_portal pp INNER JOIN (
SELECT SUM(ri.rep_rating) AS rating, p.author_id FROM ibf_reputation_index ri 
INNER JOIN ibf_posts p ON (ri.app='forums' AND ri.type='pid' AND ri.type_id=p.pid) 
WHERE ri.member_id = ид_пользователя AND ri.rep_rating=-1
GROUP BY p.author_id
) z ON (z.author_id=pp.pp_member_id)
SET pp.pp_reputation_points=pp.pp_reputation_points - z.rating

- Обновление кеша

 

UPDATE ibf_reputation_cache rc 
INNER JOIN ibf_reputation_index ri ON (rc.app=ri.app AND rc.type=ri.type AND rc.type_id=ri.type_id)
SET rc.rep_points = rc.rep_points - ri.rep_rating
WHERE ri.app='forums' AND ri.type='pid' AND ri.member_id = ид_пользователя AND ri.rep_rating=-1

- Удаление записей репутации

 

DELETE FROM ibf_reputation_index WHERE app='forums' AND type='pid' AND member_id = ид_пользователя AND ri.rep_rating=-1

 

ид_пользователя - заменить на ид нужного пользователя.

 

Запросы выполнять в порядке следования.

Чтобы удалить всю репутацию от определенного пользователя, как положительную так и отрицательную, удалите из запросов AND ri.rep_rating=-1

 

Следующий запрос выведет все сообщения с репутации от данного пользователя:

 

SELECT p.topic_id, p.author_name, p.author_id, FROM_UNIXTIME(p.post_date) post_date, p.post, FROM_UNIXTIME(ri.rep_date) rep_date, ri.rep_rating 
FROM ibf_reputation_index ri
INNER JOIN ibf_posts p ON (ri.app='forums' AND ri.type='pid' AND ri.type_id=p.pid)
WHERE ri.member_id=ид_пользователя ORDER BY ri.rep_date DESC

  • 1 год спустя...
Опубликовано:

Спасибо за рецепт!

 

У нас на форуме часто возникает немного иная задача - удалить лайк/дизлайк у конкретного сообщения.

Пользователи часто по ошибке нажимают не ту кнопку, особенно часто промахиваются с мобильных устройств.

 

У нас на форуме IP.Board 3.4.8, и там помимо удаления записи из ibf_reputation_cache требуется поправить значение в ibf_reputation_totals

 

У меня вот такие 3 запроса для удаления дизлайка по номеру пользователя и номеру сообщения получились:

DELETE FROM ibf_reputation_index WHERE member_id=id_пользователя AND type_id=id_сообщения;
UPDATE ibf_reputation_totals SET rt_total=rt_total+1 WHERE rt_type_id=id_сообщения;
DELETE FROM ibf_reputation_cache WHERE type_id=id_сообщения;

И то же самое для лайка:

DELETE FROM ibf_reputation_index WHERE member_id=id_пользователя AND type_id=id_сообщения;
UPDATE ibf_reputation_totals SET rt_total=rt_total-1 WHERE rt_type_id=id_сообщения;
DELETE FROM ibf_reputation_cache WHERE type_id=id_сообщения;

При этом я не исправляю общий рейтинг пользователя, он в нашем случае неважен, к тому же его можно поправить отдельно через админку.

 

И вот такой скрипт для быстрой генерации запросов для себя написал, вдруг кому-то еще пригодится :)

https://www.w3schools.com/code/tryit.asp?filename=FET3JU6LS1QA

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.