7

ccc님의 새창으로 이미지미리보기에서 다음이미지 이전이미지 보기 처리

gnu3호환 새창으로 이미지미리보기에서 다음이미지 이전이미지 보기 적용하니
아래와 같이 에러가 나네요
간만에 리뉴얼 할려고 하는데 이런현상이...으이구


Fatal error: Call to undefined function: get_image_ratio() in /home/hosting_users/art0644/www/gnu3/bbs/skin/board/gallery_ccc/gblist.skin.php on line 153


http://sir.co.kr/bbs/board.php?bo_table=g3_tiptech&wr_id=7344
|

댓글 4개

/lib/developer.lib.php파일로 아래 내용을 저장해주세요!
그누3는 image배율 계산이 없어서 집어 넣은 함수입니다.
네모 박스에 넣는점에 사진을 보여줄때는 찌그러지는 경우가 많아서
사이즈가 적으면 비율에 맞게끔 축소하도록 집어 넣은 함수입니다.


if (defined(__FILE__)) return;
define(__FILE__, TRUE);

//이미지 비율에 따른 사이즈 2005-06-15 ⓒⓒⓒ
function get_image_ratio($filename,$width,$height) {

$s_size = @getimagesize($filename);

if ( ($s_size[0] > 0) && ($s_size[1] > 0) ) {

if ($s_size[0] > $s_size[1]) $ratio = $width/$s_size[0];
else $ratio = $height/$s_size[1];

$img[width] = $s_size[0]*$ratio;
$img[height] = $s_size[1]*$ratio;
}

return $img;

}


// 이전이미지 다음이미지 2005.05.13 ⓒⓒⓒ
function get_next_image($bo_table, $wr_id) {
global $cfg;

$write_table = "{$cfg[write_table_prefix]}{$bo_table}";

$p_wr_id = sql_fetch("SELECT wr_id FROM $write_table WHERE wr_id > $wr_id and wr_file1 <> '' order by wr_id asc");
$n_wr_id = sql_fetch("SELECT wr_id FROM $write_table WHERE wr_id < $wr_id and wr_file1 <> '' order by wr_id desc");

$page[p_wr_id] = $p_wr_id[0];
$page[n_wr_id] = $n_wr_id[0];

if($page[p_wr_id]) $page[p_button] = "<a href='?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$page[p_wr_id]'>◀</a>";
if($page[n_wr_id]) $page[n_button] = "<a href='?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$page[n_wr_id]'>▶</a>";

return $page;
}
하하하..
적용을 했더니 에러는 안나는데 이미지가 나오질 않는군요^^

네모박스만 나오는데요..

감사합니다.
간단하게 설명드리면 기죤소스를 바꾼게 좀 됩니다.
function get_image_ratio($filename,$width,$height)
스킨에서 저값을 호출시
get_image_ratio(이미지파일명,최대출력width폭, 최대출력height폭) 이렇게 됩니다.
당연히 소스상에서도 최대폭을 설정해줘야 정상적으로 보여지겠죠!

소스사용방법...
echo "<a href=\"javascript:winopen('?doc=bbs/gbnextimg.php&bo_table=$bo_table&wr_id={$list[$i][wr_id]}','imageview');\">";


gbnextimg.php (원본소스입니다. 비교해보세요!)

<?
if (!defined("_GNUBOARD_")) exit;
define("_DOCTYPE_", "STYLE");
$html_title = "이미지 보기";

//############################################################
//##
//## ver : 2005. 05. 14
//## P/G : ⓒⓒⓒ
//## msn : oldccc@oldccc.com
//##
//############################################################

function get_n_image($bo_table, $wr_id) {
global $cfg;

$write_table = "{$cfg[write_table_prefix]}{$bo_table}";

$p_wr_id = sql_fetch("SELECT wr_id FROM $write_table WHERE wr_id > $wr_id and wr_file1 <> '' order by wr_id asc");
$n_wr_id = sql_fetch("SELECT wr_id FROM $write_table WHERE wr_id < $wr_id and wr_file1 <> '' order by wr_id desc");

$page[p_wr_id] = $p_wr_id[0];
$page[n_wr_id] = $n_wr_id[0];

if($page[p_wr_id]) $page[p_button] = "<a href='?doc=bbs/gbnextimg.php&bo_table=$bo_table&wr_id=$page[p_wr_id]'>◀</a>";
if($page[n_wr_id]) $page[n_button] = "<a href='?doc=bbs/gbnextimg.php&bo_table=$bo_table&wr_id=$page[n_wr_id]'>▶</a>";

return $page;
}


function view_img($bo_table, $wr_id)
{
global $cfg, $pn_img;

$data = sql_fetch("SELECT wr_file1 FROM {$cfg[write_table_prefix]}{$bo_table} WHERE wr_id ='$wr_id' ");

$file = $data[0];

$dir = "./data/file/$bo_table";
$size = @getimagesize("$dir/$file");
$source_width = $size[0];
$source_height = $size[1];

if ($board[bo_table_width] <= 100) {
if ($size[0] > $cfg[large_image_size]) {
$rate = $size[1] / $size[0];
$size[0] = $cfg[large_image_size];
$size[1] = (int)($size[0] * $rate);
}
} else {
if ($size[0] > $board[bo_table_width]) {
$rate = $size[1] / $size[0];
$size[0] = $board[bo_table_width];
$size[1] = (int)($size[0] * $rate);
}
}

$img[width] = $size[0];
$img[height] = $size[1];

if (preg_match($cfg[image_extension], $file))
$img[a_img] = "<img src='$dir/$file' width=$img[width] height=$img[height] border=0 onclick='window.close();' style='cursor:hand'>";
$img[a_img] .="<table cellpadding='0' cellspacing='0' border='0' width='100%' height=20 class='C_Admin_table_bg'>";
$img[a_img] .="<tr bgcolor='#7B7B7B'><td width=50% align=right>{$pn_img[p_button]}&nbsp;&nbsp;&nbsp;&nbsp;{$pn_img[n_button]}</td>";
$img[a_img] .="<td width=50% align=right><a href='http://ne4jin.com' target=_blank>ne4jin.com</a></td></tr>";
$img[a_img] .="</table>";
return $img;

}


$pn_img = get_n_image($bo_table, $wr_id);


$view_image=view_img($bo_table,$wr_id);

echo $view_image[a_img];

$view_image[heightadd] = $view_image[height]+80;
?>


<script>
self.resizeTo(<?=$view_image[width]?>,<?=$view_image[heightadd]?>)
</script>
비교를 해봐도 똑같은데 ...
에고 마찬가지네요^^



<?
if (!defined("_GNUBOARD_")) exit;
define("_DOCTYPE_", "STYLE");
$html_title = "이미지 보기";

//############################################################
//##
//## ver : 2005. 05. 14
//## P/G : ⓒⓒⓒ
//## msn : oldccc@oldccc.com
//##
//############################################################

function get_n_image($bo_table, $wr_id) {
global $cfg;

$write_table = "{$cfg[write_table_prefix]}{$bo_table}";

$p_wr_id = sql_fetch("SELECT wr_id FROM $write_table WHERE wr_id > $wr_id and wr_file1 <> '' order by wr_id asc");
$n_wr_id = sql_fetch("SELECT wr_id FROM $write_table WHERE wr_id < $wr_id and wr_file1 <> '' order by wr_id desc");

$page[p_wr_id] = $p_wr_id[0];
$page[n_wr_id] = $n_wr_id[0];

if($page[p_wr_id]) $page[p_button] = "<a href='?doc=bbs/gbnextimg.php&bo_table=$bo_table&wr_id=$page[p_wr_id]'>◀</a>";
if($page[n_wr_id]) $page[n_button] = "<a href='?doc=bbs/gbnextimg.php&bo_table=$bo_table&wr_id=$page[n_wr_id]'>▶</a>";

return $page;
}


function view_img($bo_table, $wr_id)
{
global $cfg, $pn_img;

$data = sql_fetch("SELECT wr_file1 FROM {$cfg[write_table_prefix]}{$bo_table} WHERE wr_id ='$wr_id' ");

$file = $data[0];

$dir = "./data/file/$bo_table";
$size = @getimagesize("$dir/$file");
$source_width = $size[0];
$source_height = $size[1];

if ($board[bo_table_width] <= 100) {
if ($size[0] > $cfg[large_image_size]) {
$rate = $size[1] / $size[0];
$size[0] = $cfg[large_image_size];
$size[1] = (int)($size[0] * $rate);
}
} else {
if ($size[0] > $board[bo_table_width]) {
$rate = $size[1] / $size[0];
$size[0] = $board[bo_table_width];
$size[1] = (int)($size[0] * $rate);
}
}

$img[width] = $size[0];
$img[height] = $size[1];

if (preg_match($cfg[image_extension], $file))
$img[a_img] = "<img src='$dir/$file' width=$img[width] height=$img[height] border=0 onclick='window.close();' style='cursor:hand'>";
$img[a_img] .="<table cellpadding='0' cellspacing='0' border='0' width='100%' height=20 class='C_Admin_table_bg'>";
$img[a_img] .="<tr bgcolor='#7B7B7B'><td width=50% align=right>{$pn_img[p_button]} {$pn_img[n_button]}</td>";
$img[a_img] .="<td width=50% align=right><a href='http://ne4jin.com' target=_blank>ne4jin.com</a></td></tr>";
$img[a_img] .="</table>";
return $img;

}


$pn_img = get_n_image($bo_table, $wr_id);


$view_image=view_img($bo_table,$wr_id);

echo $view_image[a_img];

$view_image[heightadd] = $view_image[height]+80;
?>


<script>
self.resizeTo(<?=$view_image[width]?>,<?=$view_image[heightadd]?>)
</script>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고