기타 추적되지 않는 파일들..

This commit is contained in:
2025-07-02 14:16:37 +09:00
parent 2d7bbdca89
commit b6080d2e47
74 changed files with 14184 additions and 2028 deletions

18
.gitignore vendored
View File

@ -1,20 +1,2 @@
!.gitignore
/.htaccess
data/ data/
test/
sirgle/
test.php
*.key
*.sh
log
g5_tree
cheditor5.*/
!ckeditor*/
log/
g5_tree/
.vscode/
naver*.html
initests01/
SIRsoft000/
config.php
pma/ pma/

23
.htaccess Normal file
View File

@ -0,0 +1,23 @@
#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^shop/list-([0-9a-z]+)$ shop/list.php?ca_id=$1&rewrite=1 [QSA,L]
RewriteRule ^shop/type-([0-9a-z]+)$ shop/listtype.php?type=$1&rewrite=1 [QSA,L]
RewriteRule ^shop/([0-9a-zA-Z_\-]+)$ shop/item.php?it_id=$1&rewrite=1 [QSA,L]
RewriteRule ^shop/([^/]+)/$ shop/item.php?it_seo_title=$1&rewrite=1 [QSA,L]
RewriteRule ^content/([0-9a-zA-Z_]+)$ bbs/content.php?co_id=$1&rewrite=1 [QSA,L]
RewriteRule ^content/([^/]+)/$ bbs/content.php?co_seo_title=$1&rewrite=1 [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$ bbs/rss.php?bo_table=$1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$ bbs/board.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$ bbs/write.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$ bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1 [QSA,L]
</IfModule>
#### 그누보드5 rewrite END #####
php_value max_input_vars 5000

1795
_db.php Normal file

File diff suppressed because one or more lines are too long

422
_zip.php Normal file
View File

@ -0,0 +1,422 @@
<?php
/**
* The Unzipper extracts .zip or .rar archives and .gz files on webservers.
* It's handy if you do not have shell access. E.g. if you want to upload a lot
* of files (php framework or image collection) as an archive to save time.
* As of version 0.1.0 it also supports creating archives.
*
* @author Andreas Tasch, at[tec], attec.at
* @license GNU GPL v3
* @package attec.toolbox
* @version 0.1.1
*/
define('VERSION', '0.1.1');
$timestart = microtime(TRUE);
$GLOBALS['status'] = array();
$unzipper = new Unzipper;
if (isset($_POST['dounzip'])) {
// Check if an archive was selected for unzipping.
$archive = isset($_POST['zipfile']) ? strip_tags($_POST['zipfile']) : '';
$destination = isset($_POST['extpath']) ? strip_tags($_POST['extpath']) : '';
$unzipper->prepareExtraction($archive, $destination);
}
if (isset($_POST['dozip'])) {
$zippath = !empty($_POST['zippath']) ? strip_tags($_POST['zippath']) : '.';
// Resulting zipfile e.g. zipper--2016-07-23--11-55.zip.
$zipfile = 'zipper-' . date("Y-m-d--H-i") . '.zip';
Zipper::zipDir($zippath, $zipfile);
}
$timeend = microtime(TRUE);
$time = round($timeend - $timestart, 4);
/**
* Class Unzipper
*/
class Unzipper {
public $localdir = '.';
public $zipfiles = array();
public function __construct() {
// Read directory and pick .zip, .rar and .gz files.
if ($dh = opendir($this->localdir)) {
while (($file = readdir($dh)) !== FALSE) {
if (pathinfo($file, PATHINFO_EXTENSION) === 'zip'
|| pathinfo($file, PATHINFO_EXTENSION) === 'gz'
|| pathinfo($file, PATHINFO_EXTENSION) === 'rar'
) {
$this->zipfiles[] = $file;
}
}
closedir($dh);
if (!empty($this->zipfiles)) {
$GLOBALS['status'] = array('info' => '.zip or .gz or .rar files found, ready for extraction');
}
else {
$GLOBALS['status'] = array('info' => 'No .zip or .gz or rar files found. So only zipping functionality available.');
}
}
}
/**
* Prepare and check zipfile for extraction.
*
* @param string $archive
* The archive name including file extension. E.g. my_archive.zip.
* @param string $destination
* The relative destination path where to extract files.
*/
public function prepareExtraction($archive, $destination = '') {
// Determine paths.
if (empty($destination)) {
$extpath = $this->localdir;
}
else {
$extpath = $this->localdir . '/' . $destination;
// Todo: move this to extraction function.
if (!is_dir($extpath)) {
mkdir($extpath);
}
}
// Only local existing archives are allowed to be extracted.
if (in_array($archive, $this->zipfiles)) {
self::extract($archive, $extpath);
}
}
/**
* Checks file extension and calls suitable extractor functions.
*
* @param string $archive
* The archive name including file extension. E.g. my_archive.zip.
* @param string $destination
* The relative destination path where to extract files.
*/
public static function extract($archive, $destination) {
$ext = pathinfo($archive, PATHINFO_EXTENSION);
switch ($ext) {
case 'zip':
self::extractZipArchive($archive, $destination);
break;
case 'gz':
self::extractGzipFile($archive, $destination);
break;
case 'rar':
self::extractRarArchive($archive, $destination);
break;
}
}
/**
* Decompress/extract a zip archive using ZipArchive.
*
* @param $archive
* @param $destination
*/
public static function extractZipArchive($archive, $destination) {
// Check if webserver supports unzipping.
if (!class_exists('ZipArchive')) {
$GLOBALS['status'] = array('error' => 'Error: Your PHP version does not support unzip functionality.');
return;
}
$zip = new ZipArchive;
// Check if archive is readable.
if ($zip->open($archive) === TRUE) {
// Check if destination is writable
if (is_writeable($destination . '/')) {
$zip->extractTo($destination);
$zip->close();
$GLOBALS['status'] = array('success' => 'Files unzipped successfully');
}
else {
$GLOBALS['status'] = array('error' => 'Error: Directory not writeable by webserver.');
}
}
else {
$GLOBALS['status'] = array('error' => 'Error: Cannot read .zip archive.');
}
}
/**
* Decompress a .gz File.
*
* @param string $archive
* The archive name including file extension. E.g. my_archive.zip.
* @param string $destination
* The relative destination path where to extract files.
*/
public static function extractGzipFile($archive, $destination) {
// Check if zlib is enabled
if (!function_exists('gzopen')) {
$GLOBALS['status'] = array('error' => 'Error: Your PHP has no zlib support enabled.');
return;
}
$filename = pathinfo($archive, PATHINFO_FILENAME);
$gzipped = gzopen($archive, "rb");
$file = fopen($destination . '/' . $filename, "w");
while ($string = gzread($gzipped, 4096)) {
fwrite($file, $string, strlen($string));
}
gzclose($gzipped);
fclose($file);
// Check if file was extracted.
if (file_exists($destination . '/' . $filename)) {
$GLOBALS['status'] = array('success' => 'File unzipped successfully.');
// If we had a tar.gz file, let's extract that tar file.
if (pathinfo($destination . '/' . $filename, PATHINFO_EXTENSION) == 'tar') {
$phar = new PharData($destination . '/' . $filename);
if ($phar->extractTo($destination)) {
$GLOBALS['status'] = array('success' => 'Extracted tar.gz archive successfully.');
// Delete .tar.
unlink($destination . '/' . $filename);
}
}
}
else {
$GLOBALS['status'] = array('error' => 'Error unzipping file.');
}
}
/**
* Decompress/extract a Rar archive using RarArchive.
*
* @param string $archive
* The archive name including file extension. E.g. my_archive.zip.
* @param string $destination
* The relative destination path where to extract files.
*/
public static function extractRarArchive($archive, $destination) {
// Check if webserver supports unzipping.
if (!class_exists('RarArchive')) {
$GLOBALS['status'] = array('error' => 'Error: Your PHP version does not support .rar archive functionality. <a class="info" href="http://php.net/manual/en/rar.installation.php" target="_blank">How to install RarArchive</a>');
return;
}
// Check if archive is readable.
if ($rar = RarArchive::open($archive)) {
// Check if destination is writable
if (is_writeable($destination . '/')) {
$entries = $rar->getEntries();
foreach ($entries as $entry) {
$entry->extract($destination);
}
$rar->close();
$GLOBALS['status'] = array('success' => 'Files extracted successfully.');
}
else {
$GLOBALS['status'] = array('error' => 'Error: Directory not writeable by webserver.');
}
}
else {
$GLOBALS['status'] = array('error' => 'Error: Cannot read .rar archive.');
}
}
}
/**
* Class Zipper
*
* Copied and slightly modified from http://at2.php.net/manual/en/class.ziparchive.php#110719
* @author umbalaconmeogia
*/
class Zipper {
/**
* Add files and sub-directories in a folder to zip file.
*
* @param string $folder
* Path to folder that should be zipped.
*
* @param ZipArchive $zipFile
* Zipfile where files end up.
*
* @param int $exclusiveLength
* Number of text to be exclusived from the file path.
*/
private static function folderToZip($folder, &$zipFile, $exclusiveLength) {
$handle = opendir($folder);
while (FALSE !== $f = readdir($handle)) {
// Check for local/parent path or zipping file itself and skip.
if ($f != '.' && $f != '..' && $f != basename(__FILE__)) {
$filePath = "$folder/$f";
// Remove prefix from file path before add to zip.
$localPath = substr($filePath, $exclusiveLength);
if (is_file($filePath)) {
$zipFile->addFile($filePath, $localPath);
}
elseif (is_dir($filePath)) {
// Add sub-directory.
$zipFile->addEmptyDir($localPath);
self::folderToZip($filePath, $zipFile, $exclusiveLength);
}
}
}
closedir($handle);
}
/**
* Zip a folder (including itself).
*
* Usage:
* Zipper::zipDir('path/to/sourceDir', 'path/to/out.zip');
*
* @param string $sourcePath
* Relative path of directory to be zipped.
*
* @param string $outZipPath
* Relative path of the resulting output zip file.
*/
public static function zipDir($sourcePath, $outZipPath) {
$pathInfo = pathinfo($sourcePath);
$parentPath = $pathInfo['dirname'];
$dirName = $pathInfo['basename'];
$z = new ZipArchive();
$z->open($outZipPath, ZipArchive::CREATE);
$z->addEmptyDir($dirName);
if ($sourcePath == $dirName) {
self::folderToZip($sourcePath, $z, 0);
}
else {
self::folderToZip($sourcePath, $z, strlen("$parentPath/"));
}
$z->close();
$GLOBALS['status'] = array('success' => 'Successfully created archive ' . $outZipPath);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>File Unzipper + Zipper</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {
font-family: Arial, sans-serif;
line-height: 150%;
}
label {
display: block;
margin-top: 20px;
}
fieldset {
border: 0;
background-color: #EEE;
margin: 10px 0 10px 0;
}
.select {
padding: 5px;
font-size: 110%;
}
.status {
margin: 0;
margin-bottom: 20px;
padding: 10px;
font-size: 80%;
background: #EEE;
border: 1px dotted #DDD;
}
.status--ERROR {
background-color: red;
color: white;
font-size: 120%;
}
.status--SUCCESS {
background-color: green;
font-weight: bold;
color: white;
font-size: 120%
}
.small {
font-size: 0.7rem;
font-weight: normal;
}
.version {
font-size: 80%;
}
.form-field {
border: 1px solid #AAA;
padding: 8px;
width: 280px;
}
.info {
margin-top: 0;
font-size: 80%;
color: #777;
}
.submit {
background-color: #378de5;
border: 0;
color: #ffffff;
font-size: 15px;
padding: 10px 24px;
margin: 20px 0 20px 0;
text-decoration: none;
}
.submit:hover {
background-color: #2c6db2;
cursor: pointer;
}
-->
</style>
</head>
<body>
<p class="status status--<?php echo strtoupper(key($GLOBALS['status'])); ?>">
Status: <?php echo reset($GLOBALS['status']); ?><br/>
<span class="small">Processing Time: <?php echo $time; ?> seconds</span>
</p>
<form action="" method="POST">
<fieldset>
<h1>Archive Unzipper</h1>
<label for="zipfile">Select .zip or .rar archive or .gz file you want to extract:</label>
<select name="zipfile" size="1" class="select">
<?php foreach ($unzipper->zipfiles as $zip) {
echo "<option>$zip</option>";
}
?>
</select>
<label for="extpath">Extraction path (optional):</label>
<input type="text" name="extpath" class="form-field" />
<p class="info">Enter extraction path without leading or trailing slashes (e.g. "mypath"). If left empty current directory will be used.</p>
<input type="submit" name="dounzip" class="submit" value="Unzip Archive"/>
</fieldset>
<fieldset>
<h1>Archive Zipper</h1>
<label for="zippath">Path that should be zipped (optional):</label>
<input type="text" name="zippath" class="form-field" />
<p class="info">Enter path to be zipped without leading or trailing slashes (e.g. "zippath"). If left empty current directory will be used.</p>
<input type="submit" name="dozip" class="submit" value="Zip Archive"/>
</fieldset>
</form>
<p class="version">Unzipper version: <?php echo VERSION; ?></p>
</body>
</html>

View File

@ -117,15 +117,6 @@ if ($new == 'new' || !$code) {
}); });
}); });
function htmlEscape(str) {
return str
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;');
}
function add_menu_list(name, link, code) { function add_menu_list(name, link, code) {
var $menulist = $("#menulist", opener.document); var $menulist = $("#menulist", opener.document);
var ms = new Date().getTime(); var ms = new Date().getTime();
@ -135,10 +126,7 @@ if ($new == 'new' || !$code) {
<?php } else { ?> <?php } else { ?>
sub_menu_class = " class=\"td_category sub_menu_class\""; sub_menu_class = " class=\"td_category sub_menu_class\"";
<?php } ?> <?php } ?>
name = htmlEscape(name);
link = htmlEscape(link);
var list = "<tr class=\"menu_list menu_group_<?php echo $code; ?>\">"; var list = "<tr class=\"menu_list menu_group_<?php echo $code; ?>\">";
list += "<td" + sub_menu_class + ">"; list += "<td" + sub_menu_class + ">";
list += "<label for=\"me_name_" + ms + "\" class=\"sound_only\">메뉴<strong class=\"sound_only\"> 필수</strong></label>"; list += "<label for=\"me_name_" + ms + "\" class=\"sound_only\">메뉴<strong class=\"sound_only\"> 필수</strong></label>";

View File

@ -949,7 +949,7 @@ if(!$default['de_kakaopay_cancelpwd']){
</tr> </tr>
<tr class="pg_info_fld nicepay_info_fld" id="nicepay_info_anchor"> <tr class="pg_info_fld nicepay_info_fld" id="nicepay_info_anchor">
<th scope="row"><label for="de_nicepay_mid">NICEPAY MID</label><br><a href="http://sir.kr/main/service/nicepayments_pg.php" target="_blank" id="scf_nicepay_reg" class="nicepay_btn">NICEPAY 신청하기</a></th> <th scope="row"><label for="de_nicepay_mid">NICEPAY MID</label><br><a href="http://sir.kr/main/service/inicis_pg.php" target="_blank" id="scf_nicepay_reg" class="nicepay_btn">NICEPAY 신청하기</a></th>
<td> <td>
<span class="frm_info">NICEPAY로 부터 발급 받으신 상점MID를 SR 을 제외한 나머지 자리를 입력 합니다.<br>NICEPAY 상점관리자 > 가맹점정보 > KEY관리에서 확인 할수 있습니다.<br>만약, 상점아이디가 SR로 시작하지 않는다면 계약담당자에게 변경 요청을 해주시기 바랍니다. 예) SRpaytestm</span> <span class="frm_info">NICEPAY로 부터 발급 받으신 상점MID를 SR 을 제외한 나머지 자리를 입력 합니다.<br>NICEPAY 상점관리자 > 가맹점정보 > KEY관리에서 확인 할수 있습니다.<br>만약, 상점아이디가 SR로 시작하지 않는다면 계약담당자에게 변경 요청을 해주시기 바랍니다. 예) SRpaytestm</span>
<span class="sitecode">SR</span> <span class="sitecode">SR</span>

View File

@ -14,7 +14,8 @@ $sql = " select *
$iq = sql_fetch($sql); $iq = sql_fetch($sql);
if (! (isset($iq['iq_id']) && $iq['iq_id'])) alert('등록된 자료가 없습니다.'); if (! (isset($iq['iq_id']) && $iq['iq_id'])) alert('등록된 자료가 없습니다.');
$name = get_sideview($iq['mb_id'], get_text($iq['iq_name']), $iq['mb_email'], $iq['mb_homepage']); //$name = get_sideview($iq['mb_id'], get_text($iq['iq_name']), $iq['mb_email'], $iq['mb_homepage']);
$name = get_text($iq['iq_name']);
$g5['title'] = '상품문의'; $g5['title'] = '상품문의';
include_once (G5_ADMIN_PATH.'/admin.head.php'); include_once (G5_ADMIN_PATH.'/admin.head.php');

View File

@ -26,7 +26,8 @@ if (!isset($is['is_reply_subject'])) {
", true); ", true);
} }
$name = get_sideview($is['mb_id'], get_text($is['is_name']), $is['mb_email'], $is['mb_homepage']); //$name = get_sideview($is['mb_id'], get_text($is['is_name']), $is['mb_email'], $is['mb_homepage'])
$name = get_text($is['is_name']);
// 확인 // 확인
$is_confirm_yes = $is['is_confirm'] ? 'checked="checked"' : ''; $is_confirm_yes = $is['is_confirm'] ? 'checked="checked"' : '';

View File

@ -20,7 +20,7 @@ $od_refund_price = isset($_REQUEST['od_refund_price']) ? clean_xss_tags($_REQUES
$od_receipt_point = isset($_REQUEST['od_receipt_point']) ? clean_xss_tags($_REQUEST['od_receipt_point'], 1, 1) : ''; $od_receipt_point = isset($_REQUEST['od_receipt_point']) ? clean_xss_tags($_REQUEST['od_receipt_point'], 1, 1) : '';
$od_coupon = isset($_REQUEST['od_coupon']) ? clean_xss_tags($_REQUEST['od_coupon'], 1, 1) : ''; $od_coupon = isset($_REQUEST['od_coupon']) ? clean_xss_tags($_REQUEST['od_coupon'], 1, 1) : '';
$od_id = isset($_REQUEST['od_id']) ? safe_replace_regex($_REQUEST['od_id'], 'od_id') : ''; $od_id = isset($_REQUEST['od_id']) ? safe_replace_regex($_REQUEST['od_id'], 'od_id') : '';
$od_escrow = isset($_REQUEST['od_escrow']) ? clean_xss_tags($_REQUEST['od_escrow'], 1, 1) : ''; $od_escrow = isset($_REQUEST['od_escrow']) ? clean_xss_tags($_REQUEST['od_escrow'], 1, 1) : '';
$sort1 = isset($_REQUEST['sort1']) ? clean_xss_tags($_REQUEST['sort1'], 1, 1) : ''; $sort1 = isset($_REQUEST['sort1']) ? clean_xss_tags($_REQUEST['sort1'], 1, 1) : '';
$sort2 = isset($_REQUEST['sort2']) ? clean_xss_tags($_REQUEST['sort2'], 1, 1) : ''; $sort2 = isset($_REQUEST['sort2']) ? clean_xss_tags($_REQUEST['sort2'], 1, 1) : '';
@ -68,7 +68,8 @@ $sql = " select it_id,
cp_price, cp_price,
ct_notax, ct_notax,
ct_send_cost, ct_send_cost,
it_sc_type it_sc_type,
ct_id
from {$g5['g5_shop_cart_table']} from {$g5['g5_shop_cart_table']}
where od_id = '{$od['od_id']}' where od_id = '{$od['od_id']}'
group by it_id group by it_id
@ -116,7 +117,11 @@ if ($od['od_pg'] === 'nicepay' && $od['od_settle_case'] === '가상계좌' && $o
// add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
?> ?>
<style>
#sodr_qty_log {padding-left: 0px; padding-right: 0px;}
.od_test_caution {border-radius: 0px;}
strong.sodr_nonpay {border-radius: 0px;}
</style>
<section id="anc_sodr_list"> <section id="anc_sodr_list">
<h2 class="h2_frm">주문상품 목록</h2> <h2 class="h2_frm">주문상품 목록</h2>
<?php echo $pg_anchor; ?> <?php echo $pg_anchor; ?>
@ -125,8 +130,6 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
현재 주문상태 <strong><?php echo $od['od_status'] ?></strong> 현재 주문상태 <strong><?php echo $od['od_status'] ?></strong>
| |
주문일시 <strong><?php echo substr($od['od_time'],0,16); ?> (<?php echo get_yoil($od['od_time']); ?>)</strong> 주문일시 <strong><?php echo substr($od['od_time'],0,16); ?> (<?php echo get_yoil($od['od_time']); ?>)</strong>
|
주문총액 <strong><?php echo number_format($od['od_cart_price'] + $od['od_send_cost'] + $od['od_send_cost2']); ?></strong>원
</p> </p>
<?php if ($default['de_hope_date_use']) { ?><p>희망배송일은 <?php echo $od['od_hope_date']; ?> (<?php echo get_yoil($od['od_hope_date']); ?>) 입니다.</p><?php } ?> <?php if ($default['de_hope_date_use']) { ?><p>희망배송일은 <?php echo $od['od_hope_date']; ?> (<?php echo get_yoil($od['od_hope_date']); ?>) 입니다.</p><?php } ?>
<?php if($od['od_mobile']) { ?> <?php if($od['od_mobile']) { ?>
@ -162,9 +165,20 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<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 ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<th scope="col">배송비</th> <th scope="col">배송비</th>
<?php } ?>
<th scope="col">포인트반영</th> <th scope="col">포인트반영</th>
<th scope="col">재고반영</th> <th scope="col">재고반영</th>
<!-- 20241018 리빌더 추가 { -->
<?php if(isset($pa['pa_is']) && $pa['pa_is'] == 1) { ?>
<th scope="col">운송장번호</th>
<th scope="col">배송사</th>
<th scope="col">배송일시</th>
<?php } ?>
<!-- } -->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -173,22 +187,47 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
for($i=0; $row=sql_fetch_array($result); $i++) { for($i=0; $row=sql_fetch_array($result); $i++) {
// 상품이미지 // 상품이미지
$image = get_it_image($row['it_id'], 50, 50); $image = get_it_image($row['it_id'], 50, 50);
// 상품의 옵션정보 // 상품의 옵션정보
$sql = " select ct_id, it_id, ct_price, ct_point, ct_qty, ct_option, ct_status, cp_price, ct_stock_use, ct_point_use, ct_send_cost, io_type, io_price if(isset($pa['pa_is']) && $pa['pa_is'] == 1) {
$sql = " select ct_id, it_id, ct_price, ct_point, ct_qty, ct_option, ct_status, cp_price, ct_stock_use, ct_point_use, ct_send_cost, io_type, io_price, ct_delivery_company, ct_invoice, ct_invoice_time
from {$g5['g5_shop_cart_table']} from {$g5['g5_shop_cart_table']}
where od_id = '{$od['od_id']}' where od_id = '{$od['od_id']}'
and it_id = '{$row['it_id']}' and it_id = '{$row['it_id']}'
order by io_type asc, ct_id asc "; order by io_type asc, ct_id asc ";
$res = sql_query($sql); $res = sql_query($sql);
} else {
$sql = " select ct_id, it_id, ct_price, ct_point, ct_qty, ct_option, ct_status, cp_price, ct_stock_use, ct_point_use, ct_send_cost, io_type, io_price
from {$g5['g5_shop_cart_table']}
where od_id = '{$od['od_id']}'
and it_id = '{$row['it_id']}'
order by io_type asc, ct_id asc ";
$res = sql_query($sql);
}
$rowspan = sql_num_rows($res); $rowspan = sql_num_rows($res);
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
$resv = sql_fetch("SELECT * FROM {$g5['g5_shop_cart_table']} WHERE ct_id = '{$row['ct_id']}' ");
}
// 합계금액 계산 // 합계금액 계산
$sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as price, $price_calc = "((ct_price + io_price) * ct_qty)";
SUM(ct_qty) as qty if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1 && isset($resv['ct_types']) && $resv['ct_types'] == 1) {
from {$g5['g5_shop_cart_table']} $price_calc = "((ct_price + io_price) * ct_qty * ct_date_d +
where it_id = '{$row['it_id']}' (COALESCE(ct_user_pri1, 0) * COALESCE(ct_user_qty1, 0)) +
and od_id = '{$od['od_id']}' "; (COALESCE(ct_user_pri2, 0) * COALESCE(ct_user_qty2, 0)) +
(COALESCE(ct_user_pri3, 0) * COALESCE(ct_user_qty3, 0)))";
}
$sql = "SELECT SUM(IF(io_type = 1, (io_price * ct_qty), $price_calc)) AS price,
SUM(ct_point * ct_qty) AS point,
SUM(ct_qty) AS qty
FROM {$g5['g5_shop_cart_table']}
WHERE it_id = '{$row['it_id']}'
AND od_id = '{$od['od_id']}'";
$sum = sql_fetch($sql); $sum = sql_fetch($sql);
// 배송비 // 배송비
@ -220,8 +259,10 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
$opt_price = $opt['ct_price'] + $opt['io_price']; $opt_price = $opt['ct_price'] + $opt['io_price'];
// 소계 // 소계
$ct_price['stotal'] = $opt_price * $opt['ct_qty']; //$ct_price['stotal'] = $opt_price * $opt['ct_qty'];
$ct_price['stotal'] = $sum['price'];
$ct_point['stotal'] = $opt['ct_point'] * $opt['ct_qty']; $ct_point['stotal'] = $opt['ct_point'] * $opt['ct_qty'];
?> ?>
<tr> <tr>
<?php if($k == 0) { ?> <?php if($k == 0) { ?>
@ -239,6 +280,15 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<input type="checkbox" name="ct_chk[<?php echo $chk_cnt; ?>]" id="ct_chk_<?php echo $chk_cnt; ?>" value="<?php echo $chk_cnt; ?>" class="sct_sel_<?php echo $i; ?>"> <input type="checkbox" name="ct_chk[<?php echo $chk_cnt; ?>]" id="ct_chk_<?php echo $chk_cnt; ?>" value="<?php echo $chk_cnt; ?>" class="sct_sel_<?php echo $i; ?>">
<input type="hidden" name="ct_id[<?php echo $chk_cnt; ?>]" value="<?php echo $opt['ct_id']; ?>"> <input type="hidden" name="ct_id[<?php echo $chk_cnt; ?>]" value="<?php echo $opt['ct_id']; ?>">
<?php echo get_text($opt['ct_option']); ?> <?php echo get_text($opt['ct_option']); ?>
<?php
//예약정보 로드
if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
if(isset($resv['ct_types']) && $resv['ct_types'] == 1) {
include (G5_PATH.'/rb/rb.mod/reservation/info.inc.php');
}
}
?>
</td> </td>
<td class="td_mngsmall"><?php echo $opt['ct_status']; ?></td> <td class="td_mngsmall"><?php echo $opt['ct_status']; ?></td>
<td class="td_num"> <td class="td_num">
@ -249,9 +299,49 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<td class="td_num_right"><?php echo number_format($ct_price['stotal']); ?></td> <td class="td_num_right"><?php echo number_format($ct_price['stotal']); ?></td>
<td class="td_num_right"><?php echo number_format($opt['cp_price']); ?></td> <td class="td_num_right"><?php echo number_format($opt['cp_price']); ?></td>
<td class=" td_num_right"><?php echo number_format($ct_point['stotal']); ?></td> <td class=" td_num_right"><?php echo number_format($ct_point['stotal']); ?></td>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<td class="td_sendcost_by"><?php echo $ct_send_cost; ?></td> <td class="td_sendcost_by"><?php echo $ct_send_cost; ?></td>
<td class="td_mngsmall"><?php echo get_yn($opt['ct_point_use']); ?></td> <?php } ?>
<td class="td_mngsmall"><?php echo get_yn($opt['ct_stock_use']); ?></td> <td class=""><?php echo get_yn($opt['ct_point_use']); ?></td>
<td class=""><?php echo get_yn($opt['ct_stock_use']); ?></td>
<!-- 20241018 리빌더 추가 { -->
<?php if(isset($pa['pa_is']) && $pa['pa_is'] == 1) { ?>
<td class=""><input type="text" name="ct_invoice[<?php echo $chk_cnt; ?>]" value="<?php echo $opt['ct_invoice']; ?>" id="ct_invoice_<?php echo $chk_cnt; ?>" class="frm_input"></td>
<td class="">
<input type="text" name="ct_delivery_company[<?php echo $chk_cnt; ?>]" id="ct_delivery_company_<?php echo $chk_cnt; ?>" value="<?php echo $opt['ct_delivery_company']; ?>" class="frm_input" style="width:60%;">
<input type="checkbox" id="ct_delivery_chk_<?php echo $chk_cnt; ?>" value="<?php echo $default['de_delivery_company']; ?>" onclick="chk_delivery_company_<?php echo $chk_cnt; ?>()">
<label for="ct_delivery_chk_<?php echo $chk_cnt; ?>">기본</label>
<script>
function chk_delivery_company_<?php echo $chk_cnt; ?>()
{
var chk_<?php echo $chk_cnt; ?> = document.getElementById("ct_delivery_chk_<?php echo $chk_cnt; ?>");
var company_<?php echo $chk_cnt; ?> = document.getElementById("ct_delivery_company_<?php echo $chk_cnt; ?>");
company_<?php echo $chk_cnt; ?>.value = chk_<?php echo $chk_cnt; ?>.checked ? chk_<?php echo $chk_cnt; ?>.value : company_<?php echo $chk_cnt; ?>.defaultValue;
}
</script>
</td>
<td class="">
<input type="text" name="ct_invoice_time[<?php echo $chk_cnt; ?>]" id="ct_invoice_time_<?php echo $chk_cnt; ?>" value="<?php echo is_null_time($opt['ct_invoice_time']) ? "" : $opt['ct_invoice_time']; ?>" class="frm_input" maxlength="19" style="width:60%;">
<input type="checkbox" id="ct_invoice_chk_<?php echo $chk_cnt; ?>" value="<?php echo date("Y-m-d H:i:s", G5_SERVER_TIME); ?>" onclick="chk_invoice_time_<?php echo $chk_cnt; ?>()">
<label for="ct_invoice_chk_<?php echo $chk_cnt; ?>">현재</label>
<script>
function chk_invoice_time_<?php echo $chk_cnt; ?>()
{
var chk_<?php echo $chk_cnt; ?> = document.getElementById("ct_invoice_chk_<?php echo $chk_cnt; ?>");
var time_<?php echo $chk_cnt; ?> = document.getElementById("ct_invoice_time_<?php echo $chk_cnt; ?>");
time_<?php echo $chk_cnt; ?>.value = chk_<?php echo $chk_cnt; ?>.checked ? chk_<?php echo $chk_cnt; ?>.value : time_<?php echo $chk_cnt; ?>.defaultValue;
}
</script>
</td>
<?php } ?>
<!-- } -->
</tr> </tr>
<?php <?php
$chk_cnt++; $chk_cnt++;
@ -270,8 +360,10 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<strong>주문 및 장바구니 상태 변경</strong> <strong>주문 및 장바구니 상태 변경</strong>
<input type="submit" name="ct_status" value="주문" onclick="document.pressed=this.value" class="btn_02 color_01"> <input type="submit" name="ct_status" value="주문" onclick="document.pressed=this.value" class="btn_02 color_01">
<input type="submit" name="ct_status" value="입금" onclick="document.pressed=this.value" class="btn_02 color_02"> <input type="submit" name="ct_status" value="입금" onclick="document.pressed=this.value" class="btn_02 color_02">
<!--
<input type="submit" name="ct_status" value="준비" onclick="document.pressed=this.value" class="btn_02 color_03"> <input type="submit" name="ct_status" value="준비" onclick="document.pressed=this.value" class="btn_02 color_03">
<input type="submit" name="ct_status" value="배송" onclick="document.pressed=this.value" class="btn_02 color_04"> <input type="submit" name="ct_status" value="배송" onclick="document.pressed=this.value" class="btn_02 color_04">
-->
<input type="submit" name="ct_status" value="완료" onclick="document.pressed=this.value" class="btn_02 color_05"> <input type="submit" name="ct_status" value="완료" onclick="document.pressed=this.value" class="btn_02 color_05">
<input type="submit" name="ct_status" value="취소" onclick="document.pressed=this.value" class="btn_02 color_06"> <input type="submit" name="ct_status" value="취소" onclick="document.pressed=this.value" class="btn_02 color_06">
<input type="submit" name="ct_status" value="반품" onclick="document.pressed=this.value" class="btn_02 color_06"> <input type="submit" name="ct_status" value="반품" onclick="document.pressed=this.value" class="btn_02 color_06">
@ -280,7 +372,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
</div> </div>
<div class="local_desc01 local_desc"> <div class="local_desc01 local_desc">
<p>주문, 입금, 준비, 배송, 완료는 장바구니와 주문서 상태를 모두 변경하지만, 취소, 반품, 품절은 장바구니의 상태만 변경하며, 주문서 상태는 변경하지 않습니다.</p> <p>주문, 입금, 완료는 장바구니와 주문서 상태를 모두 변경하지만, 취소, 반품, 품절은 장바구니의 상태만 변경하며, 주문서 상태는 변경하지 않습니다.</p>
<p>개별적인(이곳에서의) 상태 변경은 모든 작업을 수동으로 처리합니다. 예를 들어 주문에서 입금으로 상태 변경시 입금액(결제금액)을 포함한 모든 정보는 수동 입력으로 처리하셔야 합니다.</p> <p>개별적인(이곳에서의) 상태 변경은 모든 작업을 수동으로 처리합니다. 예를 들어 주문에서 입금으로 상태 변경시 입금액(결제금액)을 포함한 모든 정보는 수동 입력으로 처리하셔야 합니다.</p>
</div> </div>
@ -306,7 +398,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
if(isset($tmp_row['P_TID']) && $tmp_row['P_TID']){ if(isset($tmp_row['P_TID']) && $tmp_row['P_TID']){
?> ?>
<div class="od_test_caution">주의) 이 주문은 결제취소된 내역이 있습니다. 이니시스 관리자 상점에서 반드시 재확인을 해 주세요.</div> <div class="od_test_caution">주의) 이 주문은 결제취소된 내역이 있습니다. 이니시스 관리자 상점에서 반드시 재확인을 해 주세요.</div>
<?php <?php
} //end if } //end if
} //end if } //end if
?> ?>
@ -348,7 +440,9 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<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 ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<th scope="col">배송비</th> <th scope="col">배송비</th>
<?php } ?>
<th scope="col">포인트결제</th> <th scope="col">포인트결제</th>
<th scope="col">총결제액</th> <th scope="col">총결제액</th>
<th scope="col">쿠폰</th> <th scope="col">쿠폰</th>
@ -360,7 +454,9 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<td><?php echo $od['od_id']; ?></td> <td><?php echo $od['od_id']; ?></td>
<td class="td_paybybig"><?php echo $s_receipt_way; ?></td> <td class="td_paybybig"><?php echo $s_receipt_way; ?></td>
<td class="td_numbig td_numsum"><?php echo display_price($amount['order']); ?></td> <td class="td_numbig td_numsum"><?php echo display_price($amount['order']); ?></td>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<td class="td_numbig"><?php echo display_price($od['od_send_cost'] + $od['od_send_cost2']); ?></td> <td class="td_numbig"><?php echo display_price($od['od_send_cost'] + $od['od_send_cost2']); ?></td>
<?php } ?>
<td class="td_numbig"><?php echo display_point($od['od_receipt_point']); ?></td> <td class="td_numbig"><?php echo display_point($od['od_receipt_point']); ?></td>
<td class="td_numbig td_numincome"><?php echo number_format($amount['receipt']); ?>원</td> <td class="td_numbig td_numincome"><?php echo number_format($amount['receipt']); ?>원</td>
<td class="td_numbig td_numcoupon"><?php echo display_price($amount['coupon']); ?></td> <td class="td_numbig td_numcoupon"><?php echo display_price($amount['coupon']); ?></td>
@ -575,20 +671,30 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<th scope="row">결제취소/환불액</th> <th scope="row">결제취소/환불액</th>
<td><?php echo display_price($od['od_refund_price']); ?></td> <td><?php echo display_price($od['od_refund_price']); ?></td>
</tr> </tr>
<?php if ($od['od_invoice']) { ?>
<tr> <!-- 20241018 리빌더 수정 { -->
<th scope="row">배송회사</th> <?php if(isset($pa['pa_is']) && $pa['pa_is'] == 1) { ?>
<td><?php echo $od['od_delivery_company']; ?> <?php echo get_delivery_inquiry($od['od_delivery_company'], $od['od_invoice'], 'dvr_link'); ?></td> <?php } else { ?>
</tr> <?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<tr> <?php if ($od['od_invoice']) { ?>
<th scope="row">운송장번호</th> <tr>
<td><?php echo $od['od_invoice']; ?></td> <th scope="row">배송회사</th>
</tr> <td><?php echo $od['od_delivery_company']; ?> <?php echo get_delivery_inquiry($od['od_delivery_company'], $od['od_invoice'], 'dvr_link'); ?></td>
<tr> </tr>
<th scope="row">배송일시</th>
<td><?php echo is_null_time($od['od_invoice_time']) ? "" : $od['od_invoice_time']; ?></td> <tr>
</tr> <th scope="row">운송장번호</th>
<td><?php echo $od['od_invoice']; ?></td>
</tr>
<tr>
<th scope="row">배송일시</th>
<td><?php echo is_null_time($od['od_invoice_time']) ? "" : $od['od_invoice_time']; ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?> <?php } ?>
<!-- } -->
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<tr> <tr>
<th scope="row"><label for="od_send_cost">배송비</label></th> <th scope="row"><label for="od_send_cost">배송비</label></th>
<td> <td>
@ -607,6 +713,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<input type="text" name="od_send_cost2" value="<?php echo $od['od_send_cost2']; ?>" id="od_send_cost2" class="frm_input" size="10"> 원 <input type="text" name="od_send_cost2" value="<?php echo $od['od_send_cost2']; ?>" id="od_send_cost2" class="frm_input" size="10"> 원
</td> </td>
</tr> </tr>
<?php } ?>
<?php <?php
if ($od['od_misu'] == 0 && $od['od_receipt_price'] && ($od['od_settle_case'] == '무통장' || $od['od_settle_case'] == '가상계좌' || $od['od_settle_case'] == '계좌이체')) { if ($od['od_misu'] == 0 && $od['od_receipt_price'] && ($od['od_settle_case'] == '무통장' || $od['od_settle_case'] == '가상계좌' || $od['od_settle_case'] == '계좌이체')) {
?> ?>
@ -634,7 +741,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
$cash = unserialize($od['od_cash_info']); $cash = unserialize($od['od_cash_info']);
$cash_receipt_script = 'window.open(\'https://iniweb.inicis.com/DefaultWebApp/mall/cr/cm/Cash_mCmReceipt.jsp?noTid='.$cash['TID'].'&clpaymethod=22\',\'showreceipt\',\'width=380,height=540,scrollbars=no,resizable=no\');'; $cash_receipt_script = 'window.open(\'https://iniweb.inicis.com/DefaultWebApp/mall/cr/cm/Cash_mCmReceipt.jsp?noTid='.$cash['TID'].'&clpaymethod=22\',\'showreceipt\',\'width=380,height=540,scrollbars=no,resizable=no\');';
} else if($od['od_pg'] == 'nicepay') { } else if($od['od_pg'] == 'nicepay') {
$od_tid = $od['od_tno']; $od_tid = $od['od_tno'];
$cash_type = 0; $cash_type = 0;
@ -714,11 +821,11 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<tr> <tr>
<th scope="row"><label for="od_deposit_name">입금자명</label></th> <th scope="row"><label for="od_deposit_name">입금자명</label></th>
<td> <td>
<?php if ($config['cf_sms_use'] && $default['de_sms_use4']) { ?>
<input type="checkbox" name="od_sms_ipgum_check" id="od_sms_ipgum_check"> <input type="checkbox" name="od_sms_ipgum_check" id="od_sms_ipgum_check">
<label for="od_sms_ipgum_check">SMS 입금 문자전송</label> <label for="od_sms_ipgum_check">SMS 입금 문자 및 알림전송</label>
<br> <br>
<?php } ?>
<input type="text" name="od_deposit_name" value="<?php echo get_text($od['od_deposit_name']); ?>" id="od_deposit_name" class="frm_input"> <input type="text" name="od_deposit_name" value="<?php echo get_text($od['od_deposit_name']); ?>" id="od_deposit_name" class="frm_input">
</td> </td>
</tr> </tr>
@ -818,14 +925,21 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<input type="text" name="od_refund_price" value="<?php echo $od['od_refund_price']; ?>" id="od_refund_price" class="frm_input" size="10"> 원 <input type="text" name="od_refund_price" value="<?php echo $od['od_refund_price']; ?>" id="od_refund_price" class="frm_input" size="10"> 원
</td> </td>
</tr> </tr>
<!-- 20241018 리빌더 수정 { -->
<?php if(isset($pa['pa_is']) && $pa['pa_is'] == 1) { ?>
<?php } else { ?>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<tr> <tr>
<th scope="row"><label for="od_invoice">운송장번호</label></th> <th scope="row"><label for="od_invoice">운송장번호</label></th>
<td> <td>
<?php if ($config['cf_sms_use'] && $default['de_sms_use5']) { ?>
<input type="checkbox" name="od_sms_baesong_check" id="od_sms_baesong_check"> <input type="checkbox" name="od_sms_baesong_check" id="od_sms_baesong_check">
<label for="od_sms_baesong_check">SMS 배송 문자전송</label> <label for="od_sms_baesong_check">SMS 배송 문자 및 알림전송</label>
<br> <br>
<?php } ?>
<input type="text" name="od_invoice" value="<?php echo $od['od_invoice']; ?>" id="od_invoice" class="frm_input"> <input type="text" name="od_invoice" value="<?php echo $od['od_invoice']; ?>" id="od_invoice" class="frm_input">
</td> </td>
</tr> </tr>
@ -845,17 +959,23 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<input type="text" name="od_invoice_time" id="od_invoice_time" value="<?php echo is_null_time($od['od_invoice_time']) ? "" : $od['od_invoice_time']; ?>" class="frm_input" maxlength="19"> <input type="text" name="od_invoice_time" id="od_invoice_time" value="<?php echo is_null_time($od['od_invoice_time']) ? "" : $od['od_invoice_time']; ?>" class="frm_input" maxlength="19">
</td> </td>
</tr> </tr>
<?php } ?>
<?php if ($config['cf_email_use']) { ?> <?php if ($config['cf_email_use']) { ?>
<tr> <tr>
<th scope="row"><label for="od_send_mail">메일발송</label></th> <th scope="row"><label for="od_send_mail">메일발송</label></th>
<td> <td>
<?php echo help("주문자님께 입금, 배송내역을 메일로 발송합니다.\n메일발송시 상점메모에 기록됩니다."); ?> <?php echo help("주문자님께 입금, 배송내역을 메일로 발송합니다.\n메일발송시 상점메모에 기록됩니다."); ?>
<input type="checkbox" name="od_send_mail" value="1" id="od_send_mail"> 메일발송 <input type="checkbox" name="od_send_mail" value="1" id="od_send_mail"> 메일발송
</td> </td>
</tr> </tr>
<?php } ?> <?php } ?>
<?php } ?>
<!-- } -->
</tbody> </tbody>
</table> </table>
</div> </div>
@ -908,7 +1028,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
</section> </section>
<section> <section>
<h2 class="h2_frm">주문자/배송지 정보</h2> <h2 class="h2_frm">주문자/사용자 정보</h2>
<?php echo $pg_anchor; ?> <?php echo $pg_anchor; ?>
<form name="frmorderform3" action="./orderformupdate.php" method="post"> <form name="frmorderform3" action="./orderformupdate.php" method="post">
@ -923,11 +1043,11 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<div class="compare_wrap"> <div class="compare_wrap">
<section id="anc_sodr_orderer" class="compare_left"> <section id="anc_sodr_orderer" class="compare_left">
<h3>주문하신 분</h3> <h3>주문자 정보</h3>
<div class="tbl_frm01"> <div class="tbl_frm01">
<table> <table>
<caption>주문자/배송지 정보</caption> <caption>주문자 정보</caption>
<colgroup> <colgroup>
<col class="grid_4"> <col class="grid_4">
<col> <col>
@ -957,8 +1077,8 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<input type="text" name="od_addr2" value="<?php echo get_text($od['od_addr2']); ?>" id="od_addr2" class="frm_input" size="35"> <input type="text" name="od_addr2" value="<?php echo get_text($od['od_addr2']); ?>" id="od_addr2" class="frm_input" size="35">
<label for="od_addr2">상세주소</label> <label for="od_addr2">상세주소</label>
<br> <br>
<input type="text" name="od_addr3" value="<?php echo get_text($od['od_addr3']); ?>" id="od_addr3" class="frm_input" size="35"> <input type="text" name="od_addr3" value="<?php echo get_text($od['od_addr3']); ?>" id="od_addr3" class="frm_input" size="35"><br>
<label for="od_addr3">참고항목</label>
<input type="hidden" name="od_addr_jibeon" value="<?php echo get_text($od['od_addr_jibeon']); ?>"><br> <input type="hidden" name="od_addr_jibeon" value="<?php echo get_text($od['od_addr_jibeon']); ?>"><br>
</td> </td>
</tr> </tr>
@ -973,14 +1093,14 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
</tbody> </tbody>
</table> </table>
</div> </div>
</section>
<br><br>
<section id="anc_sodr_taker" class="compare_right">
<h3>받으시는 분</h3> <h3>사용자(수령자) 정보</h3>
<div class="tbl_frm01"> <div class="tbl_frm01">
<table> <table>
<caption>받으시는 분 정보</caption> <caption>사용자(수령자) 정보</caption>
<colgroup> <colgroup>
<col class="grid_4"> <col class="grid_4">
<col> <col>
@ -1004,13 +1124,12 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<label for="od_b_zip" class="sound_only">우편번호</label> <label for="od_b_zip" class="sound_only">우편번호</label>
<input type="text" name="od_b_zip" value="<?php echo get_text($od['od_b_zip1']).get_text($od['od_b_zip2']); ?>" id="od_b_zip" required class="frm_input required" size="5"> <input type="text" name="od_b_zip" value="<?php echo get_text($od['od_b_zip1']).get_text($od['od_b_zip2']); ?>" id="od_b_zip" required class="frm_input required" size="5">
<button type="button" class="btn_frmline" onclick="win_zip('frmorderform3', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button><br> <button type="button" class="btn_frmline" onclick="win_zip('frmorderform3', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button><br>
<input type="text" name="od_b_addr1" value="<?php echo get_text($od['od_b_addr1']); ?>" id="od_b_addr1" required class="frm_input required" size="35"> <input type="text" name="od_b_addr1" value="<?php echo get_text($od['od_b_addr1']); ?>" id="od_b_addr1" required class="frm_input required" size="35" style="margin-top:5px;">
<label for="od_b_addr1">기본주소</label> <label for="od_b_addr1">기본주소</label><br>
<input type="text" name="od_b_addr2" value="<?php echo get_text($od['od_b_addr2']); ?>" id="od_b_addr2" class="frm_input" size="35"> <input type="text" name="od_b_addr2" value="<?php echo get_text($od['od_b_addr2']); ?>" id="od_b_addr2" class="frm_input" size="35" style="margin-top:5px;">
<label for="od_b_addr2">상세주소</label> <label for="od_b_addr2">상세주소</label><br>
<input type="text" name="od_b_addr3" value="<?php echo get_text($od['od_b_addr3']); ?>" id="od_b_addr3" class="frm_input" size="35"> <input type="text" name="od_b_addr3" value="<?php echo get_text($od['od_b_addr3']); ?>" id="od_b_addr3" class="frm_input" size="35" style="margin-top:5px;">
<label for="od_b_addr3">참고항목</label> <input type="hidden" name="od_b_addr_jibeon" value="<?php echo get_text($od['od_b_addr_jibeon']); ?>">
<input type="hidden" name="od_b_addr_jibeon" value="<?php echo get_text($od['od_b_addr_jibeon']); ?>"><br>
</td> </td>
</tr> </tr>
@ -1032,6 +1151,41 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
</div> </div>
</section> </section>
<section id="anc_sodr_taker" class="compare_right">
<?php
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
$resv = sql_fetch("SELECT ct_user_qty1 FROM {$g5['g5_shop_cart_table']} WHERE od_id = '{$od['od_id']}' AND ct_select = '1' LIMIT 1");
$ct_user_qty1 = (int)$resv['ct_user_qty1'];
if(isset($ct_user_qty1) && $ct_user_qty1 > 0) {
$names = explode('|', $od['od_names']);
$hps = explode('|', $od['od_hps']);
if($names[0]) {
?>
<section id="sod_fin_receiver">
<h3>추가사용자 정보</h3>
<div class="tbl_head01 tbl_wrap">
<table>
<tbody>
<?php for($i = 0; $i < $ct_user_qty1; $i++) { ?>
<tr>
<th scope="row">사용자 <?php echo $i+1 ?></th>
<td><?php echo get_text($names[$i] ?? ''); ?> / <?php echo get_text($hps[$i] ?? ''); ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</section>
<?php } ?>
<?php } ?>
<?php } ?>
</section>
</div> </div>
<div class="btn_confirm01 btn_confirm"> <div class="btn_confirm01 btn_confirm">
@ -1162,4 +1316,4 @@ function chk_receipt_price()
</script> </script>
<?php <?php
include_once(G5_ADMIN_PATH.'/admin.tail.php'); include_once(G5_ADMIN_PATH.'/admin.tail.php');

View File

@ -35,6 +35,15 @@ for ($i=0; $i<$cnt; $i++)
if($k === '') continue; if($k === '') continue;
$ct_id = isset($_POST['ct_id'][$k]) ? (int) $_POST['ct_id'][$k] : 0; $ct_id = isset($_POST['ct_id'][$k]) ? (int) $_POST['ct_id'][$k] : 0;
/* 20241018 리빌더 수정 { */
if(isset($pa['pa_is']) && $pa['pa_is'] == 1) {
$ct_delivery_company = isset($_POST['ct_delivery_company'][$k]) ? $_POST['ct_delivery_company'][$k] : '';
$ct_invoice = isset($_POST['ct_invoice'][$k]) ? $_POST['ct_invoice'][$k] : '';
$ct_invoice_time = isset($_POST['ct_invoice_time'][$k]) ? $_POST['ct_invoice_time'][$k] : '';
}
/* } */
if(!$ct_id) if(!$ct_id)
continue; continue;
@ -142,15 +151,37 @@ for ($i=0; $i<$cnt; $i++)
// 히스토리에 남길때는 작업|아이디|시간|IP|그리고 나머지 자료 // 히스토리에 남길때는 작업|아이디|시간|IP|그리고 나머지 자료
$now = G5_TIME_YMDHIS; $now = G5_TIME_YMDHIS;
$ct_history="\n$ct_status|{$member['mb_id']}|$now|$REMOTE_ADDR"; $ct_history="\n$ct_status|{$member['mb_id']}|$now|$REMOTE_ADDR";
/* 20241018 리빌더 수정 { */
if(isset($pa['pa_is']) && $pa['pa_is'] == 1) {
$sql = " update {$g5['g5_shop_cart_table']}
set ct_point_use = '$point_use',
ct_stock_use = '$stock_use',
ct_status = '$ct_status',
ct_delivery_company = '$ct_delivery_company',
ct_invoice = '$ct_invoice',
ct_invoice_time = '$ct_invoice_time',
ct_history = CONCAT(ct_history,'$ct_history')
where od_id = '$od_id'
and ct_id = '$ct_id' ";
sql_query($sql);
$sql = " update {$g5['g5_shop_cart_table']} } else {
set ct_point_use = '$point_use', $sql = " update {$g5['g5_shop_cart_table']}
ct_stock_use = '$stock_use', set ct_point_use = '$point_use',
ct_status = '$ct_status', ct_stock_use = '$stock_use',
ct_history = CONCAT(ct_history,'$ct_history') ct_status = '$ct_status',
where od_id = '$od_id' ct_history = CONCAT(ct_history,'$ct_history')
and ct_id = '$ct_id' "; where od_id = '$od_id'
sql_query($sql); and ct_id = '$ct_id' ";
sql_query($sql);
}
/* } */
// it_id를 배열에 저장 // it_id를 배열에 저장
if($ct_status == '주문' || $ct_status == '취소' || $ct_status == '반품' || $ct_status == '품절' || $ct_status == '완료') if($ct_status == '주문' || $ct_status == '취소' || $ct_status == '반품' || $ct_status == '품절' || $ct_status == '완료')
@ -349,7 +380,6 @@ $sql = " update {$g5['g5_shop_order_table']}
od_send_coupon = '{$info['od_send_coupon']}', od_send_coupon = '{$info['od_send_coupon']}',
od_cancel_price = '{$info['od_cancel_price']}', od_cancel_price = '{$info['od_cancel_price']}',
od_send_cost = '{$info['od_send_cost']}', od_send_cost = '{$info['od_send_cost']}',
od_misu = '{$info['od_misu']}',
od_tax_mny = '{$info['od_tax_mny']}', od_tax_mny = '{$info['od_tax_mny']}',
od_vat_mny = '{$info['od_vat_mny']}', od_vat_mny = '{$info['od_vat_mny']}',
od_free_mny = '{$info['od_free_mny']}' "; od_free_mny = '{$info['od_free_mny']}' ";

View File

@ -16,7 +16,6 @@ $sort2 = (isset($_GET['sort2']) && in_array($_GET['sort2'], array('desc', 'asc')
$sel_field = (isset($_GET['sel_field']) && in_array($_GET['sel_field'], array('od_id', 'mb_id', 'od_name', 'od_tel', 'od_hp', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_deposit_name', 'od_invoice')) ) ? $_GET['sel_field'] : ''; $sel_field = (isset($_GET['sel_field']) && in_array($_GET['sel_field'], array('od_id', 'mb_id', 'od_name', 'od_tel', 'od_hp', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_deposit_name', 'od_invoice')) ) ? $_GET['sel_field'] : '';
$od_status = isset($_GET['od_status']) ? get_search_string($_GET['od_status']) : ''; $od_status = isset($_GET['od_status']) ? get_search_string($_GET['od_status']) : '';
$search = isset($_GET['search']) ? get_search_string($_GET['search']) : ''; $search = isset($_GET['search']) ? get_search_string($_GET['search']) : '';
$save_search = isset($_GET['save_search']) ? get_search_string($_GET['save_search']) : '';
$fr_date = (isset($_GET['fr_date']) && preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $_GET['fr_date'])) ? $_GET['fr_date'] : ''; $fr_date = (isset($_GET['fr_date']) && preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $_GET['fr_date'])) ? $_GET['fr_date'] : '';
$to_date = (isset($_GET['to_date']) && preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $_GET['to_date'])) ? $_GET['to_date'] : ''; $to_date = (isset($_GET['to_date']) && preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $_GET['to_date'])) ? $_GET['to_date'] : '';

View File

@ -87,4 +87,31 @@ if ($config['cf_sms_use']) {
$SMS->Init(); // 보관하고 있던 결과값을 지웁니다. $SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
} }
} }
} }
/* 리빌더 20241016 추가 { */
if($od['mb_id']) {
if ($od_sms_ipgum_check) {
$od_al = "입금확인 안내
입금금액 : ".number_format($od_receipt_price)."
주문번호 : ".$od_id;
//입금발송
memo_auto_send($od_al, '', $od['mb_id'], "system-msg");
}
if ($od_sms_baesong_check) {
$od_al = "주문 상품 배송처리 안내
배송사 : ".$od_delivery_company."
운송장번호 : ".$od_invoice."
주문번호 : ".$od_id;
//배송발송
memo_auto_send($od_al, '', $od['mb_id'], "system-msg");
}
}
/* } */

