Плагин "Magic Rule"
Плагин позволяет определить правила для голосования и добавления контента.
Есть возможность создавать правила для блокировки голосования на определенное время, например, тех, кто часто голосует в минус.
GitHub — github.com/livestreet/lsplugin-magicrule
Пример стандартной конфигурации:
/**
* Список правил
* Для каждого действия составляется отдельная группа правил, групп может быть несколько
* Список действий: vote_comment, vote_topic, vote_user, create_comment, create_topic
* В параметре msg можно указать сообщение, которое будет отображаться пользователю, можно использовать просто текст или указать ключ из языкового файла, например, 'message_cant_vote'
*
* Список доступных критериев:
* registration_time - время в секундах с момента регистрации пользователя
* rating - необходимый минимальный рейтинг
* skill - необходимая минимальная сила
* count_comment - необходимое минимальное количество комментариев у пользователя
* count_topic - необходимое минимальное количество топиков у пользователя
* Любой из критериев можно опустить.
*/
$config['rule']=array(
// действие
'vote_comment' => array(
'msg' => 'Вы еще не достаточно окрепли!', // Сообщение, которое будет отображаться пользователю
'groups' => array(
// Пример группы правил: разрешаем голосование за комментарии, если пользователь зарегистрировался больше суток назад, имеет рейтинг от -5, написал 2 коммента и 1 топик
array(
// критерии
'registration_time' => 60*60*24*1, // Время с момента регистрации пользователя
'rating' => -5, // Необходимый минимальный рейтинг
'count_comment' => 2, // Необходимое минимальное количество комментариев у пользователя
'count_topic' => 1, // Необходимое минимальное количество топиков у пользователя
),
),
),
'vote_topic' => array(
'msg' => 'Вы еще не достаточно окрепли!',
'groups' => array(
// Пример: голосование за топик, если рейтинг пользователя от -3, зарегистрировался сутки назад и написал хотя бы 1 топик или комментарий
array(
'registration_time' => 60*60*24*1,
'rating' => -3,
'count_comment' => 2,
),
array(
'registration_time' => 60*60*24*1,
'rating' => -3,
'count_topic' => 1,
),
),
),
);
/**
* Правила для создания блокировок
* Группы правил необходимо располагать по приоритету - вверху самые главные
* Если группа правил сработала, то создается блокировка и обход нижестоящих правил прекращается
*
* Параметры правил:
* name - название правила блокировки, для учета в таблице блокировок. Название ограничено в 50 символов
* type - список типов голосований, up - за, down - против
* target - список сущностей за которые голосуют
* count - количество голосований
* period - период, за который необходимо считать количество голосований, в секундах
* block_time - время, на которое необходимо блокировать возможность голосования
* block_msg - сообщение, которое будет видеть пользователь при попытке голосования
*/
$config['block_rule_vote']=array(
/**
* Пример группы правил: если пользователь за 10 минут успел поставить 3 минуса, то блокируем ему голосование на 3 часа
*/
array(
'name' => 'block 1', //
'type' => array('down'),
'target' => array('topic','comment'),
'count' => 3,
'period' => 60*10,
'block_time' => 60*60*3,
'block_msg' => 'Вы слишком агрессивны, нужно отдохнуть!',
),
);
25 комментариев
Может ли этот плагин помочь? И что нужно сделать, чтобы можно было менять?
Подскажите пожалуйста что можно еще поправить.PHP Version 5.4.4.
ПС: Не проверял, но пока тихо, видимо работает.