1.while문을 for문으로 변경처리하였습니다.
2.해당폴더에 이미지파일이 있어 처리해보았으나 만족하는 결과가 나타나지 않았음에도 자바스크립트가 작동되던문제를 수정하였습니다.
3.DB에 포함되지 않은 이미지는 표시되지 않도록 처리하였습니다
4.카테고리가 없는 게시물에 대한 이미지파일 표시여부가 결정 가능해졌습니다. 그로인해 다음의 변수가 추가되었습니다.

$ShowNoCategory =1;  (값 1:포함, 0:미포함)

5.스크립트를 head로 옮기려고 시도해보았으나 변수처리문제도 있고 <a href.... 아래 구문에 해당 자바스크립트가 추가되어야 제대로 작동하는 문제도 있는것 같고해서 그대로 두었습니다.

6.해당 이미지가 수록된 게시물의 타이틀의 표시여부가 가능해졌습니다. 그로인해 다음과같은 변수들이 추가되었습니다.

$ShowTitle = 1;        //제목표시여부(0.미표시 1.표시)
    $TitleAlign = "center";                     //제목표시위치(left.왼쪽 center.가운데 right.오른쪽)
    $TitleVAlign = 1;                           //            (0.이미지위 1.이미지아래)
    $TitleLen = 25;                             //제목의 길이

테스트사이트 : http://badung.net/tt_test
다운로드       : http://badung.net/rpv0607290548.zip

이런 초보에게 아낌없는 도움주신분들께 진심으로 감사드립니다.


1.peris님께서 말씀하신 while(true)를 사용하지 말라고 하신 부분은 표시갯수를 만족할때까지 돌려야하는 부분인데 어떤걸루 대체해야할지 궁금합니다.

2.graphittie님께서 말씀하신 skin_head_end 치환자의 용도와 효과에 대해 자세히 알지 못해 추가하지 못했습니다 ㅠ.ㅠ 도움 부탁드려요

그 이외에 대해선 모두 처리를 해 두었습니다. 아무쪼록 테스트 부탁드립니다.


테스트사이트 : http://badung.net/tt_test
다운로드       : http://badung.net/rpv0607221909.zip

1. 선택된 카테고리의 이미지 갯수가 $SildeCount보다 작은 경우 $a가 $SildeCount에 도달하지 못해 무한루프가 일어납니다.

무한루프가 일어나는 경우는 없습니다. 다만 이미지갯수가 $SildeCount보다 작은경우 같은 이미지가 계속 표시되는 문제가있는데 아직까지 해결못하고있습니다 ㅠ.ㅠ

2. "watermark.gif", "favicon.gif" 등 특정 이름만 예외 검사를 하시는 것보다, 정규식을 이용하여 보다 포괄적으로 검사하시는 것이 좋을 것 같습니다. 앞으로 어떤 파일이 더 추가될지 모르니까요.

정규표현식에 약하다보니ㅠ.ㅠ.. 최대한 공부하여 숫자파일만 찾아내도록 처리하겠습니다.
사실 예외검사를 하지않아도 db에 등록되어있지 않은 그림파일에 대해서는 썸네일로 만들거나 표시되지 않아 자동예외처리되긴 합니다만 ㅠ.ㅠ..


3. 전체 이미지 파일이 하나인 경우에도 pixelate가 계속 반복해서 일어나는데... 이미지가 하나일 경우에는 이미지 전환이 안 일어나도록 하는 것이 낫지 않나 합니다.

1번과 같은 문제인것 같습니다.
폴더안에 예외파일을 제외한 이미지파일의 갯수를 세서 $SildeCount 보다 작으면 $SildeCount의 수를 이미지 갯수로 줄이는 방법도 생각해보았습니다만 초기에만 발생하는 문제라 좀 등한시한것도 사실이지만 나중에 이미지파일의 갯수가 많아지면 속도에 영향을 주지 않을까해서 다른방법을 생각하고있습니다. 정않되면 그렇게라도해야되겠지만요 ㅠ.ㅠ