View File

@ -29,11 +29,7 @@ if($config['cf_popular_del'] > 0) {
if($config['cf_new_del'] > 0) { if($config['cf_new_del'] > 0) {
$sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' "; $sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' ";
sql_query($sql); sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
// 데이터가 많으면 처리시간 때문에 브라우저 응답이 늦을수 있음
if (defined('G5_USE_OPTIMIZE_DBTABLE') && G5_USE_OPTIMIZE_DBTABLE) {
sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
}
} }
// 설정일이 지난 쪽지 삭제 // 설정일이 지난 쪽지 삭제

View File

@ -1,8 +1,6 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
$good = isset($_REQUEST['good']) ? preg_replace('/[^a-z0-9]/i', '', $_REQUEST['good']) : '';
run_event('bbs_good_before', $bo_table, $wr_id, $good); run_event('bbs_good_before', $bo_table, $wr_id, $good);
@include_once($board_skin_path.'/good.head.skin.php'); @include_once($board_skin_path.'/good.head.skin.php');

View File

@ -1,11 +1,7 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
$html_title = '링크'; $html_title = '링크 &gt; '.conv_subject($write['wr_subject'], 255);
if (isset($write['wr_subject']) && $write['wr_subject']) {
$html_title .= ' &gt; '.conv_subject($write['wr_subject'], 255);
}
$no = isset($_REQUEST['no']) ? preg_replace('/[^0-9]/i', '', $_REQUEST['no']) : ''; $no = isset($_REQUEST['no']) ? preg_replace('/[^0-9]/i', '', $_REQUEST['no']) : '';
@ -14,10 +10,10 @@ if (!($bo_table && $wr_id && $no))
// SQL Injection 예방 // SQL Injection 예방
$row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE); $row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE);
if (!(isset($row['cnt']) && $row['cnt'])) if (!$row['cnt'])
alert_close('존재하는 게시판이 아닙니다.'); alert_close('존재하는 게시판이 아닙니다.');
if (!(isset($write['wr_link'.$no]) && $write['wr_link'.$no])) if (!$write['wr_link'.$no])
alert_close('링크가 없습니다.'); alert_close('링크가 없습니다.');
$ss_name = 'ss_link_'.$bo_table.'_'.$wr_id.'_'.$no; $ss_name = 'ss_link_'.$bo_table.'_'.$wr_id.'_'.$no;

View File

@ -36,6 +36,13 @@ $sql = " select * from {$g5['memo_table']}
and me_{$kind}_mb_id = '{$member['mb_id']}' "; and me_{$kind}_mb_id = '{$member['mb_id']}' ";
$memo = sql_fetch($sql); $memo = sql_fetch($sql);
$c = sql_fetch (" select COUNT(*) as cnt from {$g5['memo_table']} where me_id = '$me_id' and me_recv_mb_id = '{$member['mb_id']}' ");
if($c['cnt'] < 1) {
alert('삭제 되었거나 존재하지 않는 쪽지 입니다.');
}
set_session('ss_memo_delete_token', $token = uniqid(time())); set_session('ss_memo_delete_token', $token = uniqid(time()));
$del_link = 'memo_delete.php?me_id='.$memo['me_id'].'&amp;token='.$token.'&amp;kind='.$kind; $del_link = 'memo_delete.php?me_id='.$memo['me_id'].'&amp;token='.$token.'&amp;kind='.$kind;

View File

@ -71,8 +71,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
<thead> <thead>
<tr> <tr>
<th scope="col"> <th scope="col">
<label for="chkall" class="sound_only">현재 페이지 게시판 전체</label>
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);"> <input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
<label for="chkall"></label>
</th> </th>
<th scope="col">게시판</th> <th scope="col">게시판</th>
</tr> </tr>
@ -87,9 +87,10 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
} }
?> ?>
<tr class="<?php echo $atc_bg; ?>"> <tr class="<?php echo $atc_bg; ?>">
<td class="td_chk"> <td class="text-center">
<label for="chk<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['bo_table'] ?></label>
<input type="checkbox" value="<?php echo $list[$i]['bo_table'] ?>" id="chk<?php echo $i ?>" name="chk_bo_table[]"> <input type="checkbox" value="<?php echo $list[$i]['bo_table'] ?>" id="chk<?php echo $i ?>" name="chk_bo_table[]">
<label for="chk<?php echo $i ?>"></label>
</td> </td>
<td> <td>
<label for="chk<?php echo $i ?>"> <label for="chk<?php echo $i ?>">

View File

