Удаление топиков сторонним скриптом

Started by gimcnuk, April 06, 2012, 02:05:56 AM

Previous topic - Next topic

gimcnuk

Здравствуйте.

Нет ли у кого PHP скрипта позволяющего удалять темы (топики) напрямую, не через интерфейс SMF?

Спасибо.

maestrosite.ru

Не совсем задача понятна.
Проверка прав доступа как должна происходить? Как должен задаваться список удаляемых тем? Удаляться темы со всеми сообщениями начисто, или перемещаться в корзину? и прочее
First of all, sorry for my english. По-русски у меня получается значительно лучше.

Проблема на форуме? Сначала посмотрите лог ошибок вашего форума и лог ошибок сайта (error_log)

You can try other modifications - see demo

gimcnuk

QuoteПроверка прав доступа как должна происходить?
Это неважно, удалять будет только администратор

QuoteКак должен задаваться список удаляемых тем?
Тоже неважно, достаточно функции для удаления одной темы

QuoteУдаляться темы со всеми сообщениями начисто, или перемещаться в корзину? и прочее
Именно начисто.

Распишу подробнее: надо подчищать форум от старых тем. Встроенное средство (prune), подвешивает сервер часа на два (таблица messages около 6Гб и остальные соответствующе)
Поэтому, хочу скрипт который будет не торопясь, по крону, или как демон, удалять старые топики поодиночке.

Проблема в том, что все данные связаны и мне нужен скрипт, где все эти связи прописаны. Т.е. в берётся id из messages смотрится topics, потом log_topics может ещё что-то. И изи всех удаляется

Можно, конечно, самому поковырять, но вдруг есть готовое решение  :)

maestrosite.ru

Грохнуть в базе старые сообщения (а можно и темы), а затем исправить ошибки в админке - не спасёт отца русской демократии?
First of all, sorry for my english. По-русски у меня получается значительно лучше.

Проблема на форуме? Сначала посмотрите лог ошибок вашего форума и лог ошибок сайта (error_log)

You can try other modifications - see demo

gimcnuk

repair вешается по 504. После неудачного эксперимента осталась куча пустых топиков, и никак их не могу исправить встроенными инструментами  :(

QuoteГрохнуть в базе старые сообщения (а можно и темы)
Старые сообщения могут быть и в активных темах. Поэтому, всё равно нужен сложный запрос, с учётом всей структуры.

maestrosite.ru

Quote from: gimcnuk on April 06, 2012, 03:12:39 AM
repair вешается по 504. После неудачного эксперимента осталась куча пустых топиков, и никак их не могу исправить встроенными инструментами  :(

QuoteГрохнуть в базе старые сообщения (а можно и темы)
Старые сообщения могут быть и в активных темах. Поэтому, всё равно нужен сложный запрос, с учётом всей структуры.
стало быть актуален вопрос из первого ответа - как список тем задавать? условие какое?
First of all, sorry for my english. По-русски у меня получается значительно лучше.

Проблема на форуме? Сначала посмотрите лог ошибок вашего форума и лог ошибок сайта (error_log)

You can try other modifications - see demo

gimcnuk

Quote from: maestrosite.ru on April 06, 2012, 03:18:10 AM
стало быть актуален вопрос из первого ответа - как список тем задавать? условие какое?
Да причём список тем?

Нужен скрипт для удаления одной темы со всеми сообщениями, напрямую, не встроенными инструментами.
А с заданием списка/условий я сам разберусь.

Sapozhnik

Auto Purge Old Topics не спасет тебя? ;)
Если нужно грохнуть очень много, то я бы это сделал в несколько итераций:
Сначала все темы старее двух лет, потом старее полтора года, потом года...
А потом ставишь на автомат, чтоб каждый день ночью проверяло и чистило.

gimcnuk

Всем спасибо  ;D

Сделал встроенными функциями. Там, конечно, куча лишних запросов, но сервер пока не вешает.

Advertisement: