Merge branch 'master' of github.com:gnuboard/g4s

This commit is contained in:
whitedot
2013-01-29 16:54:11 +09:00
11 changed files with 132 additions and 177 deletions

View File

@ -16,7 +16,7 @@ if (!defined('_GNUBOARD_')) exit;
<!-- <p>실행시간 : <?=get_microtime() - $begin_time;?> -->
<script src="<?=G4_ADMIN_PATH?>/admin.js"></script>
<script src="<?=G4_ADMIN_URL?>/admin.js"></script>
<?
include_once(G4_PATH.'/tail.sub.php');

View File

@ -1,6 +1,7 @@
<?
$sub_menu = "400200";
include_once("./_common.php");
include_once(G4_CKEDITOR_PATH.'/ckeditor.lib.php');
auth_check($auth[$sub_menu], "w");
@ -80,8 +81,6 @@ $g4[title] = $html_title;
include_once(G4_ADMIN_PATH."/admin.head.php");
?>
<?=smarteditor_load();?>
<?=subtitle("기본 입력")?>
<form name=fcategoryform method=post action="./categoryformupdate.php" enctype="multipart/form-data" onsubmit='return fcategoryformcheck(this);' style="margin:0px;">
@ -107,8 +106,8 @@ include_once(G4_ADMIN_PATH."/admin.head.php");
<?=help("자동으로 보여지는 분류코드를 사용하시길 권해드리지만 직접 입력한 값으로도 사용할 수 있습니다.\n분류코드는 나중에 수정이 되지 않으므로 신중하게 결정하여 사용하십시오.\n\n분류코드는 2자리씩 10자리를 사용하여 5단계를 표현할 수 있습니다.\n0~z까지 입력이 가능하며 한 분류당 최대 1296가지를 표현할 수 있습니다.\n그러므로 총 3656158440062976가지의 분류를 사용할 수 있습니다.");?>
<? } else { ?>
<input type=hidden name=ca_id value='<?=$ca[ca_id]?>'><?=$ca[ca_id]?>
<? echo icon("미리보기", "{$g4[shop_path]}/list.php?ca_id=$ca_id"); ?>
<? echo "<a href='./categoryform.php?ca_id=$ca_id&$qstr' title='하위분류 추가'><img src='$g4[admin_path]/img/icon_insert.gif' border=0 align=absmiddle></a>"; ?>
<? echo icon("미리보기", G4_SHOP_URL."/list.php?ca_id=$ca_id"); ?>
<? echo "<a href='./categoryform.php?ca_id=$ca_id&$qstr' title='하위분류 추가'><img src='".G4_ADMIN_URL."/img/icon_insert.gif' border=0 align=absmiddle></a>"; ?>
<a href='./itemlist.php?sca=<?=$ca[ca_id]?>'>상품리스트</a>
<? } ?>
@ -133,7 +132,7 @@ include_once(G4_ADMIN_PATH."/admin.head.php");
<td>출력스킨</td>
<td colspan=3>
<select id=ca_skin name=ca_skin>
<? echo get_list_skin_options("^list.skin.(.*)\.php", $g4[shop_path]); ?>
<? echo get_list_skin_options("^list.skin.(.*)\.php", G4_SHOP_PATH); ?>
</select>
<script>document.getElementById('ca_skin').value='<?=$ca[ca_skin]?>';</script>
<?=help("기본으로 제공하는 스킨은 $g4[shop]/list.skin.*.php 입니다.");?>
@ -278,11 +277,11 @@ include_once(G4_ADMIN_PATH."/admin.head.php");
<tr class=ht>
<td>상단 내용 <?=help("상품리스트 페이지 상단에 출력하는 HTML 내용입니다.", -150);?> </td>
<td colspan=3 align=right><br /><?=smarteditor_run("ca_head_html", $ca['ca_head_html']);?></td>
<td colspan=3 align=right><br /><?=editor_html("ca_head_html", $ca['ca_head_html']);?></td>
</tr>
<tr class=ht>
<td>하단 내용 <?=help("상품리스트 페이지 하단에 출력하는 HTML 내용입니다.", -150);?></td>
<td colspan=3 align=right><br /><?=smarteditor_run("ca_tail_html", $ca['ca_tail_html']);?></td>
<td colspan=3 align=right><br /><?=editor_html("ca_tail_html", $ca['ca_tail_html']);?></td>
</tr>
<tr><td colspan=4 height=1 bgcolor=#CCCCCC></td></tr>
</table>
@ -315,11 +314,8 @@ include_once(G4_ADMIN_PATH."/admin.head.php");
<script type="text/javascript">
function fcategoryformcheck(f)
{
<?//=cheditor3('ca_head_html');?>
<?//=cheditor3('ca_tail_html');?>
<?=smarteditor_update("ca_head_html");?>
<?=smarteditor_update("ca_tail_html");?>
<?=get_editor_js("ca_head_html");?>
<?=get_editor_js("ca_tail_html");?>
if (f.w.value == "") {
if (f.codedup.value == '1') {
@ -335,18 +331,29 @@ function codedupcheck(id)
{
if (!id) {
alert('분류코드를 입력하십시오.');
f.ca_id.focus();
document.fcategoryform.ca_id.focus();
return;
}
window.open("./codedupcheck.php?ca_id="+id+'&frmname=fcategoryform', "hiddenframe");
$.post(
"./codedupcheck.php",
{ ca_id: id },
function(data)
{
if(data) {
alert("코드 "+id+" 는 '"+data+"' (으)로 이미 등록되어 있으므로\n\n사용하실 수 없습니다.");
return false;
} else {
alert("'"+id+"' 은(는) 등록된 코드가 없으므로 사용하실 수 있습니다.");
document.fcategoryform.codedup.value = "";
}
}
);
}
document.fcategoryform.ca_name.focus();
</script>
<iframe name='hiddenFrame' width=0 height=0></iframe>
<?
include_once(G4_ADMIN_PATH."/admin.tail.php");
?>

View File

@ -1,6 +1,5 @@
<?
$sub_menu = "400300";
//define('G4_EDITOR', 1);
include_once("./_common.php");
include_once(G4_CKEDITOR_PATH.'/ckeditor.lib.php');
@ -383,62 +382,19 @@ ul { margin: 0; padding: 0; list-style: none; }
<colgroup width=15%></colgroup>
<colgroup width=85% bgcolor=#FFFFFF></colgroup>
<tr><td colspan=4 height=2 bgcolor=0E87F9></td></tr>
<tr>
<td>이미지(대)</td>
<td colspan=3>
<input type=file class=ed name=it_img1 size=40>
<?
$img1 = G4_DATA_PATH."/item/{$it['it_img1']}";
if (file_exists($img1) && is_file($img1)) {
$size = getimagesize($img1);
echo "<img src='".G4_ADMIN_URL."/img/icon_viewer.gif' border=0 align=absmiddle onclick=\"imageview('img1', $size[0], $size[1]);\"><input type=checkbox name=it_img1_del value='1'>삭제";
echo "<div id='img1' style='left:0; top:0; z-index:+1; display:none; position:absolute;'><img src='$img1' border=1></div>";
}
?>
</td>
</tr>
<tr class=ht>
<td>이미지(중)</td>
<td colspan=3>
<input type=file class=ed name=it_mimg size=40>
<?
$mimg = "$g4[path]/data/item/{$it[it_id]}_m";
if (file_exists($mimg)) {
$size = getimagesize($mimg);
echo "<img src='$g4[admin_path]/img/icon_viewer.gif' border=0 align=absmiddle onclick=\"imageview('mimg', $size[0], $size[1]);\"><input type=checkbox name=it_mimg_del value='1'>삭제";
echo "<div id='mimg' style='left:0; top:0; z-index:+1; display:none; position:absolute;'><img src='$mimg' border=1></div>";
}
?>
&nbsp;<?=help("업로드 하지 않으면 기본 noimage 로 출력합니다.");?>
</td>
</tr>
<tr class=ht>
<td>이미지(소)</td>
<td colspan=3>
<input type=file class=ed name=it_simg size=40>
<?
$simg = "$g4[path]/data/item/{$it[it_id]}_s";
if (file_exists($simg)) {
$size = getimagesize($simg);
echo "<img src='$g4[admin_path]/img/icon_viewer.gif' border=0 align=absmiddle onclick=\"imageview('simg', $size[0], $size[1]);\"><input type=checkbox name=it_simg_del value='1'>삭제";
echo "<div id='simg' style='left:0; top:0; z-index:+1; display:none; position:absolute;'><img src='$simg' border=1></div>";
}
?>
&nbsp;<?=help("업로드 하지 않으면 기본 noimage 로 출력합니다.");?>
</td>
</tr>
<? for ($i=2; $i<=10; $i++) { // 이미지(대)는 10개 ?>
<? for ($i=1; $i<=10; $i++) { // 이미지(대)는 10개 ?>
<tr class=ht>
<td>이미지(대) <?=$i?></td>
<td colspan=3>
<input type=file class=ed name=it_img<?=$i?> size=40>
<?
$img = G4_DATA_PATH."/item/{$it['it_img$i']}";
$idx = 'it_img'.$i;
$img = G4_DATA_PATH."/item/$it_id/{$it[$idx]}";
$img_url = G4_DATA_URL."/item/$it_id/{$it[$idx]}";
if (file_exists($img) && is_file($img)) {
$size = getimagesize($img);
echo "<img src='".G4_ADMIN_URL."/img/icon_viewer.gif' border=0 align=absmiddle onclick=\"imageview('img$i', $size[0], $size[1]);\"><input type=checkbox name=it_img{$i}_del value='1'>삭제";
echo "<span id=img{$i} style='left:0; top:0; z-index:+1; display:none; position:absolute;'><img src='$img' border=1></div>";
echo "<span id=img{$i} style='left:0; top:0; z-index:+1; display:none; position:absolute;'><img src='$img_url' border=1></div>";
}
?>
</td>
@ -844,7 +800,7 @@ function codedupcheck(id)
$.post(
"./codedupcheck.php",
{ id: id },
{ it_id: id },
function(data)
{
if(data) {

View File

@ -44,17 +44,11 @@ function itemdelete($it_id)
// 상품 이미지 삭제
@unlink("$g4[path]/data/item/$it_id"."_s");
@unlink("$g4[path]/data/item/$it_id"."_m");
@unlink("$g4[path]/data/item/$it_id"."_l1");
@unlink("$g4[path]/data/item/$it_id"."_l2");
@unlink("$g4[path]/data/item/$it_id"."_l3");
@unlink("$g4[path]/data/item/$it_id"."_l4");
@unlink("$g4[path]/data/item/$it_id"."_l5");
// 상, 하단 이미지 삭제
@unlink("$g4[path]/data/item/$it_id"."_h");
@unlink("$g4[path]/data/item/$it_id"."_t");
$files = scan_dir(G4_DATA_PATH.'/item/'.$it_id);
for($i=0; $i<count($files); $i++) {
@unlink(G4_DATA_PATH.'/item/'.$it_id.'/'.$files[$i]);
}
@rmdir(G4_DATA_PATH.'/item/'.$it_id);
// 장바구니 삭제
$sql = " delete from $g4[yc4_cart_table] where it_id = '$it_id' ";
@ -120,6 +114,20 @@ function itemdelete($it_id)
sql_query($sql);
}
// 디렉토리내 파일 리스트 배열로 얻기
function scan_dir($path)
{
$dir = opendir($path);
while (false !== ($filename = readdir($dir))) {
if($filename == "." || $filename == "..")
continue;
$files[] = $filename;
}
return $files;
}
if($w == "" && !trim($it_id)) {
alert("상품 코드가 없으므로 상품을 추가하실 수 없습니다.");
}
@ -148,19 +156,47 @@ if($w == "u") {
$it_img_dir = G4_DATA_PATH.'/item/'.$it_id;
if ($it_himg_del) @unlink(G4_DATA_PATH."/item/{$it_id}_h");
if ($it_timg_del) @unlink(G4_DATA_PATH."/item/{$it_id}_t");
if ($it_img1_del) @unlink("$it_img_dir/$it_img1");
if ($it_img2_del) @unlink("$it_img_dir/$it_img2");
if ($it_img3_del) @unlink("$it_img_dir/$it_img3");
if ($it_img4_del) @unlink("$it_img_dir/$it_img4");
if ($it_img5_del) @unlink("$it_img_dir/$it_img5");
if ($it_img6_del) @unlink("$it_img_dir/$it_img6");
if ($it_img7_del) @unlink("$it_img_dir/$it_img7");
if ($it_img8_del) @unlink("$it_img_dir/$it_img8");
if ($it_img9_del) @unlink("$it_img_dir/$it_img9");
if ($it_img10_del) @unlink("$it_img_dir/$it_img10");
// 파일삭제
if ($it_img1_del) {
@unlink("$it_img_dir/$it_img1");
$it_img1 = "";
}
if ($it_img2_del) {
@unlink("$it_img_dir/$it_img2");
$it_img2 = "";
}
if ($it_img3_del) {
@unlink("$it_img_dir/$it_img3");
$it_img3 = "";
}
if ($it_img4_del) {
@unlink("$it_img_dir/$it_img4");
$it_img4 = "";
}
if ($it_img5_del) {
@unlink("$it_img_dir/$it_img5");
$it_img5 = "";
}
if ($it_img6_del) {
@unlink("$it_img_dir/$it_img6");
$it_img6 = "";
}
if ($it_img7_del) {
@unlink("$it_img_dir/$it_img7");
$it_img7 = "";
}
if ($it_img8_del) {
@unlink("$it_img_dir/$it_img8");
$it_img8 = "";
}
if ($it_img9_del) {
@unlink("$it_img_dir/$it_img9");
$it_img9 = "";
}
if ($it_img10_del) {
@unlink("$it_img_dir/$it_img10");
$it_img10 = "";
}
// 이미지업로드
if ($_FILES['it_img1']['name'])

View File

@ -1,6 +1,7 @@
<?
$sub_menu = "400300";
include_once("./_common.php");
include_once(G4_LIB_PATH.'/thumbnail.lib.php');
auth_check($auth[$sub_menu], "r");
@ -160,11 +161,23 @@ for ($i=0; $row=mysql_fetch_array($result); $i++)
$tmp_ca_list .= "<script language='javascript'>document.getElementById('ca_id_$i').value='$row[ca_id]';</script>";
$list = $i%2;
// 리스트 썸네일 이미지
$filepath = G4_DATA_PATH.'/item/'.$row['it_id'];
for($k=1; $k<=10; $k++) {
$idx = 'it_img'.$k;
if(file_exists($filepath.'/'.$row[$idx]) && is_file($filepath.'/'.$row[$idx])) {
$filename = $row[$idx];
break;
}
}
$it_img = it_img_thumb($filename, G4_DATA_PATH.'/item/'.$row['it_id'], 50, 50);
echo "
<input type='hidden' name='it_id[$i]' value='$row[it_id]'>
<tr class='list$list'>
<td>$row[it_id]</td>
<td style='padding-top:5px; padding-bottom:5px;'><a href='$href'>".get_it_image("{$row[it_id]}_s", 50, 50)."</a></td>
<td style='padding-top:5px; padding-bottom:5px;'><a href='$href'>".get_it_image("{$row['it_id']}/{$it_img}", 50, 50)."</a></td>
<td align=left>$tmp_ca_list<br><input type='text' name='it_name[$i]' value='".htmlspecialchars2(cut_str($row[it_name],250, ""))."' required size=40 class=ed></td>
<td colspan=3>
<table width=210 cellpadding=0 cellspacing=0>

View File

@ -180,7 +180,7 @@ if ($member['mb_id'] && ($is_admin == 'super' || $group['gr_admin'] == $member['
include_once('./board_head.php');
echo "<script src=\"".$g4['url']."/js/sideview.js\"></script>";
echo '<script src="'.G4_JS_URL.'/sideview.js"></script>';
// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if (isset($wr_id) && $wr_id) {

View File

@ -56,7 +56,11 @@ var g4_charset = "<?=$g4['charset']?>";
var g4_cookie_domain = "<?=$g4['cookie_domain']?>";
var g4_is_gecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var g4_is_ie = navigator.userAgent.toLowerCase().indexOf("msie") != -1;
<? if ($is_admin) { echo "var g4_admin = '{$g4['admin']}';"; } ?>
<?
if ($is_admin) {
echo PHP_EOL.'var g4_admin_url = "'.G4_ADMIN_URL.'";';
}
?>
</script>
<script src="<?=G4_JS_URL?>/jquery-1.8.3.min.js"></script>
<script src="<?=G4_JS_URL?>/common.js"></script>

View File

@ -311,79 +311,6 @@ function upload_file($srcfile, $destfile, $dir)
return true;
}
// 유일키를 생성
function get_unique_id($len=32)
{
global $g4;
$result = @mysql_query(" LOCK TABLES $g4[yc4_on_uid_table] WRITE, $g4[yc4_cart_table] READ, $g4[yc4_order_table] READ ");
if (!$result) {
$sql = " CREATE TABLE `$g4[yc4_on_uid_table]` (
`on_id` int(11) NOT NULL auto_increment,
`on_uid` varchar(32) NOT NULL default '',
`on_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
`session_id` varchar(32) NOT NULL default '',
PRIMARY KEY (`on_id`),
UNIQUE KEY `on_uid` (`on_uid`) ) ";
sql_query($sql, false);
}
// 이틀전 자료는 모두 삭제함
$ytime = date("Y-m-d", $g4['server_time'] - 86400 * 1);
$sql = " delete from $g4[yc4_on_uid_table] where on_datetime < '$ytime' ";
sql_query($sql);
$unique = false;
do {
sql_query(" INSERT INTO $g4[yc4_on_uid_table] set on_uid = NOW(), on_datetime = NOW(), session_id = '".session_id()."' ", false);
$id = @mysql_insert_id();
$uid = md5($id);
sql_query(" UPDATE $g4[yc4_on_uid_table] set on_uid = '$uid' where on_id = '$id' ");
// 장바구니에도 겹치는게 있을 수 있으므로 ...
$sql = "select COUNT(*) as cnt from $g4[yc4_cart_table] where on_uid = '$uid' ";
$row = sql_fetch($sql);
if (!$row[cnt]) {
// 주문서에도 겹치는게 있을 수 있으므로 ...
$sql = "select COUNT(*) as cnt from $g4[yc4_order_table] where on_uid = '$uid' ";
$row = sql_fetch($sql);
if (!$row[cnt])
$unique = true;
}
} while (!$unique); // $unique 가 거짓인동안 실행
@mysql_query(" UNLOCK TABLES ");
return $uid;
}
// 주문서 번호를 얻는다.
function get_new_od_id()
{
global $g4;
// 주문서 테이블 Lock 걸고
sql_query(" LOCK TABLES $g4[yc4_order_table] READ, $g4[yc4_order_table] WRITE ", FALSE);
// 주문서 번호를 만든다.
$date = date("ymd", time()); // 2002년 3월 7일 일경우 020307
$sql = " select max(od_id) as max_od_id from $g4[yc4_order_table] where SUBSTRING(od_id, 1, 6) = '$date' ";
$row = sql_fetch($sql);
$od_id = $row[max_od_id];
if ($od_id == 0)
$od_id = 1;
else
{
$od_id = (int)substr($od_id, -4);
$od_id++;
}
$od_id = $date . substr("0000" . $od_id, -4);
// 주문서 테이블 Lock 풀고
sql_query(" UNLOCK TABLES ", FALSE);
return $od_id;
}
function message($subject, $content, $align="left", $width="450")
{
$str = "
@ -810,16 +737,16 @@ function it_name_icon($it, $it_name="", $url=1)
if ($url)
$str = "<a href='$g4[shop_path]/item.php?it_id=$it[it_id]'>$str</a>";
if ($it[it_type1]) $str .= " <img src='$g4[shop_img_path]/icon_type1.gif' border='0' align='absmiddle' />";
if ($it[it_type2]) $str .= " <img src='$g4[shop_img_path]/icon_type2.gif' border='0' align='absmiddle' />";
if ($it[it_type3]) $str .= " <img src='$g4[shop_img_path]/icon_type3.gif' border='0' align='absmiddle' />";
if ($it[it_type4]) $str .= " <img src='$g4[shop_img_path]/icon_type4.gif' border='0' align='absmiddle' />";
if ($it[it_type5]) $str .= " <img src='$g4[shop_img_path]/icon_type5.gif' border='0' align='absmiddle' />";
if ($it[it_type1]) $str .= " <img src='".G4_SHOP_IMG_URL."/icon_type1.gif' border='0' align='absmiddle' />";
if ($it[it_type2]) $str .= " <img src='".G4_SHOP_IMG_URL."/icon_type2.gif' border='0' align='absmiddle' />";
if ($it[it_type3]) $str .= " <img src='".G4_SHOP_IMG_URL."/icon_type3.gif' border='0' align='absmiddle' />";
if ($it[it_type4]) $str .= " <img src='".G4_SHOP_IMG_URL."/icon_type4.gif' border='0' align='absmiddle' />";
if ($it[it_type5]) $str .= " <img src='".G4_SHOP_IMG_URL."/icon_type5.gif' border='0' align='absmiddle' />";
// 품절
$stock = get_it_stock_qty($it[it_id]);
if ($stock <= 0)
$str .= " <img src='$g4[shop_img_path]/icon_pumjul.gif' border='0' align='absmiddle' /> ";
$str .= " <img src='".G4_SHOP_IMG_URL."/icon_pumjul.gif' border='0' align='absmiddle' /> ";
return $str;
}

View File

@ -26,7 +26,7 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
$source_time = @filemtime($source_file);
if (file_exists($thumb_file)) {
if ($is_create == false && $source_time < $thumb_time) {
return str_replace($target_path.'/', '', $thumb_file);
return basename($thumb_file);
}
}
@ -42,7 +42,7 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
imagepng($target, $thumb_file, 0);
@chmod($thumb_file, 0606); // 추후 삭제를 위하여 파일모드 변경
}
return str_replace($target_path.'/', '', $thumb_file);
return basename($thumb_file);
}
$is_imagecopyresampled = false;
@ -65,7 +65,7 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
$dst = imagecreatetruecolor($thumb_width, $thumb_height);
$bgcolor = imagecolorallocate($dst, 250, 250, 250); // 배경색 여기야!!!
imagefill($dst, 0, 0, $bgcolor);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $tmp_height, $size[0], $size[1]);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $thumb_height, $size[0], $size[1]);
} else {
$dst = imagecreatetruecolor($thumb_width, $thumb_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $thumb_height, $size[0], $size[1]);

View File

@ -1,5 +1,6 @@
<?
include_once("./_common.php");
include_once(G4_LIB_PATH.'/thumbnail.lib.php');
$sql = " select *
from $g4[yc4_category_table]

View File

@ -14,11 +14,22 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
echo "<tr>\n";
}
// 리스트 썸네일 이미지
$filepath = G4_DATA_PATH.'/item/'.$row['it_id'];
for($k=1; $k<=10; $k++) {
$idx = 'it_img'.$k;
if(file_exists($filepath.'/'.$row[$idx]) && is_file($filepath.'/'.$row[$idx])) {
$filename = $row[$idx];
break;
}
}
$it_img = it_img_thumb($filename, G4_DATA_PATH.'/item/'.$row['it_id'], $img_width, $img_height);
echo "
<td width='{$td_width}%' align=center valign=top>
<br>
<table width=98% cellpadding=2 cellspacing=0>
<tr><td align=center>".get_it_image($row[it_id]."_s", $img_width , $img_height, $row[it_id])."</td></tr>
<tr><td align=center>".get_it_image($row['it_id'].'/'.$it_img, $img_width , $img_height, $row[it_id])."</td></tr>
<tr><td align=center>".it_name_icon($row)."</td></tr>";
if ($row[it_cust_amount] && !$row[it_gallery])