@ -282,15 +282,75 @@ $opener_href1 = str_replace('&amp;', '&', $opener_href);
run_event('bbs_move_update', $bo_table, $chk_bo_table, $wr_id_list, $opener_href); run_event('bbs_move_update', $bo_table, $chk_bo_table, $wr_id_list, $opener_href);
?> ?>
<?php if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == $app['ap_title']) { ?>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<style>
body,html {background-color: #f9fafb; padding: 0px; margin: 0px;}
ul {padding: 0px; margin: 0px;}
.rb_alert_wrap {
width:100%;
height:100%;
position: relative;
background-color: #f9fafb;
box-sizing: border-box;
}
.rb_alert_wrap .rb_alert_wrap_inner {
width: 100%;
border-radius: 0px;
padding: 50px;
background-color: #f9fafb;
box-sizing: border-box;
position: absolute;
top:50%;
transform: translateY(-50%);
box-sizing: border-box;
}
.rb_alert_wrap .rb_alert_title {
text-align: center;
font-size: 14px;
color: #485172;
line-height: 130%;
word-break: keep-all;
box-sizing: border-box;
text-align: center;
margin-bottom: 40px;
}
.rb_alert_wrap .btn_submit {
width: 100%;
height: 47px;
border-radius: 10px;
font-size: 16px;
background-color: #25282B;
color:#fff;
border:0px;
box-sizing: border-box;
text-align: center;
}
</style>
<div class="rb_alert_wrap">
<div class="rb_alert_wrap_inner">
<ul class="rb_alert_title"><?php echo $msg; ?></ul>
<ul class="rb_alert_btn">
<button type="button" class="btn_submit font-B" onclick="location.href='<?php echo $opener_href; ?>';">돌아가기</button>
</ul>
</div>
</div>
<?php } else { ?>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<script> <script>
alert("<?php echo $msg; ?>"); alert("<?php echo $msg; ?>");
opener.document.location.href = "<?php echo $opener_href1; ?>"; opener.document.location.href = "<?php echo $opener_href1; ?>";
window.close(); window.close();
</script> </script>
<noscript> <noscript>
<p> <p>
<?php echo $msg; ?> <?php echo $msg; ?>
</p> </p>
<a href="<?php echo $opener_href; ?>">돌아가기</a> <a href="<?php echo $opener_href; ?>">돌아가기</a>
</noscript> </noscript>
<?php } ?>

View File

@ -75,9 +75,9 @@ if(is_file($skin_file)) {
$content = html_purifier($qaconfig['qa_insert_content']); $content = html_purifier($qaconfig['qa_insert_content']);
} else if($w == 'r') { } else if($w == 'r') {
if($is_dhtml_editor) if($is_dhtml_editor)
$content = '<div><br><br><br>====== 이전 답변내용 =======<br></div>'; $content = '<div><br><br><br>====== 이전 질문내용 =======<br></div>';
else else
$content = "\n\n\n\n====== 이전 답변내용 =======\n"; $content = "\n\n\n\n====== 이전 질문내용 =======\n";
// KISA 취약점 권고사항 Stored XSS (210624) // KISA 취약점 권고사항 Stored XSS (210624)
$content .= get_text(html_purifier($write['qa_content']), 0); $content .= get_text(html_purifier($write['qa_content']), 0);

View File

@ -451,6 +451,22 @@ if($config['cf_sms_use'] == 'icode' && $qaconfig['qa_use_sms']) {
} }
} }
// 문의글등록 쪽지 발송
if($w == '' || $w == 'r') {
//문의 > 관리자에게 발송
memo_auto_send("신규 1:1문의가 등록 되었습니다.", G5_BBS_URL.'/qalist.php', $config['cf_admin'], "system-msg");
}
// 답변 > 문의자에게 발송
if($w == 'a') {
memo_auto_send("1:1문의에 답변이 등록 되었습니다.", G5_BBS_URL.'/qalist.php', $write['mb_id'], "system-msg");
}
// 답변 이메일전송 // 답변 이메일전송
if($w == 'a' && $write['qa_email_recv'] && trim($write['qa_email'])) { if($w == 'a' && $write['qa_email_recv'] && trim($write['qa_email'])) {
include_once(G5_LIB_PATH.'/mailer.lib.php'); include_once(G5_LIB_PATH.'/mailer.lib.php');

View File

@ -1,62 +1,106 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php'); include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
$g5['title'] = '메일인증 메일주소 변경';
include_once('./_head.php'); $g5['title'] = '메일인증 메일주소 변경';
include_once('./_head.php');
$mb_id = isset($_GET['mb_id']) ? substr(clean_xss_tags($_GET['mb_id']), 0, 20) : '';
$sql = " select mb_email, mb_datetime, mb_ip, mb_email_certify, mb_id from {$g5['member_table']} where mb_id = '{$mb_id}' "; $mb_id = isset($_GET['mb_id']) ? substr(clean_xss_tags($_GET['mb_id']), 0, 20) : '';
$mb = sql_fetch($sql); $sql = " select mb_email, mb_datetime, mb_ip, mb_email_certify, mb_id from {$g5['member_table']} where mb_id = '{$mb_id}' ";
$mb = sql_fetch($sql);
if(! (isset($mb['mb_id']) && $mb['mb_id'])){
alert("해당 회원이 존재하지 않습니다.", G5_URL); if(! (isset($mb['mb_id']) && $mb['mb_id'])){
} alert("해당 회원이 존재하지 않습니다.", G5_URL);
}
if (substr($mb['mb_email_certify'],0,1)!=0) {
alert("이미 메일인증 하신 회원입니다.", G5_URL); if (substr($mb['mb_email_certify'],0,1)!=0) {
} alert("이미 메일인증 하신 회원입니다.", G5_URL);
}
$ckey = isset($_GET['ckey']) ? trim($_GET['ckey']) : '';
$key = md5($mb['mb_ip'].$mb['mb_datetime']); $ckey = isset($_GET['ckey']) ? trim($_GET['ckey']) : '';
$key = md5($mb['mb_ip'].$mb['mb_datetime']);
if(!$ckey || $ckey != $key)
alert('올바른 방법으로 이용해 주십시오.', G5_URL); if(!$ckey || $ckey != $key)
?> alert('올바른 방법으로 이용해 주십시오.', G5_URL);
?>
<p class="rg_em_p">메일인증을 받지 못한 경우 회원정보의 메일주소를 변경 할 수 있습니다.</p>
<form method="post" name="fregister_email" action="<?php echo G5_HTTPS_BBS_URL.'/register_email_update.php'; ?>" onsubmit="return fregister_email_submit(this);">
<input type="hidden" name="mb_id" value="<?php echo $mb_id; ?>">
<style>
<div class="tbl_frm01 tbl_frm rg_em"> body, html {background-color: #f9fafb;}
<table> main {background-color: #f9fafb;}
<caption>사이트 이용정보 입력</caption> #container_title {display: none;}
<tr> #header {display: none;}
<th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th> .contents_wrap {padding: 0px !important;}
<td><input type="text" name="mb_email" id="reg_mb_email" required class="frm_input email required" size="30" maxlength="100" value="<?php echo $mb['mb_email']; ?>"></td> .sub {padding-top: 0px;}
</tr> </style>
<tr>
<th scope="row">자동등록방지</th> <div class="rb_member">
<td><?php echo captcha_html(); ?></td> <div class="rb_login rb_reg">
</tr>
</table> <form method="post" name="fregister_email" action="<?php echo G5_HTTPS_BBS_URL.'/register_email_update.php'; ?>" onsubmit="return fregister_email_submit(this);">
</div> <input type="hidden" name="mb_id" value="<?php echo $mb_id; ?>">
<div class="btn_confirm"> <ul class="rb_login_box">
<input type="submit" id="btn_submit" class="btn_submit" value="인증메일변경">
<a href="<?php echo G5_URL ?>" class="btn_cancel">취소</a> <?php if (!empty($rb_builder['bu_logo_pc'])) { ?>
</div> <a href="<?php echo G5_URL ?>"><img src="<?php echo G5_URL ?>/data/logos/pc?ver=<?php echo G5_SERVER_TIME ?>" alt="<?php echo $config['cf_title']; ?>" id="logo_img"></a>
<?php } else { ?>
</form> <a href="<?php echo G5_URL ?>"><img src="<?php echo G5_THEME_URL ?>/rb.img/logos/pc.png?ver=<?php echo G5_SERVER_TIME ?>" alt="<?php echo $config['cf_title']; ?>" id="logo_img"></a>
<?php } ?>
<script>
function fregister_email_submit(f)
{ <li class="rb_reg_ok_text font-B">인증메일 변경</li>
<?php echo chk_captcha_js(); ?> <li class="rb_reg_sub_title">메일인증을 받지 못한 경우 이메일 주소를<br>변경 할 수 있어요.</li>
return true; <li>
} <span>변경할 이메일주소</span>
</script> <input type="text" name="mb_email" id="reg_mb_email" required class="input email required" maxlength="100" value="<?php echo $mb['mb_email']; ?>">
<?php </li>
<li>
<div>
<?php echo captcha_html(); ?>
</div>
</li>
<li>
<div class="btn_confirm">
<button type="submit" class="btn_submit font-B">인증메일 변경</button>
</div>
</li>
<li class="join_links">
<a href="<?php echo G5_URL ?>" class="font-B">변경취소</a>
</li>
</ul>
</form>
</div>
</div>
<script>
function fregister_email_submit(f)
{
<?php echo chk_captcha_js(); ?>
return true;
}
</script>
<?php
include_once('./_tail.php'); include_once('./_tail.php');

View File

@ -64,15 +64,15 @@ $mb_8 = isset($_POST['mb_8']) ? trim($_POST['mb_8'])
$mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : ""; $mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : "";
$mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : ""; $mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : "";
$mb_name = clean_xss_tags($mb_name, 1, 1); $mb_name = clean_xss_tags($mb_name);
$mb_email = get_email_address($mb_email); $mb_email = get_email_address($mb_email);
$mb_homepage = clean_xss_tags($mb_homepage, 1, 1); $mb_homepage = clean_xss_tags($mb_homepage);
$mb_tel = clean_xss_tags($mb_tel, 1, 1); $mb_tel = clean_xss_tags($mb_tel);
$mb_zip1 = preg_replace('/[^0-9]/', '', $mb_zip1); $mb_zip1 = preg_replace('/[^0-9]/', '', $mb_zip1);
$mb_zip2 = preg_replace('/[^0-9]/', '', $mb_zip2); $mb_zip2 = preg_replace('/[^0-9]/', '', $mb_zip2);
$mb_addr1 = clean_xss_tags($mb_addr1, 1, 1); $mb_addr1 = clean_xss_tags($mb_addr1);
$mb_addr2 = clean_xss_tags($mb_addr2, 1, 1); $mb_addr2 = clean_xss_tags($mb_addr2);
$mb_addr3 = clean_xss_tags($mb_addr3, 1, 1); $mb_addr3 = clean_xss_tags($mb_addr3);
$mb_addr_jibeon = preg_match("/^(N|R)$/", $mb_addr_jibeon) ? $mb_addr_jibeon : ''; $mb_addr_jibeon = preg_match("/^(N|R)$/", $mb_addr_jibeon) ? $mb_addr_jibeon : '';
run_event('register_form_update_before', $mb_id, $w); run_event('register_form_update_before', $mb_id, $w);

View File

@ -38,7 +38,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
// 공백없이 연속 입력한 문자 자르기 (way 보드 참고. way.co.kr) // 공백없이 연속 입력한 문자 자르기 (way 보드 참고. way.co.kr)
//$list[$i]['content'] = eregi_replace("[^ \n<>]{130}", "\\0\n", $row['wr_content']); //$list[$i]['content'] = eregi_replace("[^ \n<>]{130}", "\\0\n", $row['wr_content']);
/*
$list[$i]['content'] = $list[$i]['content1']= '비밀글 입니다.'; $list[$i]['content'] = $list[$i]['content1']= '비밀글 입니다.';
if (!strstr($row['wr_option'], 'secret') || if (!strstr($row['wr_option'], 'secret') ||
$is_admin || $is_admin ||
@ -47,7 +47,25 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
$list[$i]['content1'] = $row['wr_content']; $list[$i]['content1'] = $row['wr_content'];
$list[$i]['content'] = conv_content($row['wr_content'], 0, 'wr_content'); $list[$i]['content'] = conv_content($row['wr_content'], 0, 'wr_content');
$list[$i]['content'] = search_font($stx, $list[$i]['content']); $list[$i]['content'] = search_font($stx, $list[$i]['content']);
} else { }
*/
// 댓글에 댓글이 비밀댓글인 경우 원댓글 작성자도 볼 수 있도록 처리 2.1.7
$pre_comment_info = substr($row['wr_comment_reply'],0,-1);
$pre_comment = sql_fetch(" select mb_id from {$write_table} where wr_parent = '{$wr_id}' and wr_is_comment = 1 and wr_comment = '{$row['wr_comment']}' and wr_comment_reply = '{$pre_comment_info}' ");
$list[$i]['content'] = $list[$i]['content1']= '비밀글 입니다.';
if (!strstr($row['wr_option'], 'secret') ||
$is_admin ||
($pre_comment['mb_id']==$member['mb_id'] && $member['mb_id']) ||
($write['mb_id']==$member['mb_id'] && $member['mb_id']) ||
($row['mb_id']==$member['mb_id'] && $member['mb_id'])) {
$list[$i]['content1'] = $row['wr_content'];
$list[$i]['content'] = conv_content($row['wr_content'], 0, 'wr_content');
$list[$i]['content'] = search_font($stx, $list[$i]['content']);
}
else {
$ss_name = 'ss_secret_comment_'.$bo_table.'_'.$list[$i]['wr_id']; $ss_name = 'ss_secret_comment_'.$bo_table.'_'.$list[$i]['wr_id'];
if(!get_session($ss_name)) if(!get_session($ss_name))

View File

@ -50,6 +50,10 @@ if($file_exists = run_replace('exists_view_image', $file_exists, $filepath, $edi
} }
?> ?>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=10>,user-scalable=yes" />
</head>
<div class="bbs-view-image"><?php echo $img ?></div> <div class="bbs-view-image"><?php echo $img ?></div>
<script> <script>

View File

@ -6,8 +6,8 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
{ {
set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장 set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장
// $tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g5['visit_table']} "); $tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g5['visit_table']} ");
// $vi_id = $tmp_row['max_vi_id'] + 1; $vi_id = $tmp_row['max_vi_id'] + 1;
// $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810 // $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
$remote_addr = escape_trim($_SERVER['REMOTE_ADDR']); $remote_addr = escape_trim($_SERVER['REMOTE_ADDR']);
@ -23,7 +23,7 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) { if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) {
include_once(G5_BBS_PATH.'/visit_browscap.inc.php'); include_once(G5_BBS_PATH.'/visit_browscap.inc.php');
} }
$sql = " insert {$g5['visit_table']} ( vi_ip, vi_date, vi_time, vi_referer, vi_agent, vi_browser, vi_os, vi_device ) values ( '{$remote_addr}', '".G5_TIME_YMD."', '".G5_TIME_HIS."', '{$referer}', '{$user_agent}', '{$vi_browser}', '{$vi_os}', '{$vi_device}' ) "; $sql = " insert {$g5['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent, vi_browser, vi_os, vi_device ) values ( '{$vi_id}', '{$remote_addr}', '".G5_TIME_YMD."', '".G5_TIME_HIS."', '{$referer}', '{$user_agent}', '{$vi_browser}', '{$vi_os}', '{$vi_device}' ) ";
$result = sql_query($sql, FALSE); $result = sql_query($sql, FALSE);
// 정상으로 INSERT 되었다면 방문자 합계에 반영 // 정상으로 INSERT 되었다면 방문자 합계에 반영

View File

@ -20,7 +20,7 @@ if (!($w == '' || $w == 'u' || $w == 'r')) {
} }
if ($w == 'u' || $w == 'r') { if ($w == 'u' || $w == 'r') {
if (isset($write['wr_id']) && $write['wr_id']) { if ($write['wr_id']) {
// 가변 변수로 $wr_1 .. $wr_10 까지 만든다. // 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
for ($i=1; $i<=10; $i++) { for ($i=1; $i<=10; $i++) {
$vvar = "wr_".$i; $vvar = "wr_".$i;

View File

@ -525,6 +525,7 @@ if (isset($_REQUEST['gr_id'])) {
} }
//=================================== //===================================
// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다. // 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.
if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이라면 if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이라면
$member = get_member($_SESSION['ss_mb_id']); $member = get_member($_SESSION['ss_mb_id']);
@ -584,8 +585,20 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
// 자동로그인 end --------------------------------------- // 자동로그인 end ---------------------------------------
} }
// 최고관리자가 아니면 IP를 체크한다. // 회원, 비회원 구분
if (!(isset($member['mb_id']) && $config['cf_admin'] === $member['mb_id'])) { $is_member = $is_guest = false;
$is_admin = '';
if (isset($member['mb_id']) && $member['mb_id']) {
$is_member = true;
$is_admin = is_admin($member['mb_id']);
$member['mb_dir'] = substr($member['mb_id'],0,2);
} else {
$is_guest = true;
$member['mb_id'] = '';
$member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정
}
if ($is_admin != 'super') {
// 접근가능 IP // 접근가능 IP
$cf_possible_ip = trim($config['cf_possible_ip']); $cf_possible_ip = trim($config['cf_possible_ip']);
if ($cf_possible_ip) { if ($cf_possible_ip) {
@ -662,19 +675,6 @@ if ($config['cf_editor']) {
define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php"); define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");
} }
// 회원, 비회원 구분
$is_member = $is_guest = false;
$is_admin = '';
if (isset($member['mb_id']) && $member['mb_id']) {
$is_member = true;
$is_admin = is_admin($member['mb_id']);
$member['mb_dir'] = substr($member['mb_id'],0,2);
} else {
$is_guest = true;
$member['mb_id'] = '';
$member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정
}
// 테마경로 // 테마경로
if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true) if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true)
$config['cf_theme'] = isset($_GET['theme']) ? trim($_GET['theme']) : ''; $config['cf_theme'] = isset($_GET['theme']) ? trim($_GET['theme']) : '';

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

9195
firstgarden.sql Normal file

File diff suppressed because one or more lines are too long

View File

@ -685,10 +685,6 @@ function html_purifier($html)
) )
); );
// 커스텀 URI 필터 등록
$def = $config->getDefinition('URI', true); // URI 정의 가져오기
$def->addFilter(new HTMLPurifierContinueParamFilter(), $config); // 커스텀 필터 추가
$purifier = new HTMLPurifier($config); $purifier = new HTMLPurifier($config);
return run_replace('html_purifier_result', $purifier->purify($html), $purifier, $html); return run_replace('html_purifier_result', $purifier->purify($html), $purifier, $html);
@ -2535,10 +2531,6 @@ function get_uniqid()
{ {
global $g5; global $g5;
if ($get_uniqid_key = run_replace('get_uniqid_key', '')) {
return $get_uniqid_key;
}
sql_query(" LOCK TABLE {$g5['uniqid_table']} WRITE "); sql_query(" LOCK TABLE {$g5['uniqid_table']} WRITE ");
while (1) { while (1) {
// 년월일시분초에 100분의 1초 두자리를 추가함 (1/100 초 앞에 자리가 모자르면 0으로 채움) // 년월일시분초에 100분의 1초 두자리를 추가함 (1/100 초 앞에 자리가 모자르면 0으로 채움)
@ -4119,9 +4111,15 @@ function safe_replace_regex($str, $str_case=''){
return preg_replace('/[^0-9a-z_\-]/i', '', $str); return preg_replace('/[^0-9a-z_\-]/i', '', $str);
} }
function get_real_client_ip() { function get_real_client_ip(){
return run_replace('get_real_client_ip', $_SERVER['REMOTE_ADDR']); $real_ip = $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/', $_SERVER['HTTP_X_FORWARDED_FOR']) ){
$real_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return preg_replace('/[^0-9.]/', '', $real_ip);
} }
function check_mail_bot($ip=''){ function check_mail_bot($ip=''){
@ -4190,14 +4188,7 @@ function is_include_path_check($path='', $is_input='')
if ( $peer_count && $peer_count > $slash_count ){ if ( $peer_count && $peer_count > $slash_count ){
return false; return false;
} }
$dirname_doc_root = !empty($_SERVER['DOCUMENT_ROOT']) ? dirname($_SERVER['DOCUMENT_ROOT']) : dirname(dirname(dirname(__DIR__)));
// 웹서버 폴더만 허용
if ($dirname_doc_root && file_exists($path) && strpos(realpath($path), realpath($dirname_doc_root)) !== 0) {
return false;
}
try { try {
// whether $path is unix or not // whether $path is unix or not
$unipath = strlen($path)==0 || substr($path, 0, 1) != '/'; $unipath = strlen($path)==0 || substr($path, 0, 1) != '/';
@ -4233,8 +4224,8 @@ function is_include_path_check($path='', $is_input='')
//echo 'Caught exception: ', $e->getMessage(), "\n"; //echo 'Caught exception: ', $e->getMessage(), "\n";
return false; return false;
} }
if (preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', $replace_path) || preg_match('/pear(cmd)?\.php/i', $replace_path)){ if( preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', $replace_path) ){
return false; return false;
} }
if( preg_match('/'.G5_PLUGIN_DIR.'\//i', $replace_path) && (preg_match('/'.G5_OKNAME_DIR.'\//i', $replace_path) || preg_match('/'.G5_KCPCERT_DIR.'\//i', $replace_path) || preg_match('/'.G5_LGXPAY_DIR.'\//i', $replace_path)) || (preg_match('/search\.skin\.php/i', $replace_path) ) ){ if( preg_match('/'.G5_PLUGIN_DIR.'\//i', $replace_path) && (preg_match('/'.G5_OKNAME_DIR.'\//i', $replace_path) || preg_match('/'.G5_KCPCERT_DIR.'\//i', $replace_path) || preg_match('/'.G5_LGXPAY_DIR.'\//i', $replace_path)) || (preg_match('/search\.skin\.php/i', $replace_path) ) ){

View File

@ -2641,10 +2641,10 @@ function make_order_field($data, $exclude)
if(is_array($value)) { if(is_array($value)) {
foreach($value as $k=>$v) { foreach($value as $k=>$v) {
$field .= '<input type="hidden" name="'.get_text($key.'['.$k.']').'" value="'.get_text($v).'">'.PHP_EOL; $field .= '<input type="hidden" name="'.$key.'['.$k.']" value="'.get_text($v).'">'.PHP_EOL;
} }
} else { } else {
$field .= '<input type="hidden" name="'.get_text($key).'" value="'.get_text($value).'">'.PHP_EOL; $field .= '<input type="hidden" name="'.$key.'" value="'.get_text($value).'">'.PHP_EOL;
} }
} }

View File

@ -212,15 +212,18 @@ function shop_exist_check_seo_title($seo_title, $type, $shop_item_table, $it_id)
function shop_seo_title_update($it_id, $is_edit=false){ function shop_seo_title_update($it_id, $is_edit=false){
global $g5; global $g5;
$shop_item_cache = $is_edit ? false : true; $shop_item_cache = $is_edit ? false : true;
$item = get_shop_item($it_id, $shop_item_cache); $item = get_shop_item($it_id, $shop_item_cache);
if( (! $item['it_seo_title'] || $is_edit) && $item['it_name'] ){ $has_seo_title = isset($item['it_seo_title']) ? $item['it_seo_title'] : null;
$has_name = isset($item['it_name']) ? $item['it_name'] : null;
if ((!$has_seo_title || $is_edit) && $has_name) {
$it_seo_title = exist_seo_title_recursive('shop', generate_seo_title($item['it_name']), $g5['g5_shop_item_table'], $item['it_id']); $it_seo_title = exist_seo_title_recursive('shop', generate_seo_title($item['it_name']), $g5['g5_shop_item_table'], $item['it_id']);
if( isset($item['it_seo_title']) && $it_seo_title !== $item['it_seo_title'] ){ if ($has_seo_title !== $it_seo_title) {
$sql = " update `{$g5['g5_shop_item_table']}` set it_seo_title = '{$it_seo_title}' where it_id = '{$item['it_id']}' "; $sql = "UPDATE `{$g5['g5_shop_item_table']}` SET it_seo_title = '{$it_seo_title}' WHERE it_id = '{$item['it_id']}' ";
sql_query($sql); sql_query($sql);
} }
} }
} }

View File

@ -130,13 +130,13 @@
</wsdl:binding> </wsdl:binding>
<wsdl:service name="PayService"> <wsdl:service name="PayService">
<wsdl:port name="PayServiceHttpSoap11Endpoint" binding="ns:PayServiceSoap11Binding"> <wsdl:port name="PayServiceHttpSoap11Endpoint" binding="ns:PayServiceSoap11Binding">
<soap:address location="https://testsmpay.kcp.co.kr/services/KCPPaymentService"/> <soap:address location="https://devpggw.kcp.co.kr:8100/services/KCPPaymentService"/>
</wsdl:port> </wsdl:port>
<wsdl:port name="PayServiceHttpSoap12Endpoint" binding="ns:PayServiceSoap12Binding"> <wsdl:port name="PayServiceHttpSoap12Endpoint" binding="ns:PayServiceSoap12Binding">
<soap12:address location="https://testsmpay.kcp.co.kr/services/KCPPaymentService"/> <soap12:address location="https://devpggw.kcp.co.kr:8100/services/KCPPaymentService"/>
</wsdl:port> </wsdl:port>
<wsdl:port name="PayServiceHttpEndpoint" binding="ns:PayServiceHttpBinding"> <wsdl:port name="PayServiceHttpEndpoint" binding="ns:PayServiceHttpBinding">
<http:address location="https://testsmpay.kcp.co.kr/services/KCPPaymentService"/> <http:address location="https://devpggw.kcp.co.kr:8100/services/KCPPaymentService"/>
</wsdl:port> </wsdl:port>
</wsdl:service> </wsdl:service>
</wsdl:definitions> </wsdl:definitions>

View File

@ -54,8 +54,8 @@ echo '<form name="forderform" method="post" action="'.$order_action_url.'" autoc
echo make_order_field($data, $exclude); echo make_order_field($data, $exclude);
echo '<input type="hidden" name="res_cd" value="'.get_text($LGD_RESPCODE).'">'.PHP_EOL; echo '<input type="hidden" name="res_cd" value="'.$LGD_RESPCODE.'">'.PHP_EOL;
echo '<input type="hidden" name="LGD_PAYKEY" value="'.get_text($LGD_PAYKEY).'">'.PHP_EOL; echo '<input type="hidden" name="LGD_PAYKEY" value="'.$LGD_PAYKEY.'">'.PHP_EOL;
echo '</form>'.PHP_EOL; echo '</form>'.PHP_EOL;
?> ?>

View File

@ -167,7 +167,7 @@ function getFormObject() {
<form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action=""> <form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="">
<?php <?php
foreach ($payReqMap as $key => $value) { foreach ($payReqMap as $key => $value) {
echo'"<input type="hidden" name="'.get_text($key).'" id="'.get_text($key).'" value="'.get_text($value).'">'; echo'"<input type="hidden" name="'.$key.'" id="'.$key.'" value="'.$value.'">';
} }
?> ?>
</form> </form>

View File

@ -1,16 +1,6 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
// 테마에 list.php 있으면 include
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_list_file = G5_THEME_MSHOP_PATH.'/list.php';
if(is_file($theme_list_file)) {
include_once($theme_list_file);
return;
}
unset($theme_list_file);
}
// 상품 리스트에서 다른 필드로 정렬을 하려면 아래의 배열 코드에서 해당 필드를 추가하세요. // 상품 리스트에서 다른 필드로 정렬을 하려면 아래의 배열 코드에서 해당 필드를 추가하세요.
if( isset($sort) && ! in_array($sort, array('it_name', 'it_sum_qty', 'it_price', 'it_use_avg', 'it_use_cnt', 'it_update_time')) ){ if( isset($sort) && ! in_array($sort, array('it_name', 'it_sum_qty', 'it_price', 'it_use_avg', 'it_use_cnt', 'it_update_time')) ){
$sort=''; $sort='';

View File

@ -64,13 +64,28 @@ ob_start();
for ($i=0; $row=sql_fetch_array($result); $i++) for ($i=0; $row=sql_fetch_array($result); $i++)
{ {
// 예약 관련
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
$resv = sql_fetch("SELECT * FROM {$g5['g5_shop_cart_table']} WHERE ct_id = '{$row['ct_id']}' ");
}
// 합계금액 계산 (예약상품일 경우 합계방식 변경)
$price_calc = "((ct_price + io_price) * ct_qty)";
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1 && isset($resv['ct_types']) && $resv['ct_types'] == 1) {
$price_calc = "((ct_price + io_price) * ct_qty * ct_date_d +
(COALESCE(ct_user_pri1, 0) * COALESCE(ct_user_qty1, 0)) +
(COALESCE(ct_user_pri2, 0) * COALESCE(ct_user_qty2, 0)) +
(COALESCE(ct_user_pri3, 0) * COALESCE(ct_user_qty3, 0)))";
}
// 합계금액 계산 // 합계금액 계산
$sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as price, $sql = "SELECT SUM(IF(io_type = 1, (io_price * ct_qty), $price_calc)) AS price,
SUM(ct_point * ct_qty) as point, SUM(ct_point * ct_qty) AS point,
SUM(ct_qty) as qty SUM(ct_qty) AS qty
from {$g5['g5_shop_cart_table']} FROM {$g5['g5_shop_cart_table']}
where it_id = '{$row['it_id']}' WHERE it_id = '{$row['it_id']}'
and od_id = '$s_cart_id' "; AND od_id = '$s_cart_id'";
$sum = sql_fetch($sql); $sum = sql_fetch($sql);
if (!$goods) if (!$goods)
@ -95,9 +110,9 @@ ob_start();
$a1 = '<strong>'; $a1 = '<strong>';
$a2 = '</strong>'; $a2 = '</strong>';
$image_width = 80; $image_width = 60;
$image_height = 80; $image_height = 60;
$image = get_it_image($row['it_id'], $image_width, $image_height); $image = rb_it_image($row['it_id'], $image_width, $image_height);
$it_name = $a1 . stripslashes($row['it_name']) . $a2; $it_name = $a1 . stripslashes($row['it_name']) . $a2;
$it_options = print_item_options($row['it_id'], $s_cart_id); $it_options = print_item_options($row['it_id'], $s_cart_id);
@ -185,12 +200,23 @@ ob_start();
<span class="total_img"><?php echo $image; ?></span> <span class="total_img"><?php echo $image; ?></span>
<div class="sod_opt"><?php echo $it_options; ?></div> <div class="sod_opt"><?php echo $it_options; ?></div>
<div class="li_mod" ><?php echo $cp_button; ?></div> <div class="li_mod" ><?php echo $cp_button; ?></div>
<?php
//예약정보 로드
if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
if(isset($resv['ct_types']) && $resv['ct_types'] == 1) {
include (G5_PATH.'/rb/rb.mod/reservation/info.inc.php');
}
}
?>
</div> </div>
<div class="li_prqty"> <div class="li_prqty">
<span class="prqty_price li_prqty_sp"><span>판매가 </span><?php echo number_format($row['ct_price']); ?></span> <span class="prqty_price li_prqty_sp"><span>판매가 </span><?php echo number_format($row['ct_price']); ?></span>
<span class="prqty_qty li_prqty_sp"><span>수량 </span><?php echo number_format($sum['qty']); ?></span> <span class="prqty_qty li_prqty_sp"><span>수량 </span><?php echo number_format($sum['qty']); ?></span>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<span class="prqty_sc li_prqty_sp"><span>배송비 </span><?php echo $ct_send_cost; ?></span> <span class="prqty_sc li_prqty_sp"><span>배송비 </span><?php echo $ct_send_cost; ?></span>
<?php } ?>
<span class="total_point li_prqty_sp"><span>적립포인트 </span><strong><?php echo number_format($sum['point']); ?></strong></span> <span class="total_point li_prqty_sp"><span>적립포인트 </span><strong><?php echo number_format($sum['point']); ?></strong></span>
</div> </div>
@ -231,11 +257,13 @@ ob_start();
<dt class="sod_bsk_coupon">쿠폰</dt> <dt class="sod_bsk_coupon">쿠폰</dt>
<dd class="sod_bsk_coupon"><strong id="ct_tot_coupon">0 원</strong></dd> <dd class="sod_bsk_coupon"><strong id="ct_tot_coupon">0 원</strong></dd>
<?php } ?> <?php } ?>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<dt class="sod_bsk_dvr">배송비</dt> <dt class="sod_bsk_dvr">배송비</dt>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($send_cost); ?> 원</strong></dd> <dd class="sod_bsk_dvr"><strong><?php echo number_format($send_cost); ?> 원</strong></dd>
<?php } ?>
<dt class="sod_bsk_point">포인트</dt> <dt class="sod_bsk_point">포인트</dt>
<dd class="sod_bsk_point"><strong><?php echo number_format($tot_point); ?> </strong></dd> <dd class="sod_bsk_point"><strong><?php echo number_format($tot_point); ?> P</strong></dd>
<dt class="sod_bsk_cnt">총계</dt> <dt class="sod_bsk_cnt">총계</dt>
<dd class="sod_bsk_cnt"> <dd class="sod_bsk_cnt">
<?php $tot_price = $tot_sell_price + $send_cost; // 총계 = 주문상품금액합계 + 배송비 ?> <?php $tot_price = $tot_sell_price + $send_cost; // 총계 = 주문상품금액합계 + 배송비 ?>
@ -282,7 +310,7 @@ if($is_kakaopay_use) {
<?php echo $content; ?> <?php echo $content; ?>
<section id="sod_frm_orderer" > <section id="sod_frm_orderer" >
<h2>주문하시는 분</h2> <h2>주문자 정보</h2>
<div class="odf_list"> <div class="odf_list">
<ul> <ul>
@ -303,30 +331,30 @@ if($is_kakaopay_use) {
<li> <li>
<label for="od_tel">전화번호<strong class="sound_only"> 필수</strong></label> <label for="od_tel">전화번호<strong class="sound_only"> 필수</strong></label>
<input type="text" name="od_tel" value="<?php echo get_text($member['mb_tel']); ?>" id="od_tel" required class="frm_input required" maxlength="20"> <input type="text" name="od_tel" value="<?php echo get_text($member['mb_tel']); ?>" id="od_tel" class="frm_input" maxlength="20">
</li> </li>
<li> <li>
<label for="od_hp">핸드폰</label> <label for="od_hp">휴대전화</label>
<input type="text" name="od_hp" value="<?php echo get_text($member['mb_hp']); ?>" id="od_hp" class="frm_input" maxlength="20"> <input type="text" name="od_hp" value="<?php echo get_text($member['mb_hp']); ?>" id="od_hp" required class="frm_input required" maxlength="20">
</li> </li>
<li> <li>
<strong>주소</strong> <label for="od_b_addr">주소<strong class="sound_only"> 필수</strong></label>
<span class="add_num"><label for="od_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label> <span class="add_num"><label for="od_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label>
<input type="text" name="od_zip" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" id="od_zip" required class="frm_input required" size="5" maxlength="6"> <input type="text" name="od_zip" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" id="od_zip" required class="frm_input required" size="5" maxlength="6" placeholder="우편번호">
<button type="button" class="btn_frmline btn_addsch" onclick="win_zip('forderform', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon');">주소검색</button></span> <button type="button" class="btn_frmline btn_addsch" onclick="win_zip('forderform', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon');">주소검색</button></span>
<label for="od_addr1" class="sound_only">기본주소<strong class="sound_only"> 필수</strong></label> <label for="od_addr1" class="sound_only">기본주소<strong class="sound_only"> 필수</strong></label>
<input type="text" name="od_addr1" value="<?php echo get_text($member['mb_addr1']) ?>" id="od_addr1" required class="frm_input frm_address required"> <input type="text" name="od_addr1" value="<?php echo get_text($member['mb_addr1']) ?>" id="od_addr1" required class="frm_input frm_address required" placeholder="기본주소">
<label for="od_addr2" class="sound_only">상세주소</label> <label for="od_addr2" class="sound_only">상세주소</label>
<input type="text" name="od_addr2" value="<?php echo get_text($member['mb_addr2']) ?>" id="od_addr2" class="frm_input frm_address"> <input type="text" name="od_addr2" value="<?php echo get_text($member['mb_addr2']) ?>" id="od_addr2" class="frm_input frm_address" placeholder="상세주소">
<label for="od_addr3" class="sound_only">참고항목</label> <label for="od_addr3" class="sound_only">참고항목</label>
<input type="text" name="od_addr3" value="<?php echo get_text($member['mb_addr3']) ?>" id="od_addr3" class="frm_input frm_address" readonly="readonly"> <input type="text" name="od_addr3" value="<?php echo get_text($member['mb_addr3']) ?>" id="od_addr3" class="frm_input frm_address" readonly="readonly" placeholder="참고항목">
<input type="hidden" name="od_addr_jibeon" value="<?php echo get_text($member['mb_addr_jibeon']); ?>"><br> <input type="hidden" name="od_addr_jibeon" value="<?php echo get_text($member['mb_addr_jibeon']); ?>"><br>
</li> </li>
<li> <li>
<label for="od_email">E-mail<strong class="sound_only"> 필수</strong></label> <label for="od_email">E-mail<strong class="sound_only"> 필수</strong></label>
<input type="email" name="od_email" value="<?php echo $member['mb_email']; ?>" id="od_email" required class="frm_input required" maxlength="100"> <input type="text" name="od_email" value="<?php echo $member['mb_email']; ?>" id="od_email" required class="frm_input required" maxlength="100">
</li> </li>
<?php if ($default['de_hope_date_use']) { // 배송희망일 사용 ?> <?php if ($default['de_hope_date_use']) { // 배송희망일 사용 ?>
@ -350,7 +378,7 @@ if($is_kakaopay_use) {
</section> </section>
<section id="sod_frm_taker"> <section id="sod_frm_taker">
<h2>받으시는 분</h2> <h2>사용자(수령자) 정보</h2>
<div class="odf_list"> <div class="odf_list">
<ul> <ul>
@ -373,7 +401,7 @@ if($is_kakaopay_use) {
if(isset($row['ad_id']) && $row['ad_id']) { if(isset($row['ad_id']) && $row['ad_id']) {
$val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];
$addr_list .= '<br><input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_def">'.PHP_EOL; $addr_list .= '<br><input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_def">'.PHP_EOL;
$addr_list .= '<label for="ad_sel_addr_def">기본배송지</label>'.PHP_EOL; $addr_list .= '<label for="ad_sel_addr_def">기본</label>'.PHP_EOL;
} }
// 최근배송지 // 최근배송지
@ -386,14 +414,14 @@ if($is_kakaopay_use) {
$result = sql_query($sql); $result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++) { for($i=0; $row=sql_fetch_array($result); $i++) {
$val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];
$val2 = '<label for="ad_sel_addr_'.($i+1).'">최근배송지('.($row['ad_subject'] ? get_text($row['ad_subject']) : get_text($row['ad_name'])).')</label>'; $val2 = '<label for="ad_sel_addr_'.($i+1).'">최근('.($row['ad_subject'] ? get_text($row['ad_subject']) : get_text($row['ad_name'])).')</label>';
$addr_list .= '<br><input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_'.($i+1).'"> '.PHP_EOL.$val2.PHP_EOL; $addr_list .= '<br><input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_'.($i+1).'"> '.PHP_EOL.$val2.PHP_EOL;
} }
$addr_list .= '<br><input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">'.PHP_EOL; $addr_list .= '<br><input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">'.PHP_EOL;
$addr_list .= '<label for="od_sel_addr_new">신규배송지</label>'.PHP_EOL; $addr_list .= '<label for="od_sel_addr_new">신규</label>'.PHP_EOL;
$addr_list .='<a href="'.G5_SHOP_URL.'/orderaddress.php" id="order_address">배송지목록</a>'; $addr_list .='<a href="'.G5_SHOP_URL.'/orderaddress.php" id="order_address">주소지목록</a>';
} else { } else {
// 주문자와 동일 // 주문자와 동일
$addr_list .= '<input type="checkbox" name="ad_sel_addr" value="same" id="ad_sel_addr_same">'.PHP_EOL; $addr_list .= '<input type="checkbox" name="ad_sel_addr" value="same" id="ad_sel_addr_same">'.PHP_EOL;
@ -409,7 +437,7 @@ if($is_kakaopay_use) {
<label for="ad_subject">배송지명</label> <label for="ad_subject">배송지명</label>
<input type="text" name="ad_subject" id="ad_subject" class="frm_input" maxlength="20"> <input type="text" name="ad_subject" id="ad_subject" class="frm_input" maxlength="20">
<input type="checkbox" name="ad_default" id="ad_default" value="1"> <input type="checkbox" name="ad_default" id="ad_default" value="1">
<label for="ad_default" class="ad_default">기본배송지로 설정</label> <label for="ad_default" class="ad_default">기본주소지로 설정</label>
</li> </li>
<?php <?php
@ -421,14 +449,14 @@ if($is_kakaopay_use) {
</li> </li>
<li> <li>
<label for="od_b_tel">전화번호<strong class="sound_only"> 필수</strong></label> <label for="od_b_tel">전화번호<strong class="sound_only"> 필수</strong></label>
<input type="text" name="od_b_tel" id="od_b_tel" required class="frm_input required" maxlength="20"> <input type="text" name="od_b_tel" id="od_b_tel" class="frm_input" maxlength="20">
</li> </li>
<li> <li>
<label for="od_b_hp">핸드폰</label> <label for="od_b_hp">휴대전화</label>
<input type="text" name="od_b_hp" id="od_b_hp" class="frm_input" maxlength="20"> <input type="text" name="od_b_hp" id="od_b_hp" class="frm_input required" required maxlength="20">
</li> </li>
<li> <li>
<strong>주소</strong> <label for="od_b_addr">주소<strong class="sound_only"> 필수</strong></label>
<label for="od_b_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label> <label for="od_b_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label>
<span class="add_num"><input type="text" name="od_b_zip" id="od_b_zip" required class="frm_input required" size="5" maxlength="6"> <span class="add_num"><input type="text" name="od_b_zip" id="od_b_zip" required class="frm_input required" size="5" maxlength="6">
<button type="button" class="btn_frmline btn_addsch" onclick="win_zip('forderform', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button></span> <button type="button" class="btn_frmline btn_addsch" onclick="win_zip('forderform', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button></span>
@ -447,6 +475,31 @@ if($is_kakaopay_use) {
</ul> </ul>
</div> </div>
</section> </section>
<?php
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
$resv = sql_fetch("SELECT ct_user_qty1 FROM {$g5['g5_shop_cart_table']} WHERE od_id = '$s_cart_id' AND ct_select = '1' LIMIT 1");
$ct_user_qty1 = (int)$resv['ct_user_qty1'];
if(isset($ct_user_qty1) && $ct_user_qty1 > 0) {
?>
<section id="sod_frm_taker">
<h2>추가사용자 정보</h2>
<div class="odf_list">
<ul>
<?php for($i = 1; $i <= $ct_user_qty1; $i++) { ?>
<li>
<label for="od_b_name">사용자 <?php echo $i; ?><strong class="sound_only"> 필수</strong></label>
<input type="text" name="od_names[]" required class="frm_input required" required style="width:25%;" placeholder="이름">
<input type="text" name="od_hps[]" class="frm_input required" required style="width:50%;" placeholder="연락처">
</li>
<?php } ?>
</ul>
</div>
</section>
<?php } ?>
<?php } ?>
@ -529,10 +582,12 @@ if($is_kakaopay_use) {
<th>총 주문금액</th> <th>총 주문금액</th>
<td><span id="od_tot_price"><?php echo number_format($tot_price); ?></span>원</td> <td><span id="od_tot_price"><?php echo number_format($tot_price); ?></span>원</td>
</tr> </tr>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<tr> <tr>
<th>추가배송비</th> <th>추가배송비</th>
<td><span id="od_send_cost2">0</span>원 (지역에 따라 추가되는 도선료 등의 배송비입니다.)</td> <td><span id="od_send_cost2">0</span>원</td>
</tr> </tr>
<?php } ?>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -1558,9 +1613,47 @@ function pay_approval()
return false; return false;
} }
<?php if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { ?>
function make_additional_user_data() {
var names = [];
var hps = [];
$("input[name='od_names[]']").each(function() {
names.push($(this).val().trim());
});
$("input[name='od_hps[]']").each(function() {
hps.push($(this).val().trim());
});
// 기존 숨은 필드 제거
$("input[name='od_names_final'], input[name='od_hps_final']").remove();
// 숨은 필드로 추가
$("<input>", {
type: "hidden",
name: "od_names_final",
value: names.join('|')
}).appendTo("#forderform");
$("<input>", {
type: "hidden",
name: "od_hps_final",
value: hps.join('|')
}).appendTo("#forderform");
}
<?php } ?>
function forderform_check() function forderform_check()
{ {
<?php if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { ?>
make_additional_user_data();
<?php } ?>
// 무통장만 여기에처 처리한다. // 무통장만 여기에처 처리한다.
// 재고체크 // 재고체크
var stock_msg = order_stock_check(); var stock_msg = order_stock_check();
@ -1606,7 +1699,7 @@ function orderfield_check(f)
if( (f.od_pwd.value.length<3) || (f.od_pwd.value.search(/([^A-Za-z0-9]+)/)!=-1) ) if( (f.od_pwd.value.length<3) || (f.od_pwd.value.search(/([^A-Za-z0-9]+)/)!=-1) )
error_field(f.od_pwd, "회원이 아니신 경우 주문서 조회시 필요한 비밀번호를 3자리 이상 입력해 주십시오."); error_field(f.od_pwd, "회원이 아니신 경우 주문서 조회시 필요한 비밀번호를 3자리 이상 입력해 주십시오.");
} }
check_field(f.od_tel, "주문하시는 분 전화번호를 입력하십시오."); check_field(f.od_hp, "주문하시는 분 휴대전화 번호를 입력하십시오.");
check_field(f.od_addr1, "주소검색을 이용하여 주문하시는 분 주소를 입력하십시오."); check_field(f.od_addr1, "주소검색을 이용하여 주문하시는 분 주소를 입력하십시오.");
//check_field(f.od_addr2, " 주문하시는 분의 상세주소를 입력하십시오."); //check_field(f.od_addr2, " 주문하시는 분의 상세주소를 입력하십시오.");
check_field(f.od_zip, ""); check_field(f.od_zip, "");
@ -1623,7 +1716,7 @@ function orderfield_check(f)
} }
check_field(f.od_b_name, "받으시는 분 이름을 입력하십시오."); check_field(f.od_b_name, "받으시는 분 이름을 입력하십시오.");
check_field(f.od_b_tel, "받으시는 분 전화번호를 입력하십시오."); check_field(f.od_b_hp, "받으시는 분 휴대전화 번호를 입력하십시오.");
check_field(f.od_b_addr1, "주소검색을 이용하여 받으시는 분 주소를 입력하십시오."); check_field(f.od_b_addr1, "주소검색을 이용하여 받으시는 분 주소를 입력하십시오.");
//check_field(f.od_b_addr2, "받으시는 분의 상세주소를 입력하십시오."); //check_field(f.od_b_addr2, "받으시는 분의 상세주소를 입력하십시오.");
check_field(f.od_b_zip, ""); check_field(f.od_b_zip, "");

View File

@ -117,9 +117,31 @@ $i_temp_point = isset($_POST['od_temp_point']) ? (int) $_POST['od_temp_point'] :
// 주문금액이 상이함 // 주문금액이 상이함
$sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as od_price, if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { //예약상품일 경우 합계방식을 변경함
COUNT(distinct it_id) as cart_count
$od_names = isset($_POST['od_names_final']) ? $_POST['od_names_final'] : '';
$od_hps = isset($_POST['od_hps_final']) ? $_POST['od_hps_final'] : '';
$sql = " SELECT
SUM(
IF(io_type = 1,
(COALESCE(io_price, 0) * COALESCE(ct_qty, 1)),
((COALESCE(ct_price, 0) + COALESCE(io_price, 0)) * COALESCE(ct_qty, 1) * COALESCE(NULLIF(ct_date_d, 0), 1))
+ (COALESCE(ct_user_pri1, 0) * COALESCE(ct_user_qty1, 0))
+ (COALESCE(ct_user_pri2, 0) * COALESCE(ct_user_qty2, 0))
+ (COALESCE(ct_user_pri3, 0) * COALESCE(ct_user_qty3, 0))
)
) AS od_price,
COUNT(DISTINCT it_id) AS cart_count
FROM {$g5['g5_shop_cart_table']}
WHERE od_id = '$tmp_cart_id'
AND ct_select = '1' ";
} else {
$sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as od_price,
COUNT(distinct it_id) as cart_count
from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_select = '1' "; from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_select = '1' ";
}
$row = sql_fetch($sql); $row = sql_fetch($sql);
$tot_ct_price = $row['od_price']; $tot_ct_price = $row['od_price'];
$cart_count = $row['cart_count']; $cart_count = $row['cart_count'];
@ -233,9 +255,13 @@ if($is_member) {
$tot_cp_price = $tot_it_cp_price + $tot_od_cp_price; $tot_cp_price = $tot_it_cp_price + $tot_od_cp_price;
} }
if ((int)($row['od_price'] - $tot_cp_price) !== $i_price) { if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { //예약이라면 통과
if(function_exists('add_order_post_log')) add_order_post_log('쿠폰금액 최종 계산 Error.');
die("Error."); } else {
if ((int)($row['od_price'] - $tot_cp_price) !== $i_price) {
if(function_exists('add_order_post_log')) add_order_post_log('쿠폰금액 최종 계산 Error.');
die("Error.");
}
} }
// 배송비가 상이함 // 배송비가 상이함
@ -626,6 +652,8 @@ $sql = " insert {$g5['g5_shop_order_table']}
od_email = '$od_email', od_email = '$od_email',
od_tel = '$od_tel', od_tel = '$od_tel',
od_hp = '$od_hp', od_hp = '$od_hp',
od_names = '$od_names',
od_hps = '$od_hps',
od_zip1 = '$od_zip1', od_zip1 = '$od_zip1',
od_zip2 = '$od_zip2', od_zip2 = '$od_zip2',
od_addr1 = '$od_addr1', od_addr1 = '$od_addr1',

View File

@ -12,14 +12,33 @@ $tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정
require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php'); require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
?> ?>
</div> </div>
<style>
<div id="m_pv_sod_frm"> #sod_frm_paysel input[type="radio"] + label:before {opacity: 1;}
#sod_frm_paysel input[type="radio"] + label:after {opacity: 1;}
.tbl_frm01 th {padding: 10px 10px;}
.btn_cancel {
width: 100%;
height: 50px;
line-height: 45px;
font-size: 1.25em;
margin: 5px 0;
border: 1px solid #ccd1d9;
border-radius: 10px;
}
.sod_right h2 {
background: #fff;
border-bottom: 1px solid #e2e4e7;
font-size: 1.167em;
padding: 20px 0px 20px 0px;
}
</style>
<div id="m_pv_sod_frm" class="personal_pay_wrap">
<form name="forderform" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off"> <form name="forderform" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off">
<input type="hidden" name="pp_id" value="<?php echo $pp['pp_id']; ?>"> <input type="hidden" name="pp_id" value="<?php echo $pp['pp_id']; ?>">
<section id="m_sod_frm_orderer"> <section id="m_sod_frm_orderer" class="pesonal sod_left mb-0">
<h2>개인결제정보</h2> <h2>개인결제정보</h2>
<div class="odf_tbl"> <div class="odf_tbl tbl_frm01 tbl_wrap">
<table> <table>
<tbody> <tbody>
<?php if(trim($pp['pp_content'])) { ?> <?php if(trim($pp['pp_content'])) { ?>
@ -47,6 +66,10 @@ $tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정
</tbody> </tbody>
</table> </table>
</div> </div>
</section>
<div class="sod_right">
<h2>결제수단</h2>
<?php <?php
$multi_settle = 0; $multi_settle = 0;
@ -60,34 +83,34 @@ $tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정
if ($default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { if ($default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) {
echo '<fieldset id="sod_frm_paysel">'; echo '<fieldset id="sod_frm_paysel">';
echo '<legend>결제방법 선택</legend>'; echo '<legend>결제방법 선택</legend>';
echo '<ul class="pay_way chk_box">'; echo '<ul class="pay_way">';
} }
// 가상계좌 사용 // 가상계좌 사용
if ($default['de_vbank_use']) { if ($default['de_vbank_use']) {
$multi_settle++; $multi_settle++;
echo '<li><input type="radio" id="pp_settle_vbank" name="pp_settle_case" value="가상계좌" '.$checked.'> <label for="pp_settle_vbank"><span></span>'.$escrow_title.'가상계좌</label></li>'.PHP_EOL; echo '<li><input type="radio" id="pp_settle_vbank" name="pp_settle_case" value="가상계좌" '.$checked.'> <label for="pp_settle_vbank" class="lb_icon"><span></span>'.$escrow_title.'가상계좌</label></li>'.PHP_EOL;
$checked = ''; $checked = '';
} }
// 계좌이체 사용 // 계좌이체 사용
if ($default['de_iche_use']) { if ($default['de_iche_use']) {
$multi_settle++; $multi_settle++;
echo '<li><input type="radio" id="pp_settle_iche" name="pp_settle_case" value="계좌이체" '.$checked.'> <label for="pp_settle_iche"><span></span>'.$escrow_title.'계좌이체</label></li>'.PHP_EOL; echo '<li><input type="radio" id="pp_settle_iche" name="pp_settle_case" value="계좌이체" '.$checked.'> <label for="pp_settle_iche">'.$escrow_title.'계좌이체</label></li>'.PHP_EOL;
$checked = ''; $checked = '';
} }
// 휴대폰 사용 // 휴대폰 사용
if ($default['de_hp_use']) { if ($default['de_hp_use']) {
$multi_settle++; $multi_settle++;
echo '<li><input type="radio" id="pp_settle_hp" name="pp_settle_case" value="휴대폰" '.$checked.'> <label for="pp_settle_hp"><span></span>휴대폰</label></li>'.PHP_EOL; echo '<li><input type="radio" id="pp_settle_hp" name="pp_settle_case" value="휴대폰" '.$checked.'> <label for="pp_settle_hp">휴대폰</label></li>'.PHP_EOL;
$checked = ''; $checked = '';
} }
// 신용카드 사용 // 신용카드 사용
if ($default['de_card_use']) { if ($default['de_card_use']) {
$multi_settle++; $multi_settle++;
echo '<li><input type="radio" id="pp_settle_card" name="pp_settle_case" value="신용카드" '.$checked.'> <label for="pp_settle_card"><span></span>신용카드</label></li>'.PHP_EOL; echo '<li><input type="radio" id="pp_settle_card" name="pp_settle_case" value="신용카드" '.$checked.'> <label for="pp_settle_card">신용카드</label></li>'.PHP_EOL;
$checked = ''; $checked = '';
} }
@ -102,7 +125,7 @@ $tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정
if ($multi_settle == 0) if ($multi_settle == 0)
echo '<p>결제할 방법이 없습니다.<br>운영자에게 알려주시면 감사하겠습니다.</p>'; echo '<p>결제할 방법이 없습니다.<br>운영자에게 알려주시면 감사하겠습니다.</p>';
?> ?>
</section>
<?php <?php
// 결제대행사별 코드 include (결제대행사 정보 필드 및 주분버튼) // 결제대행사별 코드 include (결제대행사 정보 필드 및 주분버튼)
@ -113,6 +136,8 @@ $tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정
<img src="<?php echo G5_MOBILE_URL; ?>/shop/img/loading.gif" alt=""> <img src="<?php echo G5_MOBILE_URL; ?>/shop/img/loading.gif" alt="">
<span>결제진행 중입니다. 잠시만 기다려 주십시오.</span> <span>결제진행 중입니다. 잠시만 기다려 주십시오.</span>
</div> </div>
</div>
<div class="cb"></div>
</form> </form>
<?php <?php
@ -121,6 +146,8 @@ $tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정
require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.3.php'); require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.3.php');
} }
?> ?>
</div> </div>
<script> <script>

View File

@ -191,3 +191,29 @@ body,#smart_editor2,#smart_editor2 p,#smart_editor2 h1,#smart_editor2 h2,#smart_
#smart_editor2 .se2_text_tool .se2_text_tool_more span.tool_bg{background:none} #smart_editor2 .se2_text_tool .se2_text_tool_more span.tool_bg{background:none}
#smart_editor2 .se2_text_tool .hover .se2_text_tool_more{background-position:-13px -41px} #smart_editor2 .se2_text_tool .hover .se2_text_tool_more{background-position:-13px -41px}
#smart_editor2 .se2_text_tool .active .se2_text_tool_more{background-position:-26px -41px} #smart_editor2 .se2_text_tool .active .se2_text_tool_more{background-position:-26px -41px}
/* 반응형 처리 출처 : https://sir.kr/g5_plugin/4697 { */
#smart_editor2{margin-right:1px !important;min-width:100px !important}
@media screen and (max-width: 640px){
#smart_editor2 .se2_text_tool ul:nth-child(4n){clear:both;}
#smart_editor2 .se2_text_tool ul{margin-bottom:4px}
#smart_editor2 .se2_text_tool ul:nth-child(n+4){margin-bottom:0}
#smart_editor2 .se2_text_tool .se2_multy,#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span{height:54px}
}
@media screen and (max-width: 515px){
#smart_editor2 .se2_text_tool ul:nth-child(3n){clear:both;margin-left:4px}
#smart_editor2 .se2_text_tool ul:nth-child(6n),#smart_editor2 .se2_text_tool ul:nth-child(4n){clear:none;margin-left:0}
#smart_editor2 .se2_text_tool ul:nth-child(n+3){margin-bottom:0}
}
@media screen and (max-width: 370px){
#smart_editor2 .se2_text_tool ul:nth-child(2n){clear:both;margin-left:4px}
#smart_editor2 .se2_text_tool ul:nth-child(3n){clear:both;margin-left:4px}
#smart_editor2 .se2_text_tool ul:nth-child(6n),#smart_editor2 .se2_text_tool ul:nth-child(4n){clear:none;margin-left:0}
#smart_editor2 .se2_text_tool ul:nth-child(n+3){margin-bottom:0}
#smart_editor2 .se2_text_tool .se2_multy,#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span{height:79px}
}
@media screen and (max-width: 325px){
#smart_editor2 .se2_text_tool .se2_multy,#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span{height:29px;}
#smart_editor2 .se2_text_tool .se2_multy{border-bottom:1px solid #e0dedf}
}
/* } */

View File

@ -22,3 +22,6 @@ body,.se2_inputarea{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans
.se2_quote8{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #e5e5e5;background:#fafafa;color:#888} .se2_quote8{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #e5e5e5;background:#fafafa;color:#888}
.se2_quote9{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;color:#888} .se2_quote9{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;color:#888}
.se2_quote10{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;background:#fafafa;color:#888} .se2_quote10{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;background:#fafafa;color:#888}
/* 이미지 첨부시 100% 처리함 */
.se2_inputarea p img {max-width:100%;}

File diff suppressed because it is too large Load Diff

View File

@ -77,30 +77,4 @@ if( !class_exists('HTMLPurifier_Filter_Iframevideo') ){
} }
} }
} }
}
if( !class_exists('HTMLPurifierContinueParamFilter') ){
class HTMLPurifierContinueParamFilter extends HTMLPurifier_URIFilter
{
public $name = 'ContinueParamFilter';
public function filter(&$uri, $config, $context)
{
// 쿼리 파라미터 검사
$query = $uri->query;
$path = $uri->path;
if ($path && preg_match('#[\\\\/]logout#i', $path)) {
return false;
}
if ($query) {
if (isset($query_params['continue'])) {
return false;
}
}
return true; // 조건 통과 시 허용
}
}
} }

