Иконка ресурса

Полезные SQL запросы

XFI Bot

Проверенные
Сообщения
594
Реакции
900
Баллы
11,220
Пользователь Hope разместил новый ресурс:

Полезные SQL запросы - Несколько полезных SQL запросов для XenForo.

Не забудьте сделать бэкап базы данных перед выполнением любого из запросов!

SQL запрос на удаление статусов у всех пользователей:
Код:
TRUNCATE TABLE xf_user_status;

UPDATE xf_user_profile
SET status = '', status_date = 0, status_profile_post_id = 0;


SQL запрос для очистки полей "Домашняя страница" и очистки подписей, для пользователей, у которых 0 сообщений на форуме:
Код:
UPDATE xf_user_profile AS up
SET up.signature = '', up.homepage = ''
WHERE 0 = (
    SELECT...

Узнать больше об этом ресурсе...
 
Cпасибо, давно искал как сбросить все статусы у пользователей
 
Здравствуйте.
А имеется sql запрос - на смену аватарок, у всех пользователей - на стандартную?
 
Привет. Попробуйте так:
Код:
UPDATE xf_user
SET avatar_date = 0,
avatar_width = 0,
avatar_height = 0;

И после этого почистите папку /data/avatars/ на сервере.

Но лучше протестируйте сначала на тестовом где-то.
 
Последнее редактирование:
Как отменить у всех пользователей невидимый режим?
 
Не хотелось бы ставить сторонние плагины для таких вещей, которые можно узнать из базы. Вопрос, лишь:
как отобразить все переписки по id-пользователя?
Код:
SELECT * FROM `xf_conversation_message` WHERE `user_id` = 123;
как отобразить все сообщения в id-переписки?
Код:
SELECT * FROM `xf_conversation_message` WHERE `conversation_id` = 123;
как отобразить все непрочитанные переписки по id-пользоваля с момента его последнего посещения (те, которые светятся как непрочитанные)?
можно ли и как собрать в дамп\файл содержание переписки=id?
Думаю, не только мне будут интересны ответы - гугл так ничего по ним внятно не ответил
 
Последнее редактирование:
Подскажите запрос на удаление пользователей, у которых нет аватара.

Возможно ли такое сделать массово?

Спасибо
 
Нужен запрос чтоб в настройках приватности у всех юзеров сделать вот так:

3r4I3Cm[1].jpg

Тоесть А. поставить галочку и Б. выбрать опцию Members Only
 
Вот возможные варианты для разных пунктов настроек:
Код:
UPDATE xf_user_privacy SET allow_view_profile = 'members';
UPDATE xf_user_privacy SET allow_post_profile = 'members';
UPDATE xf_user_privacy SET allow_receive_news_feed = 'members';
UPDATE xf_user_privacy SET allow_send_personal_conversation = 'members';
UPDATE xf_user_privacy SET allow_view_identities = 'members';
 
пардон за глупый вопрос: а в ксене есть возможность вбивать запросы прямо в админке? или нужно в phpmyadmin лезть?
в булке есть такая штука в админке прям из коробки
 
нашлось :)

Querier

а я искал по заголовкам по запросу sql и нифига не мог найти :)

Вот возможные варианты для разных пунктов настроек:
дошли руки
попробовал запрос

UPDATE xf_user_privacy SET allow_view_profile = 'members';

в результате пишет Results (0)

и юзеры со скрытыми профилями все еще есть на форуме.

короче, не работает

посмотрел в код шаблона
по идее опция называется не allow_view_profile , а allow_view_profile_enable , только я не пойму, в какой таблице ее искать
и там нужно устанавливать 1 или 0 (установлена или снята галочка)
 
martini,
Незнаю почему у вас так но это работает
Код:
UPDATE `xf_user_privacy` SET `allow_view_profile` = 'members';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 4  Changed: 3  Warnings: 0
 
  • Мне нравится
Реакции: Hope
Подскажите запрос на удаление пользователей, у которых нет аватара.

Возможно ли такое сделать массово?

Спасибо

Решение:
infis написал(а):
Прямого пути нет, но можно сделать так.
1. Создаем группу "Без аватарки".
2. Создаем повышение группы пользователей, где указываем в качестве условия "У пользователя нет аватара", а в качестве группы указываем созданную "Без аватарки".
3. Пакетно удаляем пользователей, у которых установлена дополнительная группа "Без аватарки".
 
Незнаю почему у вас так но это работает
Если вернуться к моему посту Полезные SQL запросы то следует обратить внимание, что там у меня два пункта:
1. установить галочку для видимости профайла
2. установить значение members для опции кому именно позволено видеть профайл
так вот, данный запрос отвечает за пункт 2 , а как сделать пункт 1?
 
martini, этим же запросом эта галочка и активируеться ... поскольку если галочка не поставленна то будет выглядеть так
Код:
SELECT * FROM `xf_user_privacy`  WHERE `xf_user_privacy`.`user_id` = 1 ;

| user_id | allow_view_profile | allow_post_profile | allow_send_personal_conversation | allow_view_identities | allow_receive_news_feed |

|  1      | none  | members  | members  | everyone  | everyone  |
Ну а после запроса в моем посте оно становиться таким
Код:
| user_id | allow_view_profile | allow_post_profile | allow_send_personal_conversation | allow_view_identities | allow_receive_news_feed |

|       1 | members            | members            | members                          | everyone              | everyone                |
 
Последнее редактирование:
  • Мне нравится
Реакции: Hope
тогда в чем может быть причина что запрос не срабатывает?
профиль остается закрытым, тоесть без галочки
 
тогда в чем может быть причина что запрос не срабатывает?
профиль остается закрытым, тоесть без галочки
А вы на себе проверьте сначала(снять-поставить галку) через SQL, возможно нужно делать это через врайтеры, кто знает как оно там устроено
 
Да, через SQL работает
Когда устанавливаю значение none то галочка снимается, когда любое другое - появляется.
Почему же запросом собака не работает?
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу