<? // <a href=http://oxtag.com target=_blank>http://oxtag.com</a> // ★★★ -> 반드시 수정... // ☆☆☆ -> 수정해도 그만 안해도 그만... // modify by 선정이 (<a href=http://eschyles.mireene.com) target=_blank>http://eschyles.mireene.com)</a>
// 현재 파일을 제로보드에 업로드 후 iframe 태그 또는 include를 사용하세요. // ex. <a href=http://oxtag.com/zboard/gallery.php?board_id=gallery&board_title=갤러리&slide_mode=15&slidespeed=3000&list_num=15&num_rand=2&img_target=1 target=_blank>http://oxtag.com/zboard/gallery.php?board_id=gallery&board_title=갤러리&slide_mode=15&slidespeed=3000&list_num=15&num_rand=2&img_target=1</a> // ex. <a href=http://oxtag.com/zboard/gallery.php?board_id=gallery&board_title=갤러리&slide_mode=15&slidespeed=3000&list_num=15&num_rand=2&img_target=2 target=_blank>http://oxtag.com/zboard/gallery.php?board_id=gallery&board_title=갤러리&slide_mode=15&slidespeed=3000&list_num=15&num_rand=2&img_target=2</a> // 제로보드 images 폴더에 noimage.gif, gallery_title.gif 파일을 올리세요.
// 보안을 위해서... if (basename(getenv("PHP_SELF")) == basename(__FILE__)) die; if(eregi(":\/\/",$_zb_url)||eregi("\.\.",$_zb_url)) $_zb_url="/zboard/"; // ★★★ 제로보드 경로.. 아래 $_zb_url 과 동일하게. $_zb_url = "/zboard/"; // ★★★ 제로보드 경로 (업로드1, 업로드2 경로설정 때문에...) $_zb_path = "/home/tagpia/public_html/zboard/"; // ★★★ 제로보드 절대경로 include_once $_zb_path."outlogin.php"; // if(!$connect) $connect=dbConn();
/* $board_id = $_GET["$board_id"]; $width = $_GET["$width"]; $height = $_GET["$height"]; $slide_mode = $_GET["$slide_mode"]; $slidespeed = $_GET["$slidespeed"]; $list_num = $_GET["$list_num"]; $num_rand = $_GET["$num_rand"]; $img_target = $_GET["$img_target"]; */
// ★★★ 추출할 갤러리 게시판 이름(id)을 입력하세요. (주소창에 입력하지 않은 경우..) if($board_id) { $board_id = $board_id; } else { $board_id = "gallery"; }
// ☆☆☆ 추출할 게시판 이름을 입력하세요. (주소창에 입력하지 않은 경우..) if($board_title) { $board_title = $board_title; } else { $board_title = "갤러리"; }
// ☆☆☆ 그림 가로사이즈 if($width) { $width = $width; } else { $width = "300"; }
// ☆☆☆ 그림 세로사이즈 if($height) { $height = $height; } else { $height = "225"; }
// ☆☆☆ 슬라이드 방식 : 아래 주석 설명 참고하세요... 아래 15가지 랜덤으로 보이게 할 때는 15 if($slide_mode) { $slide_mode = $slide_mode; } elseif($slide_mode <= "16") { $slide_mode = "15"; } else { $slide_mode = "15"; }
// ☆☆☆ 다음 이미지로 슬라이드되는 시간 : 1000 = 1초 if($slidespeed) { $slidespeed = $slidespeed; } else { $slidespeed = "3000"; }
// ☆☆☆ 추출할 그림 갯수를 입력하세요. if($list_num) { $list_num = $list_num; } else { $list_num = "10"; }
// ☆☆☆ 게시물 추출시 : 최근등록순 = 1, 램덤추출 = 2 if($num_rand) { $num_rand = $num_rand; } else { $num_rand = "1"; }
// ☆☆☆ 이미지 클릭시 : 팝업 = 1, 해당글 이동 = 2 if($img_target) { $img_target = $img_target; } else { $img_target = "1"; }
$c_del=$list_num - 1; // 스크립트 안의 slideimages 와 slidecaption, slidelinks의 마지막 붙는 콤마(,) 제거를 위해서..
if($slide_mode==0) { $slide = "Spiral(Duration=1,gridSizeX=10,gridSizeY=10)"; } // 중심을 향해서 사각으로 회오리.. 설명이 참... ㅡ_ㅡ;; elseif($slide_mode==1) { $slide = "Pixelate(maxSquare=10,duration=1)"; } // 픽셀이 분해되서 모이는효과입니다. elseif($slide_mode==2) { $slide = "Fade(duration=1)"; } // 이미지가 겹치면서 샤샥 변하는효과. elseif($slide_mode==3) { $slide = "RandomDissolve(Duration=1,orientation=vertical)"; } // 흩뿌리기 효과. elseif($slide_mode==4) { $slide = "GradientWipe(duration=1)"; } // 좌측에서 우측으로 바뀌는 효과. elseif($slide_mode==5) { $slide = "Blinds(Duration=1,bands=20)"; } // 블라인드 효과 elseif($slide_mode==6) { $slide = "Checkerboard(Duration=1,squaresX=20,squaresY=20)"; }// 바둑판처럼 바뀌는 효과 elseif($slide_mode==7) { $slide = "Strips(Duration=1,motion=rightdown)"; } // 왼쪽 위에서 오른쪽 아래로 대각선으로 벗기듯이 변하는 효과 elseif($slide_mode==8) { $slide = "Barn(Duration=1,orientation=vertical)"; } // 중간에서 좌우로 열리는 효과 elseif($slide_mode==9) { $slide = "Iris(Duration=1,motion=out)"; } // +(열십자)모양으로 중간에서 사방으로 열리는 효과 elseif($slide_mode==10) { $slide = "Wheel(Duration=1,spokes=12)"; } // 바퀴살처럼 그림이 변하는 효과 elseif($slide_mode==11) { $slide = "RadialWipe(Duration=1,wipeStyle=clock)"; } // 360도 회전하는 와이프효과 elseif($slide_mode==12) { $slide = "RandomBars(Duration=1,orientation=vertical)"; } // 불규칙한 세로바가 나타나는 효과 elseif($slide_mode==13) { $slide = "Slide(Duration=1,slideStyle=push)"; } // 한장씩 오른쪽에서 왼쪽으로 슬라이드 elseif($slide_mode==14) { $slide = "Stretch(Duration=1,stretchStyle=push)"; } // 책장 넘기는 효과 elseif($slide_mode==15) { // 위 15가지 랜덤으로 보이게 할 때 mt_srand((double)microtime()*500000); $rn=mt_rand(0,14); $ri=array("Spiral(Duration=1,gridSizeX=10,gridSizeY=10)","Pixelate(maxSquare=10,duration=1)","Fade(duration=1)","RandomDissolve(Duration=1,orientation=vertical)","GradientWipe(duration=1)","Blinds(Duration=1,bands=20)","Checkerboard(Duration=1,squaresX=20,squaresY=20)","Strips(Duration=1,motion=rightdown)","Barn(Duration=1,orientation=vertical)","Iris(Duration=1,motion=out)","Wheel(Duration=1,spokes=12)","RadialWipe(Duration=1,wipeStyle=clock)","RandomBars(Duration=1,orientation=vertical)","Slide(Duration=1,slideStyle=push)","Stretch(Duration=1,stretchStyle=push)"); $slide=$ri[$rn]; } else { $slide = "Spiral(Duration=1,gridSizeX=10,gridSizeY=10)"; }
if($num_rand==1) $num_rand = "order by no desc"; elseif($num_rand==2) $num_rand = "order by rand()"; else $num_rand = "order by no desc";
$setup = mysql_fetch_array(mysql_query("select use_alllist from $admin_table where name='$board_id'")); if($setup[use_alllist]) $target = "zboard.php?id=".$board_id; else $target = "view.php?id=".$board_id;
// 해당 게시판의 데이타 뽑아옴.. $result=mysql_query("select * from zetyx_board_$board_id $num_rand limit $list_num", $connect); while($data=mysql_fetch_array($result)) {
/* 해당글의 페이지를 찾기 위한 부분 시작*/ if($data[depth]>0){ $lasttemp=mysql_fetch_array(mysql_query("select count(*) from zetyx_board_$board_id where headnum <= $data[headnum] and arrangenum < $data[arrangenum]")); } else{ $lasttemp=mysql_fetch_array(mysql_query("select count(*) from zetyx_board_$board_id where headnum < $data[headnum]")); } $lasttotal=$lasttemp[0]; $setup2 = mysql_fetch_array(mysql_query("select memo_num from $admin_table where name='$board_id'")); $page=(int)($lasttotal/$setup2[memo_num])+1; /* 해당글의 페이지를 찾기 위한 부분 끝*/
// ☆☆☆ 한개의 글에서 하나만 출력합니다. 우선 순위는 순서대로 이니까 이건 알아서 수정하세요. // 파일명에 한글이 있을 경우 엑박 방지를 위해서 urlencode.. if(eregi("\.gif|\.jpg|\.bmp",$data[sitelink1])) { // 사이트링크1에 이미지 확장자가 있을때... $linkUrl=stripslashes($data[sitelink1]); $linkUrl=eregi("^[0-9a-zA-Z./@~?&=_-]+$",$linkUrl)?$linkUrl:urlencode($linkUrl); $linkUrl=str_replace("%3A", ":", $linkUrl); $linkUrl=str_replace("%2F", "/", $linkUrl); $img[]=$linkUrl; $caption[]="<a href='".$_zb_url."".$target."&no=".$data[no]."&page=".$page."'>".$data[subject]."</a>"; $link[] = "".$_zb_url."".$target."&no=".$data[no]."&page=".$page.""; } elseif(eregi("\.gif|\.jpg|\.bmp",$data[sitelink2])) { // 사이트링크2에 이미지 확장자가 있을때... $linkUrl=stripslashes($data[sitelink2]); $linkUrl=eregi("^[0-9a-zA-Z./@~?&=_-]+$",$linkUrl)?$linkUrl:urlencode($linkUrl); $linkUrl=str_replace("%3A", ":", $linkUrl); $linkUrl=str_replace("%2F", "/", $linkUrl); $img[]= $linkUrl; $caption[]="<a href='".$_zb_url."".$target."&no=".$data[no]."&page=".$page."'>".$data[subject]."</a>"; $link[] = "".$_zb_url."".$target."&no=".$data[no]."&page=".$page.""; } elseif(eregi("\.gif|\.jpg|\.bmp",$data[file_name1])) { // 업로드1에 이미지 확장자가 있을때... $file_name=stripslashes($data[file_name1]); $file_name=eregi("^[0-9a-zA-Z./@~?&=_-]+$",$file_name)?$file_name:urlencode($file_name); $file_name=str_replace("%3A", ":", $file_name); $file_name=str_replace("%2F", "/", $file_name); $img[] = $_zb_url.$file_name; // DQ엔진의 썸네일을 사용하고자 하시면 이 줄을 주석처리하고 밑에 줄을 주석처리 해제하세요. //$img[] = "".$_zb_url."data/$board_id/small_".$data[no].".thumb"; $caption[]="<a href='".$_zb_url."".$target."&no=".$data[no]."&page=".$page."'>".$data[subject]."</a>"; $link[] = "".$_zb_url."".$target."&no=".$data[no]."&page=".$page.""; } elseif(eregi("\.gif|\.jpg|\.bmp",$data[file_name2])) { // 업로드2에 이미지 확장자가 있을때... $file_name=stripslashes($data[file_name2]); $file_name=eregi("^[0-9a-zA-Z./@~?&=_-]+$",$file_name)?$file_name:urlencode($file_name); $file_name=str_replace("%3A", ":", $file_name); $file_name=str_replace("%2F", "/", $file_name); $img[] = $_zb_url.$file_name; // DQ엔진의 썸네일을 사용하고자 하시면 이 줄을 주석처리하고 밑에 줄을 주석처리 해제하세요. //$img[] = "".$_zb_url."data/$board_id/small_".$data[no].".thumb"; $caption[]="<a href='".$_zb_url."".$target."&no=".$data[no]."&page=".$page."'>".$data[subject]."</a>"; $link[] = "".$_zb_url."".$target."&no=".$data[no]."&page=".$page.""; } else { $img[]="".$_zb_url."images/noimage.gif";// 이미지가 없는 게시물 일때.. $caption[]="<a href='".$_zb_url."".$target."&no=".$data[no]."&page=".$page."'>".$data[subject]."</a>"; $link[] = "".$_zb_url."".$target."&no=".$data[no]."&page=".$page.""; } } ?>
<script> <!-- // 이미지 사이의 시간 간격(1000 = 1초) var slidespeed=<?=$slidespeed;?>; // 보여줄 이미지들의 경로를 갯수만큼 만들어줌 var slideimages=new Array(<? for($i=0; $i <= $c_del; $i++){ echo "\"".$img[$i]."\""; if($i < $c_del) echo ","; } ?>); // 각 이미지들의 제목을 갯수만큼 만들어줌 var slidecaption=new Array(<? for($i=0; $i <= $c_del; $i++){ echo "\"".$caption[$i]."\""; if($i < $c_del) echo ","; } ?>);
<? if($img_target == "1") { ?> // 각 이미지의 원본글의 주소를 만들어줌 var slidelinks=new Array(<? for($i=0; $i <= $c_del; $i++){ echo "\"".$img[$i]."\""; if($i < $c_del) echo ","; } ?>); <? } else { // } elseif($img_target == "1") { ?> // 각 이미지들의 링크를 갯수만큼 만들어줌 var slidelinks=new Array(<? for($i=0; $i <= $c_del; $i++){ echo "\"".$link[$i]."\""; if($i < $c_del) echo ","; } ?>); <? } ?>
var imageholder=new Array(); var ie55=window.createPopup; for (i=0;i<slideimages.length;i++){ imageholder[i]=new Image(); imageholder[i].src=slideimages[i]; }
function gotoshow(what) {
<? if($img_target == "1") { ?>
var imgwin = window.open('','','scrollbars=no,status=no,toolbar=no,resizable=1,location=no,menu=no,width=10,height=10'); imgwin.document.open(); imgwin.document.write("<html>\n"); imgwin.document.write("<title>♡ 갤러리 ♡</title>\n"); imgwin.document.write("<META HTTP-EQUIV='imagetoolbar' CONTENT='no'>\n"); imgwin.document.write("<script LANGUAGE=JavaScript>\n");
imgwin.document.write("function fitwin(){\n"); imgwin.document.write(" window.moveTo!((window.screen.width-document.body.clientWidth)/2,(window.screen.height-document.body.clientHeight)/2-45);\n"); imgwin.document.write("}\n");
imgwin.document.write("var isNav4, isIE4;\n"); imgwin.document.write("var windowX, windowY;\n"); imgwin.document.write("var bLargeImage = 0;\n"); imgwin.document.write("var x,y;\n");
imgwin.document.write("if (parseInt(navigator.appVersion.charAt(0)) >= 4)\n"); imgwin.document.write("{\n"); imgwin.document.write("isNav4 = (navigator.appName == 'Netscape') ? 1 : 0;\n"); imgwin.document.write("isIE4 = (navigator.appName.indexOf('Microsoft') != -1) ? 1 : 0;\n"); imgwin.document.write("}\n");
imgwin.document.write("function fitWindowSize()\n"); imgwin.document.write("{\n"); imgwin.document.write("if (isNav4) {\n"); imgwin.document.write("window.innerWidth = document.layers[0].document.images[0].width;\n"); imgwin.document.write("window.innerHeight = document.layers[0].document.images[0].height;\n"); imgwin.document.write("}\n"); imgwin.document.write("if (isIE4) {\n"); imgwin.document.write("window.resizeTo!(150, 150);\n"); imgwin.document.write("width = 150 - (document.body.clientWidth - document.images[0].width);\n"); imgwin.document.write("height = 150 - (document.body.clientHeight - document.images[0].height)\n"); imgwin.document.write("windowX = (window.screen.width-width)/2;\n"); imgwin.document.write("windowY = (window.screen.height-height)/2;\n"); imgwin.document.write("if(width>screen.width){\n"); imgwin.document.write("width = screen.width;\n"); imgwin.document.write("windowX = 0;\n"); imgwin.document.write("bLargeImage = 1;\n"); imgwin.document.write("}\n"); imgwin.document.write("if(height>screen.height - 45){\n"); imgwin.document.write("height = screen.height - 55;\n"); imgwin.document.write("windowY = 0;\n"); imgwin.document.write("bLargeImage = 1;\n"); imgwin.document.write("}\n"); imgwin.document.write("x = width/2;\n"); imgwin.document.write("y = height/2;\n"); imgwin.document.write("window.moveTo!(windowX,windowY);\n"); imgwin.document.write("window.resizeTo!(width, height);\n"); imgwin.document.write("}\n"); imgwin.document.write("}\n");
imgwin.document.write("function move() {\n"); imgwin.document.write("if(bLargeImage)\n"); imgwin.document.write("window.scroll(window.event.clientX - 45,window.event.clientY - 55);\n"); imgwin.document.write("}\n");
imgwin.document.write("</script>\n"); imgwin.document.write("<body onclick='window.close()' oncontextmenu='return false' ondragstart='return false' onkeydown='return false' onselectstart='return false' topmargin='0' onLoad='fitwin();fitWindowSize();' onmousemove='move();' leftmargin='0' marginwidth='0' marginheight='0''>\n"); imgwin.document.write("<center><a href=# onfocus=this.blur() style='cursor:move'>\n"); imgwin.document.write("<img src='"+slidelinks[whichlink]+"' border=0 onerror=\"this.src='<?=$zb_url?>images/noimage.gif';\">\n"); imgwin.document.write("</a></center>\n"); imgwin.document.write("</body>\n"); imgwin.document.write("</html>\n"); imgwin.document.close();
<? } else { // } elseif($img_target == "1") { ?>
window.open(slidelinks[whichlink], "_self", "");
<? } ?> }
function showPicture(src,caption) { window.location!=src; return; }
//--> </script>
<style> body,a {font-size:9pt;text-decoration:none;color:#000000;} a.hover {font-size:9pt;text-decoration:none;color:#FF9900;} .title { background-color:#CAD9BC; } /* 타이틀공간 백그라운드 색상 */ .content { background-color:#F0F0F0; } /* 그림공간 백그라운드 색상 */ .border { background-color:#E0E0E0; } /* 테두리 색상 */ </style>
<table cellpadding=0 cellspacing=0 border=0 width=<?=$width+12;?> align=center> <tr height=1><td rowspan=3 width=1></td><td width=1></td><td width=1></td><td class=title></td><td width=1></td><td width=1></td><td rowspan=3 width=1></td></tr> <tr height=1><td colspan=2 class=title></td><td class=title></td><td colspan=2 class=title></td></tr> <tr height=1><td class=title></td><td colspan=3 class=title></td><td class=title></td></tr> </table>
<table cellpadding=0 cellspacing=0 border=0 class=title width=<?=$width+12;?> align=center> <tr> <td width=1 class=title></td> <td height='27' align=center valign=top> </td> <td><img src=<?=$_zb_url?>images/gallery_title.gif><br></td> <td align=left width=100%> <a href='<?=$_zb_url?>zboard.php?id=<?=$board_id;?>'><b><?=$board_title;?></a></td> <td width=1 class=title></td> </tr> </table>
<table cellpadding=0 cellspacing=0 border=0 class=content width=<?=$width+12;?> align=center> <tr><td width=1 class=border></td><td align=center valign=top>
<TABLE border=0 cellspacing=0 cellpadding=0 width=<?=$width+10;?>> <tr> <td height=<?=$height+5;?> align=center> <a href="javascript:gotoshow()" onfocus=blur()><img src="<?=$img[0]?>" name="slide" style="filter:progid:DXImageTransform.Microsoft.<?=$slide?>;border-color:aaaaaa" border=1 width="<?=$width?>" height="<?=$height?>" onerror="this.src='<?=$_zb_url?>images/noimage.gif';" GALLERYIMG="no"></a><br> </td> </tr> <tr> <td height=25 align=center> <font id='img_caption' style="font-size:9pt; color:#000000;" align=center>캡션이미지 위치입니다.</font> </td> </tr> </TABLE>
</td><td width=1 class=border></td> </tr> </table>
<table cellpadding=0 cellspacing=0 border=0 width=312 align=center> <tr height=1><td rowspan=3 width=1></td><td rowspan=2 width=1 class=border></td><td colspan=3 class=content></td><td rowspan=2 width=1 class=border></td><td rowspan=3 width=1></td></tr> <tr height=1><td width=1 class=border></td><td class=content></td><td width=1 class=border></td></tr> <tr height=1><td colspan=2></td><td class=border></td><td colspan=2></td></tr> </table>
<script language="JavaScript1.1"> <!-- var whichlink=0; var whichimage=0; var pixeldelay=(ie55)? document.images.slide.filters[0].duration*1000 : 0; function slideit(){ if (!document.images) return if (ie55) document.images.slide.filters[0].apply(); document.images.slide.src=imageholder[whichimage].src; img_caption.innerHTML = slidecaption[whichimage]; if (ie55) document.images.slide.filters[0].play(); whichlink=whichimage; whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0; setTimeout("slideit()",slidespeed+pixeldelay); } slideit(); //--> </script> |