View File

@ -58,22 +58,22 @@ $g5['title'] = 'KG이니시스 간편인증';
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH.'/head.sub.php');
?> ?>
<form name="saForm"> <form name="saForm">
<input type="hidden" name="mid" value="<?php echo get_text($mid); ?>"> <!-- 필수 값 --> <input type="hidden" name="mid" value="<?php echo $mid ?>"> <!-- 필수 값 -->
<input type="hidden" name="reqSvcCd" value="<?php echo get_text($reqSvcCd); ?>"> <!-- 필수 값 --> <input type="hidden" name="reqSvcCd" value="<?php echo $reqSvcCd ?>"> <!-- 필수 값 -->
<input type="hidden" name="mTxId" value="<?php echo get_text($mTxId); ?>"> <!-- 필수 값 --> <input type="hidden" name="mTxId" value="<?php echo $mTxId ?>"> <!-- 필수 값 -->
<input type="hidden" name="authHash" value="<?php echo get_text($authHash); ?>"> <!-- 필수 값 --> <input type="hidden" name="authHash" value="<?php echo $authHash ?>"> <!-- 필수 값 -->
<input type="hidden" name="flgFixedUser" value="<?php echo get_text($flgFixedUser); ?>"> <!-- 필수 값 Y/N 특정사용자 인증 요청 여부 --> <input type="hidden" name="flgFixedUser" value="<?php echo $flgFixedUser ?>"> <!-- 필수 값 Y/N 특정사용자 인증 요청 여부 -->
<input type="hidden" name="userName" value="<?php echo get_text($userName); ?>"> <input type="hidden" name="userName" value="<?php echo $userName ?>">
<input type="hidden" name="userPhone" value="<?php echo get_text($userPhone); ?>"> <input type="hidden" name="userPhone" value="<?php echo $userPhone ?>">
<input type="hidden" name="userBirth" value="<?php echo get_text($userBirth); ?>"> <input type="hidden" name="userBirth" value="<?php echo $userBirth ?>">
<input type="hidden" name="userHash" value="<?php echo get_text($userHash); ?>"> <input type="hidden" name="userHash" value="<?php echo $userHash ?>">
<input type="hidden" name="reservedMsg" value="<?php echo get_text($reservedMsg); ?>"> <input type="hidden" name="reservedMsg" value="<?php echo $reservedMsg; ?>">
<input type="hidden" name="mbId" value="<?php echo get_text($member['mb_id']); ?>"> <input type="hidden" name="mbId" value="<?php echo $member['mb_id']; ?>">
<input type="hidden" name="directAgency" value="<?php echo isset($_GET['directAgency']) ? get_text(clean_xss_tags($_GET['directAgency'], 1, 1)) : ''; ?>"> <input type="hidden" name="directAgency" value="<?php echo isset($_GET['directAgency']) ? clean_xss_tags($_GET['directAgency'], 1, 1) : ''; ?>">
<input type="hidden" name="successUrl" value="<?php echo get_text($resultUrl); ?>"> <!-- 필수 값 --> <input type="hidden" name="successUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
<input type="hidden" name="failUrl" value="<?php echo get_text($resultUrl); ?>"> <!-- 필수 값 --> <input type="hidden" name="failUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
<!-- successUrl / failUrl 은 분리 하여 이용가능!--> <!-- successUrl / failUrl 은 분리 하여 이용가능!-->
</form> </form>
<script> <script>

View File

@ -238,7 +238,6 @@ class KCAPTCHA{
} }
// 캡챠 HTML 코드 출력
function captcha_html($class="captcha") function captcha_html($class="captcha")
{ {
if(is_mobile()) if(is_mobile())
@ -249,14 +248,35 @@ function captcha_html($class="captcha")
$html .= "\n".'<script src="'.G5_CAPTCHA_URL.'/kcaptcha.js"></script>'; $html .= "\n".'<script src="'.G5_CAPTCHA_URL.'/kcaptcha.js"></script>';
$html .= "\n".'<fieldset id="captcha" class="'.$class.'">'; $html .= "\n".'<fieldset id="captcha" class="'.$class.'">';
$html .= "\n".'<legend><label for="captcha_key">자동등록방지</label></legend>'; $html .= "\n".'<legend><label for="captcha_key">자동등록방지</label></legend>';
if (is_mobile()) $html .= '<audio id="captcha_audio" controls></audio>'; //if (is_mobile()) $html .= '<audio id="captcha_audio" controls></audio>';
//$html .= "\n".'<img src="#" alt="" id="captcha_img">'; //$html .= "\n".'<img src="#" alt="" id="captcha_img">';
$html .= "\n".'<img src="'.G5_CAPTCHA_URL.'/img/dot.gif" alt="" id="captcha_img">'; $html .= "\n".'<img src="'.G5_CAPTCHA_URL.'/img/dot.gif" alt="" id="captcha_img">';
$html .= '<input type="text" name="captcha_key" id="captcha_key" required class="captcha_box required" size="6" maxlength="6">'; $html .= '<input type="text" name="captcha_key" id="captcha_key" required class="captcha_box required" size="6" maxlength="6">';
if (!is_mobile()) $html .= "\n".'<button type="button" id="captcha_mp3"><span></span>숫자음성듣기</button>'; $html .= "\n".'<button type="button" id="captcha_mp3"><span></span></button>';
$html .= "\n".'<button type="button" id="captcha_reload"><span></span>새로고침</button>'; $html .= "\n".'<button type="button" id="captcha_reload"><span></span></button>';
$html .= "\n".'<span id="captcha_info">자동등록방지 숫자를 순서대로 입력하세요.</span>'; $html .= "\n".'<span id="captcha_info">자동등록방지 숫자를 순서대로 입력하세요.</span>';
$html .= "\n".'</fieldset>'; $html .= "\n".'</fieldset>';
//CSS추가
$html .= "\n".'<style>';
$html .= "\n".'#captcha_info {display: none !important;}';
$html .= "\n".'#captcha #captcha_mp3 {background: url(../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat; border:1px solid #ddd}';
$html .= "\n".'#captcha #captcha_reload {background: url(../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat 0 -40px; border:1px solid #ddd}';
$html .= "\n".'#captcha button:hover {border-color: #000 !important;}';
$html .= "\n".'#captcha #captcha_img {border:0px; height:28px; margin-top: 7px; width:auto;}';
$html .= "\n".'#captcha #captcha_key {border:1px solid #ddd; font-size: 16px; width:90px;}';
$html .= "\n".'#captcha #captcha_key:focus {border:1px solid #000 !important; box-shadow:none;}';
$html .= "\n".'#captcha {border:1px solid #ddd; width: auto; padding: 10px; box-sizing: border-box; border-radius: 10px;}';
$html .= "\n".'#captcha_info {display: none !important;}';
$html .= "\n".'#captcha.m_captcha #captcha_mp3 {background: url(../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat; border:1px solid #ddd; width:40px; height:40px;}';
$html .= "\n".'#captcha.m_captcha #captcha_reload {background: url(../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat 0 -40px; border:1px solid #ddd}';
$html .= "\n".'#captcha.m_captcha button:hover {border-color: #000 !important;}';
$html .= "\n".'#captcha.m_captcha #captcha_img {border:0px; height:28px; margin-top: 7px; width:auto; display:inline;}';
$html .= "\n".'#captcha.m_captcha #captcha_key {border:1px solid #ddd; font-size: 16px; background:#fff; height:40px; width:90px;}';
$html .= "\n".'#captcha.m_captcha #captcha_key:focus {border:1px solid #000 !important; box-shadow:none;}';
$html .= "\n".'#captcha.m_captcha {border:1px solid #ddd; width: 100%; padding: 10px; box-sizing: border-box; border-radius: 6px; text-align:center}';
$html .= "\n".'</style>';
return $html; return $html;
} }

View File

@ -111,7 +111,7 @@ $ct_cert->mf_clear();
<input type="hidden" name="param_opt_2" value="opt2"/> <input type="hidden" name="param_opt_2" value="opt2"/>
<input type="hidden" name="param_opt_3" value="opt3"/> <input type="hidden" name="param_opt_3" value="opt3"/>
<?php if ($config['cf_cert_kcp_enckey'] || $kcp_enc_key) { ?> <?php if ($config['cf_cert_kcp_enckey']) { ?>
<!-- 리턴 암호화 고도화 --> <!-- 리턴 암호화 고도화 -->
<input type="hidden" name="cert_enc_use_ext" value="Y"/> <input type="hidden" name="cert_enc_use_ext" value="Y"/>
<input type='hidden' name='kcp_cert_lib_ver' value="<?php echo $ct_cert->get_kcp_lib_ver( $home_dir ); ?>"/> <input type='hidden' name='kcp_cert_lib_ver' value="<?php echo $ct_cert->get_kcp_lib_ver( $home_dir ); ?>"/>

View File

@ -59,7 +59,7 @@ $payReqMap = $_SESSION['lgd_certify'];//결제 요청시, Session에 저장했
foreach ($payReqMap as $key => $value) { foreach ($payReqMap as $key => $value) {
$key = htmlspecialchars(strip_tags($key)); $key = htmlspecialchars(strip_tags($key));
$value = htmlspecialchars(strip_tags($value)); $value = htmlspecialchars(strip_tags($value));
echo "<input type='hidden' name='".get_text($key)."' id='".get_text($key)."' value='".get_text($value)."'>"; echo "<input type='hidden' name='$key' id='$key' value='$value'>";
} }
?> ?>
</form> </form>

View File

@ -22,20 +22,18 @@
Contact @<a href='http://twitter.com/abraham'>abraham</a> Contact @<a href='http://twitter.com/abraham'>abraham</a>
</p> </p>
<hr /> <hr />
<?php if (isset($menu) && is_string($menu)) { ?> <?php if (isset($menu)) { ?>
<?php echo htmlspecialchars($menu, ENT_QUOTES, 'UTF-8'); ?> <?php echo $menu; ?>
<?php } ?> <?php } ?>
</div> </div>
<?php if (isset($status_text) && is_string($status_text)) { ?> <?php if (isset($status_text)) { ?>
<?php echo '<h3>'.htmlspecialchars($status_text, ENT_QUOTES, 'UTF-8').'</h3>'; ?> <?php echo '<h3>'.$status_text.'</h3>'; ?>
<?php } ?> <?php } ?>
<div> <p>
<pre> <pre>
<?php if (isset($content) && (is_array($content) || is_object($content))) { <?php print_r($content); ?>
echo htmlspecialchars(json_encode($content, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES), ENT_QUOTES, 'UTF-8');
} ?>
</pre> </pre>
</div> </p>
</body> </body>
</html> </html>

15
robots.txt Normal file
View File

@ -0,0 +1,15 @@
User-agent: *
Disallow: /adm/
Disallow: /vip/
Disallow: /data/
Disallow: /manager/
Disallow: /extend/
Disallow: /install/
Disallow: /js/
Disallow: /lib/
Disallow: /plugin/
Disallow: /skin/
Disallow: /theme/
Disallow: /*system=edit
Disallow: /*_themeConfig
Allow:/

View File

@ -27,6 +27,7 @@ $act = isset($_POST['act']) ? clean_xss_tags($_POST['act'], 1, 1) : '';
$post_ct_chk = (isset($_POST['ct_chk']) && is_array($_POST['ct_chk'])) ? $_POST['ct_chk'] : array(); $post_ct_chk = (isset($_POST['ct_chk']) && is_array($_POST['ct_chk'])) ? $_POST['ct_chk'] : array();
$post_it_ids = (isset($_POST['it_id']) && is_array($_POST['it_id'])) ? $_POST['it_id'] : array(); $post_it_ids = (isset($_POST['it_id']) && is_array($_POST['it_id'])) ? $_POST['it_id'] : array();
// 레벨(권한)이 상품구입 권한보다 작다면 상품을 구입할 수 없음. // 레벨(권한)이 상품구입 권한보다 작다면 상품을 구입할 수 없음.
if ($member['mb_level'] < $default['de_level_sell']) if ($member['mb_level'] < $default['de_level_sell'])
{ {
@ -148,7 +149,7 @@ else // 장바구니에 담기
$post_io_ids = (isset($_POST['io_id']) && is_array($_POST['io_id'])) ? $_POST['io_id'] : array(); $post_io_ids = (isset($_POST['io_id']) && is_array($_POST['io_id'])) ? $_POST['io_id'] : array();
$post_io_types = (isset($_POST['io_type']) && is_array($_POST['io_type'])) ? $_POST['io_type'] : array(); $post_io_types = (isset($_POST['io_type']) && is_array($_POST['io_type'])) ? $_POST['io_type'] : array();
$post_ct_qtys = (isset($_POST['ct_qty']) && is_array($_POST['ct_qty'])) ? $_POST['ct_qty'] : array(); $post_ct_qtys = (isset($_POST['ct_qty']) && is_array($_POST['ct_qty'])) ? $_POST['ct_qty'] : array();
if ($count && $sw_direct) { if ($count && $sw_direct) {
// 바로구매에 있던 장바구니 자료를 지운다. // 바로구매에 있던 장바구니 자료를 지운다.
sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_direct = 1 ", false); sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_direct = 1 ", false);
@ -185,6 +186,7 @@ else // 장바구니에 담기
if(!$it['it_id']) if(!$it['it_id'])
alert('상품정보가 존재하지 않습니다.'); alert('상품정보가 존재하지 않습니다.');
// 최소, 최대 수량 체크 // 최소, 최대 수량 체크
if($it['it_buy_min_qty'] || $it['it_buy_max_qty']) { if($it['it_buy_min_qty'] || $it['it_buy_max_qty']) {
$sum_qty = 0; $sum_qty = 0;
@ -284,10 +286,65 @@ else // 장바구니에 담기
// 장바구니에 Insert // 장바구니에 Insert
$comma = ''; $comma = '';
$sql = " INSERT INTO {$g5['g5_shop_cart_table']}
( od_id, mb_id, it_id, it_name, it_sc_type, it_sc_method, it_sc_price, it_sc_minimum, it_sc_qty, ct_status, ct_price, ct_point, ct_point_use, ct_stock_use, ct_option, ct_qty, ct_notax, io_id, io_type, io_price, ct_time, ct_ip, ct_send_cost, ct_direct, ct_select, ct_select_time )
VALUES ";
/* 코어수정 리빌더 20241014 { */
$columns = [
"od_id", "mb_id", "it_id", "it_name", "it_sc_type", "it_sc_method",
"it_sc_price", "it_sc_minimum", "it_sc_qty", "ct_status", "ct_price",
"ct_point", "ct_point_use", "ct_stock_use", "ct_option", "ct_qty",
"ct_notax", "io_id", "io_type", "io_price", "ct_time", "ct_ip",
"ct_send_cost", "ct_direct", "ct_select", "ct_select_time"
];
/*
'ct_types'
'ct_date_s' //시작일
'ct_date_e' //종료일
'ct_date_d' //일수
'ct_date_t' //선택옵션
'ct_user_txt1' //추가옵션1 항목
'ct_user_txt2' //추가옵션2 항목
'ct_user_txt3' //추가옵션3 항목
'ct_user_qty1' //추가옵션1 수량
'ct_user_qty2' //추가옵션2 수량
'ct_user_qty3' //추가옵션3 수량
'ct_user_pri1' //추가옵션금액1
'ct_user_pri2' //추가옵션금액2
'ct_user_pri3' //추가옵션금액3
*/
// 예약 상품
if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
if (isset($it['it_types']) && $it['it_types'] == 1) {
$columns[] = "ct_types";
$columns[] = "ct_date_s";
$columns[] = "ct_date_e";
$columns[] = "ct_date_d";
$columns[] = "ct_date_t";
$columns[] = "ct_user_txt1";
$columns[] = "ct_user_txt2";
$columns[] = "ct_user_txt3";
$columns[] = "ct_user_qty1";
$columns[] = "ct_user_qty2";
$columns[] = "ct_user_qty3";
$columns[] = "ct_user_pri1";
$columns[] = "ct_user_pri2";
$columns[] = "ct_user_pri3";
}
}
// 파트너
if (isset($it['it_partner']) && $it['it_partner']) {
$columns[] = "ct_partner";
}
// SQL 쿼리 구성
$sql = "INSERT INTO {$g5['g5_shop_cart_table']} (" . implode(", ", $columns) . ") VALUES ";
/* } */
for($k=0; $k<$opt_count; $k++) { for($k=0; $k<$opt_count; $k++) {
$io_id = isset($_POST['io_id'][$it_id][$k]) ? preg_replace(G5_OPTION_ID_FILTER, '', $_POST['io_id'][$it_id][$k]) : ''; $io_id = isset($_POST['io_id'][$it_id][$k]) ? preg_replace(G5_OPTION_ID_FILTER, '', $_POST['io_id'][$it_id][$k]) : '';
$io_type = isset($_POST['io_type'][$it_id][$k]) ? preg_replace('#[^01]#', '', $_POST['io_type'][$it_id][$k]) : ''; $io_type = isset($_POST['io_type'][$it_id][$k]) ? preg_replace('#[^01]#', '', $_POST['io_type'][$it_id][$k]) : '';
@ -364,8 +421,64 @@ else // 장바구니에 담기
$io_value = sql_real_escape_string(strip_tags($io_value)); $io_value = sql_real_escape_string(strip_tags($io_value));
$remote_addr = get_real_client_ip(); $remote_addr = get_real_client_ip();
/* 코어수정 리빌더 20241014 { */
// 공통 필드 배열
$values = [
"'$tmp_cart_id'", "'{$member['mb_id']}'", "'{$it['it_id']}'", "'".addslashes($it['it_name'])."'",
"'{$it['it_sc_type']}'", "'{$it['it_sc_method']}'", "'{$it['it_sc_price']}'", "'{$it['it_sc_minimum']}'",
"'{$it['it_sc_qty']}'", "'쇼핑'", "'{$it['it_price']}'", "'$point'", "'0'", "'0'", "'$io_value'",
"'$ct_qty'", "'{$it['it_notax']}'", "'$io_id'", "'$io_type'", "'$io_price'", "'".G5_TIME_YMDHIS."'",
"'$remote_addr'", "'$ct_send_cost'", "'$sw_direct'", "'$ct_select'", "'$ct_select_time'"
];
// 예약 상품
if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
if (isset($it['it_types']) && $it['it_types'] == 1) {
$ct_types = isset($_POST['ct_types']) ? trim(strip_tags($_POST['ct_types'])) : '';
$ct_date_s = isset($_POST['ct_date_s']) ? trim(strip_tags($_POST['ct_date_s'])) : '';
$ct_date_e = isset($_POST['ct_date_e']) ? trim(strip_tags($_POST['ct_date_e'])) : '';
$ct_date_d = isset($_POST['ct_date_d']) ? trim(strip_tags($_POST['ct_date_d'])) : '';
$ct_date_t = isset($_POST['ct_date_t']) ? trim(strip_tags($_POST['ct_date_t'])) : '';
$ct_user_txt1 = isset($_POST['ct_user_txt1']) ? trim(strip_tags($_POST['ct_user_txt1'])) : '';
$ct_user_txt2 = isset($_POST['ct_user_txt2']) ? trim(strip_tags($_POST['ct_user_txt2'])) : '';
$ct_user_txt3 = isset($_POST['ct_user_txt3']) ? trim(strip_tags($_POST['ct_user_txt3'])) : '';
$ct_user_qty1 = isset($_POST['ct_user_qty1']) ? trim(strip_tags($_POST['ct_user_qty1'])) : '';
$ct_user_qty2 = isset($_POST['ct_user_qty2']) ? trim(strip_tags($_POST['ct_user_qty2'])) : '';
$ct_user_qty3 = isset($_POST['ct_user_qty3']) ? trim(strip_tags($_POST['ct_user_qty3'])) : '';
$ct_user_pri1 = isset($_POST['ct_user_pri1']) ? trim(strip_tags($_POST['ct_user_pri1'])) : '';
$ct_user_pri2 = isset($_POST['ct_user_pri2']) ? trim(strip_tags($_POST['ct_user_pri2'])) : '';
$ct_user_pri3 = isset($_POST['ct_user_pri3']) ? trim(strip_tags($_POST['ct_user_pri3'])) : '';
$values[] = "'$ct_types'";
$values[] = "'$ct_date_s'";
$values[] = "'$ct_date_e'";
$values[] = "'$ct_date_d'";
$values[] = "'$ct_date_t'";
$values[] = "'$ct_user_txt1'";
$values[] = "'$ct_user_txt2'";
$values[] = "'$ct_user_txt3'";
$values[] = "'$ct_user_qty1'";
$values[] = "'$ct_user_qty2'";
$values[] = "'$ct_user_qty3'";
$values[] = "'$ct_user_pri1'";
$values[] = "'$ct_user_pri2'";
$values[] = "'$ct_user_pri3'";
}
}
// 파트너
if (isset($it['it_partner']) && $it['it_partner']) {
$values[] = "'{$it['it_partner']}'";
}
// ✅ SQL 구문 구성
$sql .= $comma."( ".implode(", ", $values)." )";
/* } */
$sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '$remote_addr', '$ct_send_cost', '$sw_direct', '$ct_select', '$ct_select_time' )";
$comma = ' , '; $comma = ' , ';
$ct_count++; $ct_count++;
} }

View File

@ -51,7 +51,8 @@ $result = sql_query($sql);
$cp_target = '배송비 할인'; $cp_target = '배송비 할인';
} else { } else {
$it = get_shop_item($row['cp_target'], true); $it = get_shop_item($row['cp_target'], true);
$cp_target = $it['it_name'].' 상품할인'; //$cp_target = $it['it_name'].' 상품할인';
$cp_target = isset($it['it_name']) ? $it['it_name'].' 상품할인' : '상품할인';
} }
if($row['cp_type']) if($row['cp_type'])

