친절하게 답변해주셔서 정말 감사합니다.
lib/thumbnail.lib 파일을 확인했지만, 별다른 스킨에 대한 정보는 나와있지 않았습니다.
<?php
if (!defined('_GNUBOARD_')) exit;
@ini_set('memory_limit', '-1');
// 게시글리스트 썸네일 생성
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
{
global $g5, $config;
$filename = $alt = "";
$edt = false;
$sql = " select bf_file, bf_content from {$g5['board_file_table']}
where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_type between '1' and '3' order by bf_no limit 0, 1 ";
$row = sql_fetch($sql);
if($row['bf_file']) {
$filename = $row['bf_file'];
$filepath = G5_DATA_PATH.'/file/'.$bo_table;
$alt = get_text($row['bf_content']);
} else {
$write_table = $g5['write_prefix'].$bo_table;
$sql = " select wr_content from $write_table where wr_id = '$wr_id' ";
$write = sql_fetch($sql);
$matches = get_editor_image($write['wr_content'], false);
$edt = true;
if(isset($matches[1]) && is_array($matches[1])){
for($i=0; $i<count($matches[1]); $i++)
{
// 이미지 path 구함
$p = parse_url($matches[1][$i]);
if(strpos($p['path'], '/'.G5_DATA_DIR.'/') != 0)
$data_path = preg_replace('/^\/.*\/'.G5_DATA_DIR.'/', '/'.G5_DATA_DIR, $p['path']);
else
$data_path = $p['path'];
$srcfile = G5_PATH.$data_path;
if(preg_match("/\.({$config['cf_image_extension']})$/i", $srcfile) && is_file($srcfile)) {
$size = @getimagesize($srcfile);
if(empty($size))
continue;
$filename = basename($srcfile);
$filepath = dirname($srcfile);
preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $matches[0][$i], $malt);
$alt = get_text($malt[1]);
break;
}
}
}
}
if(!$filename)
return false;
$tname = thumbnail($filename, $filepath, $filepath, $thumb_width, $thumb_height, $is_create, $is_crop, $crop_mode, $is_sharpen, $um_value);
if($tname) {
if($edt) {
// 오리지날 이미지
$ori = G5_URL.$data_path;
// 썸네일 이미지
$src = G5_URL.str_replace($filename, $tname, $data_path);
} else {
$ori = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
$src = G5_DATA_URL.'/file/'.$bo_table.'/'.$tname;
}
} else {
return false;
}
$thumb = array("src"=>$src, "ori"=>$ori, "alt"=>$alt);
return $thumb;
}
// Exif 출력정보 생성
function apms_get_view_exif($exif, $srcfile, $txt) {
if(empty($exif)) return;
$list = array();
if(isset($exif['Model']) && $exif['Model']) {
$list[] = astxt($txt['model'], array($exif['Model'])); //카메라모델명
}
if(isset($exif['LensModel']) && $exif['LensModel']) {
$list[] = astxt($txt['lensmodel'], array($exif['LensModel'])); //렌즈모델
} else if(isset($exif['UndefinedTag:0xA434']) && $exif['UndefinedTag:0xA434']) {
$list[] = astxt($txt['lensmodel'], array($exif['UndefinedTag:0xA434'])); //렌즈모델
} else if(isset($exif['LensInfo']) && $exif['LensInfo']) {
$list[] = astxt($txt['lensinfo'], array($exif['LensInfo'])); //렌즈정보
}
if(isset($exif['DateTimeOriginal']) && $exif['DateTimeOriginal']) {
$list[] = astxt($txt['datetime'], array($exif['DateTimeOriginal'])); //촬영일시
}
if(isset($exif['ExposureProgram'])) {
switch($exif['ExposureProgram']) {
case '0' : $expomode = $txt['exposure1']; break; //자동모드
case '1' : $expomode = $txt['exposure2']; break; //수동모드
case '2' : $expomode = $txt['exposure3']; break; //프로그램모드
case '3' : $expomode = $txt['exposure4']; break; //조리개모드
case '4' : $expomode = $txt['exposure5']; break; //셔터스피드모드
default : $expomode = ''; break; //Unknown
}
if($expomode) {
$list[] = astxt($txt['exposure'], array($expomode)); //촬영모드
}
}
if(isset($exif['ExposureTime']) && $exif['ExposureTime']) {
$list[] = astxt($txt['expostime'], array($exif['ExposureTime'])); //셔터속도
}
if(isset($exif['COMPUTED']['ApertureFNumber']) && $exif['COMPUTED']['ApertureFNumber']) {
$list[] = astxt($txt['aperture'], array($exif['COMPUTED']['ApertureFNumber'])); //조리개
}
if(isset($exif['ISOSpeedRatings']) && $exif['ISOSpeedRatings']) {
$list[] = astxt($txt['iso'], array($exif['ISOSpeedRatings'])); //ISO
}
if(isset($exif['WhiteBalance'])) {
switch($exif['WhiteBalance']) {
case '0' : $whitebal = $txt['whitebal1']; break; //Auto
case '1' : $whitebal = $txt['whitebal2']; break; //Manual
default : $whitebal = ''; break; //Unknown
}
if($whitebal) {
$list[] = astxt($txt['whitebal'], array($whitebal)); //화이트밸런스
}
}