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

This commit is contained in:
whitedot
2013-05-08 11:46:59 +09:00
48 changed files with 4770 additions and 149 deletions

View File

@ -71,6 +71,17 @@ else if ($w == "u")
$ca['ca_name'] = get_text($ca['ca_name']);
}
if (!isset($ca['ca_mobile_skin'])) {
sql_query(" ALTER TABLE `{$g4['shop_category_table']}`
ADD `ca_mobile_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `ca_skin`,
ADD `ca_mobile_img_width` INT(11) NOT NULL DEFAULT '0' AFTER `ca_list_row`,
ADD `ca_mobile_img_height` INT(11) NOT NULL DEFAULT '0' AFTER `ca_mobile_img_width`,
ADD `ca_mobile_list_mod` INT(11) NOT NULL DEFAULT '0' AFTER `ca_mobile_img_height`,
ADD `ca_mobile_list_row` INT(11) NOT NULL DEFAULT '0' AFTER `ca_mobile_list_mod`,
ADD `ca_mobile_head_html` TEXT NOT NULL AFTER `ca_tail_html`,
ADD `ca_mobile_tail_html` TEXT NOT NULL AFTER `ca_mobile_head_html` ", false);
}
$qstr = 'page='.$page.'&sort1='.$sort1.'&sort2='.$sort2;
$g4['title'] = $html_title;
@ -142,6 +153,15 @@ $pg_anchor .= '</ul>';
</select>
</td>
</tr>
<tr>
<th scope="row"><label for="ca_mobile_skin">모바일 출력스킨</label></th>
<td>
<?php echo help("기본으로 제공하는 스킨은 ".G4_MOBILE_DIR.'/'.G4_SHOP_DIR."/list.skin.*.php 입니다."); ?>
<select id="ca_mobile_skin" name="ca_mobile_skin">
<?php echo get_list_skin_options("^list.skin.(.*)\.php", G4_MSHOP_PATH, $ca['ca_mobile_skin']); ?>
</select>
</td>
</tr>
<tr>
<th scope="row"><label for="ca_img_width">출력이미지 폭</label></th>
<td>
@ -170,6 +190,34 @@ $pg_anchor .= '</ul>';
<input type="text" name="ca_list_row" value='<?php echo $ca['ca_list_row']; ?>' id="ca_list_row" required class="required frm_input" size="3"> 줄
</td>
</tr>
<tr>
<th scope="row"><label for="ca_mobile_img_width">모바일 출력이미지 폭</label></th>
<td>
<?php echo help("쇼핑몰환경설정 &gt; 이미지(중) 넓이가 기본값으로 설정됩니다.\n".G4_SHOP_URL."/list.php에서 출력되는 이미지의 폭입니다."); ?>
<input type="text" name="ca_mobile_img_width" value="<?php echo $ca['ca_mobile_img_width']; ?>" id="ca_mobile_img_width" required class="required frm_input" size="5" > 픽셀
</td>
</tr>
<tr>
<th scope="row"><label for="ca_mobile_img_height">모바일 출력이미지 높이</label></th>
<td>
<?php echo help("쇼핑몰환경설정 &gt; 이미지(중) 높이가 기본값으로 설정됩니다.\n".G4_SHOP_URL."/list.php에서 출력되는 이미지의 높이입니다."); ?>
<input type="text" name="ca_mobile_img_height" value="<?php echo $ca['ca_mobile_img_height']; ?>" id="ca_mobile_img_height" required class="required frm_input" size="5" > 픽셀
</td>
</tr>
<tr>
<th scope="row"><label for="ca_mobile_list_mod">모바일 1줄당 이미지 수</label></th>
<td>
<?php echo help("한 줄에 설정한 값만큼의 상품을 출력하지만 스킨에 따라 한 줄에 하나의 상품만 출력할 수도 있습니다."); ?>
<input type="text" name="ca_mobile_list_mod" size="3" value="<?php echo $ca['ca_mobile_list_mod']; ?>" id="ca_mobile_list_mod" required class="required frm_input"> 개
</td>
</tr>
<tr>
<th scope="row"><label for="ca_mobile_list_row">모바일 이미지 줄 수</label></th>
<td>
<?php echo help("한 페이지에 출력할 이미지 줄 수를 설정합니다.\n한 페이지에서 표시하는 상품수는 (1줄당 이미지 수 x 줄 수) 입니다."); ?>
<input type="text" name="ca_mobile_list_row" value='<?php echo $ca['ca_mobile_list_row']; ?>' id="ca_mobile_list_row" required class="required frm_input" size="3"> 줄
</td>
</tr>
<tr>
<th scope="row"><label for="ca_opt1_subject">옵션 제목 1</label></th>
<td>
@ -313,6 +361,20 @@ $pg_anchor .= '</ul>';
<?php echo editor_html('ca_tail_html', $ca['ca_tail_html']); ?>
</td>
</tr>
<tr>
<th scope="row">모바일 상단내용</th>
<td>
<?php echo help("상품리스트 페이지 상단에 출력하는 HTML 내용입니다."); ?>
<?php echo editor_html('ca_mobile_head_html', $ca['ca_mobile_head_html']); ?>
</td>
</tr>
<tr>
<th scope="row">모바일 하단내용</th>
<td>
<?php echo help("상품리스트 페이지 하단에 출력하는 HTML 내용입니다.", -150); ?>
<?php echo editor_html('ca_mobile_tail_html', $ca['ca_mobile_tail_html']); ?>
</td>
</tr>
</tbody>
</table>
@ -352,6 +414,8 @@ function fcategoryformcheck(f)
{
<?php echo get_editor_js('ca_head_html'); ?>
<?php echo get_editor_js('ca_tail_html'); ?>
<?php echo get_editor_js('ca_mobile_head_html'); ?>
<?php echo get_editor_js('ca_mobile_tail_html'); ?>
if (f.w.value == "") {
if (f.codedup.value == '1') {

View File

@ -55,26 +55,31 @@ if ($ca_image0_del) @unlink("{$g4['category_path']}/{$ca_id}_0");
if ($ca_himg_del) @unlink("{$g4['category_path']}/{$ca_id}_h");
if ($ca_timg_del) @unlink("{$g4['category_path']}/{$ca_id}_t");
$sql_common = " ca_skin = '$ca_skin',
ca_opt1_subject = '$ca_opt1_subject',
ca_opt2_subject = '$ca_opt2_subject',
ca_opt3_subject = '$ca_opt3_subject',
ca_opt4_subject = '$ca_opt4_subject',
ca_opt5_subject = '$ca_opt5_subject',
ca_opt6_subject = '$ca_opt6_subject',
ca_img_width = '$ca_img_width',
ca_img_height = '$ca_img_height',
ca_list_mod = '$ca_list_mod',
ca_list_row = '$ca_list_row',
ca_sell_email = '$ca_sell_email',
ca_use = '$ca_use',
ca_stock_qty = '$ca_stock_qty',
ca_explan_html = '$ca_explan_html',
ca_head_html = '$ca_head_html',
ca_tail_html = '$ca_tail_html',
ca_include_head = '$ca_include_head',
ca_include_tail = '$ca_include_tail',
ca_mb_id = '$ca_mb_id' ";
$sql_common = " ca_skin = '$ca_skin',
ca_mobile_skin = '$ca_mobile_skin',
ca_opt1_subject = '$ca_opt1_subject',
ca_opt2_subject = '$ca_opt2_subject',
ca_opt3_subject = '$ca_opt3_subject',
ca_opt4_subject = '$ca_opt4_subject',
ca_opt5_subject = '$ca_opt5_subject',
ca_opt6_subject = '$ca_opt6_subject',
ca_img_width = '$ca_img_width',
ca_img_height = '$ca_img_height',
ca_list_mod = '$ca_list_mod',
ca_list_row = '$ca_list_row',
ca_mobile_img_width = '$ca_mobile_img_width',
ca_mobile_img_height = '$ca_mobile_img_height',
ca_mobile_list_mod = '$ca_mobile_list_mod',
ca_mobile_list_row = '$ca_mobile_list_row',
ca_sell_email = '$ca_sell_email',
ca_use = '$ca_use',
ca_stock_qty = '$ca_stock_qty',
ca_explan_html = '$ca_explan_html',
ca_head_html = '$ca_head_html',
ca_tail_html = '$ca_tail_html',
ca_include_head = '$ca_include_head',
ca_include_tail = '$ca_include_tail',
ca_mb_id = '$ca_mb_id' ";
if ($w == "")

View File

@ -51,6 +51,41 @@ if (!isset($default['de_sms_cont5'])) {
ADD `de_sms_use5` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_sms_use4` ", true);
}
if (!isset($default['de_mobile_type1_list_use'])) {
sql_query(" ALTER TABLE `{$g4['shop_default_table']}`
ADD `de_mobile_type1_list_use` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_type5_img_height`,
ADD `de_mobile_type1_list_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_mobile_type1_list_use`,
ADD `de_mobile_type1_list_row` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type1_list_skin`,
ADD `de_mobile_type1_list_mod` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type1_list_row`,
ADD `de_mobile_type1_img_width` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type1_list_mod`,
ADD `de_mobile_type1_img_height` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type1_img_width`,
ADD `de_mobile_type2_list_use` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_mobile_type1_img_height`,
ADD `de_mobile_type2_list_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_mobile_type2_list_use`,
ADD `de_mobile_type2_list_row` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type2_list_skin`,
ADD `de_mobile_type2_list_mod` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type2_list_row`,
ADD `de_mobile_type2_img_width` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type2_list_mod`,
ADD `de_mobile_type2_img_height` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type2_img_width`,
ADD `de_mobile_type3_list_use` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_mobile_type2_img_height`,
ADD `de_mobile_type3_list_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_mobile_type3_list_use`,
ADD `de_mobile_type3_list_row` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type3_list_skin`,
ADD `de_mobile_type3_list_mod` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type3_list_row`,
ADD `de_mobile_type3_img_width` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type3_list_mod`,
ADD `de_mobile_type3_img_height` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type3_img_width`,
ADD `de_mobile_type4_list_use` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_mobile_type3_img_height`,
ADD `de_mobile_type4_list_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_mobile_type4_list_use`,
ADD `de_mobile_type4_list_row` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type4_list_skin`,
ADD `de_mobile_type4_list_mod` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type4_list_row`,
ADD `de_mobile_type4_img_width` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type4_list_mod`,
ADD `de_mobile_type4_img_height` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type4_img_width`,
ADD `de_mobile_type5_list_use` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_mobile_type4_img_height`,
ADD `de_mobile_type5_list_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_mobile_type5_list_use`,
ADD `de_mobile_type5_list_row` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type5_list_skin`,
ADD `de_mobile_type5_list_mod` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type5_list_row`,
ADD `de_mobile_type5_img_width` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type5_list_mod`,
ADD `de_mobile_type5_img_height` INT(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type5_img_width`
", true);
}
if (!$default['de_icode_server_ip']) $default['de_icode_server_ip'] = '211.172.232.124';
if (!$default['de_icode_server_port']) $default['de_icode_server_port'] = '7295';
@ -72,6 +107,7 @@ include_once (G4_ADMIN_PATH.'/admin.head.php');
$pg_anchor = '<ul class="anchor">
<li><a href="#anc_scf_info">사업자정보</a></li>
<li><a href="#anc_scf_index">쇼핑몰 초기화면</a></li>
<li><a href="#anc_mscf_index">모바일 초기화면</a></li>
<li><a href="#anc_scf_payment">결제설정</a></li>
<li><a href="#anc_scf_delivery">배송설정</a></li>
<li><a href="#anc_scf_etc">기타설정</a></li>
@ -262,6 +298,114 @@ $pg_anchor = '<ul class="anchor">
</table>
</section>
<section id="anc_mscf_index" class="cbox">
<h2>모바일 쇼핑몰 초기화면</h2>
<?php echo $pg_anchor; ?>
<p><?php echo help("상품관리에서 선택한 상품의 타입대로 쇼핑몰 초기화면에 출력합니다. (상품 타입 히트/추천/최신/인기/할인)\n각 타입별로 선택된 상품이 없으면 쇼핑몰 초기화면에 출력하지 않습니다."); ?></p>
<table class="frm_tbl">
<colgroup>
<col class="grid_3">
<col class="grid_15">
</colgroup>
<tbody>
<tr>
<th scope="row">최신상품출력</th>
<td>
<label for="de_mobile_type3_list_use">출력</label>
<input type="checkbox" name="de_mobile_type3_list_use" value="1" id="de_mobile_type3_list_use" <?php echo $default['de_mobile_type3_list_use']?"checked":""; ?>>
<label for="de_mobile_type3_list_skin">스킨</label>
<select name="de_mobile_type3_list_skin" id="de_mobile_type3_list_skin">
<?php echo get_list_skin_options("^maintype(.*)\.php", G4_MSHOP_PATH, $default['de_mobile_type3_list_skin']); ?>
</select>
<label for="de_mobile_type3_list_row">출력할 줄 수</label>
<input type="text" name="de_mobile_type3_list_row" value="<?php echo $default['de_mobile_type3_list_row']; ?>" id="de_mobile_type3_list_row" class="frm_input" size="3">
<label for="de_mobile_type3_list_mod">1줄당 이미지 수</label>
<input type="text" name="de_mobile_type3_list_mod" value="<?php echo $default['de_mobile_type3_list_mod']; ?>" id="de_mobile_type3_list_mod" class="frm_input" size="3">
<label for="de_mobile_type3_img_width">이미지 폭</label>
<input type="text" name="de_mobile_type3_img_width" value="<?php echo $default['de_mobile_type3_img_width']; ?>" id="de_mobile_type3_img_width" class="frm_input" size="3">
<label for="de_mobile_type3_img_height">이미지 높이</label>
<input type="text" name="de_mobile_type3_img_height" value="<?php echo $default['de_mobile_type3_img_height']; ?>" id="de_mobile_type3_img_height" class="frm_input" size="3">
</td>
</tr>
<tr>
<th scope="row">히트상품출력</th>
<td>
<label for="de_mobile_type1_list_use">출력</label> <input type="checkbox" name="de_mobile_type1_list_use" value="1" id="de_mobile_type1_list_use" <?php echo $default['de_mobile_type1_list_use']?"checked":""; ?>>
<label for="de_mobile_type1_list_skin">스킨 </label>
<select name="de_mobile_type1_list_skin" id="de_mobile_type1_list_skin">
<?php echo get_list_skin_options("^maintype(.*)\.php", G4_MSHOP_PATH, $default['de_mobile_type1_list_skin']); ?>
</select>
<label for="de_mobile_type1_list_row">출력할 줄 수</label>
<input type="text" name="de_mobile_type1_list_row" value="<?php echo $default['de_mobile_type1_list_row']; ?>" id="de_mobile_type1_list_row" class="frm_input" size="3">
<label for="de_mobile_type1_list_mod">1줄당 이미지 수</label>
<input type="text" name="de_mobile_type1_list_mod" value="<?php echo $default['de_mobile_type1_list_mod']; ?>" id="de_mobile_type1_list_mod" class="frm_input" size="3">
<label for="de_mobile_type1_img_width">이미지 폭</label>
<input type="text" name="de_mobile_type1_img_width" value="<?php echo $default['de_mobile_type1_img_width']; ?>" id="de_mobile_type1_img_width" class="frm_input" size="3">
<label for="de_mobile_type1_img_height">이미지 높이</label>
<input type="text" name="de_mobile_type1_img_height" value="<?php echo $default['de_mobile_type1_img_height']; ?>" id="de_mobile_type1_img_height" class="frm_input" size="3">
</td>
</tr>
<tr>
<th scope="row">추천상품출력</th>
<td>
<label for="de_mobile_type2_list_use">출력</label>
<input type="checkbox" name="de_mobile_type2_list_use" value="1" id="de_mobile_type2_list_use" <?php echo $default['de_mobile_type2_list_use']?"checked":""; ?>>
<label for="de_mobile_type2_list_skin">스킨</label>
<select name="de_mobile_type2_list_skin" id="de_mobile_type2_list_skin">
<?php echo get_list_skin_options("^maintype(.*)\.php", G4_MSHOP_PATH, $default['de_mobile_type2_list_skin']); ?>
</select>
<label for="de_mobile_type2_list_row">출력할 줄 수</label>
<input type="text" name="de_mobile_type2_list_row" value="<?php echo $default['de_mobile_type2_list_row']; ?>" id="de_mobile_type2_list_row" class="frm_input" size="3">
<label for="de_mobile_type2_list_mod">1줄당 이미지 수</label>
<input type="text" name="de_mobile_type2_list_mod" value="<?php echo $default['de_mobile_type2_list_mod']; ?>" id="de_mobile_type2_list_mod" class="frm_input" size="3">
<label for="de_mobile_type2_img_width">이미지 폭</label>
<input type="text" name="de_mobile_type2_img_width" value="<?php echo $default['de_mobile_type2_img_width']; ?>" id="de_mobile_type2_img_width" class="frm_input" size="3">
<label for="de_mobile_type2_img_height">이미지 높이</label>
<input type="text" name="de_mobile_type2_img_height" value="<?php echo $default['de_mobile_type2_img_height']; ?>" id="de_mobile_type2_img_height" class="frm_input" size="3">
</td>
</tr>
<tr>
<th scope="row">인기상품출력</th>
<td>
<label for="de_mobile_type4_list_use">출력</label>
<input type="checkbox" name="de_mobile_type4_list_use" value="1" id="de_mobile_type4_list_use" <?php echo $default['de_mobile_type4_list_use']?"checked":""; ?>>
<label for="de_mobile_type4_list_skin">스킨</label>
<select name="de_mobile_type4_list_skin" id="de_mobile_type4_list_skin">
<?php echo get_list_skin_options("^maintype(.*)\.php", G4_MSHOP_PATH, $default['de_mobile_type4_list_skin']); ?>
</select>
<label for="de_mobile_type4_list_row">출력할 줄 수</label>
<input type="text" name="de_mobile_type4_list_row" value="<?php echo $default['de_mobile_type4_list_row']; ?>" id="de_mobile_type4_list_row" class="frm_input" size="3">
<label for="de_mobile_type4_list_mod">1줄당 이미지 수</label>
<input type="text" name="de_mobile_type4_list_mod" value="<?php echo $default['de_mobile_type4_list_mod']; ?>" id="de_mobile_type4_list_mod" class="frm_input" size="3">
<label for="de_mobile_type4_img_width">이미지 폭</label>
<input type="text" name="de_mobile_type4_img_width" value="<?php echo $default['de_mobile_type4_img_width']; ?>" id="de_mobile_type4_img_width" class="frm_input" size="3">
<label for="de_mobile_type4_img_height">이미지 높이</label>
<input type="text" name="de_mobile_type4_img_height" value="<?php echo $default['de_mobile_type4_img_height']; ?>" id="de_mobile_type4_img_height" class="frm_input" size="3">
</td>
</tr>
<tr>
<th scope="row">할인상품출력</th>
<td>
<label for="de_mobile_type5_list_use">출력</label>
<input type="checkbox" name="de_mobile_type5_list_use" value="1" id="de_mobile_type5_list_use" <?php echo $default['de_mobile_type5_list_use']?"checked":""; ?>>
<label for="de_mobile_type5_list_skin">스킨</label>
<select id="de_mobile_type5_list_skin" name="de_mobile_type5_list_skin">
<?php echo get_list_skin_options("^maintype(.*)\.php", G4_MSHOP_PATH, $default['de_mobile_type5_list_skin']); ?>
</select>
<label for="de_mobile_type5_list_row">출력할 줄 수</label>
<input type="text" name="de_mobile_type5_list_row" value="<?php echo $default['de_mobile_type5_list_row']; ?>" id="de_mobile_type5_list_row" class="frm_input" size="3">
<label for="de_mobile_type5_list_mod">1줄당 이미지 수</label>
<input type="text" name="de_mobile_type5_list_mod" value="<?php echo $default['de_mobile_type5_list_mod']; ?>" id="de_mobile_type5_list_mod" class="frm_input" size="3">
<label for="de_mobile_type5_img_width">이미지 폭</label>
<input type="text" name="de_mobile_type5_img_width" value="<?php echo $default['de_mobile_type5_img_width']; ?>" id="de_mobile_type5_img_width" class="frm_input" size="3">
<label for="de_mobile_type5_img_height">이미지 높이</label>
<input type="text" name="de_mobile_type5_img_height" value="<?php echo $default['de_mobile_type5_img_height']; ?>" id="de_mobile_type5_img_height" class="frm_input" size="3">
</td>
</tr>
</tbody>
</table>
</section>
<section id ="anc_scf_payment" class="cbox">
<h2>결제정보</h2>

View File

@ -61,6 +61,36 @@ $sql = " update {$g4['shop_default_table']}
de_type5_list_row = '$de_type5_list_row',
de_type5_img_width = '$de_type5_img_width',
de_type5_img_height = '$de_type5_img_height',
de_mobile_type1_list_use = '$de_mobile_type1_list_use',
de_mobile_type1_list_skin = '$de_mobile_type1_list_skin',
de_mobile_type1_list_mod = '$de_mobile_type1_list_mod',
de_mobile_type1_list_row = '$de_mobile_type1_list_row',
de_mobile_type1_img_width = '$de_mobile_type1_img_width',
de_mobile_type1_img_height = '$de_mobile_type1_img_height',
de_mobile_type2_list_use = '$de_mobile_type2_list_use',
de_mobile_type2_list_skin = '$de_mobile_type2_list_skin',
de_mobile_type2_list_mod = '$de_mobile_type2_list_mod',
de_mobile_type2_list_row = '$de_mobile_type2_list_row',
de_mobile_type2_img_width = '$de_mobile_type2_img_width',
de_mobile_type2_img_height = '$de_mobile_type2_img_height',
de_mobile_type3_list_use = '$de_mobile_type3_list_use',
de_mobile_type3_list_skin = '$de_mobile_type3_list_skin',
de_mobile_type3_list_mod = '$de_mobile_type3_list_mod',
de_mobile_type3_list_row = '$de_mobile_type3_list_row',
de_mobile_type3_img_width = '$de_mobile_type3_img_width',
de_mobile_type3_img_height = '$de_mobile_type3_img_height',
de_mobile_type4_list_use = '$de_mobile_type4_list_use',
de_mobile_type4_list_skin = '$de_mobile_type4_list_skin',
de_mobile_type4_list_mod = '$de_mobile_type4_list_mod',
de_mobile_type4_list_row = '$de_mobile_type4_list_row',
de_mobile_type4_img_width = '$de_mobile_type4_img_width',
de_mobile_type4_img_height = '$de_mobile_type4_img_height',
de_mobile_type5_list_use = '$de_mobile_type5_list_use',
de_mobile_type5_list_skin = '$de_mobile_type5_list_skin',
de_mobile_type5_list_mod = '$de_mobile_type5_list_mod',
de_mobile_type5_list_row = '$de_mobile_type5_list_row',
de_mobile_type5_img_width = '$de_mobile_type5_img_width',
de_mobile_type5_img_height = '$de_mobile_type5_img_height',
de_rel_list_mod = '$de_rel_list_mod',
de_rel_img_width = '$de_rel_img_width',
de_rel_img_height = '$de_rel_img_height',

View File

@ -4,27 +4,6 @@ include_once('./_common.php');
include_once(G4_CKEDITOR_PATH.'/ckeditor.lib.php');
include_once(G4_LIB_PATH.'/iteminfo.lib.php');
/*
// 상품테이블에 분류 필드 추가
sql_query(" ALTER TABLE `$g4[shop_item_table]` ADD `ca_id2` VARCHAR( 255 ) NOT NULL AFTER `ca_id` ", FALSE);
sql_query(" ALTER TABLE `$g4[shop_item_table]` ADD `ca_id3` VARCHAR( 255 ) NOT NULL AFTER `ca_id2` ", FALSE);
// 사용후기 테이블에 이름, 패스워드 필드 추가
sql_query(" ALTER TABLE `$g4[shop_item_ps_table]` ADD `is_name` VARCHAR( 255 ) NOT NULL AFTER `mb_id` ", FALSE);
sql_query(" ALTER TABLE `$g4[shop_item_ps_table]` ADD `is_password` VARCHAR( 255 ) NOT NULL AFTER `is_name` ", FALSE);
// 상품문의 테이블에 이름, 패스워드 필드 추가
sql_query(" ALTER TABLE `$g4[shop_item_qa_table]` ADD `iq_name` VARCHAR( 255 ) NOT NULL AFTER `mb_id` ", FALSE);
sql_query(" ALTER TABLE `$g4[shop_item_qa_table]` ADD `iq_password` VARCHAR( 255 ) NOT NULL AFTER `iq_name` ", FALSE);
// 회원권한별 상품가격 틀리게 적용하는 필드 추가
// it_amount : 비회원가격
// it_amount2 : 회원가격
// it_amount3 : 특별회원가격
sql_query(" ALTER TABLE `$g4[shop_item_table]` ADD `it_amount2` INT NOT NULL AFTER `it_amount` ", FALSE);
sql_query(" ALTER TABLE `$g4[shop_item_table]` ADD `it_amount3` INT NOT NULL AFTER `it_amount2` ", FALSE);
*/
auth_check($auth[$sub_menu], "w");
$html_title = "상품 ";
@ -85,6 +64,13 @@ if (!$it['it_explan_html'])
$it['it_explan'] = get_text($it['it_explan'], 1);
}
if (!isset($it['it_mobile_explan'])) {
sql_query(" ALTER TABLE `{$g4['shop_item_table']}`
ADD `it_mobile_explan` TEXT NOT NULL AFTER `it_explan`,
ADD `it_mobile_head_html` TEXT NOT NULL AFTER `it_tail_html`,
ADD `it_mobile_tail_html` TEXT NOT NULL AFTER `it_mobile_head_html` ", false);
}
//$qstr1 = 'sel_ca_id='.$sel_ca_id.'&amp;sel_field='.$sel_field.'&amp;search='.$search;
//$qstr = $qstr1.'&amp;sort1='.$sort1.'&amp;sort2='.$sort2.'&amp;page='.$page;
$qstr = $qstr.'&amp;sca='.$sca.'&amp;page='.$page;
@ -342,6 +328,10 @@ $pg_anchor ='<ul class="anchor">
<th scope="row">상품설명</th>
<td> <?php echo editor_html('it_explan', $it['it_explan']); ?></td>
</tr>
<tr>
<th scope="row">모바일 상품설명</th>
<td> <?php echo editor_html('it_mobile_explan', $it['it_mobile_explan']); ?></td>
</tr>
<tr>
<th scope="row"><label for="it_sell_email">판매자 e-mail</label></th>
<td>
@ -943,6 +933,14 @@ $pg_anchor ='<ul class="anchor">
<th scope="row">상품하단내용</th>
<td><?php echo help("상품상세설명 페이지 하단에 출력하는 HTML 내용입니다.", -150); ?><?php echo editor_html('it_tail_html', $it['it_tail_html']); ?></td>
</tr>
<tr>
<th scope="row">모바일 상품상단내용</th>
<td><?php echo help("모바일 상품상세설명 페이지 상단에 출력하는 HTML 내용입니다.", -150); ?><?php echo editor_html('it_mobile_head_html', $it['it_mobile_head_html']); ?></td>
</tr>
<tr>
<th scope="row">모바일 상품하단내용</th>
<td><?php echo help("모바일 상품상세설명 페이지 하단에 출력하는 HTML 내용입니다.", -150); ?><?php echo editor_html('it_mobile_tail_html', $it['it_mobile_tail_html']); ?></td>
</tr>
<?php if ($w == "u") { ?>
<tr>
<th scope="row">입력일시</th>
@ -1032,8 +1030,11 @@ function fitemformcheck(f)
}
<?php echo get_editor_js('it_explan'); ?>
<?php echo get_editor_js('it_mobile_explan'); ?>
<?php echo get_editor_js('it_head_html'); ?>
<?php echo get_editor_js('it_tail_html'); ?>
<?php echo get_editor_js('it_mobile_head_html'); ?>
<?php echo get_editor_js('it_mobile_tail_html'); ?>
return true;
}

View File

@ -235,47 +235,50 @@ sql_query(" delete from {$g4['shop_item_relation_table']} where it_id2 = '$it_id
sql_query(" delete from {$g4['shop_event_item_table']} where it_id = '$it_id' ");
$sql_common = " ca_id = '$ca_id',
ca_id2 = '$ca_id2',
ca_id3 = '$ca_id3',
it_name = '$it_name',
it_gallery = '$it_gallery',
it_maker = '$it_maker',
it_origin = '$it_origin',
it_opt1_subject = '$it_opt1_subject',
it_opt2_subject = '$it_opt2_subject',
it_opt3_subject = '$it_opt3_subject',
it_opt4_subject = '$it_opt4_subject',
it_opt5_subject = '$it_opt5_subject',
it_opt6_subject = '$it_opt6_subject',
it_opt1 = '$it_opt1',
it_opt2 = '$it_opt2',
it_opt3 = '$it_opt3',
it_opt4 = '$it_opt4',
it_opt5 = '$it_opt5',
it_opt6 = '$it_opt6',
it_type1 = '$it_type1',
it_type2 = '$it_type2',
it_type3 = '$it_type3',
it_type4 = '$it_type4',
it_type5 = '$it_type5',
it_basic = '$it_basic',
it_explan = '$it_explan',
it_explan_html = '$it_explan_html',
it_cust_amount = '$it_cust_amount',
it_amount = '$it_amount',
it_amount2 = '$it_amount2',
it_amount3 = '$it_amount3',
it_point = '$it_point',
it_sell_email = '$it_sell_email',
it_use = '$it_use',
it_stock_qty = '$it_stock_qty',
it_head_html = '$it_head_html',
it_tail_html = '$it_tail_html',
it_time = '".G4_TIME_YMDHIS."',
it_ip = '{$_SERVER['REMOTE_ADDR']}',
it_order = '$it_order',
it_tel_inq = '$it_tel_inq'
$sql_common = " ca_id = '$ca_id',
ca_id2 = '$ca_id2',
ca_id3 = '$ca_id3',
it_name = '$it_name',
it_gallery = '$it_gallery',
it_maker = '$it_maker',
it_origin = '$it_origin',
it_opt1_subject = '$it_opt1_subject',
it_opt2_subject = '$it_opt2_subject',
it_opt3_subject = '$it_opt3_subject',
it_opt4_subject = '$it_opt4_subject',
it_opt5_subject = '$it_opt5_subject',
it_opt6_subject = '$it_opt6_subject',
it_opt1 = '$it_opt1',
it_opt2 = '$it_opt2',
it_opt3 = '$it_opt3',
it_opt4 = '$it_opt4',
it_opt5 = '$it_opt5',
it_opt6 = '$it_opt6',
it_type1 = '$it_type1',
it_type2 = '$it_type2',
it_type3 = '$it_type3',
it_type4 = '$it_type4',
it_type5 = '$it_type5',
it_basic = '$it_basic',
it_explan = '$it_explan',
it_explan_html = '$it_explan_html',
it_mobile_explan = '$it_mobile_explan',
it_cust_amount = '$it_cust_amount',
it_amount = '$it_amount',
it_amount2 = '$it_amount2',
it_amount3 = '$it_amount3',
it_point = '$it_point',
it_sell_email = '$it_sell_email',
it_use = '$it_use',
it_stock_qty = '$it_stock_qty',
it_head_html = '$it_head_html',
it_tail_html = '$it_tail_html',
it_mobile_head_html = '$it_mobile_head_html',
it_mobile_tail_html = '$it_mobile_tail_html',
it_time = '".G4_TIME_YMDHIS."',
it_ip = '{$_SERVER['REMOTE_ADDR']}',
it_order = '$it_order',
it_tel_inq = '$it_tel_inq'
";
if ($w == "")

View File

@ -11,8 +11,10 @@ include_once(G4_LIB_PATH.'/shop.lib.php');
define('G4_SHOP_DIR', 'shop');
define('G4_SHOP_PATH', G4_PATH.'/'.G4_SHOP_DIR);
define('G4_SHOP_URL', G4_URL.'/'.G4_SHOP_DIR);
define('G4_SHOP_PATH', G4_PATH.'/'.G4_SHOP_DIR);
define('G4_SHOP_URL', G4_URL.'/'.G4_SHOP_DIR);
define('G4_MSHOP_PATH', G4_MOBILE_PATH.'/'.G4_SHOP_DIR);
define('G4_MSHOP_URL', G4_MOBILE_URL.'/'.G4_SHOP_DIR);
// 보안서버주소 설정
if (G4_HTTPS_DOMAIN) {

View File

@ -231,6 +231,36 @@ if($shop_install) {
de_type5_list_row = '1',
de_type5_img_width = '$mimg_width',
de_type5_img_height = '$mimg_height',
de_mobile_type1_list_use = '1',
de_mobile_type1_list_skin = 'maintype10.inc.php',
de_mobile_type1_list_mod = '3',
de_mobile_type1_list_row = '2',
de_mobile_type1_img_width = '$mimg_width',
de_mobile_type1_img_height = '$mimg_height',
de_mobile_type2_list_use = '1',
de_mobile_type2_list_skin = 'maintype10.inc.php',
de_mobile_type2_list_mod = '3',
de_mobile_type2_list_row = '2',
de_mobile_type2_img_width = '$mimg_width',
de_mobile_type2_img_height = '$mimg_height',
de_mobile_type3_list_use = '1',
de_mobile_type3_list_skin = 'maintype10.inc.php',
de_mobile_type3_list_mod = '1',
de_mobile_type3_list_row = '3',
de_mobile_type3_img_width = '$mimg_width',
de_mobile_type3_img_height = '$mimg_height',
de_mobile_type4_list_use = '1',
de_mobile_type4_list_skin = 'maintype10.inc.php',
de_mobile_type4_list_mod = '3',
de_mobile_type4_list_row = '1',
de_mobile_type4_img_width = '$mimg_width',
de_mobile_type4_img_height = '$mimg_height',
de_mobile_type5_list_use = '1',
de_mobile_type5_list_skin = 'maintype10.inc.php',
de_mobile_type5_list_mod = '3',
de_mobile_type5_list_row = '1',
de_mobile_type5_img_width = '$mimg_width',
de_mobile_type5_img_height = '$mimg_height',
de_bank_use = '1',
de_bank_account = 'OO은행 12345-67-89012 예금주명',
de_vbank_use = '0',

View File

@ -89,6 +89,7 @@ CREATE TABLE IF NOT EXISTS `shop_category` (
`ca_id` varchar(10) NOT NULL DEFAULT '0',
`ca_name` varchar(255) NOT NULL DEFAULT '',
`ca_skin` varchar(255) NOT NULL DEFAULT '',
`ca_mobile_skin` varchar(255) NOT NULL DEFAULT '',
`ca_opt1_subject` varchar(255) NOT NULL DEFAULT '',
`ca_opt2_subject` varchar(255) NOT NULL DEFAULT '',
`ca_opt3_subject` varchar(255) NOT NULL DEFAULT '',
@ -97,14 +98,20 @@ CREATE TABLE IF NOT EXISTS `shop_category` (
`ca_opt6_subject` varchar(255) NOT NULL DEFAULT '',
`ca_img_width` int(11) NOT NULL DEFAULT '0',
`ca_img_height` int(11) NOT NULL DEFAULT '0',
`ca_mobile_img_width` int(11) NOT NULL DEFAULT '0',
`ca_mobile_img_height` int(11) NOT NULL DEFAULT '0',
`ca_sell_email` varchar(255) NOT NULL DEFAULT '',
`ca_use` tinyint(4) NOT NULL DEFAULT '0',
`ca_stock_qty` int(11) NOT NULL DEFAULT '0',
`ca_explan_html` tinyint(4) NOT NULL DEFAULT '0',
`ca_head_html` text NOT NULL,
`ca_tail_html` text NOT NULL,
`ca_mobile_head_html` text NOT NULL,
`ca_mobile_tail_html` text NOT NULL,
`ca_list_mod` int(11) NOT NULL DEFAULT '0',
`ca_list_row` int(11) NOT NULL DEFAULT '0',
`ca_mobile_list_mod` int(11) NOT NULL DEFAULT '0',
`ca_mobile_list_row` int(11) NOT NULL DEFAULT '0',
`ca_include_head` varchar(255) NOT NULL DEFAULT '',
`ca_include_tail` varchar(255) NOT NULL DEFAULT '',
`ca_mb_id` varchar(255) NOT NULL DEFAULT '',
@ -147,36 +154,66 @@ CREATE TABLE IF NOT EXISTS `shop_default` (
`de_admin_company_addr` varchar(255) NOT NULL DEFAULT '',
`de_admin_info_name` varchar(255) NOT NULL DEFAULT '',
`de_admin_info_email` varchar(255) NOT NULL DEFAULT '',
`de_type1_list_use` int(11) NOT NULL DEFAULT '0',
`de_type1_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_type1_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_type1_list_mod` int(11) NOT NULL DEFAULT '0',
`de_type1_list_row` int(11) NOT NULL DEFAULT '0',
`de_type1_img_width` int(11) NOT NULL DEFAULT '0',
`de_type1_img_height` int(11) NOT NULL DEFAULT '0',
`de_type2_list_use` int(11) NOT NULL DEFAULT '0',
`de_type2_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_type2_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_type2_list_mod` int(11) NOT NULL DEFAULT '0',
`de_type2_list_row` int(11) NOT NULL DEFAULT '0',
`de_type2_img_width` int(11) NOT NULL DEFAULT '0',
`de_type2_img_height` int(11) NOT NULL DEFAULT '0',
`de_type3_list_use` int(11) NOT NULL DEFAULT '0',
`de_type3_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_type3_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_type3_list_mod` int(11) NOT NULL DEFAULT '0',
`de_type3_list_row` int(11) NOT NULL DEFAULT '0',
`de_type3_img_width` int(11) NOT NULL DEFAULT '0',
`de_type3_img_height` int(11) NOT NULL DEFAULT '0',
`de_type4_list_use` int(11) NOT NULL DEFAULT '0',
`de_type4_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_type4_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_type4_list_mod` int(11) NOT NULL DEFAULT '0',
`de_type4_list_row` int(11) NOT NULL DEFAULT '0',
`de_type4_img_width` int(11) NOT NULL DEFAULT '0',
`de_type4_img_height` int(11) NOT NULL DEFAULT '0',
`de_type5_list_use` int(11) NOT NULL DEFAULT '0',
`de_type5_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_type5_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_type5_list_mod` int(11) NOT NULL DEFAULT '0',
`de_type5_list_row` int(11) NOT NULL DEFAULT '0',
`de_type5_img_width` int(11) NOT NULL DEFAULT '0',
`de_type5_img_height` int(11) NOT NULL DEFAULT '0',
`de_mobile_type1_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_mobile_type1_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_mobile_type1_list_mod` int(11) NOT NULL DEFAULT '0',
`de_mobile_type1_list_row` int(11) NOT NULL DEFAULT '0',
`de_mobile_type1_img_width` int(11) NOT NULL DEFAULT '0',
`de_mobile_type1_img_height` int(11) NOT NULL DEFAULT '0',
`de_mobile_type2_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_mobile_type2_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_mobile_type2_list_mod` int(11) NOT NULL DEFAULT '0',
`de_mobile_type2_list_row` int(11) NOT NULL DEFAULT '0',
`de_mobile_type2_img_width` int(11) NOT NULL DEFAULT '0',
`de_mobile_type2_img_height` int(11) NOT NULL DEFAULT '0',
`de_mobile_type3_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_mobile_type3_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_mobile_type3_list_mod` int(11) NOT NULL DEFAULT '0',
`de_mobile_type3_list_row` int(11) NOT NULL DEFAULT '0',
`de_mobile_type3_img_width` int(11) NOT NULL DEFAULT '0',
`de_mobile_type3_img_height` int(11) NOT NULL DEFAULT '0',
`de_mobile_type4_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_mobile_type4_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_mobile_type4_list_mod` int(11) NOT NULL DEFAULT '0',
`de_mobile_type4_list_row` int(11) NOT NULL DEFAULT '0',
`de_mobile_type4_img_width` int(11) NOT NULL DEFAULT '0',
`de_mobile_type4_img_height` int(11) NOT NULL DEFAULT '0',
`de_mobile_type5_list_use` tinyint(4) NOT NULL DEFAULT '0',
`de_mobile_type5_list_skin` varchar(255) NOT NULL DEFAULT '',
`de_mobile_type5_list_mod` int(11) NOT NULL DEFAULT '0',
`de_mobile_type5_list_row` int(11) NOT NULL DEFAULT '0',
`de_mobile_type5_img_width` int(11) NOT NULL DEFAULT '0',
`de_mobile_type5_img_height` int(11) NOT NULL DEFAULT '0',
`de_rel_list_mod` int(11) NOT NULL DEFAULT '0',
`de_rel_img_width` int(11) NOT NULL DEFAULT '0',
`de_rel_img_height` int(11) NOT NULL DEFAULT '0',
@ -359,6 +396,7 @@ CREATE TABLE IF NOT EXISTS `shop_item` (
`it_type5` tinyint(4) NOT NULL DEFAULT '0',
`it_basic` text NOT NULL,
`it_explan` mediumtext NOT NULL,
`it_mobile_explan` mediumtext NOT NULL,
`it_explan_html` tinyint(4) NOT NULL DEFAULT '0',
`it_cust_amount` int(11) NOT NULL DEFAULT '0',
`it_amount` int(11) NOT NULL DEFAULT '0',
@ -370,6 +408,8 @@ CREATE TABLE IF NOT EXISTS `shop_item` (
`it_stock_qty` int(11) NOT NULL DEFAULT '0',
`it_head_html` text NOT NULL,
`it_tail_html` text NOT NULL,
`it_mobile_head_html` text NOT NULL,
`it_mobile_tail_html` text NOT NULL,
`it_hit` int(11) NOT NULL DEFAULT '0',
`it_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`it_ip` varchar(25) NOT NULL DEFAULT '',

View File

@ -1933,7 +1933,7 @@ if (!function_exists('file_put_contents')) {
// HTML 마지막 처리
function html_end()
{
global $g4;
global $config, $g4, $member;
// 현재접속자 처리
$tmp_sql = " select count(*) as cnt from {$g4['login_table']} where lo_ip = '{$_SERVER['REMOTE_ADDR']}' ";

View File

@ -234,6 +234,39 @@ function display_type($type, $skin_file, $list_mod, $list_row, $img_width, $img_
}
}
// 모바일 유형별 상품 출력
function mobile_display_type($type, $skin_file, $list_mod, $list_row, $img_width, $img_height, $ca_id="")
{
global $member, $g4, $config;
// 상품의 갯수
$items = $list_mod * $list_row;
// 1.02.00
// it_order 추가
$sql = " select *
from {$g4['shop_item_table']}
where it_use = '1'
and it_type{$type} = '1' ";
if ($ca_id) $sql .= " and ca_id like '$ca_id%' ";
$sql .= " order by it_order, it_id desc
limit $items ";
$result = sql_query($sql);
/*
if (!mysql_num_rows($result)) {
return false;
}
*/
$file = G4_MSHOP_PATH.'/'.$skin_file;
if (!file_exists($file)) {
echo $file.' 파일을 찾을 수 없습니다.';
} else {
$td_width = (int)(100 / $list_mod);
include $file;
}
}
// 분류별 출력
// 스킨파일번호, 1라인이미지수, 총라인수, 이미지폭, 이미지높이 , 분류번호
function display_category($no, $list_mod, $list_row, $img_width, $img_height, $ca_id="")

7
mobile/shop/_common.php Normal file
View File

@ -0,0 +1,7 @@
<?php
include_once('../../common.php');
if (!defined('G4_USE_SHOP') || !G4_USE_SHOP)
die('<p>쇼핑몰 설치 후 이용해 주십시오.</p>');
define('_SHOP_', true);
?>

4
mobile/shop/_head.php Normal file
View File

@ -0,0 +1,4 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G4_MSHOP_PATH.'/shop.head.php');
?>

4
mobile/shop/_tail.php Normal file
View File

@ -0,0 +1,4 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G4_MSHOP_PATH.'/shop.tail.php');
?>

20
mobile/shop/cart.php Normal file
View File

@ -0,0 +1,20 @@
<?php
include_once('./_common.php');
$g4['title'] = '장바구니';
include_once('./_head.php');
?>
<div id="sod_bsk">
<?php
$s_page = 'cart.php';
$s_uq_id = get_session('ss_uq_id');
include G4_MSHOP_PATH.'/cartsub.inc.php';
?>
</div>
<?php
include_once('./_tail.php');
?>

306
mobile/shop/cartsub.inc.php Normal file
View File

@ -0,0 +1,306 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/*
$s_page 는 cart.php 일때 수량의 수정, 물품의 삭제를 위한 변수이다.
orderinquiryview.php 일때 배송상태등을 나타내는 변수이다.
$s_uq_id 는 유일한 키
*/
if ($s_page == 'cart.php' || $s_page == 'orderinquiryview.php')
$colspan = 7;
else
$colspan = 6;
?>
<form name="frmcartlist" method="post">
<table class="basic_tbl">
<thead>
<tr>
<th scope="col">상품이미지</th>
<th scope="col">상품명</th>
<th scope="col">수량</th>
<th scope="col">판매가</th>
<th scope="col">소계</th>
<th scope="col">포인트</th>
<?php
if ($s_page == 'cart.php')
echo '<th scope="col">삭제</th>';
else if ($s_page == 'orderinquiryview.php')
echo '<th scope="col">상태</th>';
?>
</tr>
</thead>
<tbody>
<?php
$tot_point = 0;
$tot_sell_amount = 0;
$tot_cancel_amount = 0;
$goods = $goods_it_id = "";
$goods_count = -1;
// $s_uq_id 로 현재 장바구니 자료 쿼리
$sql = " select a.ct_id,
a.it_opt1,
a.it_opt2,
a.it_opt3,
a.it_opt4,
a.it_opt5,
a.it_opt6,
a.ct_amount,
a.ct_point,
a.ct_qty,
a.ct_status,
b.it_id,
b.it_name,
b.ca_id
from {$g4['shop_cart_table']} a,
{$g4['shop_item_table']} b
where a.uq_id = '$s_uq_id'
and a.it_id = b.it_id
order by a.ct_id ";
$result = sql_query($sql);
$good_info = '';
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
if (!$goods)
{
//$goods = addslashes($row[it_name]);
//$goods = get_text($row[it_name]);
$goods = preg_replace("/\'|\"|\||\,|\&|\;/", "", $row['it_name']);
$goods_it_id = $row['it_id'];
}
$goods_count++;
// 에스크로 상품정보
if($s_page == 'orderform.php' && $default['de_escrow_use']) {
if ($i>0)
$good_info .= chr(30);
$good_info .= "seq=".($i+1).chr(31);
$good_info .= "ordr_numb={$od_id}_".sprintf("%04d", $i).chr(31);
$good_info .= "good_name=".addslashes($row['it_name']).chr(31);
$good_info .= "good_cntx=".$row['ct_qty'].chr(31);
$good_info .= "good_amtx=".$row['ct_amount'].chr(31);
}
if ($i==0) { // 계속쇼핑
$continue_ca_id = $row['ca_id'];
}
if ($s_page == 'cart.php' || $s_page == 'orderinquiryview.php') { // 링크를 붙이고
$a1 = '<a href="./item.php?it_id='.$row[it_id].'"><b>';
$a2 = '</b></a>';
$image = get_it_image($row['it_id'].'_s', 70, 70, '');
} else { // 붙이지 않고
$a1 = '<b>';
$a2 = '</b>';
$image = get_it_image($row['it_id'].'_s', 50, 50);
}
$it_name = $a1 . stripslashes($row['it_name']) . $a2 . '<br>';
if ($row['it_opt1'] || $row['it_opt2'] || $row['it_opt3'] || $row['it_opt4'] || $row['it_opt5'] || $row['it_opt6']) { // 상품에 옵션이 있다면
$it_name .= '<div class="sod_bsk_itopt">'.print_item_options($row['it_id'], $row['it_opt1'], $row['it_opt2'], $row['it_opt3'], $row['it_opt4'], $row['it_opt5'], $row['it_opt6']).'</div>';
}
$point = $row['ct_point'] * $row['ct_qty'];
$sell_amount = $row['ct_amount'] * $row['ct_qty'];
?>
<tr>
<td class="sod_bsk_img"><?php echo $image; ?></td>
<td>
<input type="hidden" name="ct_id[<?php echo $i; ?>]" value="<?php echo $row['ct_id']; ?>">
<input type="hidden" name="it_id[<?php echo $i; ?>]" value="<?php echo $row['it_id']; ?>">
<input type="hidden" name="ap_id[<?php echo $i; ?>]" value="<?php echo $row['ap_id']; ?>">
<input type="hidden" name="bi_id[<?php echo $i; ?>]" value="<?php echo $row['bi_id']; ?>">
<input type="hidden" name="it_name[<?php echo $i; ?>]" value="<?php echo get_text($row['it_name']); ?>">
<input type="hidden" name="act" value="">
<input type="hidden" name="records" value="<?php echo $i; ?>">
<?php echo $it_name; ?>
</td>
<?php
// 수량, 입력(수량)
if ($s_page == "cart.php")
echo '<td class="td_num"><input type="text" name="ct_qty['.$i.']" value="'.$row['ct_qty'].'" id="ct_qty_'.$i.'" class="frm_input" size="4" maxlength="6" autocomplete="off"></td>';
else
echo '<td class="td_num">'.$row['ct_qty'].'</td>';
?>
<td class="td_bignum"><?php echo number_format($row['ct_amount']); ?></td>
<td class="td_bignum"><?php echo number_format($sell_amount); ?></td>
<td class="td_bignum"><?php echo number_format($point); ?></td>
<?php
if ($s_page == 'cart.php')
echo '<td class="td_smallmng"><a href="./cartupdate.php?act=d&amp;ct_id='.$row['ct_id'].'">삭제</a></td>';
else if ($s_page == 'orderinquiryview.php')
echo '<td class="td_smallmng">'.$row['ct_status'].'</td>';
?>
</tr>
<?php
//$tot_point += $point;
//$tot_sell_amount += $sell_amount;
if ($row['ct_status'] == '취소' || $row['ct_status'] == '반품' || $row['ct_status'] == '품절') {
$tot_cancel_amount += $sell_amount;
}
else {
$tot_point += $point;
$tot_sell_amount += $sell_amount;
}
// 배송비가 넘어왔다면
if ($_POST['od_send_cost']) {
$send_cost = (int)$_POST['od_send_cost'];
} else {
// 배송비 계산
if ($default['de_send_cost_case'] == '없음')
$send_cost = 0;
else {
// 배송비 상한 : 여러단계의 배송비 적용 가능
$send_cost_limit = explode(";", $default['de_send_cost_limit']);
$send_cost_list = explode(";", $default['de_send_cost_list']);
$send_cost = 0;
for ($k=0; $k<count($send_cost_limit); $k++) {
// 총판매금액이 배송비 상한가 보다 작다면
if ($tot_sell_amount < $send_cost_limit[$k]) {
$send_cost = $send_cost_list[$k];
break;
}
}
}
// 이미 주문된 내역을 보여주는것이므로 배송비를 주문서에서 얻는다.
$sql = "select od_send_cost from {$g4['shop_order_table']} where od_id = '$od_id' ";
$row = sql_fetch($sql);
if ($row['od_send_cost'] > 0)
$send_cost = $row['od_send_cost'];
}
} // for 끝
if ($i == 0) echo '<tr><td colspan="'.$colspan.'" class="empty_table">장바구니에 담긴 상품이 없습니다.</td></tr>';
?>
</tbody>
</table>
<?php if ($goods_count) $goods .= '<div> 외 '.$goods_count.'건</div>'; ?>
<?php
// 배송비가 0 보다 크다면 (있다면)
if ($send_cost > 0)
{
?>
<div id="sod_bsk_dvr" class="sod_bsk_tot">
<span>배송비</span>
<strong><?php echo number_format($send_cost); ?> 원</strong>
</div>
<?php } ?>
<?php
// 총계 = 주문상품금액합계 + 배송비
$tot_amount = $tot_sell_amount + $send_cost;
if ($tot_amount > 0) {
?>
<div id="sod_bsk_cnt" class="sod_bsk_tot">
<span>총계</span>
<strong><?php echo number_format($tot_amount); ?> 원 <?php echo number_format($tot_point); ?> 점</strong>
</div>
<?php } ?>
<?php if ($s_page == 'cart.php') { ?>
<div id="sod_bsk_act">
<?php if ($i == 0) { ?>
<a href="<?php echo G4_SHOP_URL; ?>" class="btn01">쇼핑 계속하기</a>
<?php } else { ?>
<input type="hidden" name="url" value="./orderform.php">
<p>장바구니의 상품을 주문하시려면 <strong>주문하기</strong>를 클릭하세요. <strong>비우기</strong>는 장바구니의 상품을 모두 비웁니다.</p>
<a href="<?php echo G4_SHOP_URL; ?>/list.php?ca_id=<?php echo $continue_ca_id; ?>" class="btn01">쇼핑 계속하기</a>
<a href="javascript:form_check('buy');" class="btn02">주문하기</a>
<a href="javascript:form_check('allupdate');" class="btn01">수량변경</a>
<a href="javascript:form_check('alldelete');" class="btn01">비우기</a>
<?php } ?>
</div>
<?php } ?>
</form>
<?php
if ($s_page == 'cart.php') {
if ($i != 0) {
?>
<script>
function form_check(act) {
var f = document.frmcartlist;
var cnt = f.records.value;
if (act == "buy")
{
f.act.value = act;
<?php
if (get_session('ss_mb_id')) // 회원인 겨우
{
echo "f.action = './orderform.php';";
echo "f.submit();";
}
else
echo "document.location.href = '".G4_BBS_URL."/login.php?url=".urlencode(G4_SHOP_URL."/orderform.php")."';";
?>
}
else if (act == "alldelete")
{
f.act.value = act;
f.action = "./cartupdate.php";
f.submit();
}
else if (act == "allupdate")
{
for (i=0; i<cnt; i++)
{
//if (f.elements("ct_qty[" + i + "]").value == "")
if (document.getElementById('ct_qty_'+i).value == '')
{
alert("수량을 입력해 주십시오.");
//f.elements("ct_qty[" + i + "]").focus();
document.getElementById('ct_qty_'+i).focus();
return;
}
//else if (isNaN(f.elements("ct_qty[" + i + "]").value))
else if (isNaN(document.getElementById('ct_qty_'+i).value))
{
alert("수량을 숫자로 입력해 주십시오.");
//f.elements("ct_qty[" + i + "]").focus();
document.getElementById('ct_qty_'+i).focus();
return;
}
//else if (f.elements("ct_qty[" + i + "]").value < 1)
else if (document.getElementById('ct_qty_'+i).value < 1)
{
alert("수량은 1 이상 입력해 주십시오.");
//f.elements("ct_qty[" + i + "]").focus();
document.getElementById('ct_qty_'+i).focus();
return;
}
}
f.act.value = act;
f.action = "./cartupdate.php";
f.submit();
}
return true;
}
</script>
<?php
}
}
?>

111
mobile/shop/index.php Normal file
View File

@ -0,0 +1,111 @@
<?php
include_once("./_common.php");
include_once(G4_LIB_PATH.'/latest.lib.php');
include_once(G4_LIB_PATH.'/poll.lib.php');
define("_INDEX_", TRUE);
include_once(G4_MSHOP_PATH.'/shop.head.php');
?>
<div id="sidx_img">
<img src="<?php echo G4_DATA_URL; ?>/common/main_img" alt="">
</div>
<section class="sct_wrap">
<header>
<h2><a href="<?php echo G4_SHOP_URL; ?>/listtype.php?type=3">최신상품</a></h2>
<p class="sct_wrap_hdesc"><?php echo $config['cf_title']; ?> 최신상품 모음</p>
</header>
<?php
// 최신상품
$type = 3;
if ($default['de_mobile_type'.$type.'_list_us'])
{
mobile_display_type($type, $default["de_mobile_type{$type}_list_skin"], $default["de_mobile_type{$type}_list_mod"], $default["de_mobile_type{$type}_list_row"], $default["de_mobile_type{$type}_img_width"], $default["de_mobile_type{$type}_img_height"]);
}
?>
</section>
<section class="sct_wrap">
<header>
<h2><a href="<?php echo G4_SHOP_URL; ?>/listtype.php?type=1">히트상품</a></h2>
<p class="sct_wrap_hdesc"><?php echo $config['cf_title']; ?> 히트상품 모음</p>
</header>
<?php
// 히트상품
$type = 1;
if ($default['de_mobile_type'.$type.'_list_use'])
{
mobile_display_type($type, $default["de_mobile_type{$type}_list_skin"], $default["de_mobile_type{$type}_list_mod"], $default["de_mobile_type{$type}_list_row"], $default["de_mobile_type{$type}_img_width"], $default["de_mobile_type{$type}_img_height"]);
}
?>
</section>
<section class="sct_wrap">
<header>
<h2><a href="<?php echo G4_SHOP_URL; ?>/listtype.php?type=2">추천상품</a></h2>
<p class="sct_wrap_hdesc"><?php echo $config['cf_title']; ?> 추천상품 모음</p>
</header>
<?php
// 추천상품
$type = 2;
if ($default['de_mobile_type'.$type.'_list_use'])
{
mobile_display_type($type, $default["de_mobile_type{$type}_list_skin"], $default["de_mobile_type{$type}_list_mod"], $default["de_mobile_type{$type}_list_row"], $default["de_mobile_type{$type}_img_width"], $default["de_mobile_type{$type}_img_height"]);
}
?>
</section>
<section class="sct_wrap">
<header>
<h2><a href="<?php echo G4_SHOP_URL; ?>/listtype.php?type=4">인기상품</a></h2>
<p class="sct_wrap_hdesc"><?php echo $config['cf_title']; ?> 인기상품 모음</p>
</header>
<?php
// 인기상품
$type = 4;
if ($default['de_mobile_type'.$type.'_list_use'])
{
mobile_display_type($type, $default["de_mobile_type{$type}_list_skin"], $default["de_mobile_type{$type}_list_mod"], $default["de_mobile_type{$type}_list_row"], $default["de_mobile_type{$type}_img_width"], $default["de_mobile_type{$type}_img_height"]);
}
?>
</section>
<section class="sct_wrap">
<header>
<h2><a href="<?php echo G4_SHOP_URL; ?>/listtype.php?type=5">할인상품</a></h2>
<p class="sct_wrap_hdesc"><?php echo $config['cf_title']; ?> 할인상품 모음</p>
</header>
<?php
// 할인상품
$type = 5;
if ($default['de_mobile_type'.$type.'_list_use'])
{
mobile_display_type($type, $default["de_mobile_type{$type}_list_skin"], $default["de_mobile_type{$type}_list_mod"], $default["de_mobile_type{$type}_list_row"], $default["de_mobile_type{$type}_img_width"], $default["de_mobile_type{$type}_img_height"]);
}
?>
</section>
<section id="sidx_lat">
<h2>커뮤니티 최신글</h2>
<?php echo latest('shop_basic', 'notice', 5, 30); ?>
<?php echo latest('shop_basic', 'free', 5, 25); ?>
<?php echo latest('shop_basic', 'qa', 5, 20); ?>
</section>
<?php echo poll('shop_basic'); ?>
<!-- 방문자 수 -->
<?php echo visit('shop_basic'); ?>
<section id="sbn_idx">
<h2>쇼핑몰 메인 배너</h2>
<!-- 메인 배너 -->
<?php echo display_banner('메인'); ?>
</section>
<?php
include_once(G4_MSHOP_PATH.'/shop.tail.php');
?>

737
mobile/shop/item.php Normal file
View File

@ -0,0 +1,737 @@
<?php
include_once('./_common.php');
include_once(G4_LIB_PATH.'/iteminfo.lib.php');
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');
$captcha_html = captcha_html();
// 불법접속을 할 수 없도록 세션에 아무값이나 저장하여 hidden 으로 넘겨서 다음 페이지에서 비교함
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
$rand = rand(4, 6);
$norobot_key = substr($token, 0, $rand);
set_session('ss_norobot_key', $norobot_key);
// 분류사용, 상품사용하는 상품의 정보를 얻음
$sql = " select a.*,
b.ca_name,
b.ca_use
from {$g4['shop_item_table']} a,
{$g4['shop_category_table']} b
where a.it_id = '$it_id'
and a.ca_id = b.ca_id ";
$it = sql_fetch($sql);
if (!$it['it_id'])
alert('자료가 없습니다.');
if (!($it['ca_use'] && $it['it_use'])) {
if (!$is_admin)
alert('판매가능한 상품이 아닙니다.');
}
// 분류 테이블에서 분류 상단, 하단 코드를 얻음
$sql = " select ca_include_head, ca_include_tail
from {$g4['shop_category_table']}
where ca_id = '{$it['ca_id']}' ";
$ca = sql_fetch($sql);
// 오늘 본 상품 저장 시작
// tv 는 today view 약자
$saved = false;
$tv_idx = (int)get_session("ss_tv_idx");
if ($tv_idx > 0) {
for ($i=1; $i<=$tv_idx; $i++) {
if (get_session("ss_tv[$i]") == $it_id) {
$saved = true;
break;
}
}
}
if (!$saved) {
$tv_idx++;
set_session("ss_tv_idx", $tv_idx);
set_session("ss_tv[$tv_idx]", $it_id);
}
// 오늘 본 상품 저장 끝
// 조회수 증가
if ($_COOKIE['ck_it_id'] != $it_id) {
sql_query(" update {$g4['shop_item_table']} set it_hit = it_hit + 1 where it_id = '$it_id' "); // 1증가
set_cookie("ck_it_id", $it_id, time() + 3600); // 1시간동안 저장
}
$g4['title'] = $it['it_name'].' &gt; '.$it['ca_name'];
include_once('./_head.php');
// 분류 위치
// HOME > 1단계 > 2단계 ... > 6단계 분류
$ca_id = $it['ca_id'];
include G4_SHOP_PATH.'/navigation1.inc.php';
// 이 분류에 속한 하위분류 출력
include G4_SHOP_PATH.'/listcategory.inc.php';
if ($is_admin)
echo '<div class="sit_admin"><a href="'.G4_ADMIN_URL.'/shop_admin/itemform.php?w=u&amp;it_id='.$it_id.'" class="btn_admin">상품 관리</a></div>';
$himg = G4_DATA_PATH.'/item/'.$it_id.'_h';
if (file_exists($himg))
echo '<div id="sit_himg" class="sit_img"><img src="'.G4_DATA_URL.'/item/'.$it_id.'_h" alt=""></div>';
// 상단 HTML
echo '<div id="sit_hhtml">'.stripslashes($it['it_mobile_head_html']).'</div>';
// 이전 상품보기
$sql = " select it_id, it_name from {$g4['shop_item_table']}
where it_id > '$it_id'
and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."'
and it_use = '1'
order by it_id asc
limit 1 ";
$row = sql_fetch($sql);
if ($row['it_id']) {
$prev_title = '이전상품보기 '.$row['it_name'];
$prev_href = '<a href="./item.php?it_id='.$row['it_id'].'">';
$prev_href = '</a>';
} else {
$prev_title = '';
$prev_href = '';
$prev_href2 = '';
}
// 다음 상품보기
$sql = " select it_id, it_name from {$g4['shop_item_table']}
where it_id < '$it_id'
and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."'
and it_use = '1'
order by it_id desc
limit 1 ";
$row = sql_fetch($sql);
if ($row['it_id']) {
$next_title = '다음 상품 '.$row['it_name'];
$next_href = '<a href="./item.php?it_id='.$row['it_id'].'">';
$next_href2 = '</a>';
} else {
$next_title = '';
$next_href = '';
$next_href2 = '';
}
// 관련상품의 갯수를 얻음
$sql = " select count(*) as cnt
from {$g4['shop_item_relation_table']} a
left join {$g4['shop_item_table']} b on (a.it_id2=b.it_id and b.it_use='1')
where a.it_id = '{$it['it_id']}' ";
$row = sql_fetch($sql);
$item_relation_count = $row['cnt'];
?>
<?php
function pg_anchor($anc_id) {
global $default;
?>
<ul class="sanchor">
<li><a href="#sit_inf" <?php if ($anc_id == 'inf') echo 'class="sanchor_on"'; ?>>상품정보</a></li>
<li><a href="#sit_ps" <?php if ($anc_id == 'ps') echo 'class="sanchor_on"'; ?>>사용후기 <span class="item_use_count"></span></a></li>
<li><a href="#sit_qna" <?php if ($anc_id == 'qna') echo 'class="sanchor_on"'; ?>>상품문의 <span class="item_qa_count"></span></a></li>
<?php if ($default['de_baesong_content']) { ?><li><a href="#sit_dvr" <?php if ($anc_id == 'dvr') echo 'class="sanchor_on"'; ?>>배송정보</a></li><?php } ?>
<?php if ($default['de_change_content']) { ?><li><a href="#sit_ex" <?php if ($anc_id == 'ex') echo 'class="sanchor_on"'; ?>>교환정보</a></li><?php } ?>
<li><a href="#sit_rel" <?php if ($anc_id == 'rel') echo 'class="sanchor_on"'; ?>>관련상품 <span class="item_relation_count"></span></a></li>
</ul>
<?php } ?>
<script src="<?php echo G4_JS_URL; ?>/md5.js"></script>
<?php
if (G4_HTTPS_DOMAIN)
$action_url = G4_HTTPS_DOMAIN.'/'.G4_SHOP_DIR.'/cartupdate.php';
else
$action_url = './cartupdate.php';
?>
<div id="sit">
<form name="fitem" action="<?php echo $action_url; ?>" method="post">
<input type="hidden" name="it_id" value="<?php echo $it['it_id']; ?>">
<input type="hidden" name="it_name" value="<?php echo $it['it_name']; ?>">
<input type="hidden" name="sw_direct">
<input type="hidden" name="url">
<div id="sit_ov_wrap">
<div id="sit_pvi">
<?php
$img_big = $it['it_id'].'_l1'; // 기본이미지(대)
?>
<div id="sit_pvi_big">
<a href="<?php echo G4_SHOP_URL; ?>/largeimage.php?it_id=<?php echo $it['it_id']; ?>&amp;img=<?php echo $img_big; ?>" id="<?php echo $img_big; ?>" class="popup_item_image" target="_blank"><img src="<?php echo G4_DATA_URL; ?>/item/<?php echo $img_big; ?>" alt=""></a>
</div>
<?php
// 이미지(중) 썸네일
for ($i=1; $i<=5; $i++)
{
if ($i == 1) echo '<ul id="sit_pvi_thumb">';
if ($i == 5) $sit_pvi_last = 'class="li_last"';
echo '<li '.$sit_pvi_last.'>';
if (file_exists(G4_DATA_PATH.'/item/'.$it_id.'_l'.$i))
{
echo get_large_image($it_id.'_'.$i, $it['it_id'], false);
if ($i==1 && file_exists(G4_DATA_PATH.'/item/'.$it_id.'_s'))
echo '<a href="#sit_pvi_big" id="'.$it_id.'_s" class="img_thumb"><img src="'.G4_DATA_URL.'/item/'.$it_id.'_s" alt="" id="sit_pvi_t'.$i.'" ';
else
echo '<a href="#sit_pvi_big" id="'.$it_id.'_l'.$i.'" class="img_thumb"><img src="'.G4_DATA_URL.'/item/'.$it_id.'_l'.$i.'" alt="" id="sit_pvi_t'.$i.'" ';
//echo ' onmouseover="document.getElementById(\''.$middle_image.'\').src=document.getElementById(\'middle'.$i.'\').src;">';
echo '></a>';
}
echo '</li>';
}
if ($i > 1) echo '</ul>';
?>
</div>
<?php //echo it_name_icon($it, false, 0); ?>
<section id="sit_ov">
<h2>상품간략정보 및 구매기능</h2>
<strong id="sit_title"><?php echo stripslashes($it['it_name']); ?></strong><br>
<span id="sit_desc"><?php echo $it['it_basic']; ?></span>
<?php if ($score = get_star_image($it['it_id'])) { ?>
<div id="sit_star_sns">
<?php
$sns_title = get_text($it['it_name']).' | '.get_text($config['cf_title']);
$sns_send = G4_SHOP_URL.'/sns_send.php?url='.urlencode(G4_SHOP_URL.'/item.php?it_id='.$it['it_id']);
$sns_send .= '&amp;title='.urlencode(cut_str($sns_title, 100));
?>
고객선호도 <span>별<?php echo $score?>개</span>
<img src="<?php echo G4_URL; ?>/img/shop/s_star<?php echo $score?>.png" alt="" class="sit_star">
<a href="<?php echo $sns_send; ?>&amp;sns=facebook" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_fb2.png" alt="페이스북에 공유"></a>
<a href="<?php echo $sns_send; ?>&amp;sns=twitter" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_twt2.png" alt="트위터에 공유"></a>
<a href="<?php echo $sns_send; ?>&amp;sns=google" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_goo2.png" alt="구글플러스에 공유"></a>
</div>
<?php } ?>
<table id="sit_ov_tbl">
<colgroup>
<col class="grid_3">
<col>
</colgroup>
<tbody>
<?php if ($it['it_maker']) { ?>
<tr>
<th scope="row">제조사</th>
<td><?php echo $it['it_maker']; ?></td>
</tr>
<?php } ?>
<?php if ($it['it_origin']) { ?>
<tr>
<th scope="row">원산지</th>
<td><?php echo $it['it_origin']; ?></td>
</tr>
<?php } ?>
<?php
// 선택옵션 출력
for ($i=1; $i<=6; $i++)
{
// 옵션에 문자가 존재한다면
$str = get_item_options(trim($it['it_opt'.$i.'_subject']), trim($it['it_opt'.$i]), $i);
if ($str)
{
echo '<tr>'.PHP_EOL;
echo '<th scope="row"><label for="sit_opt_'.$i.'">'.$it['it_opt'.$i.'_subject'].'</label></th>'.PHP_EOL;
echo '<td style="word-break:break-all;">'.$str.'</td>'.PHP_EOL;
echo '</tr>'.PHP_EOL;
}
}
?>
<?php if (!$it['it_gallery']) { // 갤러리 형식이라면 가격, 구매하기 출력하지 않음 ?>
<?php if ($it['it_tel_inq']) { // 전화문의일 경우 ?>
<tr>
<th scope="row">판매가격</th>
<td>전화문의</td>
</tr>
<?php } else { // 전화문의가 아닐 경우?>
<?php if ($it['it_cust_amount']) { // 1.00.03?>
<tr>
<th scope="row"><label for="disp_cust_amount">시중가격</label></th>
<td>
<input type="text" name="disp_cust_amount" value="<?php echo number_format($it['it_cust_amount']); ?>" id="disp_cust_amount" readonly class="sit_ov_ro" size="8"> 원
</td>
</tr>
<?php } // 전화문의 끝?>
<tr>
<th scope="row"><label for="disp_sell_amount">판매가격</label></th>
<td>
<input type="text" name="disp_sell_amount" id="disp_sell_amount" readonly class="sit_ov_ro" size="8"> 원
<input type="hidden" name="it_amount" value="0">
</td>
</tr>
<?php
/* 재고 표시하는 경우 주석 해제
<tr>
<th scope="row">재고수량</th>
<td><?php echo number_format(get_it_stock_qty($it_id)); ?> 개</td>
</tr>
*/
?>
<?php if ($config['cf_use_point']) { // 포인트 사용한다면 ?>
<tr>
<th scope="row"><label for="disp_point">포인트</label></th>
<td>
<input type="text" name="disp_point" id="disp_point" readonly class="sit_ov_ro" size="8"> 점
<input type="hidden" name="it_point" value="0">
</td>
</tr>
<?php } ?>
<tr>
<th scope="row">수량</th>
<td>
<input type="text" name="ct_qty" value="1" class="sit_ov_input" size="4" maxlength="4" autocomplete="off" onkeyup="amount_change()">
<button type="button" onclick="javascript:qty_add(+1);" class="btn_frmline"><span class="sound_only">수량 1개 </span>증가</button>
<button type="button" onclick="javascript:qty_add(-1);" class="btn_frmline"><span class="sound_only">수량 1개 </span>감소</button>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<ul id="sit_ov_btn">
<?php if (!$it['it_tel_inq'] && !$it['it_gallery']) { ?>
<li><a href="javascript:fitemcheck(document.fitem, 'direct_buy');" id="sit_btn_buy">바로구매</a></li>
<li><a href="javascript:fitemcheck(document.fitem, 'cart_update');" id="sit_btn_cart">장바구니</a></li>
<?php } ?>
<?php if (!$it['it_gallery']) { ?>
<li><a href="javascript:item_wish(document.fitem, '<?php echo $it['it_id']; ?>');" id="sit_btn_wish">위시리스트</a></li>
<li><a href="javascript:popup_item_recommend('<?php echo $it['it_id']; ?>');" id="sit_btn_rec">추천하기</a></li>
<?php } ?>
</ul>
<script>
// 상품보관
function item_wish(f, it_id)
{
f.url.value = "<?php echo G4_SHOP_URL; ?>/wishupdate.php?it_id="+it_id;
f.action = "<?php echo G4_SHOP_URL; ?>/wishupdate.php";
f.submit();
}
// 추천메일
function popup_item_recommend(it_id)
{
if (!g4_is_member)
{
if (confirm("회원만 추천하실 수 있습니다."))
document.location.href = "<?php echo G4_BBS_URL; ?>/login.php?url=<?php echo urlencode(G4_SHOP_URL."/item.php?it_id=$it_id"); ?>";
}
else
{
url = "./itemrecommend.php?it_id=" + it_id;
opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
popup_window(url, "itemrecommend", opt);
}
}
</script>
</section>
</div>
</form>
<aside id="sit_siblings">
<h2>다른 상품 보기</h2>
<?php
if ($prev_href || $next_href) {
echo $prev_href.$prev_title.$prev_href2;
echo $next_href.$next_title.$next_href2;
} else {
echo '<span class="sound_only">이 분류에 등록된 다른 상품이 없습니다.</span>';
}
?>
</aside>
<script>
function click_item(id)
{
<?php
echo "var str = 'item_explan,item_use,item_qa";
if ($default['de_baesong_content']) echo ",item_baesong";
if ($default['de_change_content']) echo ",item_change";
echo ",item_relation';";
?>
var s = str.split(',');
for (i=0; i<s.length; i++)
{
if (id=='*')
document.getElementById(s[i]).style.display = 'block';
else
document.getElementById(s[i]).style.display = 'none';
}
if (id!='*')
document.getElementById(id).style.display = 'block';
}
</script>
<section id="sit_inf">
<h2>상품 정보</h2>
<?php echo pg_anchor('inf'); ?>
<?php if ($it['it_basic']) { // 상품 기본설명 ?>
<div id="sit_inf_basic">
<?php echo $it['it_basic']; ?>
</div>
<?php } ?>
<?php if ($it['it_explan']) { // 상품 상세설명 ?>
<div id="sit_inf_explan">
<?php echo conv_content($it['it_explan'], 1); ?>
</div>
<?php } ?>
<h3>상품 정보 고시</h3>
<?php
$sql = " select * from {$g4['shop_item_info_table']} where it_id = '$it_id' order by ii_id ";
$result = sql_query($sql, false);
if (@mysql_num_rows($result)) {
?>
<!-- 상품정보고시 -->
<table id="sit_inf_open">
<colgroup>
<col class="grid_4">
<col>
</colgroup>
<tbody>
<?php
for ($i=0; $row=sql_fetch_array($result); $i++) {
?>
<tr valign="top">
<th scope="row"><?php echo $row['ii_title']; ?></th>
<td><?php echo $row['ii_value']; ?></th>
</tr>
<?php } //for?>
</tbody>
</table>
<!-- 상품정보고시 end -->
<?php } //if?>
</section>
<!-- 상품설명 end -->
<section id="sit_ps">
<h2>사용후기</h2>
<?php echo pg_anchor('ps'); ?>
<?php
$use_page_rows = 10; // 페이지당 목록수
include_once('./itemuse.inc.php');
?>
</section>
<section id="sit_qna">
<h2>상품문의</h2>
<?php echo pg_anchor('qna'); ?>
<?php
$qa_page_rows = 10; // 페이지당 목록수
include_once('./itemqa.inc.php');
?>
</section>
<?php if ($default['de_baesong_content']) { // 배송정보 내용이 있다면 ?>
<section id="sit_dvr">
<h2>배송정보</h2>
<?php echo pg_anchor('dvr'); ?>
<?php echo conv_content($default['de_baesong_content'], 1); ?>
</section>
<?php } ?>
<?php if ($default['de_change_content']) { // 교환/반품 내용이 있다면 ?>
<section id="sit_ex">
<h2>교환/반품</h2>
<?php echo pg_anchor('ex'); ?>
<?php echo conv_content($default['de_change_content'], 1); ?>
</section>
<?php } ?>
<section id="sit_rel">
<h2>관련상품</h2>
<?php echo pg_anchor('rel'); ?>
<div class="sct_wrap">
<?php
$list_mod = $default['de_rel_list_mod'];
$img_width = $default['de_rel_img_width'];
$img_height = $default['de_rel_img_height'];
$td_width = (int)(100 / $list_mod);
$sql = " select b.*
from {$g4['shop_item_relation_table']} a
left join {$g4['shop_item_table']} b on (a.it_id2=b.it_id)
where a.it_id = '{$it['it_id']}'
and b.it_use='1' ";
$result = sql_query($sql);
$num = @mysql_num_rows($result);
if ($num)
include G4_SHOP_PATH.'/maintype10.inc.php';
else
echo '<p class="sit_empty">이 상품과 관련된 상품이 없습니다.</p>';
?>
</div>
</section>
<script>
$(function(){
// 이미지 미리보기
$("#sit_pvi .img_thumb").bind("hover focus", function(){
var img_src = $(this).attr("id").replace("_s", "_l1");
$("#sit_pvi_big img").attr("src","<?php echo G4_DATA_URL; ?>/item/"+img_src); // 이미지 소스 교체
$("#sit_pvi_big a").attr("id", img_src);
});
// 상품이미지 크게보기
$(".popup_item_image").click(function() {
var it_id = "<?php echo $it['it_id']; ?>";
var img = $(this).attr("id");
var top = 10;
var left = 10;
var url = "<?php echo G4_SHOP_URL; ?>/largeimage.php?it_id=" + it_id + "&img=" + img;
var opt = 'scrollbars=yes,top='+top+',left='+left;
popup_window(url, "largeimage", opt);
return false;
});
$(".item_use_count").text("<?php echo $use_total_count; ?>");
$(".item_qa_count").text("<?php echo $qa_total_count; ?>");
$(".item_relation_count").text("<?php echo $item_relation_count; ?>");
});
function qty_add(num)
{
var f = document.fitem;
var qty = parseInt(f.ct_qty.value);
if (num < 0 && qty <= 1)
{
alert("수량은 1 이상만 가능합니다.");
qty = 1;
}
else if (num > 0 && qty >= 9999)
{
alert("수량은 9999 이하만 가능합니다.");
qty = 9999;
}
else
{
qty = qty + num;
}
f.ct_qty.value = qty;
amount_change();
}
function get_amount(data)
{
var str = data.split(";");
var num = parseInt(str[1]);
if (isNaN(num)) {
return 0;
} else {
return num;
}
}
function amount_change()
{
var basic_amount = parseInt("<?php echo get_amount($it); ?>");
var basic_point = parseFloat("<?php echo $it['it_point']; ?>");
var cust_amount = parseFloat("<?php echo $it['it_cust_amount']; ?>");
var f = document.fitem;
var opt1 = 0;
var opt2 = 0;
var opt3 = 0;
var opt4 = 0;
var opt5 = 0;
var opt6 = 0;
var ct_qty = 0;
if (typeof(f.ct_qty) != 'undefined')
ct_qty = parseInt(f.ct_qty.value);
if (typeof(f.it_opt1) != 'undefined') opt1 = get_amount(f.it_opt1.value);
if (typeof(f.it_opt2) != 'undefined') opt2 = get_amount(f.it_opt2.value);
if (typeof(f.it_opt3) != 'undefined') opt3 = get_amount(f.it_opt3.value);
if (typeof(f.it_opt4) != 'undefined') opt4 = get_amount(f.it_opt4.value);
if (typeof(f.it_opt5) != 'undefined') opt5 = get_amount(f.it_opt5.value);
if (typeof(f.it_opt6) != 'undefined') opt6 = get_amount(f.it_opt6.value);
var amount = basic_amount + opt1 + opt2 + opt3 + opt4 + opt5 + opt6;
var point = parseInt(basic_point);
if (typeof(f.it_amount) != 'undefined')
f.it_amount.value = amount;
if (typeof(f.disp_sell_amount) != 'undefined')
f.disp_sell_amount.value = number_format(String(amount * ct_qty));
if (typeof(f.disp_cust_amount) != 'undefined')
f.disp_cust_amount.value = number_format(String(cust_amount * ct_qty));
if (typeof(f.it_point) != 'undefined') {
f.it_point.value = point;
f.disp_point.value = number_format(String(point * ct_qty));
}
}
<?php if (!$it['it_gallery']) { echo "amount_change();"; } // 처음시작시 한번 실행 ?>
// 바로구매 또는 장바구니 담기
function fitemcheck(f, act)
{
// 판매가격이 0 보다 작다면
if (f.it_amount.value < 0)
{
alert("전화로 문의해 주시면 감사하겠습니다.");
return;
}
for (i=1; i<=6; i++)
{
if (typeof(f.elements["it_opt"+i]) != 'undefined')
{
if (f.elements["it_opt"+i].value == '선택') {
alert(f.elements["it_opt"+i+"_subject"].value + '을(를) 선택하여 주십시오.');
f.elements["it_opt"+i].focus();
return;
}
}
}
if (act == "direct_buy") {
f.sw_direct.value = 1;
} else {
f.sw_direct.value = 0;
}
if (!f.ct_qty.value) {
alert("수량을 입력해 주십시오.");
f.ct_qty.focus();
return;
} else if (isNaN(f.ct_qty.value)) {
alert("수량을 숫자로 입력해 주십시오.");
f.ct_qty.select();
f.ct_qty.focus();
return;
} else if (parseInt(f.ct_qty.value) < 1) {
alert("수량은 1 이상 입력해 주십시오.");
f.ct_qty.focus();
return;
}
amount_change();
f.submit();
}
function addition_write(element_id)
{
if (element_id.style.display == 'none') { // 안보이면 보이게 하고
element_id.style.display = 'block';
} else { // 보이면 안보이게 하고
element_id.style.display = 'none';
}
}
var save_use_id = null;
function use_menu(id)
{
if (save_use_id != null)
document.getElementById(save_use_id).style.display = "none";
menu(id);
save_use_id = id;
}
var save_qa_id = null;
function qa_menu(id)
{
if (save_qa_id != null)
document.getElementById(save_qa_id).style.display = "none";
menu(id);
save_qa_id = id;
}
// 상품상세설명에 있는 이미지의 사이즈를 줄임
// 삭제 대상 - 지운아빠 2013-05-03
function explan_resize_image()
{
var image_width = 600;
var div_explan = document.getElementById('div_explan');
if (div_explan) {
var explan_img = div_explan.getElementsByTagName('img');
for(i=0;i<explan_img.length;i++)
{
//document.write(explan_img[i].src+"<br>");
img = explan_img[i];
if (img.width) {
imgx = parseInt(img.width);
imgy = parseInt(img.height);
}
else {
imgx = parseInt(img.style.width);
imgy = parseInt(img.style.height);
}
if (imgx > image_width)
{
image_height = parseFloat(imgx / imgy)
if (img.width) {
img.width = image_width;
img.height = parseInt(image_width / image_height);
}
else {
img.style.width = image_width;
img.style.height = parseInt(image_width / image_height);
}
}
/*
// 이미지를 가운데로 정렬하는 경우에 주석을 풀어줌
img.style.position = 'relative';
img.style.left = '50%';
img.style.marginLeft = '-300px'; // image_width 의 절반
*/
}
}
}
</script>
<!-- 삭제 대상 -지운아빠 2013-05-03 -->
<script type="text/javascript">
$(function() {
explan_resize_image();
});
</script>
</div><!-- #sit 끝 -->
<?php
// 하단 HTML
echo stripslashes($it['it_mobiletail_html']);
include_once('./_tail.php');
?>

View File

@ -0,0 +1,192 @@
<?php
/* ============================================================================== */
/* = PAGE : 라이브버리 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2010.02 KCP Co., Ltd. All Rights Reserved. = */
/* = -------------------------------------------------------------------------- = */
/* + 이 모듈에 대한 수정을 금합니다. + */
/* ============================================================================== */
/* ============================================================================== */
/* + SOAP 연동 CALSS + */
/* ============================================================================== */
class ApproveReq
{
public $accessCredentialType; // AccessCredentialType
public $baseRequestType; // BaseRequestType
public $escrow; // boolean
public $orderID; // string
public $paymentAmount; // string
public $paymentMethod; // string
public $productName; // string
public $returnUrl; // string
public $siteCode; // string
}
class ApproveRes
{
public $approvalKey; // string
public $baseResponseType; // BaseResponseType
public $payUrl; // string
}
class approve
{
public $req; // ApproveReq
}
class approveResponse
{
public $return; // ApproveRes
}
class AccessCredentialType
{
public $accessLicense; // string
public $signature; // string
public $timestamp; // string
}
class BaseRequestType
{
public $detailLevel; // string
public $requestApp; // string
public $requestID; // string
public $userAgent; // string
public $version; // string
}
class BaseResponseType
{
public $detailLevel; // string
public $error; // ErrorType
public $messageID; // string
public $release; // string
public $requestID; // string
public $responseType; // string
public $timestamp; // string
public $version; // string
public $warningList; // ErrorType
}
class ErrorType
{
public $code; // string
public $detail; // string
public $message; // string
}
class PayService extends SoapClient
{
private static $classmap = array(
'ApproveReq' => 'ApproveReq',
'ApproveRes' => 'ApproveRes',
'approve' => 'approve',
'approveResponse' => 'approveResponse',
'AccessCredentialType' => 'AccessCredentialType',
'BaseRequestType' => 'BaseRequestType',
'BaseResponseType' => 'BaseResponseType',
'ErrorType' => 'ErrorType',
);
var $chatsetType;
var $accessCredentialType;
var $baseRequestType;
var $approveReq;
var $approveResponse;
var $resCD;
var $resMsg;
public function PayService( $wsdl = "", $options = array() )
{
foreach( self::$classmap as $key => $value )
{
if ( !isset( $options[ 'classmap' ][ $key ] ) )
{
$options[ 'classmap' ][ $key ] = $value;
}
}
parent::__construct( $wsdl, $options );
$accessCredentialType = null;
$baseRequestType = null;
$approveReq = null;
$resCD = "95XX";
$resMsg = "연동 오류";
}
public function setCharSet( $charsetType )
{
$this->chatsetType = $charsetType;
}
public function setAccessCredentialType( $accessLicense,
$signature,
$timestamp )
{
$this->accessCredentialType = new AccessCredentialType();
$this->accessCredentialType->accessLicense = $accessLicense;
$this->accessCredentialType->signature = $signature;
$this->accessCredentialType->timestamp = $timestamp;
}
public function setBaseRequestType( $detailLevel,
$requestApp,
$requestID,
$userAgent,
$version )
{
$this->baseRequestType = new BaseRequestType();
$this->baseRequestType->detailLevel = $detailLevel;
$this->baseRequestType->requestApp = $requestApp;
$this->baseRequestType->requestID = $requestID;
$this->baseRequestType->userAgent = $userAgent;
$this->baseRequestType->version = $version;
}
public function setApproveReq( $escrow,
$orderID,
$paymentAmount,
$paymentMethod,
$productName,
$returnUrl,
$siteCode )
{
$this->approveReq = new ApproveReq();
$productName_utf8 = ( $this->chatsetType == "euc-kr" ) ? iconv( "EUC-KR", "UTF-8", $productName ) : $productName;
$this->approveReq->accessCredentialType = $this->accessCredentialType;
$this->approveReq->baseRequestType = $this->baseRequestType;
$this->approveReq->escrow = $escrow;
$this->approveReq->orderID = $orderID;
$this->approveReq->paymentAmount = $paymentAmount;
$this->approveReq->paymentMethod = $paymentMethod;
$this->approveReq->productName = $productName_utf8;
$this->approveReq->returnUrl = $returnUrl;
$this->approveReq->siteCode = $siteCode;
}
public function approve()
{
$approve = new approve();
$approve->req = $this->approveReq;
$this->approveResponse = $this->__soapCall( "approve", array( $approve ),
array( 'uri' => 'http://webservice.act.webpay.service.kcp.kr',
'soapaction' => ''
)
);
$this->resCD = $this->approveResponse->return->baseResponseType->error->code;
$this->resMsg = $this->approveResponse->return->baseResponseType->error->message;
return $this->approveResponse->return;
}
}

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax21="http://payment.domain.webpay.service.kcp.kr/xsd" xmlns:ns="http://webservice.act.webpay.service.kcp.kr" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ax22="http://domain.webpay.service.kcp.kr/xsd" targetNamespace="http://webservice.act.webpay.service.kcp.kr">
<wsdl:types>
<xs:schema xmlns:ax23="http://domain.webpay.service.kcp.kr/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://payment.domain.webpay.service.kcp.kr/xsd">
<xs:import namespace="http://domain.webpay.service.kcp.kr/xsd"/>
<xs:complexType name="ApproveReq">
<xs:sequence>
<xs:element minOccurs="0" name="accessCredentialType" nillable="true" type="ax22:AccessCredentialType"/>
<xs:element minOccurs="0" name="baseRequestType" nillable="true" type="ax22:BaseRequestType"/>
<xs:element minOccurs="0" name="escrow" type="xs:boolean"/>
<xs:element minOccurs="0" name="orderID" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="paymentAmount" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="paymentMethod" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="productName" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="returnUrl" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="siteCode" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApproveRes">
<xs:sequence>
<xs:element minOccurs="0" name="approvalKey" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="baseResponseType" nillable="true" type="ax22:BaseResponseType"/>
<xs:element minOccurs="0" name="payUrl" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<xs:schema xmlns:ax24="http://payment.domain.webpay.service.kcp.kr/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://webservice.act.webpay.service.kcp.kr">
<xs:import namespace="http://payment.domain.webpay.service.kcp.kr/xsd"/>
<xs:element name="approve">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="req" nillable="true" type="ax24:ApproveReq"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="approveResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" nillable="true" type="ax24:ApproveRes"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.webpay.service.kcp.kr/xsd">
<xs:complexType name="AccessCredentialType">
<xs:sequence>
<xs:element minOccurs="0" name="accessLicense" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="signature" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="timestamp" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BaseRequestType">
<xs:sequence>
<xs:element minOccurs="0" name="detailLevel" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="requestApp" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="requestID" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="userAgent" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="version" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BaseResponseType">
<xs:sequence>
<xs:element minOccurs="0" name="detailLevel" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="error" nillable="true" type="ax22:ErrorType"/>
<xs:element minOccurs="0" name="messageID" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="release" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="requestID" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="responseType" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="timestamp" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="version" nillable="true" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="warningList" nillable="true" type="ax22:ErrorType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ErrorType">
<xs:sequence>
<xs:element minOccurs="0" name="code" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="detail" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="approveRequest">
<wsdl:part name="parameters" element="ns:approve"/>
</wsdl:message>
<wsdl:message name="approveResponse">
<wsdl:part name="parameters" element="ns:approveResponse"/>
</wsdl:message>
<wsdl:portType name="PayServicePortType">
<wsdl:operation name="approve">
<wsdl:input message="ns:approveRequest" wsaw:Action="urn:approve"/>
<wsdl:output message="ns:approveResponse" wsaw:Action="urn:approveResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PayServiceSoap11Binding" type="ns:PayServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="approve">
<soap:operation soapAction="urn:approve" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="PayServiceSoap12Binding" type="ns:PayServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="approve">
<soap12:operation soapAction="urn:approve" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="PayServiceHttpBinding" type="ns:PayServicePortType">
<http:binding verb="POST"/>
<wsdl:operation name="approve">
<http:operation location="PayService/approve"/>
<wsdl:input>
<mime:content type="text/xml" part="approve"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="approve"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PayService">
<wsdl:port name="PayServiceHttpSoap11Endpoint" binding="ns:PayServiceSoap11Binding">
<soap:address location="https://devpggw.kcp.co.kr:8100/services/KCPPaymentService"/>
</wsdl:port>
<wsdl:port name="PayServiceHttpSoap12Endpoint" binding="ns:PayServiceSoap12Binding">
<soap12:address location="https://devpggw.kcp.co.kr:8100/services/KCPPaymentService"/>
</wsdl:port>
<wsdl:port name="PayServiceHttpEndpoint" binding="ns:PayServiceHttpBinding">
<http:address location="https://devpggw.kcp.co.kr:8100/services/KCPPaymentService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@ -0,0 +1,112 @@
var isIE = false;
var req01_AJAX;
var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_INTERACTIVE = 3;
var READY_STATE_COMPLETE = 4;
var PayUrl ="";
function displayElement( targetObj, targetText, targetColor )
{
if ( targetObj.childNodes.length > 0 )
{
targetObj.replaceChild( document.createTextNode( targetText ), targetObj.childNodes[ 0 ] );
} else
{
targetObj.appendChild( document.createTextNode( targetText ) );
}
targetObj.style.color = targetColor;
}
function clearElement( targetObj )
{
for ( i = ( targetObj.childNodes.length - 1 ); i >= 0; i-- )
{
targetObj.removeChild( targetObj.childNodes[ i ] );
}
}
function initRequest()
{
if ( window.XMLHttpRequest )
{
return new XMLHttpRequest();
} else if ( window.ActiveXObject )
{
isIE = true;
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
}
function sendRequest( url )
{
req01_AJAX = null;
req01_AJAX = initRequest();
if ( req01_AJAX )
{
req01_AJAX.onreadystatechange = process_AJAX;
req01_AJAX.open( "POST", url, true );
req01_AJAX.send( null );
}
}
function kcp_AJAX()
{
var url = "./order_approval.php";
var form = document.sm_form;
var params = "?site_cd=" + form.site_cd.value
+ "&ordr_idxx=" + form.ordr_idxx.value
+ "&good_mny=" + form.good_mny.value
+ "&pay_method=" + form.pay_method.value
+ "&escw_used=" + form.escw_used.value
+ "&good_name=" + form.good_name.value
+ "&Ret_URL=" + form.Ret_URL.value;
sendRequest( url + params );
}
function process_AJAX()
{
if ( req01_AJAX.readyState == READY_STATE_COMPLETE )
{
if ( req01_AJAX.status == 200 )
{
var result = null;
if ( req01_AJAX.responseText != null )
{
var txt = req01_AJAX.responseText.split(",");
if( txt[0].replace(/^\s*/,'').replace(/\s*$/,'') == '0000' )
{
document.getElementById("approval").value = txt[1].replace(/^\s*/,'').replace(/\s*$/,'');
PayUrl = txt[2].replace(/^\s*/,'').replace(/\s*$/,'');
alert("성공적으로 거래가 등록 되었습니다.");
call_pay_form();
}
else
{
alert("실패 되었습니다.[" + txt[3].replace(/^\s*/,'').replace(/\s*$/,'') + "]");
}
}
}
else
{
alert( req01_AJAX.responseText );
}
}
else if ( req01_AJAX.readyState == READY_STATE_UNINITIALIZED )
{
}
else if ( req01_AJAX.readyState == READY_STATE_LOADING )
{
}
else if ( req01_AJAX.readyState == READY_STATE_LOADED )
{
}
else if ( req01_AJAX.readyState == READY_STATE_INTERACTIVE )
{
}
}

BIN
mobile/shop/kcp/bin/pp_cli Executable file

Binary file not shown.

135
mobile/shop/kcp/cancel.php Normal file
View File

@ -0,0 +1,135 @@
<?
/* ============================================================================== */
/* = PAGE : 취소 요청 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = 아래의 ※ 주의 ※ 부분을 꼭 참고하시여 연동을 진행하시기 바랍니다. = */
/* = -------------------------------------------------------------------------- = */
/* = 연동시 오류가 발생하는 경우 아래의 주소로 접속하셔서 확인하시기 바랍니다.= */
/* = 접속 주소 : http://testpay.kcp.co.kr/pgsample/FAQ/search_error.jsp = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2010.02 KCP Inc. All Rights Reserverd. = */
/* ============================================================================== */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>*** KCP [AX-HUB Version] ***</title>
<link href="css/sample.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
// 취소 버튼을 눌렀을 때 호출
function jsf__go_cancel( form )
{
var RetVal = false ;
if ( form.tno.value.length < 14 )
{
alert( "KCP 거래 번호를 입력하세요" );
form.tno.focus();
form.tno.select();
}
else
{
openwin = window.open( "proc_win.html", "proc_win", "width=449, height=209, top=300, left=300" );
RetVal = true ;
}
return RetVal ;
}
</script>
</head>
<body>
<div align="center">
<?
/* ============================================================================== */
/* = 1. 취소 요청 정보 입력 폼(cancel_info) = */
/* = -------------------------------------------------------------------------- = */
/* = 취소 요청에 필요한 정보를 설정합니다. = */
/* = -------------------------------------------------------------------------- = */
?>
<form name="cancel_info" method="post" action="pp_ax_hub.php">
<table width="589" cellspacing="0" cellpadding="0">
<tr style="height:14px"><td style="background-image:url('./img/boxtop589.gif')"></td></tr>
<tr>
<td style="background-image:url('./img/boxbg589.gif')" align="center">
<!-- 상단 테이블 Start -->
<table width="551" cellspacing="0" cellpadding="16">
<tr style="height:17px">
<td style="background-image:url('./img/ttbg551.gif');border:0px" class="white">
<span class="bold big">[취소요청]</span> 이 페이지는 결제건에 대해 취소를 요청하는 샘플(예시) 페이지입니다.
</td>
</tr>
<tr>
<td style="background-image:url('./img/boxbg551.gif') ;">
<p class="align_left">소스 수정시 소스 안에 <span class="red bold">※ 주의 ※</span>표시가 포함된 문장은
가맹점의 상황에 맞게 적절히 수정 적용하시기 바랍니다.</p>
<p class="align_left">이 페이지는 결제된 건에 대한 취소를 요청하는 페이지 입니다.</p>
<p class="align_left">
결제가 승인되면 결과값으로 KCP 거래번호(tno)값을 받으실 수 있습니다..<br/>
가맹점에서는 이 KCP 거래번호(tno)값으로 취소요청을 하실 수 있습니다.</p>
</td>
</tr>
<tr style="height:11px"><td style="background:url('./img/boxbtm551.gif') no-repeat;"></td></tr>
</table>
<!-- 상단 테이블 End -->
<!-- 취소 요청 정보 입력 테이블 Start -->
<table width="527" cellspacing="0" cellpadding="0" class="margin_top_20">
<tr><td colspan="2" class="title">취소 요청 정보</td></tr>
<!-- 요청 구분 : 취소 -->
<tr>
<td class="sub_title1">요청 구분</td>
<td class="sub_content1 bold">취소 요청</td>
</tr>
<!-- Input : 결제된 건의 거래번호(14 byte) 입력 -->
<tr>
<td class="sub_title1">KCP 거래번호</td>
<td class="sub_input1"><input type="text" name="tno" value="" class="frminput" size="20" maxlength="14"/></td>
</tr>
<!-- Input : 변경 사유(mod_desc) 입력 -->
<tr>
<td class="sub_title1">변경 사유</td>
<td class="sub_input1"><input type="text" name="mod_desc" value="" class="frminput" size="30" maxlength="50"/></td>
</tr>
</table>
<!-- 취소 요청 정보 입력 테이블 End -->
<!-- 요청 버튼 테이블 Start -->
<table width="527" cellspacing="0" cellpadding="0" class="margin_top_20">
<!-- 취소 요청/처음으로 이미지 버튼 -->
<tr>
<td colspan="2" align="center">
<input type="image" src="./img/btn_cancel.gif" onclick="return jsf__go_cancel(this.form);" width="108" height="37" alt="취소를 요청합니다" /></a>
<a href="index.html"><img src="./img/btn_home.gif" width="108" height="37" alt="처음으로 이동합니다" /></a>
</td>
</tr>
</table>
<!-- 요청 버튼 테이블 End -->
</td>
</tr>
<tr><td><img src="./img/boxbtm589.gif" alt="Copyright(c) KCP Inc. All rights reserved."/></td></tr>
</table>
<?
/* ============================================================================== */
/* = 1-1. 취소 요청 필수 정보 설정 = */
/* = -------------------------------------------------------------------------- = */
/* = ※ 필수 - 반드시 필요한 정보입니다. = */
/* = -------------------------------------------------------------------------- = */
?>
<input type="hidden" name="req_tx" value="mod" />
<input type="hidden" name="mod_type" value="STSC" />
<?
/* = -------------------------------------------------------------------------- = */
/* = 1. 취소 요청 필수 정보 설정 End = */
/* ============================================================================== */
?>
</form>
</div>
</body>
</html>

View File

@ -0,0 +1,56 @@
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store");
header("Pragma: no-cache");
include "../settle_kcp.inc.php";
require "KCPComLibrary.php"; // library [수정불가]
?>
<?php
// 쇼핑몰 페이지에 맞는 문자셋을 지정해 주세요.
$charSetType = "utf-8"; // UTF-8인 경우 "utf-8"로 설정
$siteCode = $_GET[ "site_cd" ];
$orderID = $_GET[ "ordr_idxx" ];
$paymentMethod = $_GET[ "pay_method" ];
$escrow = ( $_GET[ "escw_used" ] == "Y" ) ? true : false;
$productName = $_GET[ "good_name" ];
// 아래 두값은 POST된 값을 사용하지 않고 서버에 SESSION에 저장된 값을 사용하여야 함.
$paymentAmount = $_GET[ "good_mny" ]; // 결제 금액
$returnUrl = $_GET[ "Ret_URL" ];
// Access Credential 설정
$accessLicense = "";
$signature = "";
$timestamp = "";
// Base Request Type 설정
$detailLevel = "0";
$requestApp = "WEB";
$requestID = $orderID;
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$version = "0.1";
try
{
$payService = new PayService( $g_wsdl );
$payService->setCharSet( $charSetType );
$payService->setAccessCredentialType( $accessLicense, $signature, $timestamp );
$payService->setBaseRequestType( $detailLevel, $requestApp, $requestID, $userAgent, $version );
$payService->setApproveReq( $escrow, $orderID, $paymentAmount, $paymentMethod, $productName, $returnUrl, $siteCode );
$approveRes = $payService->approve();
printf( "%s,%s,%s,%s", $payService->resCD, $approveRes->approvalKey,
$approveRes->payUrl, $payService->resMsg );
}
catch (SoapFault $ex )
{
printf( "%s,%s,%s,%s", "95XX", "", "", "연동 오류 (PHP SOAP 모듈 설치 필요)" );
}
?>

View File

@ -0,0 +1,319 @@
<?
/* ============================================================================== */
/* = PAGE : 결제 요청 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = 이 페이지는 주문 페이지를 통해서 결제자가 결제 요청을 하는 페이지 = */
/* = 입니다. 아래의 ※ 필수, ※ 옵션 부분과 매뉴얼을 참조하셔서 연동을 = */
/* = 진행하여 주시기 바랍니다. = */
/* = -------------------------------------------------------------------------- = */
/* = 연동시 오류가 발생하는 경우 아래의 주소로 접속하셔서 확인하시기 바랍니다.= */
/* = 접속 주소 : http://testpay.kcp.co.kr/pgsample/FAQ/search_error.jsp = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2010.05 KCP Inc. All Rights Reserved. = */
/* ============================================================================== */
?>
<?
/* ============================================================================== */
/* = 환경 설정 파일 Include = */
/* = -------------------------------------------------------------------------- = */
/* = ※ 필수 = */
/* = 테스트 및 실결제 연동시 site_conf_inc.php파일을 수정하시기 바랍니다. = */
/* = -------------------------------------------------------------------------- = */
include "../settle_kcp.inc.php"; // 환경설정 파일 include
?>
<?
/* = -------------------------------------------------------------------------- = */
/* = 환경 설정 파일 Include END = */
/* ============================================================================== */
?>
<?
/* kcp와 통신후 kcp 서버에서 전송되는 결제 요청 정보*/
$req_tx = $_POST[ "req_tx" ]; // 요청 종류
$res_cd = $_POST[ "res_cd" ]; // 응답 코드
$tran_cd = $_POST[ "tran_cd" ]; // 트랜잭션 코드
$ordr_idxx = $_POST[ "ordr_idxx" ]; // 쇼핑몰 주문번호
$good_name = $_POST[ "good_name" ]; // 상품명
$good_mny = $_POST[ "good_mny" ]; // 결제 총금액
$buyr_name = $_POST[ "buyr_name" ]; // 주문자명
$buyr_tel1 = $_POST[ "buyr_tel1" ]; // 주문자 전화번호
$buyr_tel2 = $_POST[ "buyr_tel2" ]; // 주문자 핸드폰 번호
$buyr_mail = $_POST[ "buyr_mail" ]; // 주문자 E-mail 주소
$use_pay_method = $_POST[ "use_pay_method" ]; // 결제 방법
$enc_info = $_POST[ "enc_info" ]; // 암호화 정보
$enc_data = $_POST[ "enc_data" ]; // 암호화 데이터
$rcvr_name = $_POST[ "rcvr_name" ]; // 수취인 이름
$rcvr_tel1 = $_POST[ "rcvr_tel1" ]; // 수취인 전화번호
$rcvr_tel2 = $_POST[ "rcvr_tel2" ]; // 수취인 휴대폰번호
$rcvr_mail = $_POST[ "rcvr_mail" ]; // 수취인 E-Mail
$rcvr_zipx = $_POST[ "rcvr_zipx" ]; // 수취인 우편번호
$rcvr_add1 = $_POST[ "rcvr_add1" ]; // 수취인 주소
$rcvr_add2 = $_POST[ "rcvr_add2" ]; // 수취인 상세주소
/* 주문폼에서 전송되는 정보 */
$ipgm_date = $_POST[ "ipgm_date" ]; // 입금마감일
$settle_method = $_POST[ "settle_method" ]; // 결제방법
$good_info = $_POST[ "good_info" ]; // 에스크로 상품정보
$bask_cntx = $_POST[ "bask_cntx" ]; // 장바구니 상품수
$tablet_size = $_POST[ "tablet_size" ]; // 모바일기기 화면비율
/*
* 기타 파라메터 추가 부분 - Start -
*/
$param_opt_1 = $_POST[ "param_opt_1" ]; // 기타 파라메터 추가 부분
$param_opt_2 = $_POST[ "param_opt_2" ]; // 기타 파라메터 추가 부분
$param_opt_3 = $_POST[ "param_opt_3" ]; // 기타 파라메터 추가 부분
/*
* 기타 파라메터 추가 부분 - End -
*/
/* kcp 데이터 캐릭터셋 변환 */
if($res_cd != '') {
$good_name = iconv('euc-kr', 'utf-8', $good_name);
$buyr_name = iconv('euc-kr', 'utf-8', $buyr_name);
$rcvr_name = iconv('euc-kr', 'utf-8', $rcvr_name);
$rcvr_add1 = iconv('euc-kr', 'utf-8', $rcvr_add1);
$rcvr_add2 = iconv('euc-kr', 'utf-8', $rcvr_add2);
}
switch($settle_method)
{
case '신용카드':
$pay_method = 'CARD';
$ActionResult = 'card';
break;
case '계좌이체':
$pay_method = 'BANK';
$ActionResult = 'acnt';
break;
case '휴대폰':
$pay_method = 'MOBX';
$ActionResult = 'mobx';
break;
case '가상계좌':
$pay_method = 'VCNT';
$ActionResult = 'vcnt';
break;
default:
$pay_method = '';
$ActionResult = '';
break;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<title>스마트폰 웹 결제창</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Cache-Control" content="No-Cache">
<meta http-equiv="Pragma" content="No-Cache">
<meta name="viewport" content="width=device-width; user-scalable=<?=$tablet_size?>; initial-scale=<?=$tablet_size?>; maximum-scale=<?=$tablet_size?>; minimum-scale=<?=$tablet_size?>">
<style type="text/css">
.LINE { background-color:#afc3ff }
.HEAD { font-family:"굴림","굴림체"; font-size:9pt; color:#065491; background-color:#eff5ff; text-align:left; padding:3px; }
.TEXT { font-family:"굴림","굴림체"; font-size:9pt; color:#000000; background-color:#FFFFFF; text-align:left; padding:3px; }
B { font-family:"굴림","굴림체"; font-size:13pt; color:#065491;}
INPUT { font-family:"굴림","굴림체"; font-size:9pt; }
SELECT{font-size:9pt;}
.COMMENT { font-family:"굴림","굴림체"; font-size:9pt; line-height:160% }
</style>
<!-- 거래등록 하는 kcp 서버와 통신을 위한 스크립트-->
<script src="./approval_key.js"></script>
<script language="javascript">
/* kcp web 결제창 호출 (변경불가)*/
function call_pay_form()
{
var v_frm = document.sm_form;
layer_cont_obj = document.getElementById("content");
layer_receipt_obj = document.getElementById("layer_receipt");
layer_cont_obj.style.display = "none";
layer_receipt_obj.style.display = "block";
v_frm.target = "frm_receipt";
v_frm.action = PayUrl;
if(v_frm.Ret_URL.value == "")
{
/* Ret_URL값은 현 페이지의 URL 입니다. */
alert("연동시 Ret_URL을 반드시 설정하셔야 됩니다.");
return false;
}
v_frm.submit();
}
/* kcp 통신을 통해 받은 암호화 정보 체크 후 결제 요청*/
function chk_pay()
{
/*kcp 결제서버에서 가맹점 주문페이지로 폼값을 보내기위한 설정(변경불가)*/
var sm_form = document.sm_form;
if (sm_form.res_cd.value == "3001" )
{
alert("사용자가 취소하였습니다.");
window.close();
return false;
}
else if (sm_form.res_cd.value == "3000" )
{
alert("30만원 이상 결제 할수 없습니다.");
window.close();
return false;
}
if (sm_form.enc_data.value != "" && sm_form.enc_info.value != "" && sm_form.tran_cd.value !="" )
{
var of = window.opener.document.pay_form;
of.req_tx.value = "<?=$req_tx?>";
of.res_cd.value = "<?=$res_cd?>";
of.tran_cd.value = "<?=$tran_cd?>";
of.ordr_idxx.value = "<?=$ordr_idxx?>";
of.good_mny.value = "<?=$good_mny?>";
of.good_name.value = "<?=$good_name?>";
of.buyr_name.value = "<?=$buyr_name?>";
of.buyr_tel1.value = "<?=$buyr_tel1?>";
of.buyr_tel2.value = "<?=$buyr_tel2?>";
of.buyr_mail.value = "<?=$buyr_mail?>";
of.enc_info.value = "<?=$enc_info?>";
of.enc_data.value = "<?=$enc_data?>";
of.use_pay_method = "<?=$use_pay_method?>";
of.rcvr_name.value = "<?=$rcvr_name?>";
of.rcvr_tel1.value = "<?=$rcvr_tel1?>";
of.rcvr_tel2.value = "<?=$rcvr_tel2?>";
of.rcvr_mail.value = "<?=$rcvr_mail?>";
of.rcvr_zipx.value = "<?=$rcvr_zipx?>";
of.rcvr_add1.value = "<?=$rcvr_add1?>";
of.rcvr_add2.value = "<?=$rcvr_add2?>";
of.param_opt_1.value = "<?=$param_opt_1?>";
of.param_opt_2.value = "<?=$param_opt_2?>";
of.param_opt_3.value = "<?=$param_opt_3?>";
var od = window.opener.document;
od.getElementById("show_req_btn").style.display = "none";
od.getElementById("show_progress").style.display = "inline";
od.getElementById("show_pay_btn").style.display = "inline";
window.close();
} else {
kcp_AJAX();
}
}
</script>
</head>
<body onload="chk_pay();">
<div id="content">
<form name="sm_form" method="POST" accept-charset="euc-kr">
<input type="hidden" name='good_name' value='<?=$good_name?>'>
<input type="hidden" name='good_mny' value='<?=$good_mny?>' >
<input type="hidden" name='buyr_name' value="<?=$buyr_name?>">
<input type="hidden" name='buyr_tel1' value='<?=$buyr_tel1?>'>
<input type="hidden" name='buyr_tel2' value='<?=$buyr_tel2?>'>
<input type="hidden" name='buyr_mail' value='<?=$buyr_mail?>'>
<input type="hidden" name='ipgm_date' value='<?=$ipgm_date?>'>
<!-- 필수 사항 -->
<!-- 요청 구분 -->
<input type='hidden' name='req_tx' value='pay'>
<!-- 사이트 코드 -->
<input type="hidden" name='site_cd' value="<?=$g_conf_site_cd?>">
<!-- 사이트 키 -->
<input type='hidden' name='site_key' value='<?=$g_conf_site_key?>'>
<!-- 사이트 이름 -->
<input type="hidden" name='shop_name' value="<?=$g_conf_site_name?>">
<!-- 결제수단-->
<input type="hidden" name='pay_method' value="<?=$pay_method?>">
<!-- 주문번호 -->
<input type="hidden" name='ordr_idxx' value="<?=$ordr_idxx?>">
<!-- 최대 할부개월수 -->
<input type="hidden" name='quotaopt' value="12">
<!-- 통화 코드 -->
<input type="hidden" name='currency' value="410">
<!-- 결제등록 키 -->
<input type="hidden" name='approval_key' id="approval">
<!-- 리턴 URL (kcp와 통신후 결제를 요청할 수 있는 암호화 데이터를 전송 받을 가맹점의 주문페이지 URL) -->
<!-- 반드시 가맹점 주문페이지의 URL을 입력 해주시기 바랍니다. -->
<input type="hidden" name='Ret_URL' value="http://chicpro.chin.so/kcp_smart/kcp/order_approval_form.php">
<!-- 인증시 필요한 파라미터(변경불가)-->
<input type='hidden' name='ActionResult' value='<?=$ActionResult?>'>
<!-- 에스크로 사용유무 에스크로 사용 업체(가상계좌만 해당)는 Y로 세팅 해주시기 바랍니다.-->
<input type="hidden" name='escw_used' value='Y'>
<!-- 에스크로 결제처리모드 -->
<input type="hidden" name='pay_mod' value='O'>
<!-- 수취인이름 -->
<input type='hidden' name='rcvr_name' value='<?=$rcvr_name?>'>
<!-- 수취인 연락처 -->
<input type='hidden' name='rcvr_tel1' value='<?=$rcvr_tel1?>'>
<!-- 수취인 휴대폰 번호 -->
<input type='hidden' name='rcvr_tel2' value='<?=$rcvr_tel2?>'>
<!-- 수취인 E-MAIL -->
<input type='hidden' name='rcvr_add1' value='<?=$rcvr_add1?>'>
<!-- 수취인 우편번호 -->
<input type='hidden' name='rcvr_add2' value='<?=$rcvr_add2?>'>
<!-- 수취인 주소 -->
<input type='hidden' name='rcvr_mail' value='<?=$rcvr_mail?>'>
<!-- 수취인 상세 주소 -->
<input type='hidden' name='rcvr_zipx' value='<?=$rcvr_zipx?>'>
<!-- 장바구니 상품 개수 -->
<input type='hidden' name='bask_cntx' value="<?=$bask_cntx?>">
<!-- 장바구니 정보(상단 스크립트 참조) -->
<input type='hidden' name='good_info' value="<?=$good_info?>">
<!-- 배송소요기간 -->
<input type="hidden" name='deli_term' value='03'>
<!-- 기타 파라메터 추가 부분 - Start - -->
<input type="hidden" name='param_opt_1' value="<?=$param_opt_1?>"/>
<input type="hidden" name='param_opt_2' value="<?=$param_opt_2?>"/>
<input type="hidden" name='param_opt_3' value="<?=$param_opt_3?>"/>
<!-- 기타 파라메터 추가 부분 - End - -->
<!-- 화면 크기조정 부분 - Start - -->
<input type="hidden" name='tablet_size' value="<?=$tablet_size?>"/>
<!-- 화면 크기조정 부분 - End - -->
<!--
사용 카드 설정
<input type="hidden" name='used_card' value="CClg:ccDI">
/* 무이자 옵션
※ 설정할부 (가맹점 관리자 페이지에 설정 된 무이자 설정을 따른다) - "" 로 설정
※ 일반할부 (KCP 이벤트 이외에 설정 된 모든 무이자 설정을 무시한다) - "N" 로 설정
※ 무이자 할부 (가맹점 관리자 페이지에 설정 된 무이자 이벤트 중 원하는 무이자 설정을 세팅한다) - "Y" 로 설정
<input type="hidden" name="kcp_noint" value=""/> */
/* 무이자 설정
※ 주의 1 : 할부는 결제금액이 50,000 원 이상일 경우에만 가능
※ 주의 2 : 무이자 설정값은 무이자 옵션이 Y일 경우에만 결제 창에 적용
예) 전 카드 2,3,6개월 무이자(국민,비씨,엘지,삼성,신한,현대,롯데,외환) : ALL-02:03:04
BC 2,3,6개월, 국민 3,6개월, 삼성 6,9개월 무이자 : CCBC-02:03:06,CCKM-03:06,CCSS-03:06:04
<input type="hidden" name="kcp_noint_quota" value="CCBC-02:03:06,CCKM-03:06,CCSS-03:06:09"/> */
-->
<input type="hidden" name="res_cd" value="<?=$res_cd?>"> <!-- 결과 코드 -->
<input type="hidden" name="tran_cd" value="<?=$tran_cd?>"> <!-- 트랜잭션 코드 -->
<input type="hidden" name="enc_info" value="<?=$enc_info?>"> <!-- 암호화 정보 -->
<input type="hidden" name="enc_data" value="<?=$enc_data?>"> <!-- 암호화 데이터 -->
</form>
</div>
<!-- 스마트폰에서 KCP 결제창을 레이어 형태로 구현-->
<div id="layer_receipt" style="position:absolute; left:1px; top:1px; width:310;height:400; z-index:1; display:none;">
<table width="310" border="-" cellspacing="0" cellpadding="0" style="text-align:center">
<tr>
<td>
<iframe name="frm_receipt" frameborder="0" border="0" width="310" height="400" scrolling="auto"></iframe>
</td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,424 @@
<?
/* ============================================================================== */
/* = PAGE : 지불 요청 및 결과 처리 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = 연동시 오류가 발생하는 경우 아래의 주소로 접속하셔서 확인하시기 바랍니다.= */
/* = 접속 주소 : http://testpay.kcp.co.kr/pgsample/FAQ/search_error.jsp = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2010.05 KCP Inc. All Rights Reserved. = */
/* ============================================================================== */
/* ============================================================================== */
/* = 환경 설정 파일 Include = */
/* = -------------------------------------------------------------------------- = */
/* = ※ 필수 = */
/* = 테스트 및 실결제 연동시 site_conf_inc.php파일을 수정하시기 바랍니다. = */
/* = -------------------------------------------------------------------------- = */
include "../settle_kcp.inc.php"; // 환경설정 파일 include
require "pp_ax_hub_lib.php"; // library [수정불가]
/* = -------------------------------------------------------------------------- = */
/* = 환경 설정 파일 Include END = */
/* ============================================================================== */
?>
<?
/* ============================================================================== */
/* = 01. 지불 요청 정보 설정 = */
/* = -------------------------------------------------------------------------- = */
$req_tx = $_POST[ "req_tx" ]; // 요청 종류
$tran_cd = $_POST[ "tran_cd" ]; // 처리 종류
/* = -------------------------------------------------------------------------- = */
$cust_ip = getenv( "REMOTE_ADDR" ); // 요청 IP
$ordr_idxx = $_POST[ "ordr_idxx" ]; // 쇼핑몰 주문번호
$good_name = addslashes($_POST[ "good_name" ]); // 상품명
$good_mny = $_POST[ "good_mny" ]; // 결제 총금액
/* = -------------------------------------------------------------------------- = */
$res_cd = ""; // 응답코드
$res_msg = ""; // 응답메시지
$tno = $_POST[ "tno" ]; // KCP 거래 고유 번호
/* = -------------------------------------------------------------------------- = */
$buyr_name = addslashes($_POST[ "buyr_name" ]); // 주문자명
$buyr_tel1 = $_POST[ "buyr_tel1" ]; // 주문자 전화번호
$buyr_tel2 = $_POST[ "buyr_tel2" ]; // 주문자 핸드폰 번호
$buyr_mail = $_POST[ "buyr_mail" ]; // 주문자 E-mail 주소
/* = -------------------------------------------------------------------------- = */
$mod_type = $_POST[ "mod_type" ]; // 변경TYPE VALUE 승인취소시 필요
$mod_desc = $_POST[ "mod_desc" ]; // 변경사유
/* = -------------------------------------------------------------------------- = */
$use_pay_method = $_POST[ "use_pay_method" ]; // 결제 방법
$bSucc = ""; // 업체 DB 처리 성공 여부
/* = -------------------------------------------------------------------------- = */
$app_time = ""; // 승인시간 (모든 결제 수단 공통)
$amount = ""; // KCP 실제 거래 금액
$total_amount = 0; // 복합결제시 총 거래금액
/* = -------------------------------------------------------------------------- = */
$card_cd = ""; // 신용카드 코드
$card_name = ""; // 신용카드 명
$app_no = ""; // 신용카드 승인번호
$noinf = ""; // 신용카드 무이자 여부
$quota = ""; // 신용카드 할부개월
/* = -------------------------------------------------------------------------- = */
$bank_name = ""; // 은행명
$bank_code = ""; // 은행코드
/* = -------------------------------------------------------------------------- = */
$bankname = ""; // 입금할 은행명
$depositor = ""; // 입금할 계좌 예금주 성명
$account = ""; // 입금할 계좌 번호
/* = -------------------------------------------------------------------------- = */
$pnt_issue = ""; // 결제 포인트사 코드
$pt_idno = ""; // 결제 및 인증 아이디
$pnt_amount = ""; // 적립금액 or 사용금액
$pnt_app_time = ""; // 승인시간
$pnt_app_no = ""; // 승인번호
$add_pnt = ""; // 발생 포인트
$use_pnt = ""; // 사용가능 포인트
$rsv_pnt = ""; // 적립 포인트
/* = -------------------------------------------------------------------------- = */
$commid = ""; // 통신사 코드
$mobile_no = ""; // 휴대폰 번호
/* = -------------------------------------------------------------------------- = */
$tk_van_code = ""; // 발급사 코드
$tk_app_no = ""; // 상품권 승인 번호
/* = -------------------------------------------------------------------------- = */
$cash_yn = $_POST[ "cash_yn" ]; // 현금영수증 등록 여부
$cash_authno = ""; // 현금 영수증 승인 번호
$cash_tr_code = $_POST[ "cash_tr_code" ]; // 현금 영수증 발행 구분
$cash_id_info = $_POST[ "cash_id_info" ]; // 현금 영수증 등록 번호
/* ============================================================================== */
/* ============================================================================== */
/* = 02. 인스턴스 생성 및 초기화 = */
/* = -------------------------------------------------------------------------- = */
/* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */
/* = -------------------------------------------------------------------------- = */
$c_PayPlus = new C_PP_CLI;
$c_PayPlus->mf_clear();
/* ------------------------------------------------------------------------------ */
/* = 02. 인스턴스 생성 및 초기화 END = */
/* ============================================================================== */
/* ============================================================================== */
/* = 03. 처리 요청 정보 설정 = */
/* = -------------------------------------------------------------------------- = */
/* = -------------------------------------------------------------------------- = */
/* = 03-1. 승인 요청 = */
/* = -------------------------------------------------------------------------- = */
if ( $req_tx == "pay" )
{
$c_PayPlus->mf_set_encx_data( $_POST[ "enc_data" ], $_POST[ "enc_info" ] );
}
/* = -------------------------------------------------------------------------- = */
/* = 03-2. 취소/매입 요청 = */
/* = -------------------------------------------------------------------------- = */
else if ( $req_tx == "mod" )
{
$tran_cd = "00200000";
$c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호
$c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류
$c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP
$c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유
}
/* ------------------------------------------------------------------------------ */
/* = 03. 처리 요청 정보 설정 END = */
/* ============================================================================== */
/* ============================================================================== */
/* = 04. 실행 = */
/* = -------------------------------------------------------------------------- = */
if ( $tran_cd != "" )
{
$c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "",
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx,
$cust_ip, $g_conf_log_level, 0, 0 ); // 응답 전문 처리
$res_cd = $c_PayPlus->m_res_cd; // 결과 코드
$res_msg = $c_PayPlus->m_res_msg; // 결과 메시지
}
else
{
$c_PayPlus->m_res_cd = "9562";
$c_PayPlus->m_res_msg = "연동 오류|tran_cd값이 설정되지 않았습니다.";
}
/* = -------------------------------------------------------------------------- = */
/* = 04. 실행 END = */
/* ============================================================================== */
/* ============================================================================== */
/* = 05. 승인 결과 값 추출 = */
/* = -------------------------------------------------------------------------- = */
if ( $req_tx == "pay" )
{
if( $res_cd == "0000" )
{
$tno = $c_PayPlus->mf_get_res_data( "tno" ); // KCP 거래 고유 번호
$amount = $c_PayPlus->mf_get_res_data( "amount" ); // KCP 실제 거래 금액
$pnt_issue = $c_PayPlus->mf_get_res_data( "pnt_issue" ); // 결제 포인트사 코드
/* = -------------------------------------------------------------------------- = */
/* = 05-1. 신용카드 승인 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "100000000000" )
{
$card_cd = $c_PayPlus->mf_get_res_data( "card_cd" ); // 카드사 코드
$card_name = $c_PayPlus->mf_get_res_data( "card_name" ); // 카드 종류
$app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간
$app_no = $c_PayPlus->mf_get_res_data( "app_no" ); // 승인 번호
$noinf = $c_PayPlus->mf_get_res_data( "noinf" ); // 무이자 여부 ( 'Y' : 무이자 )
$quota = $c_PayPlus->mf_get_res_data( "quota" ); // 할부 개월 수
}
/* = -------------------------------------------------------------------------- = */
/* = 05-2. 계좌이체 승인 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "010000000000" )
{
$app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인시간
$bank_name = $c_PayPlus->mf_get_res_data( "bank_name" ); // 은행명
$bank_code = $c_PayPlus->mf_get_res_data( "bank_code" ); // 은행코드
}
/* = -------------------------------------------------------------------------- = */
/* = 05-3. 가상계좌 승인 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "001000000000" )
{
$bankname = $c_PayPlus->mf_get_res_data( "bankname" ); // 입금할 은행 이름
$depositor = $c_PayPlus->mf_get_res_data( "depositor" ); // 입금할 계좌 예금주
$account = $c_PayPlus->mf_get_res_data( "account" ); // 입금할 계좌 번호
}
/* = -------------------------------------------------------------------------- = */
/* = 05-4. 포인트 승인 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "000100000000" )
{
$pt_idno = $c_PayPlus->mf_get_res_data( "pt_idno" ); // 결제 및 인증 아이디
$pnt_amount = $c_PayPlus->mf_get_res_data( "pnt_amount" ); // 적립금액 or 사용금액
$pnt_app_time = $c_PayPlus->mf_get_res_data( "pnt_app_time" ); // 승인시간
$pnt_app_no = $c_PayPlus->mf_get_res_data( "pnt_app_no" ); // 승인번호
$add_pnt = $c_PayPlus->mf_get_res_data( "add_pnt" ); // 발생 포인트
$use_pnt = $c_PayPlus->mf_get_res_data( "use_pnt" ); // 사용가능 포인트
$rsv_pnt = $c_PayPlus->mf_get_res_data( "rsv_pnt" ); // 적립 포인트
}
/* = -------------------------------------------------------------------------- = */
/* = 05-5. 휴대폰 승인 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "000010000000" )
{
$app_time = $c_PayPlus->mf_get_res_data( "hp_app_time" ); // 승인 시간
$commid = $c_PayPlus->mf_get_res_data( "commid" ); // 통신사 코드
$mobile_no = $c_PayPlus->mf_get_res_data( "mobile_no" ); // 휴대폰 번호
}
/* = -------------------------------------------------------------------------- = */
/* = 05-6. 상품권 승인 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "000000001000" )
{
$app_time = $c_PayPlus->mf_get_res_data( "tk_app_time" ); // 승인 시간
$tk_van_code = $c_PayPlus->mf_get_res_data( "tk_van_code" ); // 발급사 코드
$tk_app_no = $c_PayPlus->mf_get_res_data( "tk_app_no" ); // 승인 번호
}
/* = -------------------------------------------------------------------------- = */
/* = 05-7. 현금영수증 결과 처리 = */
/* = -------------------------------------------------------------------------- = */
$cash_authno = $c_PayPlus->mf_get_res_data( "cash_authno" ); // 현금 영수증 승인 번호
}
}
/* = -------------------------------------------------------------------------- = */
/* = 05. 승인 결과 처리 END = */
/* ============================================================================== */
/* ============================================================================== */
/* = 06. 승인 및 실패 결과 DB처리 = */
/* = -------------------------------------------------------------------------- = */
/* = 결과를 업체 자체적으로 DB처리 작업하시는 부분입니다. = */
/* = -------------------------------------------------------------------------- = */
if ( $req_tx == "pay" )
{
if( $res_cd == "0000" )
{
// 06-1-1. 신용카드
if ( $use_pay_method == "100000000000" )
{
}
// 06-1-2. 계좌이체
if ( $use_pay_method == "010000000000" )
{
}
// 06-1-3. 가상계좌
if ( $use_pay_method == "001000000000" )
{
}
// 06-1-4. 포인트
if ( $use_pay_method == "000100000000" )
{
}
// 06-1-5. 휴대폰
if ( $use_pay_method == "000010000000" )
{
}
// 06-1-6. 상품권
if ( $use_pay_method == "000000001000" )
{
}
}
/* = -------------------------------------------------------------------------- = */
/* = 06. 승인 및 실패 결과 DB처리 = */
/* ============================================================================== */
else if ( $req_cd != "0000" )
{
}
}
/* ============================================================================== */
/* = 07. 승인 결과 DB처리 실패시 : 자동취소 = */
/* = -------------------------------------------------------------------------- = */
/* = 승인 결과를 DB 작업 하는 과정에서 정상적으로 승인된 건에 대해 = */
/* = DB 작업을 실패하여 DB update 가 완료되지 않은 경우, 자동으로 = */
/* = 승인 취소 요청을 하는 프로세스가 구성되어 있습니다. = */
/* = = */
/* = DB 작업이 실패 한 경우, bSucc 라는 변수(String)의 값을 "false" = */
/* = 로 설정해 주시기 바랍니다. (DB 작업 성공의 경우에는 "false" 이외의 = */
/* = 값을 설정하시면 됩니다.) = */
/* = -------------------------------------------------------------------------- = */
$bSucc = ""; // DB 작업 실패 또는 금액 불일치의 경우 "false" 로 세팅
/* = -------------------------------------------------------------------------- = */
/* = 07-1. DB 작업 실패일 경우 자동 승인 취소 = */
/* = -------------------------------------------------------------------------- = */
if ( $req_tx == "pay" )
{
if( $res_cd == "0000" )
{
if ( $bSucc == "false" )
{
$c_PayPlus->mf_clear();
$tran_cd = "00200000";
$c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호
$c_PayPlus->mf_set_modx_data( "mod_type", "STSC" ); // 원거래 변경 요청 종류
$c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP
$c_PayPlus->mf_set_modx_data( "mod_desc", "결과 처리 오류 - 자동 취소" ); // 변경 사유
$c_PayPlus->mf_do_tx( "", $g_conf_home_dir, $g_conf_site_cd,
$g_conf_site_key, $tran_cd, "",
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib",
$ordr_idxx, $cust_ip, $g_conf_log_level,
0, 0 );
$res_cd = $c_PayPlus->m_res_cd;
$res_msg = $c_PayPlus->m_res_msg;
}
}
} // End of [res_cd = "0000"]
/* ============================================================================== */
/* ============================================================================== */
/* = 08. 폼 구성 및 결과페이지 호출 = */
/* ============================================================================== */
?>
<html>
<head>
<title>스마트폰 웹 결제창</title>
<script type="text/javascript">
function goResult()
{
document.pay_info.submit()
}
// 결제 중 새로고침 방지 샘플 스크립트 (중복결제 방지)
function noRefresh()
{
/* CTRL + N키 막음. */
if ((event.keyCode == 78) && (event.ctrlKey == true))
{
event.keyCode = 0;
return false;
}
/* F5 번키 막음. */
if(event.keyCode == 116)
{
event.keyCode = 0;
return false;
}
}
document.onkeydown = noRefresh ;
</script>
</head>
<body onload="goResult()">
<form name="pay_info" method="post" action="./result.php">
<input type="hidden" name="site_cd" value="<?=$g_conf_site_cd ?>"> <!-- 사이트코드 -->
<input type="hidden" name="req_tx" value="<?=$req_tx ?>"> <!-- 요청 구분 -->
<input type="hidden" name="use_pay_method" value="<?=$use_pay_method ?>"> <!-- 사용한 결제 수단 -->
<input type="hidden" name="bSucc" value="<?=$bSucc ?>"> <!-- 쇼핑몰 DB 처리 성공 여부 -->
<input type="hidden" name="res_cd" value="<?=$res_cd ?>"> <!-- 결과 코드 -->
<input type="hidden" name="res_msg" value="<?=$res_msg ?>"> <!-- 결과 메세지 -->
<input type="hidden" name="ordr_idxx" value="<?=$ordr_idxx ?>"> <!-- 주문번호 -->
<input type="hidden" name="tno" value="<?=$tno ?>"> <!-- KCP 거래번호 -->
<input type="hidden" name="good_mny" value="<?=$good_mny ?>"> <!-- 결제금액 -->
<input type="hidden" name="good_name" value="<?=$good_name ?>"> <!-- 상품명 -->
<input type="hidden" name="buyr_name" value="<?=$buyr_name ?>"> <!-- 주문자명 -->
<input type="hidden" name="buyr_tel1" value="<?=$buyr_tel1 ?>"> <!-- 주문자 전화번호 -->
<input type="hidden" name="buyr_tel2" value="<?=$buyr_tel2 ?>"> <!-- 주문자 휴대폰번호 -->
<input type="hidden" name="buyr_mail" value="<?=$buyr_mail ?>"> <!-- 주문자 E-mail -->
<input type="hidden" name="card_cd" value="<?=$card_cd ?>"> <!-- 카드코드 -->
<input type="hidden" name="card_name" value="<?=$card_name ?>"> <!-- 카드명 -->
<input type="hidden" name="app_time" value="<?=$app_time ?>"> <!-- 승인시간 -->
<input type="hidden" name="app_no" value="<?=$app_no ?>"> <!-- 승인번호 -->
<input type="hidden" name="quota" value="<?=$quota ?>"> <!-- 할부개월 -->
<input type="hidden" name="noinf" value="<?=$noinf ?>"> <!-- 무이자여부 -->
<input type="hidden" name="bank_name" value="<?=$bank_name ?>"> <!-- 은행명 -->
<input type="hidden" name="bank_code" value="<?=$bank_code ?>"> <!-- 은행코드 -->
<input type="hidden" name="bankname" value="<?=$bankname ?>"> <!-- 입금할 은행 -->
<input type="hidden" name="depositor" value="<?=$depositor ?>"> <!-- 입금할 계좌 예금주 -->
<input type="hidden" name="account" value="<?=$account ?>"> <!-- 입금할 계좌 번호 -->
<input type="hidden" name="pnt_issue" value="<?=$pnt_issue ?>"> <!-- 포인트 서비스사 -->
<input type="hidden" name="pnt_app_time" value="<?=$pnt_app_time ?>"> <!-- 승인시간 -->
<input type="hidden" name="pnt_app_no" value="<?=$pnt_app_no ?>"> <!-- 승인번호 -->
<input type="hidden" name="pnt_amount" value="<?=$pnt_amount ?>"> <!-- 적립금액 or 사용금액 -->
<input type="hidden" name="add_pnt" value="<?=$add_pnt ?>"> <!-- 발생 포인트 -->
<input type="hidden" name="use_pnt" value="<?=$use_pnt ?>"> <!-- 사용가능 포인트 -->
<input type="hidden" name="rsv_pnt" value="<?=$rsv_pnt ?>"> <!-- 적립 포인트 -->
<input type="hidden" name="commid" value="<?=$commid ?>"> <!-- 통신사 코드 -->
<input type="hidden" name="mobile_no" value="<?=$mobile_no ?>"> <!-- 휴대폰 번호 -->
<input type="hidden" name="tk_van_code" value="<?=$tk_van_code ?>"> <!-- 발급사 코드 -->
<input type="hidden" name="tk_app_time" value="<?=$tk_app_time ?>"> <!-- 승인 시간 -->
<input type="hidden" name="tk_app_no" value="<?=$tk_app_no ?>"> <!-- 승인 번호 -->
<input type="hidden" name="cash_yn" value="<?=$cash_yn ?>"> <!-- 현금영수증 등록 여부 -->
<input type="hidden" name="cash_authno" value="<?=$cash_authno ?>"> <!-- 현금 영수증 승인 번호 -->
<input type="hidden" name="cash_tr_code" value="<?=$cash_tr_code ?>"> <!-- 현금 영수증 발행 구분 -->
<input type="hidden" name="cash_id_info" value="<?=$cash_id_info ?>"> <!-- 현금 영수증 등록 번호 -->
</form>
</body>
</html>

View File

@ -0,0 +1,260 @@
<?
/* ============================================================================== */
/* = PAGE : 라이브버리 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2010.02 KCP Inc. All Rights Reserverd. = */
/* ============================================================================== */
/* ============================================================================== */
/* = 지불 연동 CLASS = */
/* ============================================================================== */
class C_PP_CLI
{
var $m_payx_common;
var $m_payx_card;
var $m_ordr_data;
var $m_rcvr_data;
var $m_escw_data;
var $m_modx_data;
var $m_encx_data;
var $m_encx_info;
/* -------------------------------------------------------------------- */
/* - 처리 결과 값 - */
/* -------------------------------------------------------------------- */
var $m_res_data;
var $m_res_cd;
var $m_res_msg;
/* -------------------------------------------------------------------- */
/* - 생성자 - */
/* -------------------------------------------------------------------- */
function C_PP_CLI()
{
$this->m_payx_common = "";
$this->m_payx_card = "";
$this->m_ordr_data = "";
$this->m_rcvr_data = "";
$this->m_escw_data = "";
$this->m_modx_data = "";
$this->m_encx_data = "";
$this->m_encx_info = "";
}
function mf_init( $mode )
{
if ( $mode == "1" )
{
if ( !extension_loaded( 'pp_cli_dl_php' ) )
{
dl( "pp_cli_dl_php.so" );
}
}
}
function mf_clear()
{
$this->m_payx_common = "";
$this->m_payx_card = "";
$this->m_ordr_data = "";
$this->m_rcvr_data = "";
$this->m_escw_data = "";
$this->m_modx_data = "";
$this->m_encx_data = "";
$this->m_encx_info = "";
}
function mf_gen_trace_no( $site_cd, $ip, $mode )
{
if ( $mode == "1" )
{
$trace_no = lfPP_CLI_DL__gen_trace_no( $site_cd, $ip );
}
else
{
$trace_no = "";
}
return $trace_no;
}
/* -------------------------------------------------------------------- */
/* - FUNC : ENC DATA 정보 설정 함수 - */
/* -------------------------------------------------------------------- */
function mf_set_payx_common_data( $name, $val )
{
if ( $val != "" )
{
$this->m_payx_common .= ( $name . '=' . $val . chr( 31 ) );
}
}
function mf_set_payx_card_data( $name, $val )
{
if ( $val != "" )
{
$this->m_payx_card .= ( $name . '=' . $val . chr( 31 ) );
}
}
function mf_set_ordr_data( $name, $val )
{
if ( $val != "" )
{
$this->m_ordr_data .= ( $name . '=' . $val . chr( 31 ) );
}
}
function mf_set_rcvr_data( $name, $val )
{
if ( $val != "" )
{
$this->m_rcvr_data .= ( $name . '=' . $val . chr( 31 ) );
}
}
function mf_set_escw_data( $name, $val )
{
if ( $val != "" )
{
$this->m_escw_data .= ( $name . '=' . $val . chr( 29 ) );
}
}
function mf_set_modx_data( $name, $val )
{
if ( $val != "" )
{
$this->m_modx_data .= ( $name . '=' . $val . chr( 31 ) );
}
}
function mf_set_encx_data( $encx_data, $encx_info )
{
$this->m_encx_data = $encx_data;
$this->m_encx_info = $encx_info;
}
/* -------------------------------------------------------------------- */
/* - FUNC : 지불 처리 함수 - */
/* -------------------------------------------------------------------- */
function mf_do_tx( $trace_no, $home_dir, $site_cd,
$site_key, $tx_cd, $pub_key_str,
$pa_url, $pa_port, $user_agent,
$ordr_idxx, $cust_ip,
$log_level, $opt, $mode )
{
$payx_data = $this->mf_get_payx_data();
$ordr_data = $this->mf_get_data( "ordr_data", $this->m_ordr_data );
$rcvr_data = $this->mf_get_data( "rcvr_data", $this->m_rcvr_data );
$escw_data = $this->mf_get_data( "escw_data", $this->m_escw_data );
$modx_data = $this->mf_get_data( "mod_data", $this->m_modx_data );
if ( $mode == "1" )
{
$res_data = lfPP_CLI_DL__do_tx_2( $trace_no, $home_dir, $site_cd,
$site_key, $tx_cd, $pub_key_str,
$pa_url, $pa_port, $user_agent,
$ordr_idxx,
$payx_data, $ordr_data,
$rcvr_data, $escw_data,
$modx_data,
$this->m_encx_data, $this->m_encx_info,
$log_level, $opt );
}
else
{
$res_data = $this->mf_exec( $home_dir . "/bin/pp_cli",
"-h",
"home=" . $home_dir . "," .
"site_cd=" . $site_cd . "," .
"site_key=" . $site_key . "," .
"tx_cd=" . $tx_cd . "," .
"pa_url=" . $pa_url . "," .
"pa_port=" . $pa_port . "," .
"ordr_idxx=" . $ordr_idxx . "," .
"payx_data=" . $payx_data . "," .
"ordr_data=" . $ordr_data . "," .
"rcvr_data=" . $rcvr_data . "," .
"escw_data=" . $escw_data . "," .
"modx_data=" . $modx_data . "," .
"enc_data=" . $this->m_encx_data . "," .
"enc_info=" . $this->m_encx_info . "," .
"trace_no=" . $trace_no . "," .
"cust_ip=" . $cust_ip . "," .
"log_level=" . $log_level . "," .
"opt=" . $opt . "" );
if ( $res_data == "" )
{
$res_data = "res_cd=9502" . chr( 31 ) . "res_msg=연동 모듈 호출 오류";
}
}
parse_str( str_replace( chr( 31 ), "&", $res_data ), $this->m_res_data );
$this->m_res_cd = $this->m_res_data[ "res_cd" ];
$this->m_res_msg = $this->m_res_data[ "res_msg" ];
}
/* -------------------------------------------------------------------- */
/* - FUNC : 처리 결과 값을 리턴하는 함수 - */
/* -------------------------------------------------------------------- */
function mf_get_res_data( $name )
{
return $this->m_res_data[ $name ];
}
function mf_get_payx_data()
{
if ( $this->m_payx_common != "" || $this->m_payx_card != "" )
{
$my_data = "payx_data=";
}
if ( $this->m_payx_common != "" )
{
$my_data .= "common=" . $this->m_payx_common . chr( 30 );
}
if ( $this->m_payx_card != "" )
{
$my_data .= ( "card=" . $this->m_payx_card . chr( 30 ) );
}
return $my_data;
}
function mf_get_data( $data_name, $data )
{
if ( $data != "" )
{
$my_data = $data_name . "=" . $data;
}
else
{
$my_data = "";
}
return $my_data;
}
function mf_exec()
{
$arg = func_get_args();
if ( is_array( $arg[0] ) ) $arg = $arg[0];
$exec_cmd = array_shift( $arg );
while ( list(,$i) = each($arg) )
{
$exec_cmd .= " " . escapeshellarg( $i );
}
$rt = exec( $exec_cmd );
return $rt;
}
}
?>

View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax21="http://payment.domain.webpay.service.kcp.kr/xsd" xmlns:ns="http://webservice.act.webpay.service.kcp.kr" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ax22="http://domain.webpay.service.kcp.kr/xsd" targetNamespace="http://webservice.act.webpay.service.kcp.kr">
<wsdl:documentation>
KCP Payment Service
</wsdl:documentation>
<wsdl:types>
<xs:schema xmlns:ax23="http://domain.webpay.service.kcp.kr/xsd" targetNamespace="http://payment.domain.webpay.service.kcp.kr/xsd" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:import namespace="http://domain.webpay.service.kcp.kr/xsd"/>
<xs:complexType name="ApproveReq">
<xs:sequence>
<xs:element name="accessCredentialType" minOccurs="0" type="ax22:AccessCredentialType" nillable="true"/>
<xs:element name="baseRequestType" minOccurs="0" type="ax22:BaseRequestType" nillable="true"/>
<xs:element name="escrow" minOccurs="0" type="xs:boolean"/>
<xs:element name="orderID" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="paymentAmount" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="paymentMethod" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="productName" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="returnUrl" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="siteCode" minOccurs="0" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApproveRes">
<xs:sequence>
<xs:element name="approvalKey" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="baseResponseType" minOccurs="0" type="ax22:BaseResponseType" nillable="true"/>
<xs:element name="payUrl" minOccurs="0" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<xs:schema xmlns:ax24="http://payment.domain.webpay.service.kcp.kr/xsd" targetNamespace="http://webservice.act.webpay.service.kcp.kr" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:import namespace="http://payment.domain.webpay.service.kcp.kr/xsd"/>
<xs:element name="approve">
<xs:complexType>
<xs:sequence>
<xs:element name="req" minOccurs="0" type="ax24:ApproveReq" nillable="true"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="approveResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="return" minOccurs="0" type="ax24:ApproveRes" nillable="true"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema targetNamespace="http://domain.webpay.service.kcp.kr/xsd" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:complexType name="AccessCredentialType">
<xs:sequence>
<xs:element name="accessLicense" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="signature" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="timestamp" minOccurs="0" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BaseRequestType">
<xs:sequence>
<xs:element name="detailLevel" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="requestApp" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="requestID" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="userAgent" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="version" minOccurs="0" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BaseResponseType">
<xs:sequence>
<xs:element name="detailLevel" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="error" minOccurs="0" type="ax22:ErrorType" nillable="true"/>
<xs:element name="messageID" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="release" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="requestID" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="responseType" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="timestamp" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="version" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="warningList" maxOccurs="unbounded" minOccurs="0" type="ax22:ErrorType" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ErrorType">
<xs:sequence>
<xs:element name="code" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="detail" minOccurs="0" type="xs:string" nillable="true"/>
<xs:element name="message" minOccurs="0" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="approveRequest">
<wsdl:part name="parameters" element="ns:approve"/>
</wsdl:message>
<wsdl:message name="approveResponse">
<wsdl:part name="parameters" element="ns:approveResponse"/>
</wsdl:message>
<wsdl:portType name="KCPPaymentServicePortType">
<wsdl:operation name="approve">
<wsdl:input message="ns:approveRequest" wsaw:Action="urn:approve"/>
<wsdl:output message="ns:approveResponse" wsaw:Action="urn:approveResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="KCPPaymentServiceSoap11Binding" type="ns:KCPPaymentServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="approve">
<soap:operation soapAction="urn:approve" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="KCPPaymentServiceSoap12Binding" type="ns:KCPPaymentServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="approve">
<soap12:operation soapAction="urn:approve" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="KCPPaymentServiceHttpBinding" type="ns:KCPPaymentServicePortType">
<http:binding verb="POST"/>
<wsdl:operation name="approve">
<http:operation location="KCPPaymentService/approve"/>
<wsdl:input>
<mime:content type="text/xml" part="approve"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="approve"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="KCPPaymentService">
<wsdl:port name="KCPPaymentServiceHttpSoap11Endpoint" binding="ns:KCPPaymentServiceSoap11Binding">
<soap:address location="https://smpay.kcp.co.kr/services/KCPPaymentService.KCPPaymentServiceHttpSoap11Endpoint/"/>
</wsdl:port>
<wsdl:port name="KCPPaymentServiceHttpSoap12Endpoint" binding="ns:KCPPaymentServiceSoap12Binding">
<soap12:address location="https://smpay.kcp.co.kr/services/KCPPaymentService.KCPPaymentServiceHttpSoap12Endpoint/"/>
</wsdl:port>
<wsdl:port name="KCPPaymentServiceHttpEndpoint" binding="ns:KCPPaymentServiceHttpBinding">
<http:address location="https://smpay.kcp.co.kr/services/KCPPaymentService.KCPPaymentServiceHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

433
mobile/shop/kcp/result.php Normal file
View File

@ -0,0 +1,433 @@
<?
/* ============================================================================== */
/* = PAGE : 결과 처리 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = pp_ax_hub.php 파일에서 처리된 결과값을 출력하는 페이지입니다. = */
/* = -------------------------------------------------------------------------- = */
/* = 연동시 오류가 발생하는 경우 아래의 주소로 접속하셔서 확인하시기 바랍니다.= */
/* = 접속 주소 : http://testpay.kcp.co.kr/pgsample/FAQ/search_error.jsp = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2010.05 KCP Inc. All Rights Reserved. = */
/* ============================================================================== */
?>
<?
/* ============================================================================== */
/* = 지불 결과 = */
/* = -------------------------------------------------------------------------- = */
$site_cd = $_POST[ "site_cd" ]; // 사이트코드
$req_tx = $_POST[ "req_tx" ]; // 요청 구분(승인/취소)
$use_pay_method = $_POST[ "use_pay_method" ]; // 사용 결제 수단
$bSucc = $_POST[ "bSucc" ]; // 업체 DB 정상처리 완료 여부
/* = -------------------------------------------------------------------------- = */
$res_cd = $_POST[ "res_cd" ]; // 결과코드
$res_msg = iconv("euc-kr", "utf-8", $_POST[ "res_msg" ]); // 결과메시지
$res_msg_bsucc = "";
/* = -------------------------------------------------------------------------- = */
$ordr_idxx = $_POST[ "ordr_idxx" ]; // 주문번호
$tno = $_POST[ "tno" ]; // KCP 거래번호
$good_mny = $_POST[ "good_mny" ]; // 결제금액
$good_name = $_POST[ "good_name" ]; // 상품명
$buyr_name = $_POST[ "buyr_name" ]; // 구매자명
$buyr_tel1 = $_POST[ "buyr_tel1" ]; // 구매자 전화번호
$buyr_tel2 = $_POST[ "buyr_tel2" ]; // 구매자 휴대폰번호
$buyr_mail = $_POST[ "buyr_mail" ]; // 구매자 E-Mail
/* = -------------------------------------------------------------------------- = */
// 공통
$pnt_issue = $_POST[ "pnt_issue" ]; // 포인트 서비스사
$app_time = $_POST[ "app_time" ]; // 승인시간 (공통)
/* = -------------------------------------------------------------------------- = */
// 신용카드
$card_cd = $_POST[ "card_cd" ]; // 카드코드
$card_name = $_POST[ "card_name" ]; // 카드명
$noinf = $_POST[ "noinf" ]; // 무이자 여부
$quota = $_POST[ "quota" ]; // 할부개월
$app_no = $_POST[ "app_no" ]; // 승인번호
/* = -------------------------------------------------------------------------- = */
// 계좌이체
$bank_name = $_POST[ "bank_name" ]; // 은행명
$bank_code = $_POST[ "bank_code" ]; // 은행코드
/* = -------------------------------------------------------------------------- = */
// 가상계좌
$bankname = $_POST[ "bankname" ]; // 입금할 은행
$depositor = $_POST[ "depositor" ]; // 입금할 계좌 예금주
$account = $_POST[ "account" ]; // 입금할 계좌 번호
/* = -------------------------------------------------------------------------- = */
// 포인트
$pt_idno = $_POST[ "pt_idno" ]; // 결제 및 인증 아이디
$add_pnt = $_POST[ "add_pnt" ]; // 발생 포인트
$use_pnt = $_POST[ "use_pnt" ]; // 사용가능 포인트
$rsv_pnt = $_POST[ "rsv_pnt" ]; // 총 누적 포인트
$pnt_app_time = $_POST[ "pnt_app_time" ]; // 승인시간
$pnt_app_no = $_POST[ "pnt_app_no" ]; // 승인번호
$pnt_amount = $_POST[ "pnt_amount" ]; // 적립금액 or 사용금액
/* = -------------------------------------------------------------------------- = */
//상품권
$tk_van_code = $_POST[ "tk_van_code" ]; // 발급사 코드
$tk_app_no = $_POST[ "tk_app_no" ]; // 승인 번호
/* = -------------------------------------------------------------------------- = */
//휴대폰
$commid = $_POST[ "commid" ]; // 통신사 코드
$mobile_no = $_POST[ "mobile_no" ]; // 휴대폰 번호
/* = -------------------------------------------------------------------------- = */
// 현금영수증
$cash_yn = $_POST[ "cash_yn" ]; //현금영수증 등록 여부
$cash_authno = $_POST[ "cash_authno" ]; //현금영수증 승인 번호
$cash_tr_code = $_POST[ "cash_tr_code" ]; //현금영수증 발행 구분
$cash_id_info = $_POST[ "cash_id_info" ]; //현금영수증 등록 번호
/* = -------------------------------------------------------------------------- = */
$req_tx_name = "";
if( $req_tx == "pay" )
{
$req_tx_name = "지불";
}
else if( $req_tx == "mod" )
{
$req_tx_name = "매입/취소";
}
/* ============================================================================== */
/* = 가맹점 측 DB 처리 실패시 상세 결과 메시지 설정 = */
/* = -------------------------------------------------------------------------- = */
if($req_tx == "pay")
{
//업체 DB 처리 실패
if($bSucc == "false")
{
if ($res_cd == "0000")
{
$res_msg_bsucc = "결제는 정상적으로 이루어졌지만 업체에서 결제 결과를 처리하는 중 오류가 발생하여 시스템에서 자동으로 취소 요청을 하였습니다. <br> 업체로 문의하여 확인하시기 바랍니다.";
}
else
{
$res_msg_bsucc = "결제는 정상적으로 이루어졌지만 업체에서 결제 결과를 처리하는 중 오류가 발생하여 시스템에서 자동으로 취소 요청을 하였으나, <br> <b>취소가 실패 되었습니다.</b><br> 업체로 문의하여 확인하시기 바랍니다.";
}
}
}
/* = -------------------------------------------------------------------------- = */
/* = 가맹점 측 DB 처리 실패시 상세 결과 메시지 설정 끝 = */
/* ============================================================================== */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>스마트폰 웹 결제창</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Cache-Control" content="No-Cache">
<meta http-equiv="Pragma" content="No-Cache">
<link href="css/sample.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
/* 신용카드 영수증 연동 스크립트 */
function receiptView(tno)
{
receiptWin = "https://admin.kcp.co.kr/Modules/Sale/Card/ADSA_CARD_BILL_Receipt.jsp?c_trade_no=" + tno;
window.open(receiptWin , "" , "width=420, height=670");
}
/* 현금영수증 연동 스크립트 */
function receiptView2( site_cd, order_id, bill_yn, auth_no )
{
receiptWin2 = "https://admin.kcp.co.kr/Modules/Service/Cash/Cash_Bill_Common_View.jsp";
receiptWin2 += "?";
receiptWin2 += "term_id=PGNW" + site_cd + "&";
receiptWin2 += "orderid=" + order_id + "&";
receiptWin2 += "bill_yn=" + bill_yn + "&";
receiptWin2 += "authno=" + auth_no ;
window.open(receiptWin2 , "" , "width=360, height=645");
}
</script>
</head>
<body>
<div align="center">
<table width="589" cellspacing="0" cellpadding="0">
<tr style="height:14px"><td style="background-image:url('./img/boxtop589.gif')"></td></tr>
<tr>
<td style="background-image:url('./img/boxbg589.gif') " align="center">
<table width="551" cellspacing="0" cellpadding="16">
<tr style="height:17px">
<td style="background-image:url('./img/ttbg551.gif');border:0px " class="white">
<span class="bold big">[결과출력]</span> 이 페이지는 결제 결과를 출력하는 샘플(예시) 페이지입니다.
</td>
</tr>
<tr>
<td style="background-image:url('./img/boxbg551.gif');" >
결제 결과를 출력하는 페이지 입니다.<br/>
요청이 정상적으로 처리된 경우 결과코드(res_cd)값이 0000으로 표시됩니다.
</td>
</tr>
<tr style="height:11px"><td style="background:url('./img/boxbtm551.gif') no-repeat;"></td></tr>
</table>
<?
/* ============================================================================== */
/* = 결제 결과 코드 및 메시지 출력(결과페이지에 반드시 출력해주시기 바랍니다.)= */
/* = -------------------------------------------------------------------------- = */
/* = 결제 정상 : res_cd값이 0000으로 설정됩니다. = */
/* = 결제 실패 : res_cd값이 0000이외의 값으로 설정됩니다. = */
/* = -------------------------------------------------------------------------- = */
?>
<table width="85%" align="center" border="0" cellpadding="0" cellspacing="1" class="margin_top_20">
<tr><td colspan="2" class="title">처리 결과(<?=$req_tx_name?>)</td></tr>
<!-- 결과 코드 -->
<tr><td class="sub_title1">결과코드</td><td class="sub_content1"><?=$res_cd?></td></tr>
<!-- 결과 메시지 -->
<tr><td class="sub_title1">결과 메세지</td><td class="sub_content1"><?=$res_msg?></td></tr>
<?
// 처리 페이지(pp_cli_hub.jsp)에서 가맹점 DB처리 작업이 실패한 경우 상세메시지를 출력합니다.
if( !$res_msg_bsucc == "")
{
?>
<tr><td class="sub_title1">결과 상세 메세지</td><td><?=$res_msg_bsucc?></td></tr>
<?
}
?>
</table>
<?
/* = -------------------------------------------------------------------------- = */
/* = 결제 결과 코드 및 메시지 출력 끝 = */
/* ============================================================================== */
/* ============================================================================== */
/* = 01. 결제 결과 출력 = */
/* = -------------------------------------------------------------------------- = */
if ( $req_tx == "pay" ) // 거래 구분 : 승인
{
/* ============================================================================== */
/* = 01-1. 업체 DB 처리 정상 (bSucc값이 false가 아닌 경우) = */
/* = -------------------------------------------------------------------------- = */
if ( $bSucc != "false" ) // 업체 DB 처리 정상
{
/* ============================================================================== */
/* = 01-1-1. 정상 결제시 결제 결과 출력 (res_cd값이 0000인 경우) = */
/* = -------------------------------------------------------------------------- = */
if ( $res_cd == "0000" ) // 정상 승인
{
?>
<table width="85%" align="center" border="0" cellpadding="0" cellspacing="1" class="margin_top_10">
<tr><td colspan="2" class="title">주 문 정 보</td></tr>
<!-- 주문번호 -->
<tr><td class="sub_title1">주문번호</td><td class="sub_content1"><?=$ordr_idxx?></td></tr>
<!-- KCP 거래번호 -->
<tr><td class="sub_title1">KCP 거래번호</td><td class="sub_content1"><?=$tno?></td></tr>
<!-- 결제금액 -->
<tr><td class="sub_title1">결제금액</td><td class="sub_content1"><?=$good_mny?>원</td></tr>
<!-- 상품명(good_name) -->
<tr><td class="sub_title1">상품명</td><td class="sub_content1"><?=$good_name?></td></tr>
<!-- 주문자명 -->
<tr><td class="sub_title1">주문자명</td><td class="sub_content1"><?=$buyr_name?></td></tr>
<!-- 주문자 전화번호 -->
<tr><td class="sub_title1">주문자 전화번호</td><td class="sub_content1"><?=$buyr_tel1?></td></tr>
<!-- 주문자 휴대폰번호 -->
<tr><td class="sub_title1">주문자 휴대폰번호</td><td class="sub_content1"><?=$buyr_tel2?></td></tr>
<!-- 주문자 E-mail -->
<tr><td class="sub_title1">주문자 E-mail</td><td class="sub_content1"><?=$buyr_mail?></td></tr>
</table>
<?
/* ============================================================================== */
/* = 신용카드 결제결과 출력 = */
/* = -------------------------------------------------------------------------- = */
if ( $use_pay_method == "100000000000" ) // 신용카드
{
?>
<table width="85%" align="center" cellpadding="0" cellspacing="0" class="margin_top_10">
<tr><td colspan="2" class="title">신용카드 정보</td></tr>
<!-- 결제수단 : 신용카드 -->
<tr><td class="sub_title1">결제수단</td><td class="sub_content1">신용카드</td></tr>
<!-- 결제 카드 -->
<tr><td class="sub_title1">결제카드</td><td class="sub_content1"><?=$card_cd?> / <?=$card_name?></td></tr>
<!-- 승인시간 -->
<tr><td class="sub_title1">승인시간</td><td class="sub_content1"><?=$app_time?></td></tr>
<!-- 승인번호 -->
<tr><td class="sub_title1">승인번호</td><td class="sub_content1"><?=$app_no?></td></tr>
<!-- 할부개월 -->
<tr><td class="sub_title1">할부개월</td><td class="sub_content1"><?=$quota?></td></tr>
<!-- 무이자여부 -->
<tr><td class="sub_title1">무이자여부</td><td class="sub_content1"><?=$noinf?></td></tr>
<?
/* ============================================================================== */
/* = 신용카드 영수증 출력 = */
/* = -------------------------------------------------------------------------- = */
/* 실제 거래건에 대해서 영수증을 출력 할 수 있습니다. = */
/* = -------------------------------------------------------------------------- = */
?>
<tr>
<td class="sub_title1">영수증 확인</td>
<td class="sub_content1"><a href="javascript:receiptView('<?=$tno?>')"><img src="./img/btn_receipt.gif" alt="영수증을 확인합니다." />
</td>
<tr><td colspan="2">※ 영수증 확인은 실제결제의 경우에만 가능합니다.</td></tr>
<tr class="line2"><td colspan="2" bgcolor="#bbcbdb"></td></tr>
</table>
<?
}
/* ============================================================================== */
/* = 계좌이체 결제 결과 출력 = */
/* = -------------------------------------------------------------------------- = */
else if ( $use_pay_method == "010000000000" ) // 계좌이체
{
?>
<table width="85%" align="center" cellpadding="0" cellspacing="0" class="margin_top_10">
<tr><td colspan="2" class="title">계좌이체 정보</td></tr>
<!-- 결제수단 : 계좌이체 -->
<tr><td class="sub_title1">결제수단</td><td class="sub_content1">계좌이체</td></tr>
<!-- 이체 은행 -->
<tr><td class="sub_title1">이체 은행</td><td class="sub_content1"><?=$bank_name?></td></tr>
<!-- 이체 은행코드 -->
<tr><td class="sub_title1">이체 은행코드</td><td class="sub_content1"><?=$bank_code?></td></tr>
<!-- 승인 시간 -->
<tr><td class="sub_title1">승인 시간</td><td class="sub_content1"><?=$app_time?></td></tr>
</table>
<?
}
/* ============================================================================== */
/* = 가상계좌 결제 결과 출력 = */
/* = -------------------------------------------------------------------------- = */
else if ( $use_pay_method == "001000000000" ) // 가상계좌
{
?>
<table width="85%" align="center" cellpadding="0" cellspacing="0" class="margin_top_10">
<tr><td colspan="2" class="title">가상계좌 정보</td></tr>
<!-- 결제수단 : 가상계좌 -->
<tr><td class="sub_title1">결제수단</td><td class="sub_content1">가상계좌</td></tr>
<!-- 입금할 은행 -->
<tr><td class="sub_title1">입금할 은행</td><td class="sub_content1"><?=$bankname?></td></tr>
<!-- 입금할 계좌 예금주 -->
<tr><td class="sub_title1">입금할 계좌 예금주</td><td class="sub_content1"><?=$depositor?></td></tr>
<!-- 입금할 계좌 번호 -->
<tr><td class="sub_title1">입금할 계좌 번호</td><td class="sub_content1"><?=$account?></td></tr>
</table>
<?
}
/* ============================================================================== */
/* = 포인트 결제 결과 출력 = */
/* = -------------------------------------------------------------------------- = */
else if ( $use_pay_method == "000100000000" ) // 포인트
{
?>
<table width="85%" align="center" cellpadding="0" cellspacing="0" class="margin_top_10">
<tr><td colspan="2" class="title">포인트 정보</td></tr>
<!-- 결제수단 : 포인트 -->
<tr><td class="sub_title1">결제수단</td><td class="sub_content1">포인트</td></tr>
<!-- 포인트사 -->
<tr><td class="sub_title1">포인트사</td><td class="sub_content1"><?=$pnt_issue?></td></tr>
<!-- 결제 및 인증 아이디 -->
<tr><td class="sub_title1">결제 및 인증 아이디</td><td class="sub_content1"><?=$pt_idno?></td></tr>
<!-- 포인트 승인시간 -->
<tr><td class="sub_title1">포인트 승인시간</td><td class="sub_content1"><?=$pnt_app_time?></td></tr>
<!-- 포인트 승인번호 -->
<tr><td class="sub_title1">포인트 승인번호</td><td class="sub_content1"><?=$pnt_app_no?></td></tr>
<!-- 적립금액 or 사용금액 -->
<tr><td class="sub_title1">적립금액 or 사용금액</td><td class="sub_content1"><?=$pnt_amount?></td></tr>
<!-- 발생 포인트 -->
<tr><td class="sub_title1">발생 포인트</td><td class="sub_content1"><?=$add_pnt?></td></tr>
<!-- 사용가능 포인트 -->
<tr><td class="sub_title1">사용가능 포인트</td><td class="sub_content1"><?=$use_pnt?></td></tr>
<!-- 적립 포인트 -->
<tr><td class="sub_title1">총 누적 포인트</td><td class="sub_content1"><?=$rsv_pnt?></td></tr>
</table>
<?
}
/* ============================================================================== */
/* = 휴대폰 결제 결과 출력 = */
/* = -------------------------------------------------------------------------- = */
else if ( $use_pay_method == "000010000000" ) // 휴대폰
{
?>
<table width="85%" align="center" cellpadding="0" cellspacing="0" class="margin_top_10">
<tr><td colspan="2" class="title">휴대폰 정보</td></tr>
<!-- 결제수단 : 휴대폰 -->
<tr><td class="sub_title1">결제수단</td><td class="sub_content1">휴대폰</td></tr>
<!-- 승인시간 -->
<tr><td class="sub_title1">승인시간</td><td class="sub_content1"><?=$app_time?></td></tr>
<!-- 통신사코드 -->
<tr><td class="sub_title1">통신사코드</td><td class="sub_content1"><?=$commid?></td></tr>
<!-- 휴대폰번호 -->
<tr><td class="sub_title1">휴대폰번호</td><td class="sub_content1"><?=$mobile_no?></td></tr>
</table>
<?
}
/* ============================================================================== */
/* = 상품권 결제 결과 출력 = */
/* = -------------------------------------------------------------------------- = */
else if ( $use_pay_method == "000000001000" ) // 상품권
{
?>
<table width="85%" align="center" cellpadding="0" cellspacing="0" class="margin_top_10">
<tr><td colspan="2" class="title">상품권 정보</td></tr>
<!-- 결제수단 : 상품권 -->
<tr><td class="sub_title1">결제수단</td><td class="sub_content1">상품권</td></tr>
<!-- 발급사코드 -->
<tr><td class="sub_title1">발급사코드</td><td class="sub_content1"><?=$tk_van_code?></td></tr>
<!-- 승인시간 -->
<tr><td class="sub_title1">승인시간</td><td class="sub_content1"><?=$app_time?></td></tr>
<!-- 승인번호 -->
<tr><td class="sub_title1">승인번호</td><td class="sub_content1"><?=$tk_app_no?></td></tr>
</table>
<?
}
/* ============================================================================== */
/* = 현금영수증 정보 출력 = */
/* = -------------------------------------------------------------------------- = */
if ( $cash_yn != "" )
{
?>
<!-- 현금영수증 정보 출력-->
<table width="85%" cellpadding="0" cellspacing="0" class="margin_top_20">
<tr><td colspan="2" class="title">현금영수증 정보</td></tr>
<tr><td class="sub_title1">현금영수증 등록여부</td><td class="sub_content1"><?=$cash_yn?></td></tr>
<?
// 현금영수증이 등록된 경우 승인번호 값이 존재
if ($cash_authno != "")
{
?>
<tr><td class="sub_title1">현금영수증 승인번호</td><td class="sub_content1"><?=$cash_authno?></td></tr>
<tr>
<td class="sub_title1">영수증 확인</td>
<td class="sub_content1"><a href="javascript:receiptView2('<?=$site_cd?>','<?=$ordr_idxx?>', '<?=$cash_yn?>', '<?=$cash_authno?>')"><img src="./img/btn_receipt.gif" alt="현금영수증을 확인합니다." />
</td>
<tr><td colspan="2">※ 영수증 확인은 실제결제의 경우에만 가능합니다.</td></tr>
<tr class="line2"><td colspan="2" bgcolor="#bbcbdb"></td></tr>
<?
}
?>
</table>
<?
}
}
/* = -------------------------------------------------------------------------- = */
/* = 01-1-1. 정상 결제시 결제 결과 출력 END = */
/* ============================================================================== */
}
/* = -------------------------------------------------------------------------- = */
/* = 01-1. 업체 DB 처리 정상 END = */
/* ============================================================================== */
}
/* = -------------------------------------------------------------------------- = */
/* = 01. 결제 결과 출력 END = */
/* ============================================================================== */
?>
<table width="85%" align="center" class="margin_top_10">
<tr><td style="text-align:center"><a href="../index.html"><img src="./img/btn_home.gif" width="108" height="37" alt="처음으로 이동합니다" /></a></td></tr>
</table>
</td>
</tr>
<tr><td><img src="./img/boxbtm589.gif" alt="Copyright(c) KCP Inc. All rights reserved."/></td></tr>
</table>
</div>
</body>
</html>

102
mobile/shop/list.php Normal file
View File

@ -0,0 +1,102 @@
<?php
include_once('./_common.php');
$sql = " select *
from {$g4['shop_category_table']}
where ca_id = '$ca_id'
and ca_use = '1' ";
$ca = sql_fetch($sql);
if (!$ca['ca_id'])
alert('등록된 분류가 없습니다.');
$g4['title'] = $ca['ca_name'].' 상품리스트';
include_once('./_head.php');
// 스킨을 지정했다면 지정한 스킨을 사용함 (스킨의 다양화)
//if ($skin) $ca[ca_skin] = $skin;
if ($is_admin)
echo '<div class="sct_admin"><a href="'.G4_ADMIN_URL.'/shop_admin/categoryform.php?w=u&amp;ca_id='.$ca_id.'" class="btn_admin">분류 관리</a></div>';
?>
<div id="sct">
<?
$nav_ca_id = $ca_id;
include G4_SHOP_PATH.'/navigation1.inc.php';
// 상단 HTML
echo '<div id="sct_hhtml">'.stripslashes($ca['ca_mobile_head_html']).'</div>';
include G4_MSHOP_PATH.'/listcategory3.inc.php';
// 상품 출력순서가 있다면
if ($sort != "") {
$order_by = $sort . ' '.$sortodr. ' , ';
}
// 상품 (하위 분류의 상품을 모두 포함한다.)
$sql_list1 = " select * ";
$sql_list2 = " order by $order_by it_order, it_id desc ";
// 하위분류 포함
// 판매가능한 상품만
$sql_common = " from {$g4['shop_item_table']}
where (ca_id like '{$ca_id}%'
or ca_id2 like '{$ca_id}%'
or ca_id3 like '{$ca_id}%')
and it_use = '1' ";
$error = '<p class="sct_noitem">등록된 상품이 없습니다.</p>';
// 리스트 유형별로 출력
$list_file = G4_SHOP_PATH.'/'.$ca['ca_mobile_skin'];
if (file_exists($list_file)) {
$list_mod = $ca['ca_mobile_list_mod'];
$list_row = $ca['ca_mobile_list_row'];
$img_width = $ca['ca_mobile_img_width'];
$img_height = $ca['ca_mobile_img_height'];
include G4_MSHOP_PATH.'/list.sub.php';
include G4_MSHOP_PATH.'/list.sort.php';
$sql = $sql_list1 . $sql_common . $sql_list2 . " limit $from_record, $items ";
$result = sql_query($sql);
echo '<div class="sct_wrap">';
include $list_file;
echo '</div>';
}
else
{
$i = 0;
$error = '<p class="sct_nofile">'.$ca['ca_mobile_skin'].' 파일을 찾을 수 없습니다.<br>관리자에게 알려주시면 감사하겠습니다.</p>';
}
if ($i==0)
{
echo '<div>'.$error.'</div>';
}
?>
<?php
// 하단 HTML
echo '<div id="sct_thtml">'.stripslashes($ca['ca_mobile_tail_html']).'</div>';
?>
</div>
<?php
$qstr1 .= 'ca_id='.$ca_id;
if($skin)
$qstr1 .= '&amp;skin='.$skin;
$qstr1 .='&amp;ev_id='.$ev_id.'&amp;sort='.$sort.'&amp;sortodr='.$sortodr;
echo get_paging($config['cf_write_pages'], $page, $total_page, $_SERVER['PHP_SELF'].'?'.$qstr1.'&amp;page=');
?>
<?php
include_once('./_tail.php');
echo "\n<!-- {$ca['ca_skin']} -->\n";
?>

View File

@ -0,0 +1,47 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// $list_mod 가로 나열 수
for ($i=1; $row=sql_fetch_array($result); $i++)
{
$href = G4_SHOP_URL.'/item.php?it_id='.$row['it_id'];
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';
}
$sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
$sns_send = G4_SHOP_URL.'/sns_send.php?url='.urlencode(G4_SHOP_URL.'/item.php?it_id='.$row['it_id']);
$sns_send .= '&amp;title='.urlencode(cut_str($sns_title, 100));
if ($i == 1) echo '<ul class="sct sct_10">';
?>
<li class="sct_li <?php echo $sct_last; ?>">
<a href="<?php echo $href; ?>" class="sct_a">
<span class="sct_img"><?php echo get_it_image($row['it_id'].'_m', $img_width, $img_height); ?></span>
<b><?php echo stripslashes($row['it_name']); ?></b>
<?php if ($row['it_cust_amount'] && !$row['it_gallery']) { ?>
<s><?php echo display_amount($row['it_cust_amount']); ?></s>
<?php } ?>
<?php if (!$row['it_gallery']) { // 전시 상품이 아닐 때 ?>
<span class="sct_cost"><?php echo display_amount(get_amount($row), $row['it_tel_inq']); ?></span>
<?php } ?>
<span class="sct_icon">
<?php echo display_item_icon($row); // 이미지 아이콘?>
</span>
</a>
<div class="sct_sns">
<a href="<?php echo $sns_send; ?>&amp;sns=facebook" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_fb.png" alt="페이스북에 공유"></a>
<a href="<?php echo $sns_send; ?>&amp;sns=twitter" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_twt.png" alt="트위터에 공유"></a>
<a href="<?php echo $sns_send; ?>&amp;sns=google" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_goo.png" alt="구글플러스에 공유"></a>
</div>
</li>
<?php
}
if ($i > 1) echo '</ul>';
if($i == 1) echo '<p class="sct_noitem">등록된 상품이 없습니다.</p>';
?>

26
mobile/shop/list.sort.php Normal file
View File

@ -0,0 +1,26 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sct_sort_href = $_SERVER['PHP_SELF'].'?ca_id='.$ca_id;
if($skin)
$sct_sort_href .= '&amp;skin='.$skin;
$sct_sort_href .= '&amp;ev_id='.$ev_id.'&amp;sort=';
?>
<section id="sct_sort">
<h2>상품 정렬</h2>
<div>
상품 <b><?php echo number_format($total_count); ?></b>개
</div>
<ul>
<li><a href="<?php echo $sct_sort_href; ?>it_amount&amp;sortodr=asc" class="btn01">낮은가격순</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_amount&amp;sortodr=desc" class="btn01">높은가격순</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_name&amp;sortodr=asc" class="btn01">상품명순</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_type1&amp;sortodr=desc" class="btn01">히트상품</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_type2&amp;sortodr=desc" class="btn01">추천상품</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_type3&amp;sortodr=desc" class="btn01">최신상품</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_type4&amp;sortodr=desc" class="btn01">인기상품</a></li>
<li><a href="<?php echo $sct_sort_href; ?>it_type5&amp;sortodr=desc" class="btn01">할인상품</a></li>
</ul>
</section>

19
mobile/shop/list.sub.php Normal file
View File

@ -0,0 +1,19 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 총몇개 = 한줄에 몇개 * 몇줄
$items = $list_mod * $list_row;
// <TD> 태그 폭
$td_width = (int)(100 / $list_mod);
$sql = "select COUNT(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
// 전체 페이지 계산
$total_page = ceil($total_count / $items);
// 페이지가 없으면 첫 페이지 (1 페이지)
if ($page == "") $page = 1;
// 시작 레코드 구함
$from_record = ($page - 1) * $items;
?>

View File

@ -0,0 +1,41 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// $list_mod 가로 나열 수
for ($i=1; $row=sql_fetch_array($result); $i++) {
$href = G4_SHOP_URL.'/item.php?it_id='.$row['it_id'];
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';
}
$sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
$sns_send = G4_SHOP_URL.'/sns_send.php?url='.urlencode(G4_SHOP_URL.'/item.php?it_id='.$row['it_id']);
$sns_send .= '&amp;title='.urlencode(cut_str($sns_title, 100));
if ($i == 1) echo '<ul class="sct sct_10">';
?>
<li class="sct_li <?php echo $sct_last; ?>">
<a href="<?php echo $href; ?>" class="sct_a">
<span class="sct_img"><?php echo get_it_image($row['it_id'].'_m', $img_width, $img_height); ?></span>
<b><?php echo stripslashes($row['it_name']); ?></b>
<span class="sct_cost"><?php echo display_amount(get_amount($row), $row['it_tel_inq']); ?></span>
<span class="sct_icon">
<?php echo display_item_icon($row); // 이미지 아이콘?>
</span>
</a>
<div class="sct_sns">
<a href="<?php echo $sns_send; ?>&amp;sns=facebook" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_fb.png" alt="페이스북에 공유"></a>
<a href="<?php echo $sns_send; ?>&amp;sns=twitter" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_twt.png" alt="트위터에 공유"></a>
<a href="<?php echo $sns_send; ?>&amp;sns=google" target="_blank"><img src="<?php echo G4_URL; ?>/img/shop/sns_goo.png" alt="구글플러스에 공유"></a>
</div>
</li>
<?php
}
if ($i > 1) echo '</ul>';
if($i == 1) echo '<p class="sct_noitem">등록된 상품이 없습니다.</p>';
?>

119
mobile/shop/mypage.php Normal file
View File

@ -0,0 +1,119 @@
<?php
include_once('./_common.php');
if (!$is_member)
goto_url(G4_BBS_URL."/login.php?url=".urlencode(G4_SHOP_URL."/mypage.php"));
$g4['title'] = '마이페이지';
include_once('./_head.php');
?>
<img src="<?php echo G4_SHOP_URL; ?>/img/top_mypage.gif" border=0><p>
<table align=center width=100%>
<tr>
<td><B><?php echo $member['mb_name']; ?></B> 님의 마이페이지입니다.</td>
<td align=right>
<?php if ($is_admin == 'super') { echo "<a href='".G4_ADMIN_URL."/'><img src='".G4_SHOP_URL."/img/btn_admin.gif' border=0 align='absmiddle'></a>"; } ?>
<a href='<?php echo G4_BBS_URL; ?>/member_confirm.php?url=register_form.php'><img src='<?php echo G4_SHOP_URL; ?>/img/my_modify.gif' border=0 align='absmiddle'></a>
<a href="<?php echo G4_BBS_URL; ?>/member_confirm.php?url=member_leave.php" onclick="return member_leave();"><img src='<?php echo G4_SHOP_URL; ?>/img/my_leave.gif' border=0 align='absmiddle'></a></td>
</tr>
</table>
<script>
function member_leave()
{
return confirm('정말 회원에서 탈퇴 하시겠습니까?')
}
</script>
<table cellpadding=0 cellspacing=0 align=center background='<?php echo G4_SHOP_URL; ?>/img/my_bg.gif'>
<tr><td colspan=4><img src='<?php echo G4_SHOP_URL; ?>/img/my_box01.gif'></td></tr>
<tr>
<td height=25>&nbsp;&nbsp;&nbsp;보유포인트 </td>
<td>: <a href="<?php echo G4_BBS_URL; ?>/point.php" target="_blank" class="win_point"><?php echo number_format($member['mb_point']); ?>점</a></td>
<td>쪽지함</td>
<td>: <a href="<?php echo G4_BBS_URL; ?>/memo.php" target="_blank" class="win_memo">쪽지보기</a></td>
</tr>
<tr>
<td height=25>&nbsp;&nbsp;&nbsp;주소</td>
<td>: <?php echo sprintf("(%s-%s) %s %s", $member['mb_zip1'], $member['mb_zip2'], $member['mb_addr1'], $member['mb_addr2']); ?></td>
<td>회원권한</td>
<td>: <?php echo $member['mb_level']; ?></td>
</tr>
<tr>
<td height=25>&nbsp;&nbsp;&nbsp;연락처</td>
<td>: <?php echo $member['mb_tel']; ?></td>
<td>최종접속일시</td>
<td>: <?php echo $member['mb_today_login']; ?></td>
</tr>
<tr>
<td height=25>&nbsp;&nbsp;&nbsp;E-mail</td>
<td>: <?php echo $member['mb_email']; ?></td>
<td>회원가입일시</td>
<td>: <?php echo $member['mb_datetime']; ?></td>
</tr>
<tr><td colspan=4><img src='<?php echo G4_SHOP_URL; ?>/img/my_box02.gif'></td></tr>
</table><BR><BR>
<table width=98% cellpadding=0 cellspacing=0 align=center>
<tr>
<td height=35><img src='<?php echo G4_SHOP_URL; ?>/img/my_title01.gif'></td>
<td align=right><a href='./orderinquiry.php'><img src='<?php echo G4_SHOP_URL; ?>/img/icon_more.gif' border=0></a></td>
</tr>
</table>
<?php
// 최근 주문내역
define("_ORDERINQUIRY_", true);
$limit = " limit 0, 5 ";
include G4_MSHOP_PATH.'/orderinquiry.sub.php';
?>
<br>
<table width=98% cellpadding=0 cellspacing=0 align=center>
<tr>
<td height=35 colspan=2><img src='<?php echo G4_SHOP_URL; ?>/img/my_title02.gif'></td>
<td align=right><a href='./wishlist.php'><img src='<?php echo G4_SHOP_URL; ?>/img/icon_more.gif' border=0></a></td>
</tr>
<tr><td height=2 colspan=3 class=c1></td></tr>
<tr align=center height=25 class=c2>
<td colspan=2>상품명</td>
<td>보관일시</td>
</tr>
<tr><td height=1 colspan=3 class=c1></td></tr>
<?php
$sql = " select *
from {$g4['shop_wish_table']} a,
{$g4['shop_item_table']} b
where a.mb_id = '{$member['mb_id']}'
and a.it_id = b.it_id
order by a.wi_id desc
limit 0, 3 ";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
{
if ($i>0)
echo "<tr><td colspan=3 height=1 background='".G4_SHOP_URL."/img/dot_line.gif'></td></tr>";
$image = get_it_image($row['it_id']."_s", 50, 50, $row['it_id']);
echo "<tr align=center height=60>";
echo "<td width=100>$image</td>";
echo "<td align=left><a href='./item.php?it_id={$row['it_id']}'>".stripslashes($row['it_name'])."</a></td>";
echo "<td>$row[wi_time]</td>";
echo "</tr>";
}
if ($i == 0)
echo "<tr><td colspan=3 height=100 align=center><span class=point>보관 내역이 없습니다.</span></td></tr>";
?>
<tr><td height=1 colspan=3 bgcolor=#94D7E7></td></tr>
</table>
<?php
include_once("./_tail.php");
?>

147
mobile/shop/search.php Normal file
View File

@ -0,0 +1,147 @@
<?php
include_once('./_common.php');
$g4['title'] = "상품 검색 결과";
include_once('./_head.php');
// QUERY 문에 공통적으로 들어가는 내용
// 상품명에 검색어가 포한된것과 상품판매가능인것만
$sql_common = " from {$g4['shop_item_table']} a,
{$g4['shop_category_table']} b
where a.ca_id=b.ca_id
and a.it_use = 1
and b.ca_use = 1
/* 중복검색에 대한 오류로 인해 막음 : where (a.ca_id=b.ca_id or a.ca_id2=b.ca_id or a.ca_id3=b.ca_id) */ ";
if ($search_str) {
$sql_common .= " and ( a.it_id like '$search_str%' or
a.it_name like '%$search_str%' or
a.it_basic like '%$search_str%' or
a.it_explan like '%$search_str%' ) ";
}
/*
// 공백을 구분하여 검색을 할때는 이 코드를 사용하십시오. or 조건
if ($search_str) {
$s_str = explode(" ", $search_str);
$or = " ";
$sql_common .= " and ( ";
for ($i=0; $i<count($s_str); $i++) {
$sql_common .= " $or (a.it_id like '$s_str[$i]%' or a.it_name like '%$s_str[$i]%' or a.it_basic like '%$s_str[$i]%' or a.it_explan like '%$s_str[$i]%' ) ";
$or = " or ";
}
$sql_common .= " ) ";
}
*/
// 분류선택이 있다면 특정 분류만
if ($search_ca_id != "")
$sql_common .= " and a.ca_id like '$search_ca_id%' ";
// 검색된 내용이 몇행인지를 얻는다
$sql = " select COUNT(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
?>
<div id="ssch">
<div id="ssch_ov">검색어 <strong><?php echo ($search_str ? stripslashes(get_text($search_str)) : '없음'); ?></strong> | 검색 결과 <strong><?php echo $total_count; ?></strong>건</div>
<?php
// 임시배열에 저장해 놓고 분류별로 출력한다.
// write_serarch_save() 함수가 임시배열에 있는 내용을 출력함
if ($total_count > 0) {
if (trim($search_str)) {
// 인기검색어
$sql = " insert into {$g4['popular_table']}
set pp_word = '$search_str',
pp_date = '".G4_TIME_YMD."',
pp_ip = '{$_SERVER['REMOTE_ADDR']}' ";
sql_query($sql, FALSE);
}
unset($save); // 임시 저장 배열
$sql = " select a.ca_id,
a.it_id
$sql_common
order by a.ca_id, a.it_id desc ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
if ($save['ca_id'] != $row['ca_id']) {
if ($save['ca_id']) {
write_search_save($save);
unset($save);
}
$save['ca_id'] = $row['ca_id'];
$save['cnt'] = 0;
}
$save['it_id'][$save['cnt']] = $row['it_id'];
$save[cnt]++;
}
}
mysql_free_result($result);
write_search_save($save);
function write_search_save($save)
{
global $g4, $search_str , $default , $image_rate , $cart_dir;
$sql = " select ca_name from {$g4['shop_category_table']} where ca_id = '{$save['ca_id']}' ";
$row = sql_fetch($sql);
// 김선용 2006.12 : 중복 하위분류명이 많으므로 대분류 포함하여 출력
$ca_temp = "";
if(strlen($save['ca_id']) > 2) // 중분류 이하일 경우
{
$sql2 = " select ca_name from $g4[shop_category_table] where ca_id='".substr($save['ca_id'],0,2)."' ";
$row2 = sql_fetch($sql2);
$ca_temp = '<a href="./list.php?ca_id='.substr($save['ca_id'],0,2).'">'.$row2['ca_name'].'</a> &gt; ';
}
?>
<table class="basic_tbl">
<caption><?php echo $ca_temp?><a href="./list.php?ca_id=<?php echo $save['ca_id']; ?>"><?php echo $row['ca_name']; ?></a> 상품<?php echo $save['cnt']; ?>개</caption>
<thead>
<tr>
<th scope="col">이미지</td>
<th scope="col">상품명</th>
<th scope="col">판매가격</td>
<th scope="col">포인트</td>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $i<$save['cnt']; $i++) {
$sql = " select it_id,
it_name,
it_amount,
it_amount2,
it_amount3,
it_tel_inq,
it_point,
it_type1,
it_type2,
it_type3,
it_type4,
it_type5
from {$g4['shop_item_table']} where it_id = '{$save['it_id'][$i]}' ";
$row = sql_fetch($sql);
$image = get_it_image($row['it_id'].'_s', (int)($default['de_simg_width']), (int)($default['de_simg_height']), $row['it_id']);
?>
<tr>
<td class="ssch_it_img"><?php echo $image; ?></td>
<td><?php echo it_name_icon($row); ?></td>
<td class="ssch_num"><?php echo display_amount(get_amount($row), $row['it_tel_inq']); ?></td>
<td class="ssch_num"><?php echo display_point($row['it_point']); ?></td>
</tr>
<?php } // for 끝 ?>
</tbody>
</table>
<?php } // function 끝 ?>
</div>
<?php
include_once('./_tail.php');
?>

View File

@ -0,0 +1,29 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$test = "";
if ($default['de_card_test']) {
if ($default['de_escrow_use'] == 1) {
// 에스크로결제 테스트
$default['de_kcp_mid'] = "T0007";
$default['de_kcp_site_key'] = '2.mDT7R4lUIfHlHq4byhYjf__';
}
else {
// 일반결제 테스트
$default['de_kcp_mid'] = "T0000";
$default['de_kcp_site_key'] = '3grptw1.zW0GSo4PQdaGvsF__';
}
$test = "_test";
}
else {
$default['de_kcp_mid'] = "SR".$default['de_kcp_mid'];
}
$g_conf_js_url = "https://pay.kcp.co.kr/plugin/payplus{$test}_un.js";
$g_conf_log_level = "3"; // 변경불가
$g_conf_gw_port = "8090"; // 포트번호(변경불가)
?>

127
mobile/shop/shop.head.php Normal file
View File

@ -0,0 +1,127 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G4_PATH.'/head.sub.php');
include_once(G4_LIB_PATH.'/outlogin.lib.php');
include_once(G4_LIB_PATH.'/poll.lib.php');
include_once(G4_LIB_PATH.'/visit.lib.php');
include_once(G4_LIB_PATH.'/connect.lib.php');
include_once(G4_LIB_PATH.'/popular.lib.php');
?>
<header id="hd">
<h1><?php echo $config['cf_title'] ?></h1>
<div id="to_content"><a href="#container">내용 바로가기</a></div>
<?php if(defined('_INDEX_')) { // index에서만 실행 ?>
<div id="hd_pop">
<h2>팝업레이어 알림</h2>
<?php include G4_SHOP_PATH.'/newwin.inc.php'; // 팝업레이어 ?>
</div>
<?php } ?>
<aside id="hd_nb">
<h2>쇼핑몰 퀵메뉴</h2>
<ul>
<li><a href="<?php echo G4_SHOP_URL; ?>/cart.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_cart.gif" alt="장바구니"></a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/wishlist.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_wish.gif" alt="위시리스트"></a></li>
<li id="hd_nb_last"><a href="<?php echo G4_SHOP_URL; ?>/orderinquiry.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_deli.gif" alt="주문/배송조회"></a></li>
</ul>
</aside>
<div id="logo"><a href="<?php echo G4_SHOP_URL; ?>/"><img src="<?php echo G4_DATA_URL; ?>/common/logo_img" alt="쇼핑몰 처음으로"></a></div>
<aside id="hd_aside">
<h2>상단 편의메뉴</h2>
<div>
<section id="sch_all">
<h3>쇼핑몰 검색</h3>
<form name="frmsearch1" onsubmit="return search_submit(this);">
<input type="hidden" name="sfl" value="wr_subject||wr_content">
<input type="hidden" name="sop" value="and">
<input type="hidden" name="stx" value="">
<span>
<label for="sch_all_flag" class="sound_only">검색대상</label>
<select name="search_flag" id="sch_all_flag">
<option value="상품" <?php echo get_selected($search_flag, '상품'); ?>>상품</option>
<option value="게시판" <?php echo get_selected($search_flag, '게시판'); ?>>게시판</option>
</select>
</span>
<label for="sch_all_str" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="search_str" value="<?php echo stripslashes(get_text($search_str)); ?>" id="sch_all_str">
<input type="submit" value="검색" id="sch_all_submit">
</form>
<script>
function search_submit(f) {
if (f.search_flag.value == '상품') {
f.action = '<?php echo G4_SHOP_URL; ?>/search.php';
} else {
f.stx.value = f.search_str.value;
f.action = '<?php echo G4_BBS_URL; ?>/search.php';
}
}
</script>
</section>
<section id="hd_aside_mb">
<h3>회원메뉴 및 FAQ</h3>
<ul>
<?php if ($is_member) { ?>
<li><a href="<?php echo G4_BBS_URL; ?>/logout.php">로그아웃</a></li>
<li><a href="<?php echo G4_BBS_URL; ?>/member_confirm.php?url=register_form.php">정보수정</a></li>
<?php } else { ?>
<li><a href="<?php echo G4_BBS_URL; ?>/login.php?url=<?php echo $urlencode; ?>">로그인</a></li>
<li><a href="<?php echo G4_BBS_URL; ?>/register.php">회원가입</a></li>
<?php } ?>
<li><a href="<?php echo G4_SHOP_URL; ?>/mypage.php">마이페이지</a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/faq.php">FAQ</a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/itemuselist.php">사용후기</a></li>
</ul>
</section>
</div>
</aside>
</header>
<div id="wrapper">
<aside id="stv">
<?php include(G4_SHOP_PATH.'/boxtodayview.inc.php'); ?>
</aside>
<div id="aside">
<?php echo outlogin('shop_outlogin'); // 외부 로그인 ?>
<!-- 상품분류 -->
<?php include_once(G4_SHOP_PATH.'/boxcategory.inc.php'); ?>
<!-- 이벤트 -->
<?php include_once(G4_SHOP_PATH.'/boxevent.inc.php'); ?>
<!-- 커뮤니티 -->
<?php include_once(G4_SHOP_PATH.'/boxcommunity.inc.php'); ?>
<!-- 장바구니 -->
<?php // include_once(G4_SHOP_PATH.'/boxcart.inc.php'); ?>
<!-- 보관함 -->
<?php // include_once(G4_SHOP_PATH.'/boxwish.inc.php'); ?>
<!-- 왼쪽 배너 -->
<section id="sbn_aside">
<h2>쇼핑몰 배너</h2>
<?php echo display_banner('왼쪽'); ?>
</section>
</div>
<div id="container">
<?php if ((!$bo_table || $w == 's' ) && !defined('_INDEX_')) { ?><h1 id="wrapper_title"><?php echo $g4['title'] ?></h1><?php } ?>
<div id="text_size">
<button class="no_text_resize" onclick="font_resize('container', 'decrease');">작게</button>
<button class="no_text_resize" onclick="font_default('container');">기본</button>
<button class="no_text_resize" onclick="font_resize('container', 'increase');">크게</button>
</div>

52
mobile/shop/shop.tail.php Normal file
View File

@ -0,0 +1,52 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$admin = get_admin("super");
// 사용자 화면 우측과 하단을 담당하는 페이지입니다.
// 우측, 하단 화면을 꾸미려면 이 파일을 수정합니다.
?>
</div><!-- Container End -->
</div><!-- Wrapper End -->
<footer id="ft">
<h1><?php echo $config['cf_title']; ?> 정보</h1>
<div>
<a href="<?php echo G4_SHOP_URL; ?>/" id="ft_logo"><img src="<?php echo G4_DATA_URL; ?>/common/logo_img" alt="처음으로"></a>
<ul>
<li><a href="<?php echo G4_SHOP_URL; ?>/content.php?co_id=company">회사소개</a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/content.php?co_id=provision">서비스이용약관</a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/content.php?co_id=privacy">개인정보 취급방침</a></li>
</ul>
<p>
<span><?php echo $default['de_admin_company_addr']; ?></span>
<span><b>전화</b> <?php echo $default['de_admin_company_tel']; ?></span>
<span><b>팩스</b> <?php echo $default['de_admin_company_fax']; ?></span>
<span><b>운영자</b> <?php echo $admin['mb_name']; ?></span><br>
<span><b>사업자 등록번호</b> <?php echo $default['de_admin_company_saupja_no']; ?></span>
<span><b>대표</b> <?php echo $default['de_admin_company_owner']; ?></span>
<span><b>개인정보관리책임자</b> <?php echo $default['de_admin_info_name']; ?></span><br>
<span><b>통신판매업신고번호</b> <?php echo $default['de_admin_tongsin_no']; ?></span>
<?php if ($default['de_admin_buga_no']) echo '<span>부가통신사업신고번호 '.$default['de_admin_buga_no'].'</span>'; ?><br>
Copyright &copy; 2001-2013 <?php echo $default['de_admin_company_name']; ?>. All Rights Reserved.
</p>
<a href="#" id="ft_totop">상단으로</a>
</div>
</footer>
<?php
if(!G4_IS_MOBILE) {
$querystring = str_replace("&", "&amp;", $_SERVER['QUERY_STRING']);
?>
<a href="<?php echo $_SERVER['PHP_SELF'].($_SERVER['QUERY_STRING'] ? '?'.$querystring.'&amp;' : '?').'device=mobile'; ?>" id="device_change">모바일 버전으로 보기</a>
<?php } ?>
<?php
$sec = get_microtime() - $begin_time;
$file = $_SERVER['PHP_SELF'];
?>
<?php
include_once(G4_PATH.'/tail.sub.php');
?>

148
mobile/shop/wishlist.php Normal file
View File

@ -0,0 +1,148 @@
<?php
include_once('./_common.php');
if (!$is_member)
goto_url(G4_BBS_URL."/login.php?url=".urlencode(G4_SHOP_URL.'/mypage.php'));
$g4['title'] = "보관함";
include_once('./_head.php');
?>
<div id="sod_ws">
<form name="fwishlist" method="post" action="">
<input type="hidden" name="act" value="multi">
<input type="hidden" name="sw_direct" value="">
<input type="hidden" name="prog" value="wish">
<table class="basic_tbl">
<thead>
<tr>
<th scope="col">선택</th>
<th scope="col">이미지</th>
<th scope="col">상품명</th>
<th scope="col">보관일시</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody>
<?php
$sql = " select *
from {$g4['shop_wish_table']} a,
{$g4['shop_item_table']} b
where a.mb_id = '{$member['mb_id']}'
and a.it_id = b.it_id
order by a.wi_id desc ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$out_cd = '';
for($k=1; $k<=6; $k++){
$opt = trim($row['it_opt'.$k]);
if(preg_match("/\n/", $opt)||preg_match("/;/" , $opt)) {
$out_cd = 'no';
break;
}
}
$it_amount = get_amount($row);
if ($row['it_tel_inq']) $out_cd = 'tel_inq';
$image = get_it_image($row['it_id'].'_s', 70, 70, '');
$s_del = '';
?>
<tr>
<td class="td_chk">
<?php
// 품절검사
$it_stock_qty = get_it_stock_qty($row['it_id']);
if($it_stock_qty <= 0)
{
?>
품절
<input type="hidden" name="it_id[<?php echo $i; ?>]">
<?php } else { //품절이 아니면 체크할수 있도록한다 ?>
<input type="checkbox" name="it_id[<?php echo $i; ?>]" value="<?php echo $row['it_id']; ?>" onclick="out_cd_check(this, '<?php echo $out_cd; ?>');">
<?php } ?>
<input type="hidden" name="it_name[<?php echo $i; ?>]" value="<?php echo $row['it_name']; ?>">
<input type="hidden" name="it_amount[<?php echo $i; ?>]" value="<?php echo $it_amount; ?>">
<input type="hidden" name="it_point[<?php echo $i; ?>]" value="<?php echo $row['it_point']; ?>">
<input type="hidden" name="ct_qty[<?php echo $i; ?>]" value="1">
</td>
<td class="sod_ws_img"><?php echo $image; ?></td>
<td><a href="./item.php?it_id=<?php echo $row['it_id']; ?>"><?php echo stripslashes($row['it_name']); ?></a></td>
<td class="td_datetime"><?php echo $row['wi_time']; ?></td>
<td class="td_smallmng"><a href="./wishupdate.php?w=d&amp;wi_id=<?php echo $row['wi_id']; ?>">삭제</a></td>
</tr>
<?php
}
if ($i == 0)
echo '<tr><td colspan="5" class="empty_table">보관함이 비었습니다.</td></tr>';
?>
</tr>
</table>
</form>
<div id="sod_ws_act">
<a href="javascript:fwishlist_check(document.fwishlist,'');" class="btn01">장바구니 담기</a>
<a href="javascript:fwishlist_check(document.fwishlist,'direct_buy');" class="btn02">주문하기</a>
</div>
</div>
<script language="JavaScript">
<!--
function out_cd_check(fld, out_cd)
{
if (out_cd == 'no'){
alert("옵션이 있는 상품입니다.\n\n상품을 클릭하여 상품페이지에서 옵션을 선택한 후 주문하십시오.");
fld.checked = false;
return;
}
if (out_cd == 'tel_inq'){
alert("이 상품은 전화로 문의해 주십시오.\n\n장바구니에 담아 구입하실 수 없습니다.");
fld.checked = false;
return;
}
}
function fwishlist_check(f, act)
{
var k = 0;
var length = f.elements.length;
for(i=0; i<length; i++) {
if (f.elements[i].checked) {
k++;
}
}
if(k == 0)
{
alert("상품을 하나 이상 체크 하십시오");
return;
}
if (act == "direct_buy")
{
f.sw_direct.value = 1;
}
else
{
f.sw_direct.value = 0;
}
f.action="./cartupdate.php";
f.submit();
}
//-->
</script>
<?php
include_once('./_tail.php');
?>

View File

@ -40,9 +40,19 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
<tr>
<th scope="row"><label for="reg_mb_name">이름<strong class="sound_only">필수</strong></label></th>
<td>
<?php echo $config['cf_kcpcert_use'] ? '<span class="frm_info">이름과 휴대폰번호는 아래의 휴대폰 본인확인 기능을 사용하여 입력해 주십시오.</span>' : ''; ?>
<?php echo ($config['cf_kcpcert_use']=='test') ? '<span class="frm_info">테스트의 경우 이동통신사는 반드시 KT를 선택해 주십시오. 나머지 항목은 임의로 입력하시면 됩니다.</span>' : ''; ?>
<input type="text" name="mb_name" value="<?php echo $member['mb_name'] ?>" id="reg_mb_name" class="frm_input nospace <?php echo $required ?> <?php echo $readonly ?>" <?php echo $required ?> <?php echo $readonly ?>>
<?php if ($w=="u" && $config['cf_kcpcert_use']) { ?>
<span class="frm_info">휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되며 수동으로 입력할수 없게 됩니다.</span>
<?php } ?>
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo $member['mb_name'] ?>" <?php echo $required ?> <?php if ($w=='u') echo 'readonly'; ?> class="frm_input nospace <?php echo $required ?> <?php echo $readonly ?>" size="10">
<?php if ($w=="u" && $config['cf_kcpcert_use']) { ?>
<button type="button" id="win_kcpcert" class="btn_frmline">휴대폰 본인확인</button>
<noscript>휴대폰 본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>
<?php } ?>
<div id="msg_hp_certify">
<?php if ($member['mb_hp_certify']) { ?>
휴대폰 <strong>본인확인</strong><?php if ($member['mb_hp_certify']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료
<?php } ?>
</div>
</td>
</tr>
<?php if ($req_nick) { ?>
@ -88,20 +98,10 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
</tr>
<?php } ?>
<?php if ($config['cf_use_hp'] || $config['cf_kcpcert_use']) { ?>
<?php if ($config['cf_use_hp']) { ?>
<tr>
<th scope="row"><label for="reg_mb_hp">휴대폰번호<?php if ($config['cf_req_hp']) { ?><strong class="sound_only">필수</strong><?php } ?></label></th>
<td>
<?php if ($config['cf_kcpcert_use']) { ?>
<span class="frm_info">휴대폰번호는 휴대폰 본인확인 기능을 이용하여 입력하세요.</span>
<?php } ?>
<input type="text" name="mb_hp" value="<?php echo $member[mb_hp] ?>" id="reg_mb_hp" <?php echo ($config['cf_req_hp']||$config['cf_kcpcert_use'])?"required":""; ?> class="frm_input <?php echo ($config['cf_req_hp']||$config['cf_kcpcert_use'])?"required":""; ?>" <?php echo $config['cf_kcpcert_use']?"readonly":""; ?> maxlength="20">
<?php if ($config['cf_kcpcert_use']) { ?>
<input type="hidden" name="old_mb_hp" value="<?php echo $member['mb_hp'] ?>">
<button type="button" id="win_kcpcert" class="btn_frmline">휴대폰 본인확인</button>
<noscript>휴대폰 본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>
<?php } ?>
</td>
<td><input type="text" name="mb_hp" value="<?php echo $member[mb_hp] ?>" id="reg_mb_hp" <?php echo ($config['cf_req_hp'])?"required":""; ?> class="frm_input <?php echo ($config['cf_req_hp'])?"required":""; ?>" maxlength="20"></td>
</tr>
<?php } ?>
@ -237,15 +237,11 @@ if ($config['cf_kcpcert_use']) {
// 휴대폰인증 form
include_once(G4_KCP_PATH.'/kcpcert_form.php');
?>
<script>
$(function() {
$("#reg_zip_find").css("display", "inline-block");
$("#reg_mb_zip1, #reg_mb_zip2, #reg_mb_addr1").attr("readonly", true);
// 휴대폰인증
$('#win_kcpcert').click(function() {
auth_type_check($("#reg_mb_name").val());
auth_type_check();
return false;
});
});
@ -253,6 +249,11 @@ $(function() {
<?php } ?>
<script>
$(function() {
$("#reg_zip_find").css("display", "inline-block");
$("#reg_mb_zip1, #reg_mb_zip2, #reg_mb_addr1").attr("readonly", true);
});
// submit 최종 폼체크
function fregisterform_submit(f)
{
@ -295,15 +296,6 @@ function fregisterform_submit(f)
f.mb_name.focus();
return false;
}
/*
var pattern = /([^가-힣\x20])/i;
if (pattern.test(f.mb_name.value)) {
alert('이름은 한글로 입력하십시오.');
f.mb_name.select();
return false;
}
*/
}
// 별명 검사
@ -351,31 +343,6 @@ function fregisterform_submit(f)
}
}
<?php if ($config['cf_kcpcert_use']) { ?>
var error = "";
$.ajax({
url: "<?php echo G4_KCP_URL ?>/kcpcert.ajax.php",
type: "POST",
data: {
"w": f.w.value,
"mb_name": f.mb_name.value,
"mb_hp": f.mb_hp.value,
"old_mb_hp":f.old_mb_hp.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
error = data.error;
}
});
if (error) {
alert(error);
return false;
}
<?php } ?>
<?php echo chk_captcha_js(); ?>
document.getElementById("btn_submit").disabled = "disabled";

View File

@ -1,10 +1,16 @@
<?php
include_once("./_common.php");
include_once(G4_LIB_PATH.'/latest.lib.php');
include_once(G4_LIB_PATH.'/poll.lib.php');
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/index.php');
return;
}
define("_INDEX_", TRUE);
include_once(G4_LIB_PATH.'/latest.lib.php');
include_once(G4_LIB_PATH.'/poll.lib.php');
include_once(G4_SHOP_PATH.'/shop.head.php');
?>

View File

@ -1,5 +1,11 @@
<?php
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/item.php');
return;
}
include_once(G4_LIB_PATH.'/iteminfo.lib.php');
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');

View File

@ -1,5 +1,10 @@
<?php
include_once("./_common.php");
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/list.php');
return;
}
$sql = " select *
from {$g4['shop_category_table']}