BIN
shop/img/s_star0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -3,12 +3,9 @@ include_once('./_common.php');
include_once(G5_SHOP_PATH.'/settle_inicis.inc.php'); include_once(G5_SHOP_PATH.'/settle_inicis.inc.php');
require_once(G5_SHOP_PATH.'/inicis/libs/HttpClient.php'); require_once(G5_SHOP_PATH.'/inicis/libs/HttpClient.php');
require_once(G5_SHOP_PATH.'/inicis/libs/json_lib.php'); require_once(G5_SHOP_PATH.'/inicis/libs/json_lib.php');
require_once(G5_SHOP_PATH.'/inicis/libs/properties.php');
$inicis_pay_result = false; $inicis_pay_result = false;
$prop = new properties();
try { try {
//############################# //#############################
@ -40,18 +37,6 @@ try {
///$mKey = $util->makeHash(signKey, "sha256"); // 가맹점 확인을 위한 signKey를 해시값으로 변경 (SHA-256방식 사용) ///$mKey = $util->makeHash(signKey, "sha256"); // 가맹점 확인을 위한 signKey를 해시값으로 변경 (SHA-256방식 사용)
$mKey = hash("sha256", $signKey); $mKey = hash("sha256", $signKey);
//##########################################################################
// 승인요청 API url (authUrl) 리스트 는 properties 에 세팅하여 사용합니다.
// idc_name 으로 수신 받은 센터 네임을 properties 에서 include 하여 승인요청하시면 됩니다.
//##########################################################################
$idc_name = $_REQUEST["idc_name"];
$authUrl = $prop->getAuthUrl($idc_name);
if (strcmp($authUrl, $_REQUEST["authUrl"]) != 0) {
die("authUrl check Fail\n");
}
//##################### //#####################
// 2.signature 생성 // 2.signature 생성
//##################### //#####################
@ -187,28 +172,22 @@ try {
//##################### //#####################
$netcancelResultString = ""; // 망취소 요청 API url(고정, 임의 세팅 금지) $netcancelResultString = ""; // 망취소 요청 API url(고정, 임의 세팅 금지)
$netCancel = $prop->getNetCancel($idc_name); if ($httpUtil->processHTTP($netCancel, $authMap)) {
$netcancelResultString = $httpUtil->body;
if (strcmp($netCancel, $_REQUEST["netCancelUrl"]) == 0) { } else {
echo "Http Connect Error\n";
if ($httpUtil->processHTTP($netCancel, $authMap)) { echo $httpUtil->errormsg;
$netcancelResultString = $httpUtil->body;
} else {
echo "Http Connect Error\n";
echo $httpUtil->errormsg;
throw new Exception("Http Connect Error"); throw new Exception("Http Connect Error");
}
echo "<br/>## 망취소 API 결과 ##<br/>";
/*##XML output##*/
//$netcancelResultString = str_replace("<", "&lt;", $$netcancelResultString);
//$netcancelResultString = str_replace(">", "&gt;", $$netcancelResultString);
// 취소 결과 확인
echo "<p>". $netcancelResultString . "</p>";
} }
echo "## 망취소 API 결과 ##";
$netcancelResultString = str_replace("<", "&lt;", $$netcancelResultString);
$netcancelResultString = str_replace(">", "&gt;", $$netcancelResultString);
echo "<pre>", $netcancelResultString . "</pre>";
// 취소 결과 확인
} }
} else { } else {

View File

@ -0,0 +1,2 @@
Order deny,allow
Deny from all

View File

View File

@ -46,7 +46,7 @@ $payReqMap = $_SESSION['PAYREQ_MAP'];//결제 요청시, Session에 저장했던
<form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO">
<?php <?php
foreach ($payReqMap as $key => $value) { foreach ($payReqMap as $key => $value) {
echo "<input type='hidden' name='".get_text($key)."' id='".get_text($key)."' value='".get_text($value)."'>"; echo "<input type='hidden' name='$key' id='$key' value='$value'>";
} }
?> ?>
</form> </form>

View File

@ -14,16 +14,6 @@ if (G5_IS_MOBILE) {
return; return;
} }
// 테마에 list.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
$theme_list_file = G5_THEME_SHOP_PATH.'/list.php';
if(is_file($theme_list_file)) {
include_once($theme_list_file);
return;
}
unset($theme_list_file);
}
$sql = " select * from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' and ca_use = '1' "; $sql = " select * from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' and ca_use = '1' ";
$ca = sql_fetch($sql); $ca = sql_fetch($sql);
if (! (isset($ca['ca_id']) && $ca['ca_id'])) if (! (isset($ca['ca_id']) && $ca['ca_id']))
@ -45,7 +35,7 @@ if(!$is_admin && $config['cf_cert_use']) {
alert($msg, G5_SHOP_URL); alert($msg, G5_SHOP_URL);
} }
$g5['title'] = $ca['ca_name'].' 상품리스트'; $g5['title'] = $ca['ca_name'].'';
if ($ca['ca_include_head'] && is_include_path_check($ca['ca_include_head'])) if ($ca['ca_include_head'] && is_include_path_check($ca['ca_include_head']))
@include_once($ca['ca_include_head']); @include_once($ca['ca_include_head']);

View File

@ -31,7 +31,7 @@ $sql = " select *
$result = sql_query($sql); $result = sql_query($sql);
if(!sql_num_rows($result)) if(!sql_num_rows($result))
alert_close('배송지 목록 자료가 없습니다.'); alert_close('주소지 목록 없습니다.');
$order_action_url = G5_HTTPS_SHOP_URL.'/orderaddressupdate.php'; $order_action_url = G5_HTTPS_SHOP_URL.'/orderaddressupdate.php';
@ -50,21 +50,19 @@ if(defined('G5_THEME_SHOP_PATH')) {
} }
} }
$g5['title'] = '배송지 목록'; $g5['title'] = '주소지 목록';
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH.'/head.sub.php');
?> ?>
<form name="forderaddress" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off"> <form name="forderaddress" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off">
<div id="sod_addr" class="new_win"> <div id="sod_addr" class="new_win">
<h1 id="win_title">배송지 목록</h1> <h1 id="win_title">주소지 목록</h1>
<div class="tbl_head03 tbl_wrap"> <div class="tbl_head03 tbl_wrap">
<table> <table>
<thead> <thead>
<tr> <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>
</tr> </tr>
</thead> </thead>
@ -80,27 +78,27 @@ include_once(G5_PATH.'/head.sub.php');
<div class="chk_box"> <div class="chk_box">
<input type="hidden" name="ad_id[<?php echo $i; ?>]" value="<?php echo $row['ad_id'];?>"> <input type="hidden" name="ad_id[<?php echo $i; ?>]" value="<?php echo $row['ad_id'];?>">
<input type="checkbox" name="chk[]" value="<?php echo $i;?>" id="chk_<?php echo $i;?>" class="selec_chk"> <input type="checkbox" name="chk[]" value="<?php echo $i;?>" id="chk_<?php echo $i;?>" class="selec_chk">
<label for="chk_<?php echo $i;?>"><span></span><b class="sound_only">배송지선택</b></label> <label for="chk_<?php echo $i;?>"><span></span><b class="sound_only">주소지선택</b></label>
</div> </div>
<label for="ad_subject<?php echo $i;?>" class="sound_only">배송지명</label>
<input type="text" name="ad_subject[<?php echo $i; ?>]" id="ad_subject<?php echo $i;?>" class="frm_input" size="12" maxlength="20" value="<?php echo get_text($row['ad_subject']); ?>">
</td> </td>
<td class="td_name"><?php echo get_text($row['ad_name']); ?></td>
<td class="td_address"> <td class="td_address">
<div class="td_mng">
<input type="text" name="ad_subject[<?php echo $i; ?>]" id="ad_subject<?php echo $i;?>" class="frm_input" size="12" maxlength="20" value="<?php echo get_text($row['ad_subject']); ?>" placeholder="주소지명">
</div>
<?php echo get_text($row['ad_name']); ?>
<?php echo print_address($row['ad_addr1'], $row['ad_addr2'], $row['ad_addr3'], $row['ad_jibeon']); ?><br> <?php echo print_address($row['ad_addr1'], $row['ad_addr2'], $row['ad_addr3'], $row['ad_jibeon']); ?><br>
<span class="ad_tel"><?php echo $row['ad_tel']; ?> / <?php echo $row['ad_hp']; ?></span> <span class="ad_tel font-B"><?php echo $row['ad_hp']; ?></span>
</td> <div class="td_mng">
<td class="td_mng">
<input type="hidden" value="<?php echo $addr; ?>" > <input type="hidden" value="<?php echo $addr; ?>" >
<button type="button" class="sel_address mng_btn">선택</button> <button type="button" class="sel_address mng_btn">선택</button>
<a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?w=d&amp;ad_id=<?php echo $row['ad_id']; ?>" class="del_address mng_btn">삭제</a> <a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?w=d&amp;ad_id=<?php echo $row['ad_id']; ?>" class="del_address mng_btn">삭제</a>
<input type="radio" name="ad_default" value="<?php echo $row['ad_id'];?>" id="ad_default<?php echo $i;?>" <?php if($row['ad_default']) echo 'checked="checked"';?>> <input type="radio" name="ad_default" value="<?php echo $row['ad_id'];?>" id="ad_default<?php echo $i;?>" <?php if($row['ad_default']) echo 'checked="checked"';?>>
<label for="ad_default<?php echo $i;?>" class="default_lb mng_btn">기본배송지</label> <label for="ad_default<?php echo $i;?>" class="default_lb mng_btn">기본주소지</label>
</div>
</td> </td>
</tr> </tr>
<?php <?php
@ -151,7 +149,7 @@ $(function() {
}); });
$(".del_address").on("click", function() { $(".del_address").on("click", function() {
return confirm("배송지 목록을 삭제하시겠습니까?"); return confirm("주소지 목록을 삭제하시겠습니까?");
}); });
// 전체선택 부분 // 전체선택 부분

View File

@ -46,7 +46,7 @@ else
// 희망배송일 지정 // 희망배송일 지정
if ($default['de_hope_date_use']) { if ($default['de_hope_date_use']) {
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php'); //include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
} }
// 기기별 주문폼 include // 기기별 주문폼 include

View File

