php: mytrz-dviewer

예전에 수정해서 이쁘게 만들어 사용하고 있는 mod_autoindex 의 경우에는 아파치의 모듈이기 때문에 관리가 활성화 시켜주지 않으면 사용할 수 없는 단점이 있어서… 누군가에게 권하기도 그렇고… 수정하기도 매우 어려웠습니다…

심심하던 차에 아는 사람 부탁 겸… 해서 directory viewer 를 php 로 다시 작성했습니다… template 엔진으로 template_ 만 써보다가 smarty 를 처음 써봤는데 template_ 이 좀 더 쓰기 쉬운 듯 하기는 하지만… smarty 도 그런데로 쓸만한 것 같습니다…

[php:realpath] 란 함수를 사용해서 내가 지정해놓은 디렉토리 루트 밖으로는 나갈 수 없도록 해놓았고 수많은 버그가 있겠지만… 하튼 동작은 합니다…

데모:

http://mytears.org/tmp/dir/

다운로드 url:

http://mytears.org/resources/distfiles/directory-viewer-1.1.1.tar.gz

개발버젼:

http://trac.unfix.net/browser/mytrz-dviewer

라이센스: BSD License

참고로 템플릿 엔진은 smarty 를 쓰고 있는데, 제 서버에는 smarty 가 /usr/lib/php 밑에 설치되어 있기 때문에 따로 더 필요가 없었는데… 서버에 smarty 가 이미 깔려있지 않은 분들은 smarty 를 받아다가 풀어주는 센스가 필요합니다…

p.s) 혹시나 가져다가 새로운 디자인으로 고치신 분이 계시면 skin 관련해서 feedback 좀 부탁드리겠습니다 :)

Change Log:
2006/8/29
1. 개인 Repository 를 하나로 통합하면서 svn 경로가 수정됨
2. 웹에서 svn 을 둘러보기 위한 툴을 trac 으로 변경
3. 프로젝트 이름을 mytrz-dviewer 로 변경

2006/06/27
1. fancy size bug 수정
2. 1.1.1 버젼 릴리즈

2005/08/24
1. 스킨에서 경로도 표시가능하게 수정
2. taeyoung 스킨 추가
3. web_basedir 에서는 Parent Direcory 링크를 보여주지 않게 고침
4. 1.1 버젼 릴리즈

2005/08/17
1. kirrie 님의 스킨 추가
2. kukie 스킨 업데이트 (I.E 호환성이 더 좋아짐)

2005/08/13
1. Filename / Size / Modification Time 으로 역순 정렬이 가능해짐 (내림차순)
2. 설정 가능한 변수들을 config.php 로 빼냄
3. 숨긴 파일( 파일 이름이 “.” 으로 시작하는 파일) 을 보여줄지 말지 설정 가능해짐
4. BSD License 로 정하고 소스에 라이센스를 명시
5. Encoding 도 설정가능하도록 수정
6. 1.0 버젼 릴리즈

2005/08/12
1. XHTML 표준에 맞지 않는 부분들을 수정 validation 을 통과

2005/08/09
1. template_c 디렉토리의 퍼미션을 바꿔주는 인스톨용 스크립트 추가 (정말 퍼미션만 딱 바꿔줌 -_-);;

2005/08/08
1. 숨긴 파일 (파일 이름이 “.” 으로 시작하는 파일) 을 보여주지 않도록 함

2005/08/04
1. Filename / Size / Modification Time 으로 정렬이 가능해짐 (오름차순만 지원)
2. Skin 기능이 추가됨
3. svn repository 에 import 하고 누구든지 받을 수 있도록 공개

apache: mod_autoindex hack!!

예전에 써놓은 글에서 구상해뒀던 것들을 전부 패치에 반영시켜버렸습니다… 예전 hack 은 정말 quick & dirty 가 무엇인지를 보여주는 진정한 HACK!! 이었는데… 요번 패치는 옵션에 크게 영향을 받지도 않고, 사용자가 설정할 건덕지가 많아졌다는 점에서 개인적으로 흐뭇합니다…

  1. CSSFile 옵션을 통해 css 파일 지정이 가능
  2. Encoding 옵션으로 meta 데이타로 charset 지정 가능
  3. html 소스를 아주 간단하게 변환
  4. XHTML 1.0 Strict!! (validation 도 통과-_-v)

뭐 이정도를 한 건데… 예전 핵은 정말 너무 지저분하길래 -_-;; 아예 첨부터 작업했습니다. 기본 mod_autoindex에서는 pre~/pre 로 열맞춤을 하고 있는데, 프레젠테이션을 CSS로 바꾸기가 쉽지 않을 것 같아서 table 기반으로 만들었습니다.

그리고 xhtml validation을 위해 모든 태그들을 소문자로 바꿔줬습니다.

패치 파일은 아래서 받을 수 있습니다…

For apache-1.x

http://mytears.org/resources/mysrc/c/patches/mod_autoindexhack-20050816.diff

For apache-2.x

http://mytears.org/resources/mysrc/c/patches/apache2-mod_autoindex-hack-20070922.diff

테스트 페이지는 여기…

http://mytears.org/resources/

ChangeLog:
2007년 9월 22일 – apache2 용 패치 생성

오픈 클립아트

Inkscape 의 개발자 분이 만든 사이트 .. 지속적으로 꾸준히 업데이트가 되고 있는 듯 싶다.. 꽤 퀄리티 높은 clipart들도 올라온다.. 특히 Etiquette Icon 테마에 쓰일 아이콘들이나.. Animal 섹션에 있는 것들은 정말 맘에 든다 :)

얼른 Etiquette Icon 이.. 많아져서.. 모든 Mime-Type을 커버해내고 -_-!! 내가 쓰는 모든 Apps들을 커버해줬음 하는 작은 바램이 있다.. 흐흐.. 같은 값이면 다홍치마라고.. 그런 세상이 오면 리눅스 쓰는 사람들이 좀 더 늘지도 모르겠다..

관심있는 사람들은 한번 구경해보시길 .. 품질 좋은 svg 포멧의 클립아트가 캬캬..

http://openclipart.org/