Перейти к контенту
  • 0

Массово перенести пользователей в другую группу


GonZO

Вопрос

Прошу прощения, поиском не нашел, в FAQ тему создать не дают, спрашиваю здесь.

 

Поборов более-менее спам на форуме (команда из 10 актвных модераторов справляется), тем не менее, осталась проблема спама по РМ. Регистрируется спамер и (видимо, скриптом) рассылает по нескольку тысяч приватных сообщений со спамом. Отследить и отмодерировать это затруднительно, поэтому я придумал следующий workaround:

 

1. завести группу "неспамеры", в которой будет разрешено пользование РМ, но попадание в эту группу обеспечено только полсе написания 5ти сообщений на форуме.

2. у группы members, куда попадают свежезарегистрировавшиеся пользователи, отключить РМ.

 

все выполнимо, но осталась одна загадка -- как МАССОВО перевести мользователей из группы members, имеющих больше 5ти сообщений, в группу "неспамеры"?

 

через админку могу поиском найти несколько тысяч пользователей, но как их сразу всех перенести?

 

ps. попутно вопрос: бан через "предупреждения" действует на РМ тоже, или забаненый лишается только возможности писать в темы?

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

GonZO можно через sql иньекцию это сделать. Ты знаешь пхп?

ps. попутно вопрос: бан через "предупреждения" действует на РМ тоже, или забаненый лишается только возможности писать в темы?

ЛС работают даже если пользавателен забанен. Это сделано для того чтобы пользователь мог переговорить с администрацией по поводу бана. GonZO есть возможность блокировки пользователя тогда пользователь не может вообще нигде писать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если ID старой группы "3", а перенести надо в группу "6" тех, у кого больше 5 сообщений, запросом:
UPDATE ibf_members SET mgroup = '6'
WHERE mgroup = '3' AND posts > 5

Ссылка на комментарий
Поделиться на других сайтах

  • 0

ага вот полный код скриптика такой .

<?php 

include "conf_global.php";

@mysql_connect("localhost", "".$INFO['sql_user']."", "".$INFO['sql_pass']."");
@mysql_select_db("".$INFO['sql_database']."");

$update_mem = mysql_query("UPDATE ibf_members SET mgroup=ввести номер группы  WHERE posts>5 && mgroup=номер старой группы пользователей");
?>

Его загружаешь в папку с форумом и после запуска скрипта,пользователи переместяться.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

nikitah

Это сработает только если sql по локалхосту.

У моего провайдера коннектится по

localhost:/home/логин/run/mysql.sock

 

Правильнее будет код:

<?php 

include "conf_global.php";

@mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']);
@mysql_select_db($INFO['sql_database']);

$update_mem = mysql_query("UPDATE ibf_members SET mgroup=ввести номер группы  WHERE posts>5 && mgroup=номер старой группы пользователей");
?>

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну чаще всего sql коннектится к localhost. Я на скольких доменах не был,там всё к локалхосту коннектиться.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

огромное спасибо!

 

осталось только добавить, что не у всех префикс таблиц "ibf_", и что все делается замечательно через admin -- sql toolbox. но это уже детали. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А ещё это можно не делать :D При первом же опубликованном ими сообщении форум перенесёт их и так во вторую группу, если так настроено.
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.