@ -37,10 +37,13 @@ if($is_kakaopay_use) {
<tr> <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>
<th scope="col">소계</th> <th scope="col">소계</th>
<th scope="col">포인트</th> <th scope="col">포인트</th>
<th scope="col">배송비</th> <?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<th scope="col">배송비</th>
<?php } ?>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -83,13 +86,30 @@ if($is_kakaopay_use) {
for ($i=0; $row=sql_fetch_array($result); $i++) for ($i=0; $row=sql_fetch_array($result); $i++)
{ {
// 합계금액 계산
$sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as price, // 예약 관련
SUM(ct_point * ct_qty) as point, if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
SUM(ct_qty) as qty $resv = sql_fetch("SELECT * FROM {$g5['g5_shop_cart_table']} WHERE ct_id = '{$row['ct_id']}' ");
from {$g5['g5_shop_cart_table']} }
where it_id = '{$row['it_id']}'
and od_id = '$s_cart_id' "; // 합계금액 계산 (예약상품일 경우 합계방식 변경)
$price_calc = "((ct_price + io_price) * ct_qty)";
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1 && isset($resv['ct_types']) && $resv['ct_types'] == 1) {
$price_calc = "((ct_price + io_price) * ct_qty * ct_date_d +
(COALESCE(ct_user_pri1, 0) * COALESCE(ct_user_qty1, 0)) +
(COALESCE(ct_user_pri2, 0) * COALESCE(ct_user_qty2, 0)) +
(COALESCE(ct_user_pri3, 0) * COALESCE(ct_user_qty3, 0)))";
}
$sql = "SELECT SUM(IF(io_type = 1, (io_price * ct_qty), $price_calc)) AS price,
SUM(ct_point * ct_qty) AS point,
SUM(ct_qty) AS qty
FROM {$g5['g5_shop_cart_table']}
WHERE it_id = '{$row['it_id']}'
AND od_id = '$s_cart_id'";
$sum = sql_fetch($sql); $sum = sql_fetch($sql);
if (!$goods) if (!$goods)
@ -112,7 +132,7 @@ if($is_kakaopay_use) {
$good_info .= "good_amtx=".$row['ct_price'].chr(31); $good_info .= "good_amtx=".$row['ct_price'].chr(31);
} }
$image = get_it_image($row['it_id'], 80, 80); $image = rb_it_image($row['it_id'], 80, 80);
$it_name = '<b>' . stripslashes($row['it_name']) . '</b>'; $it_name = '<b>' . stripslashes($row['it_name']) . '</b>';
$it_options = print_item_options($row['it_id'], $s_cart_id); $it_options = print_item_options($row['it_id'], $s_cart_id);
@ -184,6 +204,12 @@ if($is_kakaopay_use) {
if($sendcost == 0) if($sendcost == 0)
$ct_send_cost = '무료'; $ct_send_cost = '무료';
} }
if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
if(isset($resv['ct_types']) && $resv['ct_types'] == 1) {
$ct_send_cost = '-';
}
}
?> ?>
<tr> <tr>
@ -201,14 +227,24 @@ if($is_kakaopay_use) {
<?php } ?> <?php } ?>
<?php echo $it_name; ?> <?php echo $it_name; ?>
<?php echo $cp_button; ?> <?php echo $cp_button; ?>
<?php
//예약정보 로드
if(isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
if(isset($resv['ct_types']) && $resv['ct_types'] == 1) {
include (G5_PATH.'/rb/rb.mod/reservation/info.inc.php');
}
}
?>
</div> </div>
</td> </td>
<td class="td_num"><?php echo number_format($sum['qty']); ?></td> <td class="td_num"><?php echo number_format($sum['qty']); ?></td>
<td class="td_numbig text_right"><?php echo number_format($row['ct_price']); ?></td> <td class="td_numbig text_right"><?php echo number_format($row['ct_price']); ?></td>
<td class="td_numbig text_right"><span class="total_price"><?php echo number_format($sell_price); ?></span></td> <td class="td_numbig text_right"><span class="total_price"><?php echo number_format($sell_price); ?></span></td>
<td class="td_numbig text_right"><?php echo number_format($point); ?></td> <td class="td_numbig text_right"><?php echo number_format($point); ?></td>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<td class="td_dvr"><?php echo $ct_send_cost; ?></td> <td class="td_dvr"><?php echo $ct_send_cost; ?></td>
<?php } ?>
</tr> </tr>
<?php <?php
@ -258,7 +294,7 @@ if($is_kakaopay_use) {
<!-- 주문하시는 분 입력 시작 { --> <!-- 주문하시는 분 입력 시작 { -->
<section id="sod_frm_orderer"> <section id="sod_frm_orderer">
<h2>주문하시는 분</h2> <h2>주문자 정보</h2>
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
@ -279,12 +315,12 @@ if($is_kakaopay_use) {
<?php } ?> <?php } ?>
<tr> <tr>
<th scope="row"><label for="od_tel">전화번호<strong class="sound_only"> 필수</strong></label></th> <th scope="row"><label for="od_tel">일반전화</label></th>
<td><input type="text" name="od_tel" value="<?php echo get_text($member['mb_tel']); ?>" id="od_tel" required class="frm_input required" maxlength="20"></td> <td><input type="text" name="od_tel" value="<?php echo get_text($member['mb_tel']); ?>" id="od_tel" class="frm_input" maxlength="20"></td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="od_hp">핸드폰</label></th> <th scope="row"><label for="od_hp">휴대전화</label></th>
<td><input type="text" name="od_hp" value="<?php echo get_text($member['mb_hp']); ?>" id="od_hp" class="frm_input" maxlength="20"></td> <td><input type="text" name="od_hp" value="<?php echo get_text($member['mb_hp']); ?>" id="od_hp" class="frm_input required" maxlength="20" required></td>
</tr> </tr>
<tr> <tr>
<th scope="row">주소</th> <th scope="row">주소</th>
@ -320,7 +356,7 @@ if($is_kakaopay_use) {
} }
?> ?>
</select> --> </select> -->
<input type="text" name="od_hope_date" value="" id="od_hope_date" required class="frm_input required" size="11" maxlength="10" readonly="readonly"> 이후로 배송 바랍니다. <input type="text" name="od_hope_date" value="" id="od_hope_date" required class="frm_input required datepicker" size="11" maxlength="10" readonly="readonly"> 이후로 배송 바랍니다.
</td> </td>
</tr> </tr>
<?php } ?> <?php } ?>
@ -332,7 +368,8 @@ if($is_kakaopay_use) {
<!-- 받으시는 분 입력 시작 { --> <!-- 받으시는 분 입력 시작 { -->
<section id="sod_frm_taker"> <section id="sod_frm_taker">
<h2>받으시는 분</h2> <br><br>
<h2>사용자(수령자) 정보</h2>
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
@ -356,7 +393,7 @@ if($is_kakaopay_use) {
if(isset($row['ad_id']) && $row['ad_id']) { if(isset($row['ad_id']) && $row['ad_id']) {
$val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];
$addr_list .= '<input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_def">'.PHP_EOL; $addr_list .= '<input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_def">'.PHP_EOL;
$addr_list .= '<label for="ad_sel_addr_def">기본배송지</label>'.PHP_EOL; $addr_list .= '<label for="ad_sel_addr_def">기본</label>'.PHP_EOL;
} }
// 최근배송지 // 최근배송지
@ -369,14 +406,14 @@ if($is_kakaopay_use) {
$result = sql_query($sql); $result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++) { for($i=0; $row=sql_fetch_array($result); $i++) {
$val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];
$val2 = '<label for="ad_sel_addr_'.($i+1).'">최근배송지('.($row['ad_subject'] ? get_text($row['ad_subject']) : get_text($row['ad_name'])).')</label>'; $val2 = '<label for="ad_sel_addr_'.($i+1).'">최근</label>';
$addr_list .= '<input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_'.($i+1).'"> '.PHP_EOL.$val2.PHP_EOL; $addr_list .= '<input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_'.($i+1).'"> '.PHP_EOL.$val2.PHP_EOL;
} }
$addr_list .= '<input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">'.PHP_EOL; $addr_list .= '<input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">'.PHP_EOL;
$addr_list .= '<label for="od_sel_addr_new">신규배송지</label>'.PHP_EOL; $addr_list .= '<label for="od_sel_addr_new">신규</label>'.PHP_EOL;
$addr_list .='<a href="'.G5_SHOP_URL.'/orderaddress.php" id="order_address" class="btn_frmline">배송지목록</a>'; $addr_list .='<a href="'.G5_SHOP_URL.'/orderaddress.php" id="order_address" class="btn_frmline">주소지목록</a>';
} else { } else {
// 주문자와 동일 // 주문자와 동일
$addr_list .= '<input type="checkbox" name="ad_sel_addr" value="same" id="ad_sel_addr_same">'.PHP_EOL; $addr_list .= '<input type="checkbox" name="ad_sel_addr" value="same" id="ad_sel_addr_same">'.PHP_EOL;
@ -384,7 +421,7 @@ if($is_kakaopay_use) {
} }
?> ?>
<tr> <tr>
<th scope="row">배송지선택</th> <th scope="row">주소</th>
<td> <td>
<div class="order_choice_place"> <div class="order_choice_place">
<?php echo $addr_list; ?> <?php echo $addr_list; ?>
@ -393,11 +430,11 @@ if($is_kakaopay_use) {
</tr> </tr>
<?php if($is_member) { ?> <?php if($is_member) { ?>
<tr> <tr>
<th scope="row"><label for="ad_subject">배송지명</label></th> <th scope="row"><label for="ad_subject">주소명</label></th>
<td> <td>
<input type="text" name="ad_subject" id="ad_subject" class="frm_input" maxlength="20"> <input type="text" name="ad_subject" id="ad_subject" class="frm_input" maxlength="20">
<input type="checkbox" name="ad_default" id="ad_default" value="1"> <input type="checkbox" name="ad_default" id="ad_default" value="1">
<label for="ad_default">기본배송지로 설정</label> <label for="ad_default">기본주소로 설정</label>
</td> </td>
</tr> </tr>
<?php } ?> <?php } ?>
@ -406,12 +443,12 @@ if($is_kakaopay_use) {
<td><input type="text" name="od_b_name" id="od_b_name" required class="frm_input required" maxlength="20"></td> <td><input type="text" name="od_b_name" id="od_b_name" required class="frm_input required" maxlength="20"></td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="od_b_tel">전화번호<strong class="sound_only"> 필수</strong></label></th> <th scope="row"><label for="od_b_tel">일반전화<strong class="sound_only"> 필수</strong></label></th>
<td><input type="text" name="od_b_tel" id="od_b_tel" required class="frm_input required" maxlength="20"></td> <td><input type="text" name="od_b_tel" id="od_b_tel" class="frm_input" maxlength="20"></td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="od_b_hp">핸드폰</label></th> <th scope="row"><label for="od_b_hp">휴대전화</label></th>
<td><input type="text" name="od_b_hp" id="od_b_hp" class="frm_input" maxlength="20"></td> <td><input type="text" name="od_b_hp" id="od_b_hp" class="frm_input required" required maxlength="20"></td>
</tr> </tr>
<tr> <tr>
<th scope="row">주소</th> <th scope="row">주소</th>
@ -438,24 +475,59 @@ if($is_kakaopay_use) {
</div> </div>
</section> </section>
<!-- } 받으시는 분 입력 끝 --> <!-- } 받으시는 분 입력 끝 -->
<?php
if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) {
$resv = sql_fetch("SELECT ct_user_qty1 FROM {$g5['g5_shop_cart_table']} WHERE od_id = '$s_cart_id' AND ct_select = '1' LIMIT 1");
$ct_user_qty1 = (int)$resv['ct_user_qty1'];
if(isset($ct_user_qty1) && $ct_user_qty1 > 0) {
?>
<section id="sod_frm_taker">
<br><br>
<h2>추가사용자 정보</h2>
<div class="tbl_frm01 tbl_wrap">
<table>
<tbody>
<?php for($i = 1; $i <= $ct_user_qty1; $i++) { ?>
<tr>
<th scope="row"><label for="od_b_name">사용자 <?php echo $i; ?><strong class="sound_only"> 필수</strong></label></th>
<td>
<input type="text" name="od_names[]" required class="frm_input required" required placeholder="이름" style="width:25%;">
<input type="text" name="od_hps[]" class="frm_input required" required placeholder="연락처" style="width:50%;">
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</section>
<?php } ?>
<?php } ?>
</div> </div>
<div class="sod_right"> <div class="sod_right">
<!-- 주문상품 합계 시작 { --> <!-- 주문상품 합계 시작 { -->
<div id="sod_bsk_tot"> <div id="sod_bsk_tot">
<ul> <ul>
<li class="sod_bsk_sell"> <li class="sod_bsk_sell" <?php if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { ?>style="width:50%"<?php } ?>>
<span>주문</span> <span>금액</span>
<strong><?php echo number_format($tot_sell_price); ?></strong>원 <strong><?php echo number_format($tot_sell_price); ?></strong>원
</li> </li>
<li class="sod_bsk_coupon"> <li class="sod_bsk_coupon" <?php if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { ?>style="width:50%"<?php } ?>>
<span>쿠폰할인</span> <span>쿠폰할인</span>
<strong id="ct_tot_coupon">0</strong>원 <strong id="ct_tot_coupon">0</strong>원
</li> </li>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<li class="sod_bsk_dvr"> <li class="sod_bsk_dvr">
<span>배송비</span> <span>배송비</span>
<strong><?php echo number_format($send_cost); ?></strong>원 <strong><?php echo number_format($send_cost); ?></strong>원
</li> </li>
<?php } ?>
<li class="sod_bsk_point"> <li class="sod_bsk_point">
<span>포인트</span> <span>포인트</span>
<strong><?php echo number_format($tot_point); ?></strong>점 <strong><?php echo number_format($tot_point); ?></strong>점
@ -522,7 +594,7 @@ if($is_kakaopay_use) {
<?php if($oc_cnt > 0) { ?> <?php if($oc_cnt > 0) { ?>
<tr> <tr>
<th scope="row">주문할인</th> <th scope="row">주문할인</th>
<td> <td class="sod_frm_flex">
<strong id="od_cp_price">0</strong>원 <strong id="od_cp_price">0</strong>원
<input type="hidden" name="od_cp_id" value=""> <input type="hidden" name="od_cp_id" value="">
<button type="button" id="od_coupon_btn" class="btn_frmline">쿠폰적용</button> <button type="button" id="od_coupon_btn" class="btn_frmline">쿠폰적용</button>
@ -532,18 +604,19 @@ if($is_kakaopay_use) {
<?php if($sc_cnt > 0) { ?> <?php if($sc_cnt > 0) { ?>
<tr> <tr>
<th scope="row">배송비할인</th> <th scope="row">배송비할인</th>
<td> <td class="sod_frm_flex">
<strong id="sc_cp_price">0</strong>원 <strong id="sc_cp_price">0</strong>원
<input type="hidden" name="sc_cp_id" value=""> <input type="hidden" name="sc_cp_id" value="">
<button type="button" id="sc_coupon_btn" class="btn_frmline">쿠폰적용</button> <button type="button" id="sc_coupon_btn" class="btn_frmline">쿠폰적용</button>
</td> </td>
</tr> </tr>
<?php } ?> <?php } ?>
<?php if ((!isset($rb_item_res['res_is'])) || $rb_item_res['res_is'] != 1) { ?>
<tr> <tr>
<th>추가배송비</th> <th>추가배송비</th>
<td><strong id="od_send_cost2">0</strong>원<br>(지역에 따라 추가되는 도선료 등의 배송비입니다.)</td> <td><strong id="od_send_cost2">0</strong>원</td>
</tr> </tr>
<?php } ?>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -882,7 +955,7 @@ $(function() {
$("#cp_frm").remove(); $("#cp_frm").remove();
$cp_btn_el.focus(); $cp_btn_el.focus();
}); });
$(document).on("click", ".cp_cancel", function() { $(document).on("click", ".cp_cancel", function() {
coupon_cancel($(this).closest("tr")); coupon_cancel($(this).closest("tr"));
calculate_total_price(); calculate_total_price();
@ -890,6 +963,7 @@ $(function() {
$(this).closest("tr").find(".cp_btn").text("적용").focus(); $(this).closest("tr").find(".cp_btn").text("적용").focus();
$(this).remove(); $(this).remove();
}); });
$("#od_coupon_btn").click(function() { $("#od_coupon_btn").click(function() {
if( $("#od_coupon_frm").parent(".od_coupon_wrap").length ){ if( $("#od_coupon_frm").parent(".od_coupon_wrap").length ){
@ -948,7 +1022,7 @@ $(function() {
$("#od_coupon_frm").remove(); $("#od_coupon_frm").remove();
$("#od_coupon_btn").text("변경").focus(); $("#od_coupon_btn").text("변경").focus();
if(!$("#od_coupon_cancel").length) if(!$("#od_coupon_cancel").length)
$("#od_coupon_btn").after("<button type=\"button\" id=\"od_coupon_cancel\" class=\"cp_cancel\">취소</button>"); $("#od_coupon_btn").after("<button type=\"button\" id=\"od_coupon_cancel\" class=\"cp_cancel cp_cancel1\">취소</button>");
}); });
$(document).on("click", "#od_coupon_close", function() { $(document).on("click", "#od_coupon_close", function() {
@ -1013,7 +1087,7 @@ $(function() {
$("#sc_coupon_frm").remove(); $("#sc_coupon_frm").remove();
$("#sc_coupon_btn").text("변경").focus(); $("#sc_coupon_btn").text("변경").focus();
if(!$("#sc_coupon_cancel").length) if(!$("#sc_coupon_cancel").length)
$("#sc_coupon_btn").after("<button type=\"button\" id=\"sc_coupon_cancel\" class=\"cp_cancel\">취소</button>"); $("#sc_coupon_btn").after("<button type=\"button\" id=\"sc_coupon_cancel\" class=\"cp_cancel1\">취소</button>");
}); });
$(document).on("click", "#sc_coupon_close", function() { $(document).on("click", "#sc_coupon_close", function() {
@ -1249,8 +1323,45 @@ function calculate_tax()
$("input[name=comm_free_mny]").val(comm_free_mny); $("input[name=comm_free_mny]").val(comm_free_mny);
} }
<?php if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { ?>
function make_additional_user_data() {
var names = [];
var hps = [];
$("input[name='od_names[]']").each(function() {
names.push($(this).val().trim());
});
$("input[name='od_hps[]']").each(function() {
hps.push($(this).val().trim());
});
// 기존 숨은 필드 제거
$("input[name='od_names_final'], input[name='od_hps_final']").remove();
// 숨은 필드로 추가
$("<input>", {
type: "hidden",
name: "od_names_final",
value: names.join('|')
}).appendTo("#forderform");
$("<input>", {
type: "hidden",
name: "od_hps_final",
value: hps.join('|')
}).appendTo("#forderform");
}
<?php } ?>
function forderform_check(f) function forderform_check(f)
{ {
<?php if (isset($rb_item_res['res_is']) && $rb_item_res['res_is'] == 1) { ?>
make_additional_user_data();
<?php } ?>
// 재고체크 // 재고체크
var stock_msg = order_stock_check(); var stock_msg = order_stock_check();
if(stock_msg != "") { if(stock_msg != "") {
@ -1269,7 +1380,7 @@ function forderform_check(f)
if( (f.od_pwd.value.length<3) || (f.od_pwd.value.search(/([^A-Za-z0-9]+)/)!=-1) ) if( (f.od_pwd.value.length<3) || (f.od_pwd.value.search(/([^A-Za-z0-9]+)/)!=-1) )
error_field(f.od_pwd, "회원이 아니신 경우 주문서 조회시 필요한 비밀번호를 3자리 이상 입력해 주십시오."); error_field(f.od_pwd, "회원이 아니신 경우 주문서 조회시 필요한 비밀번호를 3자리 이상 입력해 주십시오.");
} }
check_field(f.od_tel, "주문하시는 분 전화번호를 입력하십시오."); check_field(f.od_hp, "주문하시는 분 휴대전화 번호를 입력하십시오.");
check_field(f.od_addr1, "주소검색을 이용하여 주문하시는 분 주소를 입력하십시오."); check_field(f.od_addr1, "주소검색을 이용하여 주문하시는 분 주소를 입력하십시오.");
//check_field(f.od_addr2, " 주문하시는 분의 상세주소를 입력하십시오."); //check_field(f.od_addr2, " 주문하시는 분의 상세주소를 입력하십시오.");
check_field(f.od_zip, ""); check_field(f.od_zip, "");
@ -1286,7 +1397,7 @@ function forderform_check(f)
} }
check_field(f.od_b_name, "받으시는 분 이름을 입력하십시오."); check_field(f.od_b_name, "받으시는 분 이름을 입력하십시오.");
check_field(f.od_b_tel, "받으시는 분 전화번호를 입력하십시오."); check_field(f.od_b_hp, "받으시는 분 휴대전화 번호를 입력하십시오.");
check_field(f.od_b_addr1, "주소검색을 이용하여 받으시는 분 주소를 입력하십시오."); check_field(f.od_b_addr1, "주소검색을 이용하여 받으시는 분 주소를 입력하십시오.");
//check_field(f.od_b_addr2, "받으시는 분의 상세주소를 입력하십시오."); //check_field(f.od_b_addr2, "받으시는 분의 상세주소를 입력하십시오.");
check_field(f.od_b_zip, ""); check_field(f.od_b_zip, "");

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ require_once(G5_SHOP_PATH.'/settle_'.$default['de_pg_service'].'.inc.php');
// 결제대행사별 코드 include (스크립트 등) // 결제대행사별 코드 include (스크립트 등)
require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php'); require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
?> ?>
<div class="personal_pay_wrap">
<form name="forderform" id="forderform" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off"> <form name="forderform" id="forderform" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off">
<input type="hidden" name="pp_id" value="<?php echo $pp['pp_id']; ?>"> <input type="hidden" name="pp_id" value="<?php echo $pp['pp_id']; ?>">
@ -138,7 +138,9 @@ require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
} }
?> ?>
</div> </div>
<div class="cb"></div>
</form> </form>
</div>
<script> <script>
function forderform_check(f) function forderform_check(f)

View File

@ -23,7 +23,8 @@ $search_all = true;
if (isset($_GET['qname']) || isset($_GET['qexplan']) || isset($_GET['qid']) || isset($_GET['qbasic'])) if (isset($_GET['qname']) || isset($_GET['qexplan']) || isset($_GET['qid']) || isset($_GET['qbasic']))
$search_all = false; $search_all = false;
$q = utf8_strcut(get_search_string(trim($_GET['q'])), 30, ""); //$q = utf8_strcut(get_search_string(trim($_GET['q'])), 30, "");
$q = isset($_GET['q']) ? utf8_strcut(get_search_string(trim($_GET['q'])), 30, "") : '';
$qname = isset($_GET['qname']) ? trim(clean_xss_tags($_GET['qname'])) : ''; $qname = isset($_GET['qname']) ? trim(clean_xss_tags($_GET['qname'])) : '';
$qexplan = isset($_GET['qexplan']) ? trim(clean_xss_tags($_GET['qexplan'])) : ''; $qexplan = isset($_GET['qexplan']) ? trim(clean_xss_tags($_GET['qexplan'])) : '';
$qid = isset($_GET['qid']) ? trim(clean_xss_tags($_GET['qid'])) : ''; $qid = isset($_GET['qid']) ? trim(clean_xss_tags($_GET['qid'])) : '';

View File

@ -57,7 +57,7 @@ $cardQuotaBase = '2:3:4:5:6:7:8:9:10:11:12'; // 가맹점에서 사용할 할
$inicis_cardpoint = $default['de_inicis_cartpoint_use'] ? ':cardpoint' : ''; //신용카드 포인트 결제에 관한 옵션 ( 신청해야 함 ) $inicis_cardpoint = $default['de_inicis_cartpoint_use'] ? ':cardpoint' : ''; //신용카드 포인트 결제에 관한 옵션 ( 신청해야 함 )
$acceptmethod = 'HPP(2):no_receipt:vbank('.date('Ymd', strtotime("+3 days", G5_SERVER_TIME)).'):below1000:centerCd(Y)'.$useescrow.$inicis_cardpoint; $acceptmethod = 'HPP(2):no_receipt:vbank('.date('Ymd', strtotime("+3 days", G5_SERVER_TIME)).'):below1000'.$useescrow.$inicis_cardpoint;
/* 기타 */ /* 기타 */
$siteDomain = G5_SHOP_URL.'/inicis'; //가맹점 도메인 입력 $siteDomain = G5_SHOP_URL.'/inicis'; //가맹점 도메인 입력

View File

@ -14,19 +14,10 @@ $INIpayLog = false; // 로그를 기록하려면 true 로 수
//********************************************************************************** //**********************************************************************************
$allowed_ips = array( $PG_IP = get_real_client_ip();
"203.238.37.3", // TX5, TX4
"203.238.37.15", // PC가상계좌(노티), 모바일 가상계좌, 에스크로
"203.238.37.16", //
"203.238.37.25", //
"203.238.37.32", // 에스크로
"183.109.71.153", // PC가상계좌(노티), 모바일(노티), 에스크로
"118.129.210.25", // 모바일(노티)
"39.115.212.9" // PC가상계좌(노티)
);
if (in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) { //PG에서 보냈는지 IP로 체크
if( $PG_IP == "203.238.37.3" || $PG_IP == "203.238.37.15" || $PG_IP == "203.238.37.16" || $PG_IP == "203.238.37.25" || $PG_IP == "183.109.71.153" || $PG_IP == "39.115.212.9" ) //PG에서 보냈는지 IP로 체크
{
$msg_id = $msg_id; //메세지 타입 $msg_id = $msg_id; //메세지 타입
$no_tid = $no_tid; //거래번호 $no_tid = $no_tid; //거래번호
$no_oid = $no_oid; //상점 주문번호 $no_oid = $no_oid; //상점 주문번호

View File

@ -15,88 +15,86 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 15); add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 15);
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : ''; $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
?> ?>
<!-- 회원가입약관 동의 시작 { -->
<div class="social_register">
<form name="fregisterform" id="fregisterform" action="<?php echo $register_action_url; ?>" onsubmit="return fregisterform_submit(this);" method="POST" autocomplete="off">
<p><i class="fa fa-check-circle" aria-hidden="true"></i> 회원가입약관 및 개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.</p> <style>
body, html {background-color: #f9fafb;}
main {background-color: #f9fafb;}
#container_title {display: none;}
#header {display: none;}
.contents_wrap {padding: 0px !important;}
.sub {padding-top: 0px;}
</style>
<section id="fregister_term"> <div class="rb_member">
<h2>회원가입약관</h2> <div class="rb_login rb_reg rb_join">
<textarea readonly><?php echo get_text($config['cf_stipulation']) ?></textarea>
<fieldset class="fregister_agree"> <form name="fregisterform" id="fregisterform" action="<?php echo $register_action_url; ?>" onsubmit="return fregisterform_submit(this);" method="POST" autocomplete="off">
<input type="checkbox" name="agree" value="1" id="agree11" class="selec_chk"> <ul class="rb_login_box">
<label for="agree11"><span></span><b class="sound_only">회원가입약관의 내용에 동의합니다.</b></label>
</fieldset> <li class="rb_login_logo">
</section> <?php if (!empty($rb_builder['bu_logo_pc'])) { ?>
<a href="<?php echo G5_URL ?>"><img src="<?php echo G5_URL ?>/data/logos/pc?ver=<?php echo G5_SERVER_TIME ?>" alt="<?php echo $config['cf_title']; ?>" id="logo_img"></a>
<?php } else { ?>
<a href="<?php echo G5_URL ?>"><img src="<?php echo G5_THEME_URL ?>/rb.img/logos/pc.png?ver=<?php echo G5_SERVER_TIME ?>" alt="<?php echo $config['cf_title']; ?>" id="logo_img"></a>
<?php } ?>
</li>
<li class="rb_reg_sub_title">안녕하세요! <?php echo $config['cf_title'] ?> 에 오신것을 진심으로 환영해요!<br>다양한 이벤트와 풍성한 혜택 받아가세요 :D</li>
<section id="fregister_private">
<h2>개인정보 수집 및 이용</h2> <li>
<div> <span>회원가입약관</span>
<table> <textarea readonly class="textarea"><?php echo get_text($config['cf_stipulation']) ?></textarea>
<caption>개인정보 수집 및 이용</caption> <div class="mt-10">
<thead> <input type="checkbox" name="agree" value="1" id="agree11">
<tr> <label for="agree11">회원가입약관의 내용에 동의합니다.</label>
<th>목적</th> </div>
<th>항목</th> </li>
<th>보유기간</th> <li>
</tr> <span>개인정보 수집 및 이용정책</span>
</thead> <textarea readonly class="textarea"><?php echo get_text($config['cf_privacy']) ?></textarea>
<tbody> <div class="mt-10">
<tr> <input type="checkbox" name="agree2" value="1" id="agree21">
<td>이용자 식별 및 본인여부 확인</td> <label for="agree21">개인정보 수집 및 이용정책의 내용에 동의합니다.</label>
<td>아이디, 이름, 비밀번호<?php echo ($config['cf_cert_use']) ? ", 생년월일, 휴대폰 번호(본인인증 할 때만, 아이핀 제외), 암호화된 개인식별부호(CI)" : ""; ?></td> </div>
<td>회원 탈퇴 시까지</td> </li>
</tr>
<tr> <li>
<td>고객서비스 이용에 관한 통지,<br>CS대응을 위한 이용자 식별</td> <div id="fregister_chkall" class="chk_all">
<td>연락처 (이메일, 휴대전화번호)</td> <input type="checkbox" name="chk_all" id="chk_all">
<td>회원 탈퇴 시까지</td> <label for="chk_all">회원가입 약관에 모두 동의합니다</label>
</tr> </div>
</tbody> </li>
</table>
</div>
<fieldset class="fregister_agree"> <!-- 새로가입 시작 -->
<input type="checkbox" name="agree2" value="1" id="agree21" class="selec_chk"> <input type="hidden" name="w" value="<?php echo $w; ?>">
<label for="agree21"><span></span><b class="sound_only">개인정보 수집 및 이용의 내용에 동의합니다.</b></label> <input type="hidden" name="url" value="<?php echo $urlencode; ?>">
</fieldset> <input type="hidden" name="provider" value="<?php echo $provider_name; ?>">
</section> <input type="hidden" name="action" value="register">
<input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
<div id="fregister_chkall" class="chk_all fregister_agree"> <input type="hidden" name="cert_no" value="">
<input type="checkbox" name="chk_all" id="chk_all" class="selec_chk"> <input type="hidden" name="mb_id" value="<?php echo $user_id; ?>" id="reg_mb_id">
<label for="chk_all"><span></span>회원가입 약관에 모두 동의합니다</label>
</div> <?php if ($config["cf_cert_use"]) { ?>
<!-- } 회원가입 약관 동의 끝 --> <input type="hidden" id="reg_mb_name" name="mb_name" value="<?php echo $user_name ? $user_name : $user_nick ?>">
<!-- 새로가입 시작 -->
<input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="url" value="<?php echo $urlencode; ?>">
<input type="hidden" name="provider" value="<?php echo $provider_name; ?>">
<input type="hidden" name="action" value="register">
<input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
<input type="hidden" name="cert_no" value="">
<input type="hidden" name="mb_id" value="<?php echo $user_id; ?>" id="reg_mb_id">
<?php if ($config["cf_cert_use"]) { ?>
<input type="hidden" id="reg_mb_name" name="mb_name" value="<?php echo $user_name ? $user_name : $user_nick ?>">
<?php } ?>
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) { ?>
<input type="hidden" name="mb_hp" value="<?php echo get_text($user_phone); ?>" id="reg_mb_hp">
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_simple'])) { ?>
<input type="hidden" name="old_mb_hp" value="<?php echo get_text($user_phone); ?>">
<?php } ?> <?php } ?>
<?php } ?> <?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) { ?>
<input type="hidden" name="mb_hp" value="<?php echo get_text($user_phone); ?>" id="reg_mb_hp">
<div id="register_form" class="form_01"> <?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_simple'])) { ?>
<div class="tbl_frm01 tbl_wrap register_form_inner"> <input type="hidden" name="old_mb_hp" value="<?php echo get_text($user_phone); ?>">
<h2>개인정보 입력</h2> <?php } ?>
<ul> <?php } ?>
<li>
<?php
if ($config['cf_cert_use']) { <?php if ($config['cf_cert_use']) { ?>
<li>
<span>본인확인</span>
<?php
if ($config['cf_cert_simple']) { if ($config['cf_cert_simple']) {
echo '<button type="button" id="win_sa_kakao_cert" class="btn_frmline win_sa_cert" data-type="">간편인증</button>'.PHP_EOL; echo '<button type="button" id="win_sa_kakao_cert" class="btn_frmline win_sa_cert" data-type="">간편인증</button>'.PHP_EOL;
} }
@ -105,58 +103,68 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
if ($config['cf_cert_ipin']) if ($config['cf_cert_ipin'])
echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>' . PHP_EOL; echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>' . PHP_EOL;
echo '<span class="cert_req">(필수)</span>';
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>' . PHP_EOL;
}
?> ?>
</li>
<?php if ($req_nick) { ?>
<li>
<label for="reg_mb_nick">
닉네임 (필수)
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
<span class="tooltip">공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br> 닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify'] ?>일 이내에는 변경 할 수 없습니다.</span>
</label>
<input type="hidden" name="mb_nick_default" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>"> </li>
<input type="text" name="mb_nick" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>" id="reg_mb_nick" required class="frm_input required nospace full_input" size="10" maxlength="20" placeholder="닉네임"> <?php } ?>
<span id="msg_mb_nick"></span>
</li> <?php if ($req_nick) { ?>
<?php } ?> <li>
<li> <span>닉네임</span>
<label for="reg_mb_email">E-mail (필수) <input type="hidden" name="mb_nick_default" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>">
<input type="text" name="mb_nick" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>" id="reg_mb_nick" required class="input required nospace full_input" maxlength="20" placeholder="닉네임">
</li>
<?php } ?>
<li>
<span>이메일</span>
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<input type="text" name="mb_email" value="<?php echo isset($user_email) ? $user_email : ''; ?>" id="reg_mb_email" required <?php echo (isset($user_email) && $user_email != '' && !$is_exists_email)? "readonly":''; ?> class="input email full_input required" maxlength="100" placeholder="이메일">
<?php if ($config['cf_use_email_certify']) { ?>
<?php if ($w=='') { echo "<span class='help_text'>이메일 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다.</span>"; } ?>
<?php if ($w=='u') { echo "<span class='help_text'>이메일을 변경하시면 다시 인증하셔야 합니다.</span>"; } ?>
<?php } ?>
</li>
<?php if ($config['cf_use_email_certify']) { ?>
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
<span class="tooltip">
<?php if ($w == '') {
echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다.";
} ?>
<?php if ($w == 'u') { <li>
echo "E-mail 주소를 변경하시면 다시 인증하셔야 합니다."; <div class="btn_confirm">
} ?> <button type="submit" class="btn_submit font-B" accesskey="s"><?php echo $w == '' ? '회원가입' : '정보수정'; ?></button>
</span>
<?php } ?>
</label>
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<input type="text" name="mb_email" value="<?php echo isset($user_email) ? $user_email : ''; ?>" id="reg_mb_email" required <?php echo (isset($user_email) && $user_email != '' && !$is_exists_email)? "readonly":''; ?> class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">
<div class="check"><?php echo $email_msg; ?></div>
</li>
</ul>
</div> </div>
</div> </li>
<div class="btn_confirm">
<a href="<?php echo G5_URL ?>" class="btn_close">취소</a>
<button type="submit" id="btn_submit" class="btn_submit" accesskey="s"><?php echo $w == '' ? '회원가입' : '정보수정'; ?></button>
</div>
</form>
<li class="join_links">
나중에 가입할래요. <a href="<?php echo G5_URL ?>" class="font-B">회원가입 취소</a>
</li>
</ul>
</form>
</div>
</div> </div>
<!-- 기존 계정 연결 -->
<!--
<div class="member_connect"> <div class="member_connect">
<p class="strong">혹시 기존 회원이신가요?</p> <p class="strong">혹시 기존 회원이신가요?</p>
@ -197,6 +205,8 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
</div> </div>
</div> </div>
-->
<script> <script>
$(function() { $(function() {
// 모두선택 // 모두선택

View File

@ -49,7 +49,7 @@
/* SNS by COLOR */ /* SNS by COLOR */
.sns-wrap-over .sns-naver {background:url('./img/sns_naver_s.png') no-repeat} .sns-wrap-over .sns-naver {background:url('./img/sns_naver_s.png') no-repeat}
.sns-wrap-over .sns-google {} .sns-wrap-over .sns-google {background:url('./img/sns_gp_s.png') no-repeat}
.sns-wrap-over .sns-facebook {background:url('./img/sns_fb_s.png') no-repeat} .sns-wrap-over .sns-facebook {background:url('./img/sns_fb_s.png') no-repeat}
.sns-wrap-over .sns-twitter {background:url('./img/sns_twitter_s.png') no-repeat} .sns-wrap-over .sns-twitter {background:url('./img/sns_twitter_s.png') no-repeat}
.sns-wrap-over .sns-payco {background:url('./img/sns_payco_s.png') no-repeat} .sns-wrap-over .sns-payco {background:url('./img/sns_payco_s.png') no-repeat}
@ -72,8 +72,7 @@
#sns_login .sns-kakao {background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a} #sns_login .sns-kakao {background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a}
#sns_login .sns-kakao {color:#3c1e1e} #sns_login .sns-kakao {color:#3c1e1e}
#sns_login .sns-facebook {background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f} #sns_login .sns-facebook {background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
#sns_login .sns-google {background-color:#4285F4;background-position:5px 5px;border-bottom:1px solid #3567c6;letter-spacing:-0.5px} #sns_login .sns-google {background-color:#eee;background-position:5px 5px;border-bottom:1px solid #eee;letter-spacing:-0.5px}
#sns_login .sns-google .ico {position:absolute;top:3px;left:3px;width:33px;height:33px;background:url('./img/sns_gp_s.png') no-repeat center center;background-color:#fff;background-size:28px 28px!important;border-radius:2px}
#sns_login .sns-twitter {background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0} #sns_login .sns-twitter {background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
#sns_login .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800} #sns_login .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
#sns_login .txt {text-align:left;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold} #sns_login .txt {text-align:left;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold}
@ -89,8 +88,7 @@
#sns_register .sns-naver {background-color:#1fc800;background-position:0 0} #sns_register .sns-naver {background-color:#1fc800;background-position:0 0}
#sns_register .sns-kakao {background-color:#ffeb00;background-position:0 0} #sns_register .sns-kakao {background-color:#ffeb00;background-position:0 0}
#sns_register .sns-facebook {background-color:#3b579d;background-position:0 0} #sns_register .sns-facebook {background-color:#3b579d;background-position:0 0}
#sns_register .sns-google {background-color:#fff;background-position:0 0;border-radius:2px;border:1px solid #999} #sns_register .sns-google {background-color:#eee;background-position:0 0;border-radius:2px;border:1px solid #eee}
#sns_register .sns-google .ico {background:url('./img/sns_gp_s.png') no-repeat;height:30px}
#sns_register .sns-twitter {background-color:#1ea1f2;background-position:0 0} #sns_register .sns-twitter {background-color:#1ea1f2;background-position:0 0}
#sns_register .sns-payco {background-color:#df0b00;background-position:0 0} #sns_register .sns-payco {background-color:#df0b00;background-position:0 0}
#sns_register .txt {position:absolute;line-height:0;font-size:0;vertical-align:middle;overflow:hidden} #sns_register .txt {position:absolute;line-height:0;font-size:0;vertical-align:middle;overflow:hidden}

View File

@ -2,7 +2,7 @@
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
define('G5_VERSION', '그누보드5'); define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.6.14'); define('G5_GNUBOARD_VER', '5.6.12');
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617) // 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함 // G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
// 그누보드5.4.6 이상 버전 부터는 영카트를 그누보드에 포함하여 배포하므로 영카트5의 버전은 의미가 없습니다. // 그누보드5.4.6 이상 버전 부터는 영카트를 그누보드에 포함하여 배포하므로 영카트5의 버전은 의미가 없습니다.

Binary file not shown.