웹마스터 팁

XE에서 화일을 첨부했다가 화일을 삭제하거나 문서를 삭제할때 특히 ./files/attach/images 폴더에 빈폴더만  흉물스럽게 남아있습니다. 사이트가 커지고 문서와 첨부화일이 많아지면 빈폴더들도 많이 쌓이게 됩니다. 아직까지는 XE 내부에서 이 빈폴더를 정리하는 기능은 없습니다. 얼마전 XE 사용자모임에서 모님이 의견을 주셔서 빈폴더를 삭제하는 기능을 만들어봤습니다.

워낙 간단한 기능이고 자주 사용하지 않아도 되는 기능이라 별도의 모듈을 제작하기는 그렇고...
기존 admin 모듈을 수정하는 것으로 정리를 했습니다.
참고로 1.5.X 버전을 기준으로 한겁니다. 1.4 버전의 경우는  약간 수정이 필요합니다.


./modules/admin/admin.admin.controller.php 에 다음부분을 추가...
1.function procAdminRemoveBlankDir() {
2.           $target_path './files/attach';
3.FileHandler::removeBlankDir($target_path);
4.$this->setMessage('success_updated');
5.}



./modules/admin/tpl/js/config.js 에 다음 추가..
1.function deRemoveBlandir() {
2.if (!confirm(xe.lang.confirm_run)) return;
3.var params = new Array();
4.exec_xml("admin","procAdminRemoveBlankDir", params, completeCacheMessage);
5.showWaitingFogLayer();
6.}



./modules/admin/tpl/_spFooter.html 에 버튼추가
1.<button type="button" class="text" onclick="deRemoveBlandir();">BlankFolderRemove</button>


마지막으로 ./modules/admin/conf/module.xml 에 추가...
1.<action name="procAdminRemoveBlankDir" type="controller" standalone="true" />



이상의 작업을 마치고 관리화면에 들어가면 BlankFolderRemove라는 버튼이 보일겁니다.
화일첨부 디렉토리의 빈 폴더 삭제... : K-20120120-120817-2.png 


화일첨부 디렉토리의 빈 폴더 삭제... : K-20120120-85900-0.png

위의 그림에 보이는 것처럼 새폴더를 두개 만들었습니다.

그중 한개는 서브디렉토리까지 몇개 만들었습니다.  물론 폴더는 비어있구요.

버튼을 클릭고 잠시 기다리면

화일첨부 디렉토리의 빈 폴더 삭제... : K-20120120-90057-2.png 

비어있는 모든 폴더가 깔끔하게  정리됩니다.


원본  : http://backupxe.com/7830

admin.zip