Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2020-03-21 20:48:51

yohoho
Участник
Зарегистрирован: 2020-03-15
Сообщений: 14
Сайт

Задержка перед отправкой нового сообщения?

Реально сделать в зависимости от количества отправленных пользователем постов?
Например <10 задержка 10 минут.
<50 задержка 2 минуты.
Не больше 50 постов вдень.

Offline

#2 2020-03-22 07:49:51

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Задержка перед отправкой нового сообщения?

Реально сделать в зависимости от количества отправленных пользователем постов?
Например <10 задержка 10 минут.
<50 задержка 2 минуты.

1. Создаете в группах две новых на основе группы Пользователи
2. В первой ставите ограничение Флуд-интервал для сообщений = 600 и задаете Перемещение пользователей на вторую группу и указываете вместо 0 -> 10
3. Во второй группе ставите ограничение Флуд-интервал для сообщений = 120 и задаете Перемещение пользователей на группу Пользователи и указываете вместо 0 -> 50
4. Задаете в настройках групп Группу по умолчанию = первой созданной группе

Offline

#3 2020-03-22 08:01:49

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Задержка перед отправкой нового сообщения?

Не больше 50 постов вдень.

Лучше раз в сутки запускать cron скрипт, который бы создавал кеш файл содержащий массив вида

id юзера => количество сообщений

Массив можно было бы получить из таблицы пользователей запросом

'SELECT id, num_posts FROM '.$db->prefix.'users WHERE group_id!='.PUN_UNVERIFIED

И при проверке нового сообщения в post.php проверять наличие данных для текущего пользователя в этом массиве и если данных в массиве есть, то делать проверку

if ($pun_user['num_posts'] - $array_from_cache[$pun_user['id']] >= 50) {
    $errors[] = 'Слишком много сообщений за день';
}

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens