똥남기는 모듈을 사용하시는 분들이 계실지 모르겠는데 저의 경우 1개의 커뮤니티에 적용해서 아직까지 사용하고 있습니다.
게시글을 삭제시 "삭제된 게시글 입니다." 라는 제목, 내용으로 변경하여 게시글을 존치시키는 모듈입니다.
회원들이 수시로 글 작성 후 삭제하는 것에 대한 댓글 작성자의 포인트 차감의 피해 기타 피로도 발생등의 문제가 있어서 해당 모듈로 게시글을 삭제하지는 않고 삭제에 준하는 조치를 하고 있습니다.
해당 모듈에서 제공했던 것에 부족한 부분을 제가 조금씩 추가해서 보완을 해 사용해 오고 있는데 최근 문제가 게시글이 삭제되는 절차를 거치지 않게 되니 썸네일이 삭제가 되지 않아 글 목록에서 썸네일이 계속 보여지고 하는 사소한 문제가 발생할 수 있습니다.
- 파일 첨부 없이 썸네일이 생성되는 경우가 많습니다. ex)유튜브 영상등의 썸네일 또는 외부 이미지의 썸네일이 생성이 된 경우.
라이믹스의 게시글 삭제 함수에서 썸네일을 처리하는 코드를 그대로 똥남기는 모듈의 함수에 복사해서 넣어 썸네일이 삭제가 되도록 했습니다.
deleteDocument 함수의 하단에 보면
// Remove the thumbnail file
Rhymix\Framework\Storage::deleteDirectory(RX_BASEDIR . sprintf('files/thumbnails/%s', getNumberingPath($document_srl, 3)));
위와 같은 부분이 발견되어 그대로 복사해서
똥남기는 모듈의 아래 함수에 첨부파일을 삭제해주는 코드 바로 아래에 붙여넣어 추가해 주었습니다.
function triggerBeforeDeleteDocument(&$obj) {
$oFileController = getController('file');
$output = $oFileController->deleteFiles($document_srl);
Rhymix\Framework\Storage::deleteDirectory(RX_BASEDIR . sprintf('files/thumbnails/%s', getNumberingPath($document_srl, 3)));
}
따로 테스트를 하지는 않았지만 글 작성자가 글 삭제를 시도하면 삭제된 게시글로 처리하면서 썸네일 폴더까지 잘 삭제될 것으로 예상이 됩니다.
라이믹스를 사용하고 있어 따로 XE에서도 동일하게 사용할 수 있는 코드는 살펴보지 않았습니다.