4. <script> 태그에 ' type="text/javascript"'를 추가해 주세요. 이 속성이 없으면 자바스크립트가 동작하지 않는 경우도 있습니다. 아울러 스킨에 스크립트가 직접 삽입되고 있는데, 새로 추가된 "SKIN_head_end" 치환자를 이용해 보세요. 예제는 blogAPI 플러그인을 참고하시고요.

수정하겠습니다.

5. rand() 함수를 돌리시는 부분에서 오류가 일어나는데, array_rand() 함수를 써보심이 어떨까 합니다. 사용법은 array_rand([이미지 파일이 들어 있는 배열], [배열에서 임의로 꺼낼 키의 갯수])입니다.

어떤 오류가 나는지 잘모르겠습니다ㅠ.ㅠ 일단 이건 2번의 파일예외처리가된 변수를 만들어 낸후에 사용을 할 수 있을듯 하네요

6. 워터마크가 출력되지 않던 문제는 내부 소스 쪽의 문제였습니다. rev.686에서 수정되었습니다. 이와 관련하여, RPV에 출력되는 썸네일에도 워터마크와 여백을 적용하는 것은 좀 이상하지 않은가 생각합니다. 그래도 적용하고 싶으시다면, 지금처럼 오리지널 파일(/attach/x/xxxxxxx.jpg)에서 RPV용 썸네일을 생성하시는 것보다, makeThumbnail() 함수에서 생성된 xxxxx.thumbnail.jpg을 가지고 다시 썸네일을 생성하시는 방식을 사용하셔야 합니다. 이 경우는 resmapleImage()를 중복실행해야 하는 경우도 있어 비효율적입니다.

듣고보니 맞는말씀 같습니다. 제대로 표시되지 않을 워터마크를 꼭 섬네일에 추가해야된다고 생각했던 저의 실수네요 ^^; 제외토록 하겠습니다

시험싸이트 : http://badung.net/tt_test
다운로드    : http://badung.net/rpv0607210006.zip

index.php에 자신의 설정에 맞게 수정을 해주셔야합니다. 슬라이드 갯수 표시할 카테고리같은 것입니다.


graphittie님께서 수정을 요청하셨던 부분에 대한 수정이 이루어졌습니다. graphittie님께서 내부함수의 이용을 권하셨는데 아직 다 그렇게 정리하진 못했네요 ㅠ.ㅠ 함수의 입력값과 돌아오는값등이 적혀져있는 자료가 있는가 모르겠네요 ㅠ.ㅠ

워터마크는 전역변수 선언해주었음에도 여전히 나오지않습니다. ㅠ.ㅠ

1. 썸네일 생성함수를 makeThumnail()로 제어하고 계시는데, 이보다는 resampleImage() 함수로 직접 접근하시는 편이 좋겠습니다. makeThumnail()로 접근하시는 경우 랜덤 이미지로 출력되는 이미지와 본문에 표시되는 이미지의 썸네일 둘 다 xxxx.thumbnail.xxx로 생성하기 때문에 불필요하게 썸네일을 재생성하는 경우가 있을 수 있습니다. xxxxx.rpvThumnail.xxx 라는 이름으로 cache/thumbnail/x 폴더로 이미지를 복사하신 후, 이미지를 가지고 resampleImage() 함수를 돌리시는 것이 제 구현의도와 맞는 것 같습니다.

그렇게 하도록 하겠습니다 smile


3. 출력되는 이미지에서 width, height 속성 값을 제외해 주십시오. 디폴트로 155*122의 사이즈로 크기가 제한된 썸네일을 생성하고 있는데, resampleImage() 함수는 이 크기에 딱 들어가도록 이미지를 최적화하여 썸네일로 저장합니다.

제외하겠습니다 smile

4. 파일 확장자 체크는 Path::getExtension() 함수를 이용하시는 것이 어떨까 합니다. 구현된 함수가 있으면 이용하는 것이 좋겠지요. 채크는 Path::getExtension($file) == ".jpg"의 형식으로 합니다. 비슷한 것으로 쿼리 실행은 DBQuery 클래스에 함수가 구현되어 있으니 이를 이용해 보시면 어떨까 합니다.

getExtension()의 경우 변수에 하나의 파일명이 들어가 있을때만 찾아주는것으로 알고 있습니다. 굳이 이 함수를 사용하자면 지금의 코드보다 반복문이 더 많이 쓰일것 같습니다.

5. attach 디렉토리에서 전체 이미지 리스트를 불러들일 때 예외 적용이 추가되어야 할 것 같습니다. attach에는 55423425.jpg와 같은 숫자 형식의 첨부파일도 저장되지만, favicon.gif나 watermark.gif 등도 저장되고 있습니다.

수정하겠습니다 smile

6. PNG는 지원 안 하시나요?

수정하겠습니다 smile

테터툴 1.1에 makeThumbnail 함수를 이용하였습니다. 그러므로 1.1 그리고 7.18일자로 갱신된 makeThumbnail 함수를 가진 분들만 테스트가 가능합니다

시험싸이트 : http://badung.net/tt_test
다운로드    : http://badung.net/rpv.zip

index.php에 자신의 설정에 맞게 수정을 해주셔야합니다. 슬라이드 갯수 표시할 카테고리같은 것입니다.

성격도 급하고 잘 몰라서 민폐를 끼친것 같아 죄송한 마음입니다 ㅠ.ㅠ

아직 원인을 모르겠습니다만 워터마크는 않찍히더군요 ㅠ.ㅠ

1.임의의 워터마크를 올립니다.
2.워터마크 초기화를 합니다.
3.다른 워터마크를 올립니다.

이렇게 했을 경우 워터마크 프리뷰에 이미지 사이즈는 바뀐 워터마크로 나오나 이미지는 이전 워터마크로 표시됩니다.

기존의 썸네일의 취지에서 약간 변경했으면 어떨까 하는생각에 적어봅니다.

현재는 읽어오는 모든 그림파일에 대해서 섬네일을 생성하도록 작성되어 있는 것으로 알고 있습니다

하지만 포스팅된 게시물을 볼땐 리사이징된 이미지보다는 원본 이미지를쓰거나 스킨에 맞게만 리사이징해 크기와 용량면에서 큰 효율을 보지 못한다고 생각합니다.

그리고 썸네일의 활용범위가 트래픽은 물론 저장용량까지 부족한 개인계정의 현실에 그만큼의 저장용량을 차지하는 만큼 그 효율이 있을지도 의문입니다.

그래서 제 생각은 이렇습니다.

아마 제가 만든 Random Photo View나 갤러리식의 게시판같은 플러그인이 만들어지면 거기서는 썸네일이 큰 효과를 볼 수 있을 것입니다. 썸네일파일을 항상 만들어 두는게 아니라 그 플러그인에서 필요로하는 겟수만큼만 임시파일형식으로 그때그때 만들어서 사용하게 함은 어떨까 싶습니다. 악용의 의지만없다면 서버부하도 크지 않을거라 생각합니다.

그리고 현재 지원준비중인 썸네일기능과 별도로 PhotoWorks같은 프로그램의 기능을 하는 플러그인이나 함수을 자체지원함은 어떨까 싶습니다. 블로그에 사진은 자주 올리는 일이니 원본을 올렸을때 그 사진이 리사이징되고 이쁘게 꾸며진 후 Meta정보가 표시되어준다면 궂이 PhotoWorks같은 프로그램을 돌리지 않더라도 편리하게 사용하지 않을까 하는 생각입니다 smile

정상화되거나 다른 대안이 생길때까지 이 메세지를 숨기는것도 괜찮다고 생각합니다

./tt_test/skin/badung/cache/thumbnail/1/1066193356.thumbnail.gif

라고 나와요

예문 : $tempSrc = ROOT."/cache/thumbnail/$owner/$newTempFileName";(ImageWorkers.php 73line)

여기서 ROOT. 주소가 테터툴의 기본 주소가 아니라 스킨의 주소로 나옵니다.. 예를들어  저의 경우는 ./tt_test/skin/badung 로 나오네요

12

(2 답글들, 스킨 및 플러그인에 작성)

php를 책한권 않사보고 순수 인터넷으로 독학을 한지라 나름대로 이해하는데 한참이나 걸려버렸습니다 ^^;;

makeThumbnail 함수가 포스팅된 게시물의 이미지를 불러올때 사용되는 함수인것으로 알고 있습니다.

실제 블로그를 돌려보니 오류가 나네요..

아마도 if (eregi('class="tt-thumbnail"', $imgString, $extra)) { <-- 이부분 때문인것 같습니다.

이부분에 맞게 임의로 플러그인을 만든다음 함수를 이용해보았는데 Thumbnail/$owner 폴더에 파일명.thumbnail.확장자 파일이 생성은 되나 안에 워터마크가 찍혀있지 않았습니다..

무슨 원인인지는 몰라도 if (eregi('class="tt-thumbnail"', $imgString, $extra)) { <--이부분을 삭제했더니 워터마크가 찍히더군요 ;ㅁ;

그리고 $extra 변수엔 어떤내용이 들어있는지 궁금합니다. 아무리 찾아봐도 알수가 없네요 ㅠ.ㅠ

그리고 환경설정에서 워터마크 위치 설정 저장이 되지 않습니다

13

(1 답글들, 스킨 및 플러그인에 작성)

graphittie님께서 적어주신 방명록을 보고 이렇게 들리게되었습니다.

우선 테터툴 개발에 대해 일조를 할수 있는 영광을 주셔서 감사드리며 저는 그에대해 적극적으로 참여하고 싶습니다.

1.1 a4버전에대한 변경점과 함수 다운로드경로 등에대한 정보를 받고싶습니다.

행여 이 포럼 화면에 있다면 어디에 있는지 알려주시면 감사하겠습니다 아직 이 화면에 익숙하지 못하여 찾는데 어려움을 겪고있네요 smile

정보를 받는데로 플러그인 수정 들어가겠습니다 smile

14

(1 답글들, 아이디어 및 기능 제안에 작성)

현재 테터툴에 개인의 울타리에서 조금 더 벗어나 테터툴들이 그룹화된 그룹 울타리 서비스를 구현해 보았으면 하는 생각입니다.
마음이 맞는 혹은 주제가 맞는 테터툴 유저들끼리 하나의 그룹을 형성해 해당 그룹에 묶인 유저들의 포스트나 트랙백,댓글 상황등을 하나의 블로그에 종합적으로 보여주는 그런 서비스입니다. 그의 비슷한 예를 찾아보자면 싸이월드의 페이퍼 같은 내용입니다만. 그룹사이트 자체에서 새로운 내용을 만드는 페이퍼와는 형식이 조금 다른 개개인의 블로그에 올려진 자료들을 한데 묶고 섞어 한 블로그에 보여준다는점이 조금 틀린점입니다. allblog처럼 원하는 사람의 모든 정보를 채집하는것이 아니라 그룹형성을 원하는 유저들간의 데이터만 채집하는 그런 그룹채집기 형식이 될것 같네요 smile
이렇게 어려 유저의 데이터를 그룹화함으로서 같은 취지의 그룹들이 데이터를 공유하게되어 좀 더 효율적인 그룹작업이 가능해지고 다른유저들이 원하는 정보를 보다 편리하게 찾을수있는 이점을 얻을 수 있을 것이라 생각합니다.

그렇게 한다면 php코드 사용으로 스킨이 좀 더 다이나믹해지는데 기여하지 않을까 싶네요..