Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > vBulletin 3.х > Инструкции по vBulletin
Расширенный поиск

Инструкции по vBulletin Всевозможные мануалы, FAQ и инструкции по vBulletin

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2011, 08:04 Вверх   #1
Модератор
 
Аватар для Slavok47
Slavok47 вне форума
Доп. информация
По умолчанию Решение задач/проблем при помощи SQL-запросов

Существуют некоторые задачи а возможно и не доработки (например проблема с подписью) которые очень просто решить при помощи SQL запроса, в основном это настройки которые не применяются для тех объектов которые были созданы до изменения этих настроек.
Например:
1) Проблема с подписью, если пользователь не сделал себе подпись, то этот функция имеет отключенный статус, и создание сообщений делается с опцией в отключенном состоянии, а когда пользователь делает себе подпись она не включается в сообщениях написанных до создания подписи, можно конечно редактировать каждое, но если их 1000?
в этом случае используем обычный запрос через phpMyAdmin или же прямо из админку (если есть разрешение на это), если же нету то его можно включить в config.php,
PHP код:
$config['SpecialUsers']['canrunqueries'] = '1'
это не безопасно, и тогда можно будет делать автоматические запросы, по категориям
PHP код:
UPDATE post SET showsignature='1' 
где post - таблица, будьте внимательны, если у вас таблицы с префиксом, его обязательно нужно добавить
данный запрос обновит все строки в поле showsignature в таблице post для всех пользователей, а можно это сделать и для конкретного пользователя, тогда запрос будет выглядеть так:
PHP код:
UPDATE post SET showsignature='1' WHERE username='Admin' 
либо по ID (что более недежней) userid='1'
Все это вступление, далее будут просто запросы, это для тех кто вобще ни как не дружит с SQL и PHP, хотя таким я бы не рекомендовал что то делать с базой))

2) Для включения у всех опции "Разрешить уведомления о новых ЛС всплывающим окном"
PHP код:
UPDATE user SET pmpopup='1' 
3) Массовое удаление "мягко" удаленных тем/постов
данная операция пройдет в 3 этапа:
а) Удаление постов
б) Удаление тем
в) Удаление меток

И так, удаляем все посты которые имеют статус "мягко-удаленные", и все остальные посты которые находятся в темах которые "мягко-удалены":
PHP код:
DELETE from vb_post WHERE postid IN (SELECT primaryid from vb_deletionlog where type='post') OR threadid IN (SELECT primaryid from vb_deletionlog where type='thread'
Удаляем сами темы:
PHP код:
DELETE from vb_thread WHERE threadid IN (SELECT primaryid from vb_deletionlog where type='thread'
Удаляем метки:
PHP код:
DELETE from vb_deletionlog WHERE type='post' OR type='thread' 
В примере использован префикс vb_


Будьте осторожны при работе с БД и запросами, делайте бэкапы перед какими то работами

Последний раз редактировалось Slavok47; 21.04.2011 в 11:46..
  Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глаз проблемы и их решение Samir-05 Здоровье 7 10.06.2013 14:16
Просмотр количества запросов в базу при загрузке страницы Serberg Инструкции, модификации и статьи для DLE 1 21.12.2011 01:02
[Вопрос] Диспетчер задач Lexx12 Windows 9 13.12.2010 10:13
Как восстановить Диспетчер задач ? sanek-2607 Windows 3 25.05.2010 18:41
[Вопрос] Как уменьшить количество запросов? winshelp vBulletin 3.х 3 17.05.2009 05:57


Текущее время: 21:02. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.06877 секунды с 14 запросами