XF 2.1 Как массово отписать пользователей от отслеживания тем?

Версия XenForo
2.1.7

ФАКЕР

Проверенные
Сообщения
967
Решения
14
Реакции
119
Баллы
1,745
Добрый день.
Как массово отписать пользователей от отслеживания тем? (что бы не приходили уведомления на емейл )
 
Редактирование нужного пользователя -> три точки -> Управление отслеживаемыми темами -> Отключить уведомления на электронную почту
10.000 пользователей и каждого вручную отписывать? лол
МАССОВО нужно отписать.
 
10.000 пользователей и каждого вручную отписывать? лол
МАССОВО нужно отписать.
Попробуйте:
UPDATE xf_thread_watch
SET email_subscribe = 0;
Сделайте бэкап, перед выполнением SQL запроса
 
Попробую так
1604327299239-png.121884
 

Ошибка​

SQL запрос:



UPDATE
xf_user_option
SET
interaction_watch_state = ‘watch_no_email’
WHERE
interaction_watch_state = ‘watch_email’



Ответ MySQL:

#1054 - Неизвестный столбец '‘watch_email’' в 'where clause'
 
Первый запрос был выполнен, но ничего не поменялось.
Пользователи так же подписаны.

Код:
// СНИМАЕМ ЕМЕЙЛ ПОДПИСКИ С ЗАРЕГАНЫХ
UPDATE

xf_thread_watch
SET
email_subscribe = 0;

UPDATE

xf_forum_watch
SET
send_email = 0
 
Последнее редактирование:
Первый запрос был выполнен, но ничего не поменялось.
Пользователи так же подписаны.
И что не так с этими двумя запросами? Они прекрасно работают как надо. Единственное, если включен safe mode для апдейтов, надо добавить условие WHERE user_id > 0 к каждому запросу
 
И что не так с этими двумя запросами? Они прекрасно работают как надо. Единственное, если включен safe mode для апдейтов, надо добавить условие WHERE user_id > 0 к каждому запросу
так?

Код:
UPDATE
xf_user_option
SET
interaction_watch_state = ‘watch_no_email’
WHERE user_id > 0
interaction_watch_state = ‘watch_email’

а с этим запросом что делать?
Код:
// СНИМАЕМ ЕМЕЙЛ ПОДПИСКИ С ЗАРЕГАНЫХ
UPDATE

xf_thread_watch
SET
email_subscribe = 0;

UPDATE

xf_forum_watch
SET
send_email = 0
 
В вашем посте было два запроса. Почему вы приделали условие к какому-то взятому непойми откуда?

а с этим запросом что делать?
Здесь два запроса, а не один. К каждому из них и приделайте условие WHERE user_id > 0 перед ;. А о том первом, что вы скинули, забудьте. Вы и так сказали, что он сработал, зачем вам дальше его тащить
 
В вашем посте было два запроса. Почему вы приделали условие к какому-то взятому непойми откуда?


Здесь два запроса, а не один. К каждому из них и приделайте условие WHERE user_id > 0 перед ;. А о том первом, что вы скинули, забудьте. Вы и так сказали, что он сработал, зачем вам дальше его тащить
Я просто вообще не понимаю, что делать.
Он сработал, но я открыл профиль рандомного пользователя и он всё равно подписан на уведомления в почту.

так?
Код:
UPDATE
xf_user_option
SET
interaction_watch_state = ‘watch_no_email’ WHERE user_id > 0 ;

interaction_watch_state = ‘watch_email’ WHERE user_id > 0 ;
 
Последнее редактирование:
SQL:
UPDATE xf_user_option SET interaction_watch_state = 'watch_no_email' WHERE interaction_watch_state = 'watch_email';
UPDATE xf_thread_watch SET email_subscribe = 0 WHERE user_id > 0;
UPDATE xf_forum_watch SET send_email = 0 WHERE user_id > 0;

Дальше я буду отправлять в учебник по SQL, это основы основ. А еще вы копируете [А по щам?] пойми как, откуда в коде вообще могли взяться симолы ‘code’, когда должны быть простые одинарные кавычки 'code'.
 
SQL:
UPDATE xf_user_option SET interaction_watch_state = 'watch_no_email' WHERE interaction_watch_state = 'watch_email';
UPDATE xf_thread_watch SET email_subscribe = 0 WHERE user_id > 0;
UPDATE xf_forum_watch SET send_email = 0 WHERE user_id > 0;

Дальше я буду отправлять в учебник по SQL, это основы основ. А еще вы копируете [А по щам?] пойми как, откуда в коде вообще могли взяться симолы ‘code’, когда должны быть простые одинарные кавычки 'code'.
Выполнил этот запрос, пишет, что успешно.
Открыл двух рандомных пользователей и настройки у них не идентичны.
 

Вложения

  • 1111111111111111.png
    1111111111111111.png
    18.2 KB · Просмотры: 9
  • 22222222222222222222222.png
    22222222222222222222222.png
    23.6 KB · Просмотры: 9
Вам самому сложно зайти в базу и потыкать параметры, чтобы понять, что именно вам нужно? Они и не будут идентичными, потому что я всего лишь исправил код который вы сами и скинули. Хотите идентично - делайте так
SQL:
UPDATE xf_user_option SET interaction_watch_state = '', creation_watch_state = '' WHERE user_id > 0;
 
Вам самому сложно зайти в базу и потыкать параметры, чтобы понять, что именно вам нужно? Они и не будут идентичными, потому что я всего лишь исправил код который вы сами и скинули. Хотите идентично - делайте так
SQL:
UPDATE xf_user_option SET interaction_watch_state = '', creation_watch_state = '' WHERE user_id > 0;
что этот запрос делает?
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу