ZB4 일반스킨 자료실

출처 : ruochigroup
!!주의
- 동일한 계정에서만 작동합니다
- 한글파일명 불가합니다
미리보기(제로보드4와 연동한) : 포샵질
라운드 적용없이 하나만 크게(600*300) 뽑았을때 : 미리보기
xml 파일 수정만으로 다양한 효과를 낼수있습니다.
대략적인 기능은 아래와 같습니다.
- 여러가지 이펙트(alpha, blur, left, right, top, bottom, breathe, breatheBlur)
참! 효과(7가지의 효과)는 xm 파일에 있는
<transform>breathe</transform> <== 이 부분(breathe)을 수정하시면 됩니다.
- 라운도형태로도 출력가능
- 다양한 이미지포멧 지원(gif, jpg, png는 확인했음)
- 로테이트시간, 링크(_self, _blank), 알파값,, 등의 설정가능
이외의 기능은 xml파일을 열어보시면 될겁니다. (config 부분)
플래시파일 주소뒤에 xml파일의 주소만 아래와 같은 형태로 추가하면 사용이 가능합니다.
bcastr4.swf?xml=http://xml파일의주소.xml
제로보드4와 연동하실분은 첨부파일인 swf_gal.php를
xml 주소대신에 저장한 php파일의 주소를 불러오시면 됩니다.
(사용전에 swf_gal.php 파일을 메모장등으로 여시고 수정해야 할 부분을 먼저 수정하세요)
파일은 출처에서 받으셔야겠죠? (아니면 첨부파일 example.zip)
즐거운 하루되세요~~
아래의 설정에 대한 설명 참고해보세요.
<config>
<roundCorner>10</roundCorner> = 라운드사용시에 roundCorner의 수치. 사용안하면 0으로
<autoPlayTime>5</autoPlayTime> = 이미지 로테이트 시간.
<isHeightQuality>false</isHeightQuality> = 이미지 퀄리티설치. true(사용) 또는 false(사용 안함)
<blendMode>normal</blendMode> = 기본값
<transDuration>1</transDuration> = 효과적용시간
<windowOpen>_self</windowOpen> = 이미지 클릭시에 링크타켓. _self(현재 창) 또는 _blank(새창)
<btnSetMargin>auto 15 15 auto</btnSetMargin> = 하단 버튼set 간격(margin 값)
<btnDistance>20</btnDistance> = 하단 버튼과 버튼사이의 공간 (버튼의 가로사이즈가 될수도)
<titleBgColor>0xff6600</titleBgColor> = 상단 타이틀바의 배경색
<titleTextColor>0xffffff</titleTextColor> = 상단 타이틀 글자색상
<titleBgAlpha>.99</titleBgAlpha>= 상단 타이틀바의 알파값 (물론 클수록 진함;;)
<titleMoveDuration>1</titleMoveDuration> = 상단 타이틀바의 실행시간(초)
<btnAlpha>.7</btnAlpha> = 하단 버튼의 알파값
<btnTextColor>0xffffff</btnTextColor> = 하단 버튼의 글자색상
<btnDefaultColor>0x1B3433</btnDefaultColor> = 하단 버튼의 기본색상
<btnHoverColor>0xff9900</btnHoverColor> = 하단 버튼 over시의 색상
<btnFocusColor>0xff6600</btnFocusColor> = 하단 버튼 focus시의 색상
<changImageMode>click</changImageMode> = 이미지 체인지 방법 (click, over)
<isShowBtn>true</isShowBtn> = 하단 버튼의 출력여부. true(사용) 또는 false(사용 안함)
<isShowTitle>true</isShowTitle> = 상단 타이틀바의 출력여부. true(사용) 또는 false(사용 안함)
<scaleMode>noBorder</scaleMode> = 스케일모드에 대한 설정
<transform>breathe</transform> = 효과설정(alpha, blur, left, right, top, bottom, breathe, breatheBlur)
<isShowAbout>true</isShowAbout> = 플래시위에서 마우스우측클릭시 출처에 대한 출력여부. true(사용) 또는 false(사용 안함)
<titleFont>돋움</titleFont> = 상단 타이틀바에 사용될 폰트 (잘 안되는듯;;)
</config>
제로보드 연동적용 메뉴얼
살짝 어려워하시는 분들이 계신듯해서 정리해봅니다.
연동되는 php파일인 swf_gal.php와 플래시파일 bcastr4.swf은 같은 폴더에있건
다른 폴더에 있건 상관이 없습니다. 주소만 제대로 적어주면 되는거죠.
될수있으면 같은 폴더안에 들어있는것이 차후 관리하기에도 좋기때문에 제로보드(예 : bbs)폴더안에
swf_gal 이라는 폴더를 하나 만드시고 그 안에 swf_gal.php와 bcastr4.swf 파일을 업로드합니다
그리고 예를들어 index.php 파일에 저 플래시를 삽입하겠다,, 라고 한다면
index.php에 아래와 같은 플래시삽입코드를 넣어줍니다. (플래시갤러리를 보여주고자 하는 div 또는 td안쪽에)
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="600px" height="100px">
<param name="movie" value="주소/bcastr4.swf?xml=http://swf_gal.php의 주소">
<embed width="600px" height="100px" src="주소/bcastr4.swf?xml=http://swf_gal.php의 주소" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</object>
위의 예제코드는 가로/세로 = 600/100 이니까 자신에 맞게 사이즈를 수정해야겠죠?
주소부분도 수정하셔야겠구요. 테스트로 swf_gal 폴더를 만들었으니까 그 주소로 해주셔야겠군요.
그리고 확인해보세요.
참고1
아래 트래비스님이 적으신 아래의 코드는
<script language="javascript" type="text/javascript">flashObject('bcastr4.swf?xml=http://travishong.byus.net/TravisHong_ver4/latest-flash-gal/swf_gal.php','400','180')</script>
이올라스관련(플래시 점선관련)해서 제 개인적으로 사용하는 코드입니다 ^^;;
위의 코드를 사용하시려면 우선 아래의 코드를 적당한 이름의 js파일로 저장합니다 (예 : swfOb.js)
function flashObject(file_name,width,height){
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + width + '" height="' + height + '">');
document.write('<param name="movie" value="' + file_name + '">');
document.write('<param name="quality" value="high">');
document.write('<param name="wmode" value="transparent">');
document.write('<embed src="' + file_name + '" width="' + width + '" height="' + height + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>');
document.write('</object>');
}
그리고나서 이 플래시갤러리를 삽입하려는 파일(예 : index.php)의 상단에 링크시켜주시구요 (<head>와 </head> 사이에)
아래와 같이
<script language="javascript" type="text/javascript" src="swfOb.js파일의 주소" ></script>
마지막으로 플래시갤러리를 보여주고자 하는 곳에 트래비스님이 말씀하신 코드를 사용하시면 됩니다.
<script language="javascript" type="text/javascript">flashObject('주소/bcastr4.swf?xml=http://주소/swf_gal.php','600','100')</script>
역시 주소와 사이즈(600,100)는 수정하셔야겠구요.
참고 2
예를들어서 한 페이지에 다른 이펙트를 가진 플래시갤러리를 사용하시겠다,, 한다면
swf_gal.php를 다른이름(예 : swf_gal2.php)와 같이 새로 만들어주시고
내부에 적용된 이펙트를 수정하시고(본문참고 <transform>breathe</transform> = 효과설정(alpha, blur, left, right, top, bottom, breathe, breatheBlur) 이 부분)
swf_gal.php대신에 swf_gal2.php를 링크해주시면 되겠죠?
업데이트 1 - 첨부파일이 없을때 처리함 (20080807)
첨부파일은 수정했으며 이전에 받으신 분들은 아래를 참고하세요.
수정사항 1
$file1 = $data['file_name1']; // 첨부파일 ,,, 과 같은 부분을 아래와 같이 수정
if(eregi(".gif|.jpg|.png",$data['file_name1'])) { // 첨부파일
$file1 = $_zb_url.str_replace("%2F", "/", urlencode($data['file_name1']));
}else{
$file1 = "noImg.gif"; // 첨부이미지가 없을때 대체할 이미지의 주소
}
수정사항 2
위와 같이 수정한 부분에서 좀더 내려오면 아래와 같은 부분이 있는데
if($data['file_name1'])) ){
$swfOn .= "<image>$file1</image>\n";
}
그걸 아래와 같이 수정
$swfOn .= "<image>$file1</image>\n";
끄읏~
정말 갖고싶던 가지고싶던 그런.ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
감사합니다
추천은 1회이지만 맘으로는 오만칠천번 눌러재꼈다능!!
한가지 문제점이
각 사진마다 흰색의 테두리를 적용했는데
배경색이 흰색이 아닐경우에 이 테두리들 때문에 보기가 싫네요.
어떤것은 보이고 어떤것은 위,아래만 보이고..
DQ님의 최근게시물추출기를 이용해
비율유지를 하면서 크롭으로 썸네일을 따로 만들어 적용해도
지정한 크기보다 작은 이미지의 배경에는
흰색이 자동으로 채워져 버립니다.
혹시, DQ님의 최근게시물 추출기에서
가로, 세로 지정한 범위(즉, 테두리가 들어간부분)만 제하고 크롭할수 있는
방법이 있으면 아시는 분은 가르쳐 주시면 감사하겠습니다.
그냥 이렇게만 해서 잘라 내었습니다.
$dqEngine['thumb_resize'] = '2';
아니면 배경색을 지정할수가 없던데
이미지가 없는 부분은 검정색으로 할 방법이 있을까요?
xml 주소대신에 저장한 php파일의 주소를 불러오시면 됩니다
--> 위방법에서 구체적으로 html 이나 php에서 불러오는 방법을 알려주세요...
샘플보고
<script language="javascript" type="text/javascript">flashObject('bcastr4.swf?xml=http://travishong.byus.net/TravisHong_ver4/latest-flash-gal/swf_gal.php','400','180')</script>
요렇게 했더니 에러나네요...
bcastr4.swf 파일을 제로보드에 어디에 올리는지?
swf_gal.php 을 php 파일에서 어떻게 불르는지 좀 상세히 알려주세요...
<embed src="http://insketch.com/zeroboard/example/bcastr4.swf?xml=http://insketch.com/zeroboard/example/swf_gal.php" width="600" height="350">
알려주신대로 잘 적용했습니다.
참 좋은것 올려주셨네요...
한가지 아쉬운점이 있다면 한개의 게시판에서만 가져올 수 밖에 없나요?
다중게시판에서 끌어오면 금상첨화 이겠네요...
무리한 부탁 같지만 가능하신지요....
php 파일을 아래의 코드로 대체합니다.
수정해야 할 부분은 이전것을 사용해보셨으니 아시리라 믿습니다
<?php
$_zb_url = ""; // 수정하세요
$_zb_path = ""; // 수정하세요
include $_zb_path."outlogin.php";
unset($data);
unset($result);
$r=0;
$num = 6; // 출력할 게시물 갯수
$arr_id = "게시판이름1|게시판이름 2"; // 추출할 게시판 대상 | 이 기준으로
$board_id = explode("|",$arr_id);
for($i=0; $i<count($board_id); $i++) {
$result = @mysql_query("select * from zetyx_board_".$board_id[$i]." order by no desc limit 0, {$num}") or die(mysql_error());
while($data = @mysql_fetch_array($result)) {
if(eregi(".gif|.jpg",$data['file_name1'])) $file1 = $_zb_url.$data['file_name1'];
else $file1="";
$tmp[$r][img] = $file1;
$tmp[$r][subject] = $data['subject'];
$tmp[$r][id] = $board_id[$i];
$tmp[$r][no] = $data['no'];
$tmp[$r][target] = $_zb_url."view.php?id=".$board_id[$i]."&no=".$data['no'];
$order[$r] = $data['reg_date'];
$sort[$data['reg_date']] = $r;
$r++;
}
unset($data);
unset($result);
}
if($r) @rsort($order);
$swfOn = "";
$swfOn .= "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
$swfOn .= "<data>\n";
$swfOn .= "<channel>\n";
$i=0;
$jj=1;
while($i<$num && $tmp[$sort[$order[$i]]]) {
$n = $sort[$order[$i]];
$subject = cut_str(stripslashes(iconv("CP949","utf-8",$tmp[$n][subject])),25); // 제목, 20은 글자수
$file1 = $tmp[$n][img];
$url = $tmp[$n][target];
$swfOn .= "<item>\n";
$swfOn .="<link>{$url}</link>";
if($file1){
$swfOn .= "<image>{$file1}</image>\n";
}
$swfOn .="<title>{$subject}</title>";
$swfOn .= "</item>\n";
$jj++;
$i++;
}
$swfOn .= "</channel>\n";
// 설정 시작
$swfOn .= "<config>
<roundCorner>10</roundCorner>
<autoPlayTime>5</autoPlayTime>
<isHeightQuality>false</isHeightQuality>
<blendMode>normal</blendMode>
<transDuration>1</transDuration>
<windowOpen>_self</windowOpen>
<btnSetMargin>auto 5 5 auto</btnSetMargin>
<btnDistance>20</btnDistance>
<titleBgColor>0xff6600</titleBgColor>
<titleTextColor>0xffffff</titleTextColor>
<titleBgAlpha>.99</titleBgAlpha>
<titleMoveDuration>1</titleMoveDuration>
<btnAlpha>.7</btnAlpha>
<btnTextColor>0xffffff</btnTextColor>
<btnDefaultColor>0x1B3433</btnDefaultColor>
<btnHoverColor>0xff9900</btnHoverColor>
<btnFocusColor>0xff6600</btnFocusColor>
<changImageMode>click</changImageMode>
<isShowBtn>true</isShowBtn>
<isShowTitle>true</isShowTitle>
<scaleMode>noBorder</scaleMode>
<transform>breathe</transform>
<isShowAbout>true</isShowAbout>
<titleFont>ganji</titleFont>
</config>\n";
// 설정 끝
$swfOn .= "</data>\n";
echo $swfOn;
?>
한글파일도 읽을 수 있도록 하려면 어떻게 해야 할까요?
너무 좋은 스킨 잘 사용하고 있는데 한글파일명을 인식하지 못해서
전전긍긍하고 있습니다.
완이님도 건강하시고요.
swf에서는 받아들이는데 php 추출코드에서 안넘어가더군요.
첫번째 방법
임시적으로 사용할수 있는 방법이 있어요.
썸네일로 출력하면 되겠죠.
두번째 방법
노가 형식인데..xml에 한글이미지 링크를 직접 입력하는 방법입니다.
첫번째 방법이 훨 편하겠죠.
참고사항으로 뽑아올 게시판의 썸네일 크기 그대로 뽑아오면 플래시에서의 인위적으로 크기를 키우면
그림이 늘어나는 현상이 있습니다.(오랜만에 글로 적으려니까 전달이 잘될까 싶네요.하하)
원본 뽑아올 게시판의 자료를 사본게시판(생성)에 복사이동해서 사본게시판의 썸네일 크기를 좀 키워서
플래시로 사본게시판을 뽑아오면 되겠죠.
썸네일로 뽑아올경우 xml 추출 코드중
$file1 = $_zb_url.$data[file_name1]; // 첨부파일
위 사항을 아래와 같이 변경 해주면 됩니다.
$file1 = $_zb_url."/data/$bdid/small_".$data[no].".thumb";
좀더 응용하면 여러게시판에서 멀티로 뽑아올수도 있겠죠.
그런데... 익스플로러로 사이트에 접속하면 어쩔 때는
플래쉬가 실행이 되고 어쩔 때는 안됩니다.
그래서 새로 고침 몇번 눌러주면 정상적으로 나옵니다.
이유가 뭘까요? 꼭 가르쳐 주셔요.
아.. 그리고 인프래임을 이용해서 페이지에 넣었습니다.
완이님의 홈페이지에서 답을 찾았습니다.
이전보다 더 근사한 홈페이지로 거듭난 것 같아요.
감사드립니다. ^^
swf_gal.php 파일을 열면
Fatal error: Call to undefined function: iconv() in d:\www\021_ybkor\swf_gal\swf_gal.php on line 27
이런 에러가 나옵니다..
swf_gal.php 파일 27번째로 가보니
$subject = cut_str(stripslashes(iconv("CP949","charset=gb231",$data[subject])),25); //제목 , 20은 글자수
이런 소스인데 어떻게 하면 해결할수 있는지..고수님들 도움 부탁드립니다...
( 위소스에서 charset=gb231 를 utf-8 로 해도 같은 에러가 생김. swf_gal.php가 뽑아오는 자료가 중국어라서 charset=gb231로 수정)




아주 아주 좋아요..^^