База данных
Вы хотели бы подробно отслеживать, кто пометил каждое сообщение, но вы также, возможно, захотите разрешить нескольким людям отмечать сообщение. Если один человек помечает сообщение, его мнение может быть сомнительным, но если его пометят 20 человек, вы сразу узнаете, что есть проблема.
Я бы создал таблицу, которая выглядит примерно так:
flag_seq | post_id | flagger_username | timestamp | user_notes | active
============================================================================================
1 | 1431 | joebob1 | 2010-01-25 13:41:12 | it's spam | TRUE
2 | 1431 | i_hate_spam | 2010-01-25 14:01:23 | You know I hate spam. | TRUE
3 | 2283 | joebob1 | 2010-01-24 08:09:57 | vulgar language | TRUE
Отслеживание каждого флага в отдельности позволит вам выполнять более сложные действия на уровне администрирования или модерации.
- Вы можете отслеживать, кто что помечает (в случае, если кто-то злоупотребляет этой функцией, т. Е. joebob1 не любит * i_hate_spam *, поэтому они продолжают отмечать свои сообщения как оскорбительные).
- Вы можете сделать быстрый подсчет, выполнив
SELECT COUNT(*) FROM flag_table WHERE post_id = '1431'
.
- Вы можете удалить некоторые флаги индивидуально, указав
flag_seq
помеченного сообщения.
- Дайте пользователю возможность добавлять свои комментарии, чтобы вы точно знали, что и почему они сообщают об этом. Вы также можете выбрать для них предопределенные параметры в поле
<select>
.
- Устанавливая флаг
active
, вы никогда не удаляете свои флаги, даже после того, как они были обработаны. Это полезно для получения статистики по отмеченным сообщениям. Вы можете использовать эту информацию для оправдания большего количества модераторов или для того, чтобы посвятить время поиску новых методов борьбы со спамом и т. Д.
Отметить этот пост
Как только вы настроите свою базу данных, вам просто нужно будет поместить ссылку "Пометить этот пост" где-нибудь на каждом посте. Свяжите это с формой, которая отправляется в вашу вновь созданную базу данных. Обязательно правильно очистите данные, прежде чем вставлять их в базу данных с помощью mysql_real_escape_string
или pg_escape_string
или с использованием подготовленных операторов.
Умеренность
Вы можете сделать несколько разных вещей, когда сообщение помечено.
- Вы могли бы написать крон, который будет проверять количество флагов на каждом посте и предпринимать определенные действия при определенных порогах.
- Вы можете написать страницу модерации, в которой перечислены все активные флаги с различными способами их обработки. (например, удалить пост, отредактировать пост, забанить постер, все вышеперечисленное и т. д.)