Merge branch 'master' of github.com:gnuboard/yc5
This commit is contained in:
@ -1282,7 +1282,10 @@ if($config['cf_cert_use']) {
|
||||
|
||||
// kcp일 때
|
||||
if($config['cf_cert_hp'] == 'kcp') {
|
||||
$exe = G5_KCPCERT_PATH.'/bin/ct_cli';
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli';
|
||||
else
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli_x64';
|
||||
|
||||
echo module_exec_check($exe, 'ct_cli');
|
||||
}
|
||||
|
||||
@ -19,6 +19,20 @@ if(!sql_query(" select co_tag_filter_use from {$g5['content_table']} limit 1 ",
|
||||
sql_query(" update {$g5['content_table']} set co_tag_filter_use = '1' ");
|
||||
}
|
||||
|
||||
// 모바일 내용 추가
|
||||
if(!sql_query(" select co_mobile_content from {$g5['content_table']} limit 1", false)) {
|
||||
sql_query(" ALTER TABLE `{$g5['content_table']}`
|
||||
ADD `co_mobile_content` longtext NOT NULL AFTER `co_content` ", true);
|
||||
}
|
||||
|
||||
// 스킨 설정 추가
|
||||
if(!sql_query(" select co_skin from {$g5['content_table']} limit 1 ", false)) {
|
||||
sql_query(" ALTER TABLE `{$g5['content_table']}`
|
||||
ADD `co_skin` varchar(255) NOT NULL DEFAULT '' AFTER `co_mobile_content`,
|
||||
ADD `co_mobile_skin` varchar(255) NOT NULL DEFAULT '' AFTER `co_skin` ", true);
|
||||
sql_query(" update {$g5['content_table']} set co_skin = 'basic', co_mobile_skin = 'basic' ");
|
||||
}
|
||||
|
||||
$html_title = "내용";
|
||||
$g5['title'] = $html_title.' 관리';
|
||||
|
||||
@ -36,6 +50,8 @@ else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$co['co_html'] = 2;
|
||||
$co['co_skin'] = 'basic';
|
||||
$co['co_mobile_skin'] = 'basic';
|
||||
}
|
||||
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
@ -69,6 +85,22 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<th scope="row">내용</th>
|
||||
<td><?php echo editor_html('co_content', get_text($co['co_content'], 0)); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">모바일 내용</th>
|
||||
<td><?php echo editor_html('co_mobile_content', get_text($co['co_mobile_content'], 0)); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_skin">스킨 디렉토리<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<?php echo get_skin_select('content', 'co_skin', 'co_skin', $co['co_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_mobile_skin">모바일스킨 디렉토리<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<?php echo get_mobile_skin_select('content', 'co_mobile_skin', 'co_mobile_skin', $co['co_mobile_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_tag_filter_use">태그 필터링 사용</label></th>
|
||||
<td>
|
||||
@ -160,6 +192,7 @@ function frmcontentform_check(f)
|
||||
|
||||
<?php echo get_editor_js('co_content'); ?>
|
||||
<?php echo chk_editor_js('co_content'); ?>
|
||||
<?php echo get_editor_js('co_mobile_content'); ?>
|
||||
|
||||
check_field(f.co_id, "ID를 입력하세요.");
|
||||
check_field(f.co_subject, "제목을 입력하세요.");
|
||||
|
||||
@ -21,7 +21,10 @@ $sql_common = " co_include_head = '$co_include_head',
|
||||
co_html = '$co_html',
|
||||
co_tag_filter_use = '$co_tag_filter_use',
|
||||
co_subject = '$co_subject',
|
||||
co_content = '$co_content' ";
|
||||
co_content = '$co_content',
|
||||
co_mobile_content = '$co_mobile_content',
|
||||
co_skin = '$co_skin',
|
||||
co_mobile_skin = '$co_mobile_skin' ";
|
||||
|
||||
if ($w == "")
|
||||
{
|
||||
|
||||
@ -16,7 +16,7 @@ for ($i=0; $i<count($chk); $i++)
|
||||
|
||||
$mb = get_member($_POST['mb_id'][$k]);
|
||||
|
||||
if (!$mb[mb_id]) {
|
||||
if (!$mb['mb_id']) {
|
||||
$msg .= "{$mb['mb_id']} : 회원자료가 존재하지 않습니다.\\n";
|
||||
} else if ($member['mb_id'] == $mb['mb_id']) {
|
||||
$msg .= "{$mb['mb_id']} : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n";
|
||||
|
||||
@ -462,7 +462,7 @@ if(!sql_query(" select mb_id from {$g5['g5_shop_order_delete_table']} limit 1 ",
|
||||
<?php } ?>
|
||||
<input type="submit" value="선택수정" class="btn_submit" onclick="document.pressed=this.value">
|
||||
<?php } ?>
|
||||
<?php if ($od_status == '주문' || $od_status == '전체취소') { ?> <span>주문상태에서만 삭제가 가능합니다.</span> <input type="submit" value="선택삭제" class="btn_submit" onclick="document.pressed=this.value"><?php } ?>
|
||||
<?php if ($od_status == '주문') { ?> <span>주문상태에서만 삭제가 가능합니다.</span> <input type="submit" value="선택삭제" class="btn_submit" onclick="document.pressed=this.value"><?php } ?>
|
||||
</div>
|
||||
|
||||
<div class="local_desc02 local_desc">
|
||||
|
||||
@ -236,7 +236,7 @@ if ($member['mb_level'] >= $board['bo_list_level'] && $board['bo_use_list_view']
|
||||
|
||||
include_once('./board_tail.php');
|
||||
|
||||
echo "\n<!-- 사용스킨 : ".(G5_IS_MOBEILE ? $board['bo_mobile_skin'] : $board['bo_skin'])." -->\n";
|
||||
echo "\n<!-- 사용스킨 : ".(G5_IS_MOBILE ? $board['bo_mobile_skin'] : $board['bo_skin'])." -->\n";
|
||||
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
?>
|
||||
|
||||
@ -30,7 +30,6 @@ $str = conv_content($co['co_content'], $co['co_html'], $co['co_tag_filter_use'])
|
||||
unset($src);
|
||||
unset($dst);
|
||||
$src[] = "/{{쇼핑몰명}}|{{홈페이지제목}}/";
|
||||
//$dst[] = $default[de_subject];
|
||||
$dst[] = $config['cf_title'];
|
||||
$src[] = "/{{회사명}}|{{상호}}/";
|
||||
$dst[] = $default['de_admin_company_name'];
|
||||
@ -59,39 +58,33 @@ $dst[] = $default['de_admin_info_email'];
|
||||
|
||||
$str = preg_replace($src, $dst, $str);
|
||||
|
||||
if ($is_admin)
|
||||
echo '<div class="ctt_admin"><a href="'.G5_ADMIN_URL.'/contentform.php?w=u&co_id='.$co_id.'" class="btn_admin">내용 수정</a></div>';
|
||||
?>
|
||||
// 스킨경로
|
||||
if(trim($co['co_skin']) == '')
|
||||
$co['co_skin'] = 'basic';
|
||||
|
||||
<!-- 등록내용 시작 { -->
|
||||
<?php
|
||||
$himg = G5_DATA_PATH.'/content/'.$co_id.'_h';
|
||||
if (file_exists($himg)) // 상단 이미지
|
||||
echo '<div id="ctt_himg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_h" alt=""></div>';
|
||||
?>
|
||||
|
||||
<article id="ctt" class="ctt_<?php echo $co_id; ?>">
|
||||
<header>
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
</header>
|
||||
|
||||
<div id="ctt_con">
|
||||
<?php echo $str; ?>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
<?php
|
||||
$timg = G5_DATA_PATH.'/content/'.$co_id.'_t';
|
||||
if (file_exists($timg)) // 하단 이미지
|
||||
echo '<div id="ctt_timg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_t" alt=""></div>';
|
||||
$content_skin_path = G5_SKIN_PATH.'/content/'.$co['co_skin'];
|
||||
$content_skin_url = G5_SKIN_URL.'/content/'.$co['co_skin'];
|
||||
$skin_file = $content_skin_path.'/content.skin.php';
|
||||
|
||||
if ($is_admin)
|
||||
echo '<div class="ctt_admin"><a href="'.G5_ADMIN_URL.'/contentform.php?w=u&co_id='.$co_id.'" class="btn_admin">내용 수정</a></div>';
|
||||
?>
|
||||
<!-- } 등록내용 끝 -->
|
||||
|
||||
<?php
|
||||
if(is_file($skin_file)) {
|
||||
$himg = G5_DATA_PATH.'/content/'.$co_id.'_h';
|
||||
if (file_exists($himg)) // 상단 이미지
|
||||
echo '<div id="ctt_himg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_h" alt=""></div>';
|
||||
|
||||
include($skin_file);
|
||||
|
||||
$timg = G5_DATA_PATH.'/content/'.$co_id.'_t';
|
||||
if (file_exists($timg)) // 하단 이미지
|
||||
echo '<div id="ctt_timg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_t" alt=""></div>';
|
||||
} else {
|
||||
echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>';
|
||||
}
|
||||
|
||||
if ($co['co_include_tail'])
|
||||
@include_once($co['co_include_tail']);
|
||||
else
|
||||
|
||||
@ -50,6 +50,13 @@ if($config['cf_leave_day'] > 0) {
|
||||
}
|
||||
}
|
||||
|
||||
// 음성 캡챠 파일 삭제
|
||||
foreach (glob(G5_PATH.'/data/cache/kcaptcha-*.mp3') as $file) {
|
||||
if (filemtime($file) + 86400 < G5_SERVER_TIME) {
|
||||
@unlink($file);
|
||||
}
|
||||
}
|
||||
|
||||
// 실행일 기록
|
||||
if(isset($config['cf_optimize_date'])) {
|
||||
sql_query(" update {$g5['config_table']} set cf_optimize_date = '".G5_TIME_YMD."' ");
|
||||
|
||||
@ -252,13 +252,6 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none}
|
||||
.new_win .win_btn a {display:inline-block;padding:0 10px;height:30px;background:#4b545e;color:#fff;vertical-align:middle;line-height:2.4em}
|
||||
.new_win .win_btn a:focus, .new_win .win_btn a:hover {text-decoration:none}
|
||||
|
||||
/* 내용관리 */
|
||||
#ctt {margin:10px 0;padding:10px;border:1px solid #e9e9e9}
|
||||
.ctt_admin {text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0}
|
||||
.ctt_img {text-align:center}
|
||||
|
||||
/* 검색결과 색상 */
|
||||
.sch_word {color:#ff3061}
|
||||
|
||||
|
||||
@ -225,13 +225,6 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none}
|
||||
.new_win .win_btn button {display:inline-block;padding:0 10px;height:2.5em;border:0;background:#666;color:#fff;text-decoration:none;line-height:2.5em}
|
||||
.new_win .win_btn input {padding:0 10px;height:2.5em;line-height:2.5em}
|
||||
|
||||
/* 내용관리 */
|
||||
#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.ctt_admin {margin:0 5px;text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0}
|
||||
.ctt_img {text-align:center}
|
||||
|
||||
/* 검색결과 색상 */
|
||||
.sch_word {color:#ff3061}
|
||||
|
||||
|
||||
@ -131,6 +131,10 @@ if($default['de_card_test']) {
|
||||
define('G5_CASH_RECEIPT_URL', 'https://admin.kcp.co.kr/Modules/Service/Cash/Cash_Bill_Common_View.jsp?term_id=PGNW');
|
||||
}
|
||||
|
||||
// 주문폼의 상품이 재고 차감에 포함되는 기준 시간설정
|
||||
// 0 이면 재고 차감에 계속 포함됨
|
||||
define('G5_CART_STOCK_LIMIT', 3);
|
||||
|
||||
// 아이코드 코인 최소금액 설정
|
||||
// 코인 잔액이 설정 금액보다 작을 때는 주문시 SMS 발송 안함
|
||||
define('G5_ICODE_COIN', 100);
|
||||
|
||||
@ -781,6 +781,9 @@ CREATE TABLE IF NOT EXISTS `g5_content` (
|
||||
`co_html` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`co_subject` varchar(255) NOT NULL DEFAULT '',
|
||||
`co_content` longtext NOT NULL,
|
||||
`co_mobile_content` longtext NOT NULL,
|
||||
`co_skin` varchar(255) NOT NULL DEFAULT '',
|
||||
`co_mobile_skin` varchar(255) NOT NULL DEFAULT '',
|
||||
`co_tag_filter_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`co_hit` int(11) NOT NULL DEFAULT '0',
|
||||
`co_include_head` varchar(255) NOT NULL,
|
||||
|
||||
@ -56,6 +56,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_cart` (
|
||||
`ct_send_cost` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`ct_direct` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`ct_select` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`ct_select_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY (`ct_id`),
|
||||
KEY `od_id` (`od_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
@ -201,9 +201,9 @@ if($g5_install || !$result) {
|
||||
@mysql_query($sql);
|
||||
|
||||
// 내용관리 생성
|
||||
@mysql_query(" insert into `{$table_prefix}content` set co_id = 'company', co_html = '1', co_subject = '회사소개', co_content= '<p align=center><b>회사소개에 대한 내용을 입력하십시오.</b></p>' ") or die(mysql_error() . "<p>" . $sql);
|
||||
@mysql_query(" insert into `{$table_prefix}content` set co_id = 'privacy', co_html = '1', co_subject = '개인정보 처리방침', co_content= '<p align=center><b>개인정보 처리방침에 대한 내용을 입력하십시오.</b></p>' ") or die(mysql_error() . "<p>" . $sql);
|
||||
@mysql_query(" insert into `{$table_prefix}content` set co_id = 'provision', co_html = '1', co_subject = '서비스 이용약관', co_content= '<p align=center><b>서비스 이용약관에 대한 내용을 입력하십시오.</b></p>' ") or die(mysql_error() . "<p>" . $sql);
|
||||
@mysql_query(" insert into `{$table_prefix}content` set co_id = 'company', co_html = '1', co_subject = '회사소개', co_content= '<p align=center><b>회사소개에 대한 내용을 입력하십시오.</b></p>', co_skin = 'basic', co_mobile_skin = 'basic' ") or die(mysql_error() . "<p>" . $sql);
|
||||
@mysql_query(" insert into `{$table_prefix}content` set co_id = 'privacy', co_html = '1', co_subject = '개인정보 처리방침', co_content= '<p align=center><b>개인정보 처리방침에 대한 내용을 입력하십시오.</b></p>', co_skin = 'basic', co_mobile_skin = 'basic' ") or die(mysql_error() . "<p>" . $sql);
|
||||
@mysql_query(" insert into `{$table_prefix}content` set co_id = 'provision', co_html = '1', co_subject = '서비스 이용약관', co_content= '<p align=center><b>서비스 이용약관에 대한 내용을 입력하십시오.</b></p>', co_skin = 'basic', co_mobile_skin = 'basic' ") or die(mysql_error() . "<p>" . $sql);
|
||||
|
||||
// FAQ Master
|
||||
@mysql_query(" insert into `{$table_prefix}faq_master` set fm_id = '1', fm_subject = '자주하시는 질문' ") or die(mysql_error() . "<p>" . $sql);
|
||||
|
||||
13
js/shop.order.js
Normal file
13
js/shop.order.js
Normal file
@ -0,0 +1,13 @@
|
||||
var order_stock_check = function() {
|
||||
var result = "";
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_url+"/shop/ajax.orderstock.php",
|
||||
cache: false,
|
||||
async: false,
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
@ -141,7 +141,7 @@ function get_cookie($cookie_name)
|
||||
{
|
||||
$cookie = md5($cookie_name);
|
||||
if (array_key_exists($cookie, $_COOKIE))
|
||||
return base64_decode($_COOKIE[md5($cookie_name)]);
|
||||
return base64_decode($_COOKIE[$cookie]);
|
||||
else
|
||||
return "";
|
||||
}
|
||||
@ -214,11 +214,12 @@ function url_auto_link($str)
|
||||
// 140326 유창화님 제안코드로 수정
|
||||
// http://sir.co.kr/bbs/board.php?bo_table=pg_lecture&wr_id=461
|
||||
// http://sir.co.kr/bbs/board.php?bo_table=pg_lecture&wr_id=463
|
||||
$str = str_replace(array("<", ">", "&", """, " "), array("\t_lt_\t", "\t_gt_\t", "&", "\"", "\t_nbsp_\t"), $str);
|
||||
$str = preg_replace("`(?:(?:(?:href|src)\s*=\s*(?:\"|'|)){0})((http|https|ftp|telnet|news|mms)://[^\"'\s()]+)`", "<A HREF=\"\\1\" TARGET='{$config['cf_link_target']}'>\\1</A>", $str);
|
||||
$str = preg_replace("/(^|[\"'\s(])(www\.[^\"'\s()]+)/i", "\\1<A HREF=\"http://\\2\" TARGET='{$config['cf_link_target']}'>\\2</A>", $str);
|
||||
$str = preg_replace("/[0-9a-z_-]+@[a-z0-9._-]{4,}/i", "<a href='mailto:\\0'>\\0</a>", $str);
|
||||
$str = str_replace(array("\t_nbsp_\t", "\t_lt_\t", "\t_gt_\t"), array(" ", "<", ">"), $str);
|
||||
$str = str_replace(array("<", ">", "&", """, " ", "'"), array("\t_lt_\t", "\t_gt_\t", "&", "\"", "\t_nbsp_\t", "'"), $str);
|
||||
//$str = preg_replace("`(?:(?:(?:href|src)\s*=\s*(?:\"|'|)){0})((http|https|ftp|telnet|news|mms)://[^\"'\s()]+)`", "<A HREF=\"\\1\" TARGET='{$config['cf_link_target']}'>\\1</A>", $str);
|
||||
$str = preg_replace("/([^(href=\"?'?)|(src=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1<A HREF=\"\\2\" TARGET=\"{$config['cf_link_target']}\">\\2</A>", $str);
|
||||
$str = preg_replace("/(^|[\"'\s(])(www\.[^\"'\s()]+)/i", "\\1<A HREF=\"http://\\2\" TARGET=\"{$config['cf_link_target']}\">\\2</A>", $str);
|
||||
$str = preg_replace("/[0-9a-z_-]+@[a-z0-9._-]{4,}/i", "<a href=\"mailto:\\0\">\\0</a>", $str);
|
||||
$str = str_replace(array("\t_nbsp_\t", "\t_lt_\t", "\t_gt_\t", "'"), array(" ", "<", ">", "'"), $str);
|
||||
|
||||
/*
|
||||
// 속도 향상 031011
|
||||
@ -483,7 +484,7 @@ function search_font($stx, $str)
|
||||
// 제목을 변환
|
||||
function conv_subject($subject, $len, $suffix='')
|
||||
{
|
||||
return cut_str(get_text($subject), $len, $suffix);
|
||||
return get_text(cut_str($subject, $len, $suffix));
|
||||
}
|
||||
|
||||
// 내용을 변환
|
||||
@ -528,7 +529,6 @@ function conv_content($content, $html, $filter=true)
|
||||
$content = str_replace("\n ", "\n ", $content);
|
||||
|
||||
$content = get_text($content, 1);
|
||||
|
||||
$content = url_auto_link($content);
|
||||
}
|
||||
|
||||
|
||||
@ -2138,12 +2138,38 @@ function cart_item_clean()
|
||||
{
|
||||
global $g5, $default;
|
||||
|
||||
// 장바구니 보관일
|
||||
$keep_term = $default['de_cart_keep_term'];
|
||||
if(!$keep_term)
|
||||
$keep_term = 15; // 기본값 15일
|
||||
$beforetime = G5_SERVER_TIME - (86400 * $keep_term);
|
||||
|
||||
sql_query(" delete from {$g5['g5_shop_cart_table']} where ct_status = '쇼핑' and UNIX_TIMESTAMP(ct_time) < '$beforetime' ");
|
||||
// ct_select_time이 기준시간 이상 경과된 경우 변경
|
||||
if(defined('G5_CART_STOCK_LIMIT'))
|
||||
$cart_stock_limit = G5_CART_STOCK_LIMIT;
|
||||
else
|
||||
$cart_stock_limit = 3;
|
||||
|
||||
$stocktime = 0;
|
||||
if($cart_stock_limit > 0) {
|
||||
if($cart_stock_limit > $keep_term * 24)
|
||||
$cart_stock_limit = $keep_term * 24;
|
||||
|
||||
$stocktime = G5_SERVER_TIME - (3600 * $cart_stock_limit);
|
||||
$sql = " update {$g5['g5_shop_cart_table']}
|
||||
set ct_select = '0'
|
||||
where ct_select = '1'
|
||||
and ct_status = '쇼핑'
|
||||
and UNIX_TIMESTAMP(ct_select_time) < '$stocktime' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
// 설정 시간이상 경과된 상품 삭제
|
||||
$statustime = G5_SERVER_TIME - (86400 * $keep_term);
|
||||
|
||||
$sql = " delete from {$g5['g5_shop_cart_table']}
|
||||
where ct_status = '쇼핑'
|
||||
and UNIX_TIMESTAMP(ct_time) < '$statustime' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
||||
@ -10,13 +10,13 @@ if (!$co['co_id'])
|
||||
$g5['title'] = $co['co_subject'];
|
||||
include_once('./_head.php');
|
||||
|
||||
$str = conv_content($co['co_content'], $co['co_html'], $co['co_tag_filter_use']);
|
||||
$co_content = $co['co_mobile_content'] ? $co['co_mobile_content'] : $co['co_content'];
|
||||
$str = conv_content($co_content, $co['co_html'], $co['co_tag_filter_use']);
|
||||
|
||||
// $src 를 $dst 로 변환
|
||||
unset($src);
|
||||
unset($dst);
|
||||
$src[] = "/{{쇼핑몰명}}|{{홈페이지제목}}/";
|
||||
//$dst[] = $default[de_subject];
|
||||
$dst[] = $config['cf_title'];
|
||||
$src[] = "/{{회사명}}|{{상호}}/";
|
||||
$dst[] = $default['de_admin_company_name'];
|
||||
@ -44,21 +44,20 @@ $src[] = "/{{정보관리책임자e-mail}}|{{정보책임자e-mail}}/i";
|
||||
$dst[] = $default['de_admin_info_email'];
|
||||
|
||||
$str = preg_replace($src, $dst, $str);
|
||||
?>
|
||||
|
||||
<!-- 등록내용 시작 { -->
|
||||
<article id="ctt" class="ctt_<?php echo $co_id; ?>">
|
||||
<header>
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
</header>
|
||||
// 스킨경로
|
||||
if(trim($co['co_mobile_skin']) == '')
|
||||
$co['co_mobile_skin'] = 'basic';
|
||||
|
||||
<div id="ctt_con">
|
||||
<?php echo $str; ?>
|
||||
</div>
|
||||
$content_skin_path = G5_MOBILE_PATH .'/'.G5_SKIN_DIR.'/content/'.$co['co_mobile_skin'];
|
||||
$content_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/content/'.$co['co_mobile_skin'];
|
||||
$skin_file = $content_skin_path.'/content.skin.php';
|
||||
|
||||
</article>
|
||||
<!-- } 등록내용 끝 -->
|
||||
if(is_file($skin_file)) {
|
||||
include($skin_file);
|
||||
} else {
|
||||
echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>';
|
||||
}
|
||||
|
||||
<?php
|
||||
include_once('./_tail.php');
|
||||
?>
|
||||
|
||||
@ -1130,6 +1130,13 @@ var temp_point = 0;
|
||||
|
||||
function pay_approval()
|
||||
{
|
||||
// 재고체크
|
||||
var stock_msg = order_stock_check();
|
||||
if(stock_msg != "") {
|
||||
alert(stock_msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
var f = document.sm_form;
|
||||
var pf = document.forderform;
|
||||
|
||||
|
||||
@ -413,8 +413,26 @@ if($default['de_tax_flag_use']) {
|
||||
$od_free_mny = (int)$_POST['comm_free_mny'];
|
||||
}
|
||||
|
||||
$od_pg = $default['de_pg_service'];
|
||||
$od_email = get_email_address($od_email);
|
||||
$od_pg = $default['de_pg_service'];
|
||||
$od_email = get_email_address($od_email);
|
||||
$od_name = clean_xss_tags($od_name);
|
||||
$od_tel = clean_xss_tags($od_tel);
|
||||
$od_hp = clean_xss_tags($od_hp);
|
||||
$od_zip1 = preg_replace('/[^0-9]/', '', $od_zip1);
|
||||
$od_zip2 = preg_replace('/[^0-9]/', '', $od_zip2);
|
||||
$od_addr1 = clean_xss_tags($od_addr1);
|
||||
$od_addr2 = clean_xss_tags($od_addr2);
|
||||
$od_addr3 = clean_xss_tags($od_addr3);
|
||||
$od_addr_jibeon = preg_match("/^(N|R)$/", $od_addr_jibeon) ? $od_addr_jibeon : '';
|
||||
$od_b_name = clean_xss_tags($od_b_name);
|
||||
$od_b_tel = clean_xss_tags($od_b_tel);
|
||||
$od_b_hp = clean_xss_tags($od_b_hp);
|
||||
$od_b_addr1 = clean_xss_tags($od_b_addr1);
|
||||
$od_b_addr2 = clean_xss_tags($od_b_addr2);
|
||||
$od_b_addr3 = clean_xss_tags($od_b_addr3);
|
||||
$od_b_addr_jibeon = preg_match("/^(N|R)$/", $od_b_addr_jibeon) ? $od_b_addr_jibeon : '';
|
||||
$od_memo = clean_xss_tags($od_memo);
|
||||
$od_deposit_name = clean_xss_tags($od_deposit_name);
|
||||
|
||||
// 주문서에 입력
|
||||
$sql = " insert {$g5['g5_shop_order_table']}
|
||||
|
||||
18
mobile/skin/content/basic/content.skin.php
Normal file
18
mobile/skin/content/basic/content.skin.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$content_skin_url.'/style.css">', 0);
|
||||
|
||||
?>
|
||||
|
||||
<article id="ctt" class="ctt_<?php echo $co_id; ?>">
|
||||
<header>
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
</header>
|
||||
|
||||
<div id="ctt_con">
|
||||
<?php echo $str; ?>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
8
mobile/skin/content/basic/style.css
Normal file
8
mobile/skin/content/basic/style.css
Normal file
@ -0,0 +1,8 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 내용관리 */
|
||||
#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.ctt_admin {margin:0 5px;text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0}
|
||||
.ctt_img {text-align:center}
|
||||
@ -6,7 +6,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">',
|
||||
?>
|
||||
|
||||
<div class="lt">
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>" class="lt_title" onclick="return false"><strong><?php echo $bo_subject ?></strong></a>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>" class="lt_title"><strong><?php echo $bo_subject ?></strong></a>
|
||||
<ul>
|
||||
<?php for ($i=0; $i<count($list); $i++) { ?>
|
||||
<li>
|
||||
|
||||
@ -184,13 +184,13 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0
|
||||
<?php if($it['it_buy_min_qty']) { ?>
|
||||
<tr>
|
||||
<th>최소구매수량</th>
|
||||
<td><?php echo number_format($it['it_buy_min_qty']); ?> 개<td>
|
||||
<td><?php echo number_format($it['it_buy_min_qty']); ?> 개</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php if($it['it_buy_max_qty']) { ?>
|
||||
<tr>
|
||||
<th>최대구매수량</th>
|
||||
<td><?php echo number_format($it['it_buy_max_qty']); ?> 개<td>
|
||||
<td><?php echo number_format($it['it_buy_max_qty']); ?> 개</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
@ -5,24 +5,18 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_MSHOP_SKIN_URL.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery.fancylist.js"></script>
|
||||
|
||||
<!-- 개인결제진열 시작 { -->
|
||||
<?php
|
||||
for ($i=1; $row=sql_fetch_array($result); $i++) {
|
||||
if ($list_mod >= 2) { // 1줄 이미지 : 2개 이상
|
||||
if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막
|
||||
else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째
|
||||
else $sct_last = '';
|
||||
} else { // 1줄 이미지 : 1개
|
||||
$sct_last = 'sct_clear';
|
||||
}
|
||||
|
||||
if ($i == 1) {
|
||||
echo "<ul class=\"sct sct_pv\">\n";
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if ($i == 0) {
|
||||
echo "<ul id=\"sct_wrap\" class=\"sct sct_pv\">\n";
|
||||
}
|
||||
|
||||
$href = G5_SHOP_URL.'/personalpayform.php?pp_id='.$row['pp_id'].'&page='.$page;
|
||||
?>
|
||||
<li class="sct_li<?php echo $sct_last; ?>" style="width:<?php echo $img_width; ?>px">
|
||||
<li class="sct_li" style="width:<?php echo $img_width; ?>px">
|
||||
<div class="sct_img"><a href="<?php echo $href; ?>" class="sct_a"><img src="<?php echo G5_MSHOP_SKIN_URL; ?>/img/personal.jpg" alt=""></a></div>
|
||||
<div class="sct_txt"><a href="<?php echo $href; ?>" class="sct_a"><?php echo get_text($row['pp_name']).'님 개인결제'; ?></a></div>
|
||||
<div class="sct_cost"><?php echo display_price($row['pp_price']); ?></div>
|
||||
@ -30,8 +24,14 @@ for ($i=1; $row=sql_fetch_array($result); $i++) {
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($i > 1) echo "</ul>\n";
|
||||
if ($i > 0) echo "</ul>\n";
|
||||
|
||||
if($i == 1) echo "<p class=\"sct_noitem\">등록된 개인결제가 없습니다.</p>\n";
|
||||
if($i == 0) echo "<p class=\"sct_noitem\">등록된 개인결제가 없습니다.</p>\n";
|
||||
?>
|
||||
<!-- } 개인결제진열 끝 -->
|
||||
<!-- } 개인결제진열 끝 -->
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$("#sct_wrap").fancyList("li.sct_li", "sct_clear");
|
||||
});
|
||||
</script>
|
||||
@ -52,6 +52,15 @@ if(G5_DEVICE_BUTTON_DISPLAY && G5_IS_MOBILE) {
|
||||
if ($config['cf_analytics']) {
|
||||
echo $config['cf_analytics'];
|
||||
}
|
||||
?>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once(G5_PATH."/tail.sub.php");
|
||||
?>
|
||||
@ -38,9 +38,15 @@ if(!sql_query(" select it_sc_type from {$g5['g5_shop_cart_table']} limit 1 ", fa
|
||||
where ct_id = '{$row['ct_id']}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
echo '<p>장바구니 테이블 업그레이드 완료!</p>';
|
||||
}
|
||||
|
||||
// 장바구니 상품 주문폼 등록시간 기록 필드 추가
|
||||
if(!sql_query(" select ct_select_time from {$g5['g5_shop_cart_table']} limit 1 ", false)) {
|
||||
sql_query(" ALTER TABLE `{$g5['g5_shop_cart_table']}`
|
||||
ADD `ct_select_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `ct_select` ", true);
|
||||
}
|
||||
|
||||
echo '<p>장바구니 테이블 업그레이드 완료!</p>';
|
||||
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
?>
|
||||
1
perms.sh
1
perms.sh
@ -2,6 +2,7 @@
|
||||
|
||||
# kcp 본인확인 실행 파일
|
||||
chmod 755 plugin/kcpcert/bin/ct_cli
|
||||
chmod 755 plugin/kcpcert/bin/ct_cli_x64
|
||||
|
||||
# okname 본인확인 실행 파일
|
||||
chmod 755 plugin/okname/bin/okname
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<script type="text/javascript" src="./js/SE2B_Configuration_General.js" charset="utf-8"></script> <!-- 설정 파일 -->
|
||||
<script type="text/javascript" src="./js/SE2BasicCreator.js?v3" charset="utf-8"></script>
|
||||
|
||||
<script src='js/smarteditor2.min.js' charset='utf-8'></script>
|
||||
<script src='js/smarteditor2.min.js?v2' charset='utf-8'></script>
|
||||
<script src='photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js' charset='utf-8'></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@ -12138,9 +12138,19 @@ nhn.husky.SE2M_Hyperlink = jindo.$Class({
|
||||
|
||||
var sResult;
|
||||
if (sWWWURL){
|
||||
sResult = '<a href="http://'+sWWWURL+'">'+sURL+'</a>';
|
||||
var exp = /([-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)/gi;
|
||||
if( sWWWURL.match(exp) ){
|
||||
sResult = sWWWURL.replace(exp, '<a href="http://$1" >$1</a>');
|
||||
} else {
|
||||
sResult = '<a href="http://'+sWWWURL+'">'+sURL+'</a>';
|
||||
}
|
||||
} else {
|
||||
sResult = '<a href="'+sHTTPURL+'">'+sURL+'</a>';
|
||||
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
|
||||
if( sHTTPURL.match(exp) ){
|
||||
sResult = sHTTPURL.replace(exp,"<a href='$1'>$1</a>");
|
||||
} else {
|
||||
sResult = '<a href="'+sHTTPURL+'">'+sURL+'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
return sBreaker+sResult;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -26,11 +26,11 @@ function make_mp3()
|
||||
|
||||
file_put_contents(G5_PATH.'/'.$mp3_file, $contents);
|
||||
|
||||
// 지난 캡챠 파일 삭제 (100번중에 한번만 실행)
|
||||
// 지난 캡챠 파일 삭제
|
||||
if (rand(0,99) == 0) {
|
||||
foreach (glob(G5_PATH.'/data/cache/kcaptcha-*.mp3') as $file) {
|
||||
if (filemtime($file) + 86400 < G5_SERVER_TIME) {
|
||||
unset($file);
|
||||
@unlink($file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
plugin/kcpcert/bin/ct_cli_x64
Executable file
BIN
plugin/kcpcert/bin/ct_cli_x64
Executable file
Binary file not shown.
@ -101,8 +101,12 @@ if( $cert_enc_use == "Y" )
|
||||
if ( $ct_cert->check_valid_hash ( $home_dir , $dn_hash , $veri_str ) != "1" )
|
||||
{
|
||||
// 검증 실패시 처리 영역
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$bin_exe = '/bin/ct_cli';
|
||||
else
|
||||
$bin_exe = '/bin/ct_cli_x64';
|
||||
|
||||
echo "dn_hash 변조 위험있음 (".G5_KCPCERT_PATH."/bin/ct_cli 파일에 실행권한이 있는지 확인하세요.)";
|
||||
echo "dn_hash 변조 위험있음 (".G5_KCPCERT_PATH.$bin_exe." 파일에 실행권한이 있는지 확인하세요.)";
|
||||
exit;
|
||||
// 오류 처리 ( dn_hash 변조 위험있음)
|
||||
}
|
||||
|
||||
@ -16,19 +16,19 @@ class C_CT_CLI
|
||||
// 변수 초기화 영역
|
||||
function mf_clear()
|
||||
{
|
||||
$this->m_dec_data="";
|
||||
$this->m_dec_data="";
|
||||
}
|
||||
|
||||
// hash 처리 영역
|
||||
function make_hash_data( $home_dir , $str )
|
||||
{
|
||||
$hash_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
|
||||
$hash_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
|
||||
"lf_CT_CLI__make_hash_data",
|
||||
$str
|
||||
);
|
||||
|
||||
if ( $hash_data == "" ) { $hash_data = "HS01"; }
|
||||
|
||||
|
||||
return $hash_data;
|
||||
}
|
||||
|
||||
@ -49,7 +49,12 @@ class C_CT_CLI
|
||||
// 암호화 인증데이터 복호화
|
||||
function decrypt_enc_cert ( $home_dir, $site_cd , $cert_no , $enc_cert_data , $opt)
|
||||
{
|
||||
$dec_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$bin_exe = $home_dir . '/bin/ct_cli';
|
||||
else
|
||||
$bin_exe = $home_dir . '/bin/ct_cli_x64';
|
||||
|
||||
$dec_data = $this -> mf_exec( $bin_exe ,
|
||||
"lf_CT_CLI__decrypt_enc_cert" ,
|
||||
$site_cd ,
|
||||
$cert_no ,
|
||||
|
||||
67
shop/ajax.orderstock.php
Normal file
67
shop/ajax.orderstock.php
Normal file
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if (get_session('ss_direct'))
|
||||
$tmp_cart_id = get_session('ss_cart_direct');
|
||||
else
|
||||
$tmp_cart_id = get_session('ss_cart_id');
|
||||
|
||||
if (get_cart_count($tmp_cart_id) == 0)// 장바구니에 담기
|
||||
die("장바구니가 비어 있습니다.\n\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.");
|
||||
|
||||
$keep_term = $default['de_cart_keep_term'];
|
||||
if(!$keep_term)
|
||||
$keep_term = 15; // 기본값 15일
|
||||
|
||||
if(defined('G5_CART_STOCK_LIMIT'))
|
||||
$cart_stock_limit = G5_CART_STOCK_LIMIT;
|
||||
else
|
||||
$cart_stock_limit = 3;
|
||||
|
||||
// 기준 시간을 초과한 경우 체크
|
||||
if($cart_stock_limit > 0) {
|
||||
if($cart_stock_limit > $keep_term * 24)
|
||||
$cart_stock_limit = $keep_term * 24;
|
||||
|
||||
$stocktime = G5_SERVER_TIME - (3600 * $cart_stock_limit);
|
||||
|
||||
$sql = " select count(*) as cnt
|
||||
from {$g5['g5_shop_cart_table']}
|
||||
where od_id = '$tmp_cart_id'
|
||||
and ct_status = '쇼핑'
|
||||
and ct_select = '1'
|
||||
and UNIX_TIMESTAMP(ct_select_time) > '$stocktime' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if(!$row['cnt'])
|
||||
die("주문 요청 때까지 ".$cart_stock_limit."시간 이상 경과되어 주문 상품이 초기화 됐습니다.\n\n 장바구니에서 주문하실 상품을 다시 확인해 주십시오.");
|
||||
}
|
||||
|
||||
// 재고체크
|
||||
$sql = " select *
|
||||
from {$g5['g5_shop_cart_table']}
|
||||
where od_id = '$tmp_cart_id'
|
||||
and ct_select = '1'
|
||||
and ct_status = '쇼핑' ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$ct_qty = $row['ct_qty'];
|
||||
|
||||
if(!$row['io_id'])
|
||||
$it_stock_qty = get_it_stock_qty($row['it_id']);
|
||||
else
|
||||
$it_stock_qty = get_option_stock_qty($row['it_id'], $row['io_id'], $row['io_type']);
|
||||
|
||||
if ($ct_qty > $it_stock_qty)
|
||||
{
|
||||
$item_option = $row['it_name'];
|
||||
if($row['io_id'])
|
||||
$item_option .= '('.$row['ct_option'].')';
|
||||
|
||||
die($item_option." 의 재고수량이 부족합니다.\n\n현재 재고수량 : " . number_format($it_stock_qty) . " 개");
|
||||
}
|
||||
}
|
||||
|
||||
die("");
|
||||
?>
|
||||
@ -37,9 +37,48 @@ if($act == "buy")
|
||||
$ct_chk = $_POST['ct_chk'][$i];
|
||||
if($ct_chk) {
|
||||
$it_id = $_POST['it_id'][$i];
|
||||
|
||||
// 주문 상품의 재고체크
|
||||
$sql = " select ct_qty, it_name, ct_option, io_id, io_type
|
||||
from {$g5['g5_shop_cart_table']}
|
||||
where od_id = '$tmp_cart_id'
|
||||
and it_id = '$it_id' ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
for($k=0; $row=sql_fetch_array($result); $k++) {
|
||||
$sql = " select SUM(ct_qty) as cnt from {$g5['g5_shop_cart_table']}
|
||||
where od_id <> '$tmp_cart_id'
|
||||
and it_id = '$it_id'
|
||||
and io_id = '{$row['io_id']}'
|
||||
and io_type = '{$row['io_type']}'
|
||||
and ct_stock_use = 0
|
||||
and ct_status = '쇼핑'
|
||||
and ct_select = '1' ";
|
||||
$sum = sql_fetch($sql);
|
||||
$sum_qty = $sum['cnt'];
|
||||
|
||||
// 재고 구함
|
||||
$ct_qty = $row['ct_qty'];
|
||||
if(!$row['io_id'])
|
||||
$it_stock_qty = get_it_stock_qty($it_id);
|
||||
else
|
||||
$it_stock_qty = get_option_stock_qty($it_id, $row['io_id'], $row['io_type']);
|
||||
|
||||
if ($ct_qty + $sum_qty > $it_stock_qty)
|
||||
{
|
||||
$item_option = $row['it_name'];
|
||||
if($row['io_id'])
|
||||
$item_option .= '('.$row['ct_option'].')';
|
||||
|
||||
alert($item_option." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($it_stock_qty - $sum_qty) . " 개");
|
||||
}
|
||||
}
|
||||
|
||||
$sql = " update {$g5['g5_shop_cart_table']}
|
||||
set ct_select = '1'
|
||||
where it_id = '$it_id' and od_id = '$tmp_cart_id' ";
|
||||
set ct_select = '1',
|
||||
ct_select_time = '".G5_TIME_YMDHIS."'
|
||||
where od_id = '$tmp_cart_id'
|
||||
and it_id = '$it_id' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
}
|
||||
@ -144,58 +183,64 @@ else // 장바구니에 담기
|
||||
$lst_count++;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------
|
||||
// 재고 검사
|
||||
//--------------------------------------------------------
|
||||
// 이미 장바구니에 있는 같은 상품의 수량합계를 구한다.
|
||||
for($k=0; $k<$opt_count; $k++) {
|
||||
$io_id = $_POST['io_id'][$it_id][$k];
|
||||
$io_type = $_POST['io_type'][$it_id][$k];
|
||||
$io_value = $_POST['io_value'][$it_id][$k];
|
||||
|
||||
$sql = " select SUM(ct_qty) as cnt from {$g5['g5_shop_cart_table']}
|
||||
where od_id <> '$tmp_cart_id'
|
||||
and it_id = '$it_id'
|
||||
and io_id = '$io_id'
|
||||
and io_type = '$io_type'
|
||||
and ct_stock_use = 0
|
||||
and ct_status = '쇼핑' ";
|
||||
$row = sql_fetch($sql);
|
||||
$sum_qty = $row['cnt'];
|
||||
|
||||
// 재고 구함
|
||||
$ct_qty = $_POST['ct_qty'][$it_id][$k];
|
||||
if(!$io_id)
|
||||
$it_stock_qty = get_it_stock_qty($it_id);
|
||||
else
|
||||
$it_stock_qty = get_option_stock_qty($it_id, $io_id, $io_type);
|
||||
|
||||
if ($ct_qty + $sum_qty > $it_stock_qty)
|
||||
{
|
||||
alert($io_value." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($it_stock_qty - $sum_qty) . " 개");
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------
|
||||
|
||||
// 바로구매에 있던 장바구니 자료를 지운다.
|
||||
if($i == 0 && $sw_direct)
|
||||
sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_direct = 1 ", false);
|
||||
|
||||
//--------------------------------------------------------
|
||||
// 재고 검사, 바로구매일 때만 체크
|
||||
//--------------------------------------------------------
|
||||
// 이미 주문폼에 있는 같은 상품의 수량합계를 구한다.
|
||||
if($sw_direct) {
|
||||
for($k=0; $k<$opt_count; $k++) {
|
||||
$io_id = $_POST['io_id'][$it_id][$k];
|
||||
$io_type = $_POST['io_type'][$it_id][$k];
|
||||
$io_value = $_POST['io_value'][$it_id][$k];
|
||||
|
||||
$sql = " select SUM(ct_qty) as cnt from {$g5['g5_shop_cart_table']}
|
||||
where od_id <> '$tmp_cart_id'
|
||||
and it_id = '$it_id'
|
||||
and io_id = '$io_id'
|
||||
and io_type = '$io_type'
|
||||
and ct_stock_use = 0
|
||||
and ct_status = '쇼핑'
|
||||
and ct_select = '1' ";
|
||||
$row = sql_fetch($sql);
|
||||
$sum_qty = $row['cnt'];
|
||||
|
||||
// 재고 구함
|
||||
$ct_qty = $_POST['ct_qty'][$it_id][$k];
|
||||
if(!$io_id)
|
||||
$it_stock_qty = get_it_stock_qty($it_id);
|
||||
else
|
||||
$it_stock_qty = get_option_stock_qty($it_id, $io_id, $io_type);
|
||||
|
||||
if ($ct_qty + $sum_qty > $it_stock_qty)
|
||||
{
|
||||
alert($io_value." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($it_stock_qty - $sum_qty) . " 개");
|
||||
}
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------
|
||||
|
||||
// 옵션수정일 때 기존 장바구니 자료를 먼저 삭제
|
||||
if($act == 'optionmod')
|
||||
sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and it_id = '$it_id' ");
|
||||
|
||||
// 장바구니에 Insert
|
||||
// 바로구매일 경우 장바구니가 체크된것으로 강제 설정
|
||||
if($sw_direct)
|
||||
if($sw_direct) {
|
||||
$ct_select = 1;
|
||||
else
|
||||
$ct_select_time = G5_TIME_YMDHIS;
|
||||
} else {
|
||||
$ct_select = 0;
|
||||
$ct_select_time = '0000-00-00 00:00:00';
|
||||
}
|
||||
|
||||
// 장바구니에 Insert
|
||||
$comma = '';
|
||||
$sql = " INSERT INTO {$g5['g5_shop_cart_table']}
|
||||
( od_id, mb_id, it_id, it_name, it_sc_type, it_sc_method, it_sc_price, it_sc_minimum, it_sc_qty, ct_status, ct_price, ct_point, ct_point_use, ct_stock_use, ct_option, ct_qty, ct_notax, io_id, io_type, io_price, ct_time, ct_ip, ct_send_cost, ct_direct, ct_select )
|
||||
( od_id, mb_id, it_id, it_name, it_sc_type, it_sc_method, it_sc_price, it_sc_minimum, it_sc_qty, ct_status, ct_price, ct_point, ct_point_use, ct_stock_use, ct_option, ct_qty, ct_notax, io_id, io_type, io_price, ct_time, ct_ip, ct_send_cost, ct_direct, ct_select, ct_select_time )
|
||||
VALUES ";
|
||||
|
||||
for($k=0; $k<$opt_count; $k++) {
|
||||
@ -224,7 +269,7 @@ else // 장바구니에 담기
|
||||
}
|
||||
|
||||
// 동일옵션의 상품이 있으면 수량 더함
|
||||
$sql2 = " select ct_id
|
||||
$sql2 = " select ct_id, io_type, ct_qty
|
||||
from {$g5['g5_shop_cart_table']}
|
||||
where od_id = '$tmp_cart_id'
|
||||
and it_id = '$it_id'
|
||||
@ -232,6 +277,18 @@ else // 장바구니에 담기
|
||||
and ct_status = '쇼핑' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['ct_id']) {
|
||||
// 재고체크
|
||||
$tmp_ct_qty = $row2['ct_qty'];
|
||||
if(!$io_id)
|
||||
$tmp_it_stock_qty = get_it_stock_qty($it_id);
|
||||
else
|
||||
$tmp_it_stock_qty = get_option_stock_qty($it_id, $io_id, $row2['io_type']);
|
||||
|
||||
if ($tmp_ct_qty + $ct_qty > $tmp_it_stock_qty)
|
||||
{
|
||||
alert($io_value." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($tmp_it_stock_qty) . " 개");
|
||||
}
|
||||
|
||||
$sql3 = " update {$g5['g5_shop_cart_table']}
|
||||
set ct_qty = ct_qty + '$ct_qty'
|
||||
where ct_id = '{$row2['ct_id']}' ";
|
||||
@ -258,7 +315,7 @@ else // 장바구니에 담기
|
||||
else if($it['it_sc_type'] > 1 && $it['it_sc_method'] == 1)
|
||||
$ct_send_cost = 1; // 착불
|
||||
|
||||
$sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '$REMOTE_ADDR', '$ct_send_cost', '$sw_direct', '$ct_select' )";
|
||||
$sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '$REMOTE_ADDR', '$ct_send_cost', '$sw_direct', '$ct_select', '$ct_select_time' )";
|
||||
$comma = ' , ';
|
||||
$ct_count++;
|
||||
}
|
||||
|
||||
@ -4,6 +4,9 @@ include_once('./_common.php');
|
||||
// add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
|
||||
// 주문상품 재고체크 js 파일
|
||||
add_javascript('<script src="'.G5_JS_URL.'/shop.order.js"></script>', 0);
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_MSHOP_PATH.'/orderform.php');
|
||||
return;
|
||||
@ -1145,6 +1148,13 @@ function calculate_tax()
|
||||
|
||||
function forderform_check(f)
|
||||
{
|
||||
// 재고체크
|
||||
var stock_msg = order_stock_check();
|
||||
if(stock_msg != "") {
|
||||
alert(stock_msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
errmsg = "";
|
||||
errfld = "";
|
||||
var deffld = "";
|
||||
|
||||
@ -409,6 +409,24 @@ if($default['de_tax_flag_use']) {
|
||||
|
||||
$od_pg = $default['de_pg_service'];
|
||||
$od_email = get_email_address($od_email);
|
||||
$od_name = clean_xss_tags($od_name);
|
||||
$od_tel = clean_xss_tags($od_tel);
|
||||
$od_hp = clean_xss_tags($od_hp);
|
||||
$od_zip1 = preg_replace('/[^0-9]/', '', $od_zip1);
|
||||
$od_zip2 = preg_replace('/[^0-9]/', '', $od_zip2);
|
||||
$od_addr1 = clean_xss_tags($od_addr1);
|
||||
$od_addr2 = clean_xss_tags($od_addr2);
|
||||
$od_addr3 = clean_xss_tags($od_addr3);
|
||||
$od_addr_jibeon = preg_match("/^(N|R)$/", $od_addr_jibeon) ? $od_addr_jibeon : '';
|
||||
$od_b_name = clean_xss_tags($od_b_name);
|
||||
$od_b_tel = clean_xss_tags($od_b_tel);
|
||||
$od_b_hp = clean_xss_tags($od_b_hp);
|
||||
$od_b_addr1 = clean_xss_tags($od_b_addr1);
|
||||
$od_b_addr2 = clean_xss_tags($od_b_addr2);
|
||||
$od_b_addr3 = clean_xss_tags($od_b_addr3);
|
||||
$od_b_addr_jibeon = preg_match("/^(N|R)$/", $od_b_addr_jibeon) ? $od_b_addr_jibeon : '';
|
||||
$od_memo = clean_xss_tags($od_memo);
|
||||
$od_deposit_name = clean_xss_tags($od_deposit_name);
|
||||
|
||||
// 주문서에 입력
|
||||
$sql = " insert {$g5['g5_shop_order_table']}
|
||||
|
||||
17
skin/content/basic/content.skin.php
Normal file
17
skin/content/basic/content.skin.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$content_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<article id="ctt" class="ctt_<?php echo $co_id; ?>">
|
||||
<header>
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
</header>
|
||||
|
||||
<div id="ctt_con">
|
||||
<?php echo $str; ?>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
8
skin/content/basic/style.css
Normal file
8
skin/content/basic/style.css
Normal file
@ -0,0 +1,8 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 내용관리 */
|
||||
#ctt {margin:10px 0;padding:10px;border:1px solid #e9e9e9}
|
||||
.ctt_admin {text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0}
|
||||
.ctt_img {text-align:center}
|
||||
@ -186,13 +186,13 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0
|
||||
<?php if($it['it_buy_min_qty']) { ?>
|
||||
<tr>
|
||||
<th>최소구매수량</th>
|
||||
<td><?php echo number_format($it['it_buy_min_qty']); ?> 개<td>
|
||||
<td><?php echo number_format($it['it_buy_min_qty']); ?> 개</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php if($it['it_buy_max_qty']) { ?>
|
||||
<tr>
|
||||
<th>최대구매수량</th>
|
||||
<td><?php echo number_format($it['it_buy_max_qty']); ?> 개<td>
|
||||
<td><?php echo number_format($it['it_buy_max_qty']); ?> 개</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user