Удаление темы в "корзину"

#1 15 октября 2013 в 17:07
Очень простенький хак ( писАлось для 1.10.1, но и в более новых, по идее, должно работать)

1) в модели форума находим функцию deletePost
2) Создаем форум и тред в нем, с названием "Корзина", запоминаем Id этого треда ( например 666 )
3) заменяем функцию на это:
  1.  
  2. public function deletePost($post_id){
  3.  
  4. $trash = 666; #ID треда-"мусорки"
  5. cmsCore::callEvent('DELETE_POST', $post_id);
  6. $post = $this->getPost($post_id);
  7. $thread = $post["thread_id"];
  8.  
  9. if ($thread == $trash)
  10. {
  11. $this->deletePostAttachments($post_id);
  12. cmsCore::deleteUploadImages($post_id, 'post');
  13. $this->inDB->delete('cms_forum_posts', "id = '{$post_id}'", 1);
  14. cmsActions::removeObjectLog('add_fpost', $post_id);
  15. }
  16. else
  17. {
  18. $this->updatePost(array('thread_id' => $trash), $post_id);
  19. }
  20.  
  21. return true;
  22.  
  23. }
  24.  
  25.  
4) Теперь удаленные сообщения будут падать в мусорку. Соответственно, при удалении из "мусорки" — удаляется навечно.
#2 15 октября 2013 в 17:14
Спасибо, пригодится
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.