Безопасное удаление топиков

Данный плагин подменяет для всех стандартное действие «Удалить топик» и вместо реального удаления производит отметку об удалении. Это позволяет как защититься от случайного удаления, так и от удаления контента обиженным автором.

Администратору доступны как функции удаления, так и восстановления топика.

Заранее хочу предупредить, что для минимилизации изменений, список удаленных топиков был вынесен в отдельную таблицу. Таким образом, накопление больщого числа «удаленных» топиков может приевести к увеличению времени выполнения sql-запросов.

Обновление 1.0.1
Обновил плагин в каталоге. Исправил досадную ошибку с доступом к удаленному топику. Так же в тулбар админу вывожу иконку корзины с числом удаленных топиков.Это более удобный способ доступа к списку удаленных топиков. Вывод иконки в тулбар отключаем в конифге.

При обновление нужно только обновить файлы плагина. Повторная активания плагина в админке НЕ нужна.

22 комментария

avatar
Спасибо за плагин ;)
avatar
полезный плагин!
avatar
Такой функционал должен быть из коробки по сути.
avatar
Возожно. Но к текущей версии LS я могу предложить в виде плагина.
avatar
в метод getIsAllowToDelete нужно добавить разрешение на удаление на протяжении х дней от публикации топика.
avatar
я имел ввиду что удаление контента должно быть доступно только модераторам и администраторам. действия пользователей должны только скрывать контент, при якобы удалении. с точки зрения фрагментации, казусов при удалении и в ввиду нового законодательства — крайне полезно :)
avatar
удаление контента должно быть доступно только модераторам и администраторам
А почему бы не дать пользователю в течении первых 2 дней возможность удаления? По пьяни написал ахинею и стер по прошествии бодуна, не позорится же ему всю жизнь, что Маша ему жизнь поломала? (все примеры выдуманы и совпадения случайны)
действия пользователей должны только скрывать контент, при якобы удалении. с точки зрения фрагментации, казусов при удалении
так удаление данных из бд не удаляет реально и место не освобождает, а только помечает область как удаленную, бд нужно «сжать» чтобы отпустить тот объем.

ну, я понимаю о каком законодательстве вы говорите, но у нас-то такого нет, поэтому не нужно законодательство прописывать в движок :)
avatar
А почему бы не дать пользователю в течении первых 2 дней возможность удаления?
Предложенный плагин не убирает кнопки «удалить» из интерфейса, он позволяет пользователю нажать кнопку удалить и увидеть, что топик пропал из выдачи. И другие пользователи не увидят топик в ленте.
Зато администратор сможет восстановить топик, если на это будут причины.
avatar
Вопрос, а поисковые системы до этого топика не доберутся? А то у меня гугл настойчиво ломится в закрытые разделы, а потом обижается что они пустые =)
avatar
А слона-то я и не заметил! ©
Поведение при просмотре удаленного плагина по прямой ссылке — мягко говоря некорректное — его видно. В ближайщее время подготовлю обновление.
avatar
Будем ждать.
Рад что помог с улучшением плагина. :-)
avatar
Отправил на модерацию исправления. Скоро корректно буду показывать 404 при просмотре удаленного топика.
avatar
Плагин обновил, теперь корректно отдаю 404-ю страницу.
avatar
Тестировал ли кто-то уже на работающем сайте, найдены ли какие-то проблемы совместимости?
avatar
Оно работает у меня на сайте (собственно для себя и писал, когда сначала один человек от большой обиды удалил свой пост, а потом девочка по глупости вынесла топик из закрытого блога с ценными комментариями). У меня работает корректно, но у меня почти все плагины самописные.

Проблемы могут начаться, если плагины подменяют функции формирования SQL-запросов для получения списка топиков. Тогда где-то могут прорваться «удаленные» топики.
Ну и как худший вариант, где-то тоже переопределен экшн удаления топика, но вроде таких плагинов нет.
avatar
У меня просто сейчас вот этот плагин стоит — catalog.livestreetcms.com/addon/view/68/ вот и думаю, какой из плагинов оставлять.
И еще вопрос, будет ли какой-то список удаленных топиков, и возможность их окончательного удаления, чтобы не захламлять базу и время работы sql?
avatar
И еще вопрос, будет ли какой-то список удаленных топиков, и возможность их окончательного удаления, чтобы не захламлять базу и время работы sql?
Не будет, а есть.
Ссылка «Удаленные топики» присутвует на странице site/admin

вот и думаю, какой из плагинов оставлять.
С утилитарной точки зрения, у плагина Germis-а функционал все же шире. У меня разве что админы тоже страхуются от случайных удалений. Что бы окончательно удалить топик нужно удалить сначала на странице сайта, а потом уже в админке.
avatar
Тут немного другой функционал. Хотя тоже полезно — запрет удаления контента юзером.
avatar
И да. Если вдруг есть конфлик — то буду рад это узнать и попробовать решить его со своей стороны.
avatar
Обновил плагин в каталоге. Описание обновления в самом топике.
avatar
Если в удаленном топике были комментарии, то они остаются в профиле автора. Думаю раз топик удаляется, то и комментарии должны перестать показываться. Можно ли их тоже помечать «как-будто» удаленными?
avatar
Конфликтует с AceAdminPanel. Вот такую ошибку выдает, если зайти не авторизованным пользователем на страницу закрытого блога:
Fatal error: Uncaught exception 'Exception' with message 'Can not find the template: actions/ActionBlog/club.tpl' in /var/www/.../engine/modules/viewer/Viewer.class.php:330 
Stack trace: 
#0 /var/www/.../plugins/aceadminpanel/classes/modules/viewer/Viewer.class.php(434): ModuleViewer->Display('actions/ActionB...') 
#1 [internal function]: PluginAceadminpanel_ModuleViewer->Display('actions/ActionB...') 
#2 /var/www/.../engine/classes/Engine.class.php(558): call_user_func_array(Array, Array) 
#3 /var/www/.../engine/classes/Router.class.php(439): Engine->_CallModule('Viewer_Display', Array) 
#4 /var/www/.../engine/classes/Router.class.php(137): Router->__call('Viewer_Display', Array) 
#5 /var/www/.../engine/classes/Router.class.php(137): Router->Viewer_Display('actions/ActionB...') 
#6 /var/www/.../engine/classes/Router.class.php(127): Rout in /var/www/.../engine/modules/viewer/Viewer.class.php on line 330
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.