View File

@ -1,5 +1,11 @@
<?php
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/listtype.php');
return;
}
include_once('./_head.php');
$type = $_REQUEST['type'];

View File

@ -1,6 +1,11 @@
<?php
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/mypage.php');
return;
}
if (!$is_member)
goto_url(G4_BBS_URL."/login.php?url=".urlencode(G4_SHOP_URL."/mypage.php"));

View File

@ -1,6 +1,11 @@
<?php
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/search.php');
return;
}
$g4['title'] = "상품 검색 결과";
include_once('./_head.php');

View File

@ -1,6 +1,11 @@
<?php
include_once('./_common.php');
if (G4_IS_MOBILE) {
include_once(G4_MSHOP_PATH.'/whislist.php');
return;
}
if (!$is_member)
goto_url(G4_BBS_URL."/login.php?url=".urlencode(G4_SHOP_URL.'/mypage.php'));
@ -63,7 +68,7 @@ include_once('./_head.php');
{
?>
품절
<input type="hidden" name="it_id[$i]">
<input type="hidden" name="it_id[<?php echo $i; ?>]">
<?php } else { //품절이 아니면 체크할수 있도록한다 ?>
<input type="checkbox" name="it_id[<?php echo $i; ?>]" value="<?php echo $row['it_id']; ?>" onclick="out_cd_check(this, '<?php echo $out_cd; ?>');">
<?php } ?>