Compare commits

...
89 Commits
Author SHA1 Message Date
thisgun 0a9f580c5b 버전 5.5.7.3 수정 2022-05-23 18:39:18 +09:00
thisgun f4aa0d0cd8 세션 폴더에 접근할수 문제 수정 및 세션 저장경로 수정#175 2022-05-23 18:37:23 +09:00
kagla 5a4ddbc455 버전 5.5.7.2 수정 2022-05-03 12:10:26 +09:00
kagla e2e06d4a23 게시판분류에서 '팅' 글자를 인식하지 못하여 패턴을 쌍따옴표로 수정 2022-05-03 12:10:02 +09:00
kagla b97565e387 버전 5.5.7.1 수정 2022-04-28 17:17:06 +09:00
kagla 7e3ad29696 form 입력값에서 space를 포함한 값이 넘어오는 경우가 있어 space 는 제외하고 replace 함 2022-04-28 17:14:59 +09:00
kagla 5981fd11bf Merge branch 'develop' 2022-04-28 16:41:11 +09:00
kagla 0645b8b2f4 버전 5.5.7 수정 2022-04-25 15:11:24 +09:00
kagla 3197f43be6 Merge branch 'develop' 2022-04-25 15:00:40 +09:00
seeoya 4bbaef4162 G5-20 주소 검색 중 화면 확대되지 않도록 수정 2022-04-21 14:43:47 +09:00
수영andGitHub d08fc856df Merge branch 'gnuboard:master' into master 2022-04-21 13:48:55 +09:00
kagla 97baa9d0db 버전 5.5.6 수정 2022-04-18 16:52:22 +09:00
projectSylasandkagla 11718eb4c0 [G5-80] 본인인증 비밀번호 찾기 후 비밀번호 변경 관련 수정 2022-04-18 16:51:53 +09:00
kagla 41e3c23f9e Merge branch '220418' into develop 2022-04-18 16:31:31 +09:00
kagla fdd2d30f4e $desc_name, $desc_phone Undefined variable 문제 해결 2022-04-18 12:04:00 +09:00
kagla 13bc72def7 ip2long으로 변환된 REMOTE_ADDR을 유추할수 없도록 md5(sha1(REMOTE_ADDR))로 처리함 (kjsman님,220418) 2022-04-18 11:47:22 +09:00
kagla 2457055514 $url 파라미터에 HTML Entity Number 형식으로 값이 넘어오는 경우의 XSS 취약점 해결 (woonge님,220415) 2022-04-15 10:16:44 +09:00
kagla 6449af2b57 모바일에서는 모바일 페이지당 라인수로 적용하도록 수정 (coDribble님,220414) 2022-04-14 16:01:25 +09:00
kagla 258f94e597 Reflected XSS 취약점 해결, Fixed Reflected XSS vulnerability (220408,hunter.dev/9o3) 2022-04-08 11:17:24 +09:00
kagla 6660a4adc1 admin_common 기본 훅 추가 (220408,티로그님) 2022-04-08 10:31:50 +09:00
kagla de72f42216 버전 5.5.5 수정 2022-04-07 15:49:13 +09:00
kagla 162ce82da0 Merge branch 'develop' 2022-04-07 15:48:11 +09:00
kagla 9ac9e01a51 [KVE-2022-0184] XSS 및 SQLInjection 취약점 해결을 위해 사용하지 않고 있던 "코드 중복검사" 기능 제거 2022-04-07 15:43:43 +09:00
seeoya eef8f32efe G5-77 shop.override.js 총 금액 표시 통일 작업 2022-04-07 15:32:21 +09:00
seeoya fd7121a215 G5-67 상품 목록 갤러리 스킨(40) 수정 2022-04-07 15:30:02 +09:00
seeoya 3999b86f9f G5-67 상품 목록 갤러리 스킨 복구, 리스트 스킨에서 사진 클릭 되도록 수정 2022-04-07 14:28:50 +09:00
kagla 38e732e71e KVE-2021-1277 Open Redirect 취약점 해결 2022-04-06 14:08:20 +09:00
수영andGitHub 7ab46223b5 Merge branch 'gnuboard:master' into master 2022-03-30 15:53:20 +09:00
kagla 7144c4f4be 모바일페이지에서의 직접 접근을 막아 KVE-2021-1888_Reflected XSS 취약점 해결 2022-03-22 12:52:36 +09:00
kagla 15d13e2fbc Merge branch 'develop' of github.com:gnuboard/gnuboard5 into develop 2022-03-22 12:51:28 +09:00
kagla 05035d6f6c 버전 5.5.4 수정 2022-03-21 10:43:23 +09:00
seeoya b4891ab773 G5-57 쇼핑몰 주문서 - 배송지 목록 버튼 padding 제거 2022-03-17 12:16:33 +09:00
kagla 84a065c31b host 가 inicis.com 의 주소가 아니라면 false 반환, XSS 취약점 해결 (03sunf님,220317) 2022-03-17 11:17:22 +09:00
kagla ae6190116f height 중복선언 해결 (냠냠이님,220316) 2022-03-16 17:20:31 +09:00
kagla 8021ebadf9 Proxy 서버나 로드밸런서 등에서는 HTTPS 접속시 HTTP_X_FORWARDED_PROTO 로 체크해야 하는 경우가 있음 2022-03-16 16:39:14 +09:00
kagla d79c3be7ba SQL 구문 오류 해결 2022-03-16 16:07:13 +09:00
kagla af3b1b69d3 Proxy 서버나 로드밸런서 등에서는 사용자의 IP가 REMOTE_ADDR 이 아닌 HTTP_X_FORWARDED_FOR 에 저장된 경우가 있음 2022-03-16 16:04:56 +09:00
kagla bdcf17dfc2 Warning: Trying to access array offset on value of type null 오류 수정 2022-03-15 15:19:59 +09:00
수영andGitHub 480fb98b32 Merge branch 'gnuboard:master' into master 2022-03-15 09:53:44 +09:00
kagla 30a2481145 Cross-site Scripting (XSS) 해결 (SeungHyunKim님,220311) 2022-03-11 11:08:13 +09:00
kagla cb61fa3045 #167 Security Report : Cross-Site Scripting 오류 해결 (P0cas님,220311) 2022-03-11 11:01:15 +09:00
kagla 4ad2f60c34 [보안패치] KVE-2021-1987_그누보드(영카트)preauth SQL Injection 취약점 해결, shop/event.php 를 거쳐서 접근하도록 수정 2022-03-07 16:45:23 +09:00
kagla 1a12ee8d2c Merge branch 'v554' into develop 2022-03-07 15:42:42 +09:00
kaglaandGitHub 0253508cd0 Merge pull request #81 from whitedot/ui-fix
UI 수정사항 반영
2022-03-07 14:56:43 +09:00
kaglaandGitHub d602b5e0c6 Merge pull request #150 from loves2tu/google-feed
구글 판매자센터 피드
2022-03-07 14:46:38 +09:00
kaglaandGitHub fff191fc60 Merge pull request #156 from seeoya/inicert
#155 버튼 스타일 변경
2022-03-07 14:41:14 +09:00
kaglaandGitHub b1d22acba8 Merge pull request #158 from 39hn/master
일부 모바일 페이지에서 테마 파일 체크 오류 수정
2022-03-07 14:34:52 +09:00
kaglaandGitHub eba2f45b6c Merge pull request #166 from seeoya/master
다음 쇼핑하우 URL 수정
2022-03-07 14:29:35 +09:00
kagla 1174193b43 버전 5.5.3.1 수정 2022-03-07 09:26:07 +09:00
kagla 07631e70d8 Fatal error: Uncaught Error: Undefined constant "get_session" 아이핀 사용시에 발생하는 치명적인 오류 수정 (미뜨아님,220307) 2022-03-07 09:24:35 +09:00
kagla 203ca4a8a2 버전 5.5.3 2022-03-04 11:15:36 +09:00
kagla 7d7c90bd84 Merge branch 'v5.5.3' 2022-03-04 10:59:05 +09:00
kagla 3e31ce3084 Merge branch 'toss' into v5.5.3 2022-03-04 10:58:27 +09:00
kagla 1123b667af Merge branch 'google_price' into v5.5.3 2022-03-04 10:57:12 +09:00
kagla 694e039b03 1:1문의 등에서 url 오류가 발생하여 사용하지 않는 것으로 추정되는 코드 주석 처리 (작은별님,220304) 2022-03-04 10:47:51 +09:00
kagla 432bf47757 영카트 쇼핑몰 설정 업데이트시 누락되었다고 추정되는 곳에 HOOK 코드 추가 (드렁크수달님,220303 2022-03-03 16:56:46 +09:00
kagla 430586e490 주문내역수정의 결제대행사 링크에 표시되는 LG유플러스를 토스페이먼츠로 수정 (해피정님,220303) 2022-03-03 16:27:42 +09:00
seeoya 95964e3aec G5-40 다음 쇼핑하우 URL 수정 2022-03-02 14:08:48 +09:00
kagla 40cd0362c1 Merge remote-tracking branch 'origin/google_price' into google_price 2022-02-28 16:21:02 +09:00
kagla 53b3308019 코리아크레딧뷰로 KCB 서비스 신청 중단, 기존 사용자님들을 위해 회원사ID 입력 박스만 유지 2022-02-28 16:02:13 +09:00
kagla e0bc3cce81 토스페이먼츠 휴대폰 본인확인 서비스 종료에 따른 설정 수정 2022-02-28 12:25:58 +09:00
kagla 3d57480fef 설치시 누락되어 있던 필수 필드 추가 2022-02-28 11:40:27 +09:00
kagla ff2421df5b 메뉴 삭제시 메뉴설정의 확인 버튼을 눌러 저장해야 한다는 메세지 추가 2022-02-23 16:50:00 +09:00
kagla 3247ae2388 mysqli_connect 오류시 "MySQL Host, User, Password, DB 정보에 오류가 있습니다." 메시지 출력 2022-02-23 16:48:41 +09:00
kagla 36baa2a6ab PHP8에서 Undefined array key "code" 오류 해결 2022-02-23 16:47:33 +09:00
39hn 967b7cca18 일부 모바일 페이지에서 테마 파일 체크 오류 수정 2022-01-28 09:50:00 +09:00
seeoya ff74503bac #155 버튼 스타일 변경 2022-01-24 14:16:30 +09:00
loves2tu b8223d4409 구글 판매자센터 피드
- 상품 adult 관련 추가 수정
2022-01-19 06:16:31 +00:00
kaglaandGitHub 352f77d1d7 Merge pull request #135 from loves2tu/google-feed
구글 판매자센터 피드 xml 생성코드입니다.
2022-01-19 14:10:54 +09:00
loves2tu d930791504 구글 판매자센터 피드
- 구글 쇼핑 파일이름, 파일 URL 관련 수정
2022-01-04 07:41:39 +00:00
loves2tu 57fc5353f1 구글 판매자센터 피드
- 테스트용 피드 삭제
2022-01-04 06:12:21 +00:00
seeoya 2fc24b0746 구글 판매자센터 피드 항목 추가 2022-01-03 03:16:32 +00:00
loves2tu ebdd3b4390 구글 판매자센터 피드
- availability, adult 네임스페이스(g) 추가
2021-12-31 06:44:44 +00:00
loves2tu 4227039811 구글 판매자센터 피드
- 모든 옵션재고 중 1이상의 재고가 존재하는 경우 : in_stock
2021-12-31 06:32:14 +00:00
loves2tu 754b25191f Revert "구글 판매자센터 피드"
This reverts commit 8fbbae488b.
2021-12-31 06:18:08 +00:00
loves2tu 8fbbae488b 구글 판매자센터 피드
- 상품의 재고 & 상품옵션의 재고에 따른 재고값 수정
2021-12-31 06:03:15 +00:00
loves2tu d97f27f2fa 구글 판매자센터 피드
- 상품 재고에 따른 out_of_stock 변경
2021-12-30 08:37:12 +00:00
loves2tu bddbcd5cdd 구글 판매자센터 피드
- query 수정 (table 조회 오류)
2021-12-30 05:42:30 +00:00
loves2tu 4c297a1e53 구글 판매자센터 피드
- 반복문 변수 오류 수정
2021-12-30 05:04:36 +00:00
loves2tu c82c33fc59 구글 판매자센터 피드
- 이미지 img1~10 존재여부 확인 후  image_link 생성
2021-12-29 06:29:16 +00:00
loves2tu f25354b1b2 구글 판매자센터 피드
- 예외처리 추가 (it_id, it_name)
2021-12-28 05:46:48 +00:00
loves2tu daffdcbfce 구글 판매자센터 피드
- 다중카테도리 관련 성인인증 처리 수정
2021-12-28 05:16:19 +00:00
loves2tu 322e5cf83a 구글 판매자센터 피드
- 성인인증관련 category 조회 query 추가
2021-12-28 03:08:28 +00:00
loves2tu 7a2c29f192 구글 판매자센터 피드
- query 수정
 - 예외처리 추가
2021-12-27 05:56:08 +00:00
loves2tu 98b085e73e 구글 판매자센터 피드
- query 수정중
2021-12-23 02:09:11 +00:00
loves2tu 8faa9ba9a2 구글 판매자센터 피드
- echo xml 생성 관련 코드 적용 중
2021-12-21 07:58:42 +00:00
loves2tu f7aac7c467 구글 판매자센터 피드
- 상품 관련 query 작업중
2021-12-21 04:40:23 +00:00
whitedot c9fb4ff9d1 UI : 옵션 없는 상품에서 수량 변경할 때 UI 일관되게 표시되도록 수정 2021-07-07 16:46:06 +09:00
whitedot 6b52f0570d UI : 최신글 스킨 스타일시트에서 중복되는 속성값 제거 2021-07-07 16:34:10 +09:00
79 changed files with 567 additions and 257 deletions
+22
View File
@@ -7,4 +7,26 @@ if( isset($token) ){
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
}
if( ! function_exists('check_data_htaccess_file') ) {
function check_data_htaccess_file() {
$save_path = G5_DATA_PATH.'/.htaccess';
if( file_exists($save_path) && is_writable($save_path) ) {
$code = file_get_contents($save_path);
$add_code = 'RedirectMatch 403 /session/.*';
if( strpos($code, $add_code) === false ){
$fp = fopen($save_path, "ab");
flock( $fp, LOCK_EX );
fwrite( $fp, "\n\n" );
fwrite( $fp, $add_code );
fwrite( $fp, "\n\n" );
flock( $fp, LOCK_UN );
fclose($fp);
}
}
}
check_data_htaccess_file();
}
run_event('admin_common');
+1 -18
View File
@@ -883,7 +883,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<?php echo option_selected("", $config['cf_cert_hp'], "사용안함"); ?>
<?php echo option_selected("kcb", $config['cf_cert_hp'], "코리아크레딧뷰로(KCB) 휴대폰 본인확인"); ?>
<?php echo option_selected("kcp", $config['cf_cert_hp'], "NHN KCP 휴대폰 본인확인"); ?>
<?php echo option_selected("lg", $config['cf_cert_hp'], "LG유플러스 휴대폰 본인확인"); ?>
</select>
</td>
</tr>
@@ -914,8 +913,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcb_cd">코리아크레딧뷰로<br>KCB 회원사ID</label></th>
<td class="cf_cert_service">
<?php echo help('KCB 회원사ID를 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, KCB와 계약체결 후 회원사ID를 발급 받으실 수 있습니다.<br>이용하시려는 서비스에 대한 계약을 아이핀, 휴대폰 본인확인 각각 체결해주셔야 합니다.<br>아이핀 본인확인 테스트의 경우에는 KCB 회원사ID가 필요 없으나,<br>휴대폰 본인확인 테스트의 경우 KCB 에서 따로 발급 받으셔야 합니다.') ?>
<input type="text" name="cf_cert_kcb_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcb_cd']); ?>" id="cf_cert_kcb_cd" class="frm_input" size="20"> <a href="http://sir.kr/main/service/b_ipin.php" target="_blank" class="btn_frmline">KCB 아이핀 서비스 신청페이지</a>
<a href="http://sir.kr/main/service/b_cert.php" target="_blank" class="btn_frmline">KCB 휴대폰 본인확인 서비스 신청페이지</a>
<input type="text" name="cf_cert_kcb_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcb_cd']); ?>" id="cf_cert_kcb_cd" class="frm_input" size="20">
</td>
</tr>
<tr>
@@ -926,21 +924,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<input type="text" name="cf_cert_kcp_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcp_cd']); ?>" id="cf_cert_kcp_cd" class="frm_input" size="3"> <a href="http://sir.kr/main/service/p_cert.php" target="_blank" class="btn_frmline">NHN KCP 휴대폰 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_lg_mid">LG유플러스 상점아이디</label></th>
<td class="cf_cert_service">
<?php echo help('LG유플러스 상점아이디 중 si_를 제외한 나머지 아이디만 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, 본인확인 서비스 신청페이지에서 서비스 신청 후 상점아이디를 발급 받으실 수 있습니다.<br><strong>LG유플러스 휴대폰본인확인은 ActiveX 설치가 필요하므로 Internet Explorer 에서만 사용할 수 있습니다.</strong>') ?>
<span class="sitecode">si_</span>
<input type="text" name="cf_lg_mid" value="<?php echo get_sanitize_input($config['cf_lg_mid']); ?>" id="cf_lg_mid" class="frm_input" size="20"> <a href="http://sir.kr/main/service/lg_cert.php" target="_blank" class="btn_frmline">LG유플러스 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_lg_mert_key">LG유플러스 MERT KEY</label></th>
<td class="cf_cert_service">
<?php echo help('LG유플러스 상점MertKey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실 수 있습니다.') ?>
<input type="text" name="cf_lg_mert_key" value="<?php echo get_sanitize_input($config['cf_lg_mert_key']); ?>" id="cf_lg_mert_key" class="frm_input" size="40">
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_limit">본인확인 이용제한</label></th>
<td class="cf_cert_service">
+1 -3
View File
@@ -22,7 +22,7 @@ check_admin_token();
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret','cf_cert_kg_cd','cf_cert_kg_mid');
$check_keys = array('cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret','cf_cert_kg_cd','cf_cert_kg_mid');
foreach( $check_keys as $key ){
if ( isset($_POST[$key]) && $_POST[$key] ){
@@ -285,8 +285,6 @@ $sql = " update {$g5['config_table']}
cf_cert_kg_mid = '".trim($_POST['cf_cert_kg_mid'])."',
cf_cert_kcb_cd = '{$_POST['cf_cert_kcb_cd']}',
cf_cert_kcp_cd = '{$_POST['cf_cert_kcp_cd']}',
cf_lg_mid = '{$_POST['cf_lg_mid']}',
cf_lg_mert_key = '{$_POST['cf_lg_mert_key']}',
cf_cert_limit = '{$_POST['cf_cert_limit']}',
cf_cert_req = '{$_POST['cf_cert_req']}',
cf_sms_use = '{$_POST['cf_sms_use']}',
+1 -1
View File
@@ -140,7 +140,7 @@ $(function() {
});
$(document).on("click", ".btn_del_menu", function() {
if(!confirm("메뉴를 삭제하시겠습니까?"))
if(!confirm("메뉴를 삭제하시겠습니까?\n메뉴 삭제후 메뉴설정의 확인 버튼을 눌러 메뉴를 저장해 주세요."))
return false;
var $tr = $(this).closest("tr");
+1 -1
View File
@@ -15,7 +15,7 @@ sql_query($sql);
$group_code = null;
$primary_code = null;
$count = count($_POST['code']);
$count = isset($_POST['code']) ? count($_POST['code']) : 0;
for ($i=0; $i<$count; $i++)
{
+2
View File
@@ -9,4 +9,6 @@ if (!defined('G5_USE_SHOP') || !G5_USE_SHOP)
include_once(G5_ADMIN_PATH.'/admin.lib.php');
include_once('./admin.shop.lib.php');
run_event('admin_common');
check_order_inicis_tmps();
-2
View File
@@ -157,7 +157,6 @@ else {
<form name="fcategoryform" action="./categoryformupdate.php" onsubmit="return fcategoryformcheck(this);" method="post" enctype="multipart/form-data">
<input type="hidden" name="codedup" value="<?php echo $default['de_code_dup_use']; ?>">
<input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="sst" value="<?php echo $sst; ?>">
<input type="hidden" name="sod" value="<?php echo $sod; ?>">
@@ -184,7 +183,6 @@ else {
<?php if ($w == "") { ?>
<?php echo help("자동으로 보여지는 분류코드를 사용하시길 권해드리지만 직접 입력한 값으로도 사용할 수 있습니다.\n분류코드는 나중에 수정이 되지 않으므로 신중하게 결정하여 사용하십시오.\n\n분류코드는 2자리씩 10자리를 사용하여 5단계를 표현할 수 있습니다.\n0~z까지 입력이 가능하며 한 분류당 최대 1296가지를 표현할 수 있습니다.\n그러므로 총 3656158440062976가지의 분류를 사용할 수 있습니다."); ?>
<input type="text" name="ca_id" value="<?php echo $subid; ?>" id="ca_id" required class="required frm_input" size="<?php echo $sublen; ?>" maxlength="<?php echo $sublen; ?>">
<!-- <?php if ($default['de_code_dup_use']) { ?><a href="javascript:;" onclick="codedupcheck(document.getElementById('ca_id').value)">코드 중복검사</a><?php } ?> -->
<?php } else { ?>
<input type="hidden" name="ca_id" value="<?php echo $ca['ca_id']; ?>">
<span class="frm_ca_id"><?php echo $ca['ca_id']; ?></span>
-24
View File
@@ -1,24 +0,0 @@
<?php
include_once('./_common.php');
$it_id = isset($it_id) ? clean_xss_tags(trim($it_id)) : '';
$ca_id = isset($ca_id) ? clean_xss_tags(trim($ca_id)) : '';
$code = '';
$name = '';
if ($it_id)
{
$row = get_shop_item($it_id, true);
$code = $it_id;
$name = $row['it_name'];
}
else if ($ca_id)
{
$sql = " select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
$row = sql_fetch($sql);
$code = $ca_id;
$name = $row['ca_name'];
}
echo '{ "code": "' . $code . '", "name": "' . $name . '" }';
-7
View File
@@ -1398,13 +1398,6 @@ if(!$default['de_kakaopay_cancelpwd']){
<?php echo get_member_level_select('de_level_sell', 1, 10, $default['de_level_sell']); ?>
</td>
</tr>
<tr>
<th scope="row"><label for="de_code_dup_use">코드 중복검사</label></th>
<td>
<?php echo help("분류, 상품 등을 추가할 때 자동으로 코드 중복검사를 하려면 체크하십시오."); ?>
<input type="checkbox" name="de_code_dup_use" value="1" id="de_code_dup_use"<?php echo $default['de_code_dup_use']?' checked':''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="de_cart_keep_term">장바구니 보관기간</label></th>
<td>
+2
View File
@@ -458,6 +458,8 @@ $sql = " update {$g5['config_table']}
cf_lg_mert_key = '{$cf_lg_mert_key}' ";
sql_query($sql);
run_event('shop_admin_configformupdate');
if( $warning_msg ){
alert($warning_msg, "./configform.php");
} else {
-33
View File
@@ -210,7 +210,6 @@ if(!sql_query(" select it_skin from {$g5['g5_shop_item_table']} limit 1", false)
<form name="fitemform" action="./itemformupdate.php" method="post" enctype="MULTIPART/FORM-DATA" autocomplete="off" onsubmit="return fitemformcheck(this)">
<input type="hidden" name="codedup" value="<?php echo $default['de_code_dup_use']; ?>">
<input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
<input type="hidden" name="sst" value="<?php echo $sst; ?>">
@@ -333,11 +332,8 @@ if(!sql_query(" select it_skin from {$g5['g5_shop_item_table']} limit 1", false)
<th scope="row">상품코드</th>
<td colspan="2">
<?php if ($w == '') { // 추가 ?>
<!-- 최근에 입력한 코드(자동 생성시)가 목록의 상단에 출력되게 하려면 아래의 코드로 대체하십시오. -->
<!-- <input type=text class=required name=it_id value="<?php echo 10000000000-time()?>" size=12 maxlength=10 required> <a href='javascript:;' onclick="codedupcheck(document.all.it_id.value)"><img src='./img/btn_code.gif' border=0 align=absmiddle></a> -->
<?php echo help("상품의 코드는 10자리 숫자로 자동생성합니다. <b>직접 상품코드를 입력할 수도 있습니다.</b>\n상품코드는 영문자, 숫자, - 만 입력 가능합니다."); ?>
<input type="text" name="it_id" value="<?php echo time(); ?>" id="it_id" required class="frm_input required" size="20" maxlength="20">
<!-- <?php if ($default['de_code_dup_use']) { ?><button type="button" class="btn_frmline" onclick="codedupcheck(document.all.it_id.value)">중복검사</a><?php } ?> -->
<?php } else { ?>
<input type="hidden" name="it_id" value="<?php echo $it['it_id']; ?>">
<span class="frm_ca_id"><?php echo $it['it_id']; ?></span>
@@ -1782,35 +1778,6 @@ $(function() {
});
<?php } ?>
function codedupcheck(id)
{
if (!id) {
alert('상품코드를 입력하십시오.');
f.it_id.focus();
return;
}
var it_id = id.replace(/[A-Za-z0-9\-_]/g, "");
if(it_id.length > 0) {
alert("상품코드는 영문자, 숫자, -, _ 만 사용할 수 있습니다.");
return false;
}
$.post(
"./codedupcheck.php",
{ it_id: id },
function(data) {
if(data.name) {
alert("코드 '"+data.code+"' 는 '".data.name+"' (으)로 이미 등록되어 있으므로\n\n사용하실 수 없습니다.");
return false;
} else {
alert("'"+data.code+"' 은(는) 등록된 코드가 없으므로 사용하실 수 있습니다.");
document.fitemform.codedup.value = '';
}
}, "json"
);
}
function fitemformcheck(f)
{
if (!f.ca_id.value) {
+1 -1
View File
@@ -505,7 +505,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
switch($od['od_pg']) {
case 'lg':
$pg_url = 'http://pgweb.uplus.co.kr';
$pg_test = 'LG유플러스';
$pg_test = '토스페이먼츠';
if ($default['de_card_test']) {
$pg_url = 'http://pgweb.uplus.co.kr/tmert';
$pg_test .= ' 테스트 ';
+20 -2
View File
@@ -33,7 +33,7 @@ $pg_anchor = '<ul class="anchor">
<p>사이트 명을 클릭하시면 해당 사이트로 이동합니다.</p>
<dl class="price_engine">
<dt><a href="http://shopping.naver.com/" target="_blank">네이버 지식쇼핑</a></dt>
<dt><a href="http://shopping.naver.com/" target="_blank">네이버쇼핑</a></dt>
<dd>
<ul>
<li>입점 안내 : <a href="http://join.shopping.naver.com/join/intro.nhn" target="_blank">http://join.shopping.naver.com/join/intro.nhn</a></li>
@@ -41,10 +41,28 @@ $pg_anchor = '<ul class="anchor">
<li>요약상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/naver_summary.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/naver_summary.php</a></li>
</ul>
</dd>
<dt><a href="" target="_blank">구글 쇼핑</a></dt>
<dd>
<ul>
<li>구글 Merchant Center : <a href="https://www.google.com/intl/ko_kr/retail/solutions/merchant-center" target="_blank">https://www.google.com/intl/ko_kr/retail/solutions/merchant-center</a></li>
<li>파일 이름 : google_feed.php</a></li>
<li>파일 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/google_feed.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/google_feed.php</a></li>
</ul>
</dd>
<dt>Feed 설명</dt>
<dd>
<ul>
<li>판매국가 <b>대한민국</b>, 언어 <b>한국어</b> 설정 기준입니다.</li>
<li>기본 피드 이름 : 쇼핑몰피드</li>
<li>상품 설명 : <b>it_basic</b> (상품기본설명을 필수 입력해주세요. HTML 태그는 자동 제거됩니다.)</li>
</ul>
</dd>
<dt><a href="http://shopping.daum.net/" target="_blank">다음 쇼핑하우</a></dt>
<dd>
<ul>
<li>입점 안내 : <a href="http://commerceone.biz.daum.net/join/intro.daum" target="_blank">http://commerceone.biz.daum.net/join/intro.daum</a></li>
<li>입점 안내 : <a href="https://shopping.biz.daum.net/join/main" target="_blank">https://shopping.biz.daum.net/join/main</a></li>
<li>전체상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/daum.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/daum.php</a></li>
<li>요약상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/daum_summary.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/daum_summary.php</a></li>
</ul>
+1 -1
View File
@@ -42,7 +42,7 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
$sql_certify .= " , mb_sex = '".get_session+('ss_cert_sex')."' ";
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
$sql_certify .= " , mb_name = '{$mb_name}' ";
} else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
+6 -7
View File
@@ -4,15 +4,14 @@ include_once('./_common.php');
if ($is_guest)
alert('로그인 한 회원만 접근하실 수 있습니다.', G5_BBS_URL.'/login.php');
/*
if ($url)
$urlencode = urlencode($url);
else
$urlencode = urlencode($_SERVER[REQUEST_URI]);
*/
$url = isset($_GET['url']) ? clean_xss_tags($_GET['url']) : '';
while (1) {
$tmp = preg_replace('/&#[^;]+;/', '', $url);
if ($tmp == $url) break;
$url = $tmp;
}
//소셜 로그인 한 경우
if( function_exists('social_member_comfirm_redirect') && (! $url || $url === 'register_form.php' || (function_exists('social_is_edit_page') && social_is_edit_page($url) ) ) ){
social_member_comfirm_redirect();
+1 -2
View File
@@ -16,8 +16,7 @@ if ($kind == 'recv')
else if ($kind == 'send')
$unkind = 'recv';
else {
$kind = clean_xss_tags(trim($kind));
alert(''.$kind .'값을 넘겨주세요.');
alert("kind 변수 값이 올바르지 않습니다.");
}
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
+18 -14
View File
@@ -1,27 +1,31 @@
<?php
include_once('./_common.php');
if($w == '')
$mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';
else
alert('잘못된 접근입니다', G5_URL);
$mb_id = isset($_SESSION['ss_cert_mb_id']) ? trim(get_session('ss_cert_mb_id')) : '';
$mb_dupinfo = isset($_SESSION['ss_cert_dupinfo']) ? trim(get_session('ss_cert_dupinfo')) : '';
if(!$mb_id)
alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');
if(!$mb_id) alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.', G5_URL);
if(!$mb_dupinfo) alert('잘못된 접근입니다.', G5_URL);
$mb_check = sql_fetch("select * from {$g5['member_table']} where mb_id = '{$mb_id}' AND mb_dupinfo = '{$mb_dupinfo}'");
if(!$mb_check) alert('잘못된 접근입니다.', G5_URL);
$mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password_re']) : '';
$mb_password_re = isset($_POST['mb_password_re']) ? trim($_POST['mb_password_re']) : '';
if ($w == '' && !$mb_password)
alert('비밀번호가 넘어오지 않았습니다.');
if($w == '' && $mb_password != $mb_password_re)
alert('비밀번호가 일치하지 않습니다.');
if (!$mb_password)
alert('비밀번호가 넘어오지 않았습니다.');
if ($mb_password != $mb_password_re)
alert('비밀번호가 일치하지 않습니다.');
$sql_password = "";
if ($mb_password)
$sql_password = "mb_password = '".get_encrypt_string($mb_password)."' ";
$sql_password = "mb_password = '".get_encrypt_string($mb_password)."' ";
sql_query("update {$g5['member_table']} set {$sql_password} where mb_id = '{$mb_id}'");
sql_query("update {$g5['member_table']} set {$sql_password} where mb_id = '{$mb_id}' AND mb_dupinfo = '{$mb_dupinfo}'");
set_session('ss_cert_mb_id', '');
set_session('ss_cert_dupinfo', '');
goto_url(G5_BBS_URL.'/login.php');
+1 -1
View File
@@ -223,7 +223,7 @@ for ($i=1; $i<=$upload_count; $i++) {
$shuffle = implode('', $chars_array);
// 첨부파일 첨부시 첨부파일명에 공백이 포함되어 있으면 일부 PC에서 보이지 않거나 다운로드 되지 않는 현상이 있습니다. (길상여의 님 090925)
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$upload[$i]['file'] = md5(sha1($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$dest_file = G5_DATA_PATH.'/qa/'.$upload[$i]['file'];
+1 -1
View File
@@ -181,7 +181,7 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
$sql_certify .= " , mb_sex = '".get_session+('ss_cert_sex')."' ";
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
+6 -3
View File
@@ -221,6 +221,9 @@ if (!isset($_POST['wr_subject']) || !trim($_POST['wr_subject']))
$wr_seo_title = exist_seo_title_recursive('bbs', generate_seo_title($wr_subject), $write_table, $wr_id);
$options = array($html,$secret,$mail);
$wr_option = implode(',', array_filter($options, function($v) { return trim($v); }));
if ($w == '' || $w == 'r') {
if ($member['mb_id']) {
@@ -258,7 +261,7 @@ if ($w == '' || $w == 'r') {
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_seo_title = '$wr_seo_title',
@@ -380,7 +383,7 @@ if ($w == '' || $w == 'r') {
$sql = " update {$write_table}
set ca_name = '{$ca_name}',
wr_option = '{$html},{$secret},{$mail}',
wr_option = '{$wr_option}',
wr_subject = '{$wr_subject}',
wr_content = '{$wr_content}',
wr_seo_title = '$wr_seo_title',
@@ -567,7 +570,7 @@ if(isset($_FILES['bf_file']['name']) && is_array($_FILES['bf_file']['name'])) {
$shuffle = implode('', $chars_array);
// 첨부파일 첨부시 첨부파일명에 공백이 포함되어 있으면 일부 PC에서 보이지 않거나 다운로드 되지 않는 현상이 있습니다. (길상여의 님 090925)
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$upload[$i]['file'] = md5(sha1($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$dest_file = G5_DATA_PATH.'/file/'.$bo_table.'/'.$upload[$i]['file'];
+11 -3
View File
@@ -208,7 +208,8 @@ if (file_exists($dbconfig_file)) {
@ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음
@ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
session_save_path(G5_SESSION_PATH);
// 세션파일 저장 디렉토리를 지정할 경우
// session_save_path(G5_SESSION_PATH);
if (isset($SESSION_CACHE_LIMITER))
@session_cache_limiter($SESSION_CACHE_LIMITER);
@@ -232,8 +233,15 @@ function chrome_domain_session_name(){
'.maru.net', // 마루호스팅
);
if(isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5PHPSESSID');
$add_str = '';
$document_root_path = str_replace('\\', '/', realpath($_SERVER['DOCUMENT_ROOT']));
if( G5_PATH !== $document_root_path ){
$add_str = substr_count(G5_PATH, '/').basename(dirname(__FILE__));
}
if($add_str || (isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])) ){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5'.$add_str.'PHPSESSID');
@session_name(G5_SESSION_NAME);
}
}
+2 -1
View File
@@ -229,7 +229,8 @@ define('G5_VISIT_BROWSCAP_USE', false);
*/
define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') { //https 통신일때 daum 주소 js
if ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ||
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO']==='https')) { //https 통신일때 daum 주소 js
define('G5_POSTCODE_JS', '<script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script>');
} else { //http 통신일때 daum 주소 js
define('G5_POSTCODE_JS', '<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>');
+1 -1
View File
@@ -272,7 +272,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
+2 -2
View File
@@ -329,7 +329,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
a.btn_frmline {line-height:24px}
@@ -752,7 +752,7 @@ box-shadow: 1px 2px 2px #eee;}
#sod_frm_taker .tbl_frm01 .choice_place input[type="radio"] + label span {top:7px}
#sod_frm_taker .tbl_frm01 .choice_place input,
#sod_frm_taker .tbl_frm01 .choice_place label {margin-left:10px}
#sod_frm_taker .tbl_frm01 .btn_frmline {width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right}
#sod_frm_taker .tbl_frm01 .btn_frmline {padding:0;width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right}
#sod_frm_taker .tbl_frm01 td input {width:100%}
#sod_frm_taker .tbl_frm01 td .addr input {width:20%}
+1 -1
View File
@@ -43,7 +43,7 @@ header("Pragma: no-cache"); // HTTP/1.0
<meta charset="utf-8">
<?php
if (G5_IS_MOBILE) {
echo '<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10">'.PHP_EOL;
echo '<meta name="viewport" id="meta_viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10">'.PHP_EOL;
echo '<meta name="HandheldFriendly" content="true">'.PHP_EOL;
echo '<meta name="format-detection" content="telephone=no">'.PHP_EOL;
} else {
+1
View File
@@ -303,6 +303,7 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
`cf_icode_pw` varchar(255) NOT NULL DEFAULT '',
`cf_icode_server_ip` varchar(50) NOT NULL DEFAULT '',
`cf_icode_server_port` varchar(50) NOT NULL DEFAULT '',
`cf_icode_token_key` varchar(100) NOT NULL DEFAULT '',
`cf_googl_shorturl_apikey` varchar(50) NOT NULL DEFAULT '',
`cf_social_login_use` tinyint(4) NOT NULL DEFAULT '0',
`cf_social_servicelist` varchar(255) NOT NULL DEFAULT '',
+1
View File
@@ -353,6 +353,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` (
`de_inicis_sign_key` varchar(255) NOT NULL DEFAULT '',
`de_iche_use` tinyint(4) NOT NULL DEFAULT '0',
`de_easy_pay_use` tinyint(4) NOT NULL DEFAULT '0',
`de_easy_pay_services` varchar(255) NOT NULL DEFAULT '',
`de_samsung_pay_use` tinyint(4) NOT NULL DEFAULT '0',
`de_inicis_lpay_use` tinyint(4) NOT NULL DEFAULT '0',
`de_inicis_kakaopay_use` tinyint(4) NOT NULL DEFAULT '0',
+1
View File
@@ -648,6 +648,7 @@ $str = <<<EOD
Order allow,deny
Deny from all
</FilesMatch>
RedirectMatch 403 /session/.*
EOD;
fwrite($f, $str);
fclose($f);
+7
View File
@@ -373,6 +373,10 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
return false;
}
// 핀치 줌 현상 제거
var vContent = "width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10";
$("#meta_viewport").attr("content", vContent + ",user-scalable=no");
var zip_case = 1; //0이면 레이어, 1이면 페이지에 끼워 넣기, 2이면 새창
var complete_fn = function(data){
@@ -418,6 +422,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
}
setTimeout(function(){
$("#meta_viewport").attr("content", vContent);
of[frm_addr2].focus();
} , 100);
};
@@ -435,6 +440,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
jQuery('form[name="'+frm_name+'"]').find('input[name="'+frm_addr1+'"]').before(element_wrap);
jQuery("#"+daum_pape_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
e.preventDefault();
$("#meta_viewport").attr("content", vContent);
jQuery(this).parent().hide();
});
}
@@ -478,6 +484,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
document.body.appendChild(element_layer);
jQuery("#"+rayer_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
e.preventDefault();
$("#meta_viewport").attr("content", vContent);
jQuery(this).parent().hide();
});
}
+1 -1
View File
@@ -480,7 +480,7 @@ function price_calculate()
}
});
$("#sit_tot_price").empty().html("<span>총 금액 :</span> "+number_format(String(total))+"원");
$("#sit_tot_price").empty().html("<span>총 금액 :</span><strong>"+number_format(String(total))+"</strong> 원");
$("#sit_tot_price").trigger("price_calculate", [total]);
}
+1 -1
View File
@@ -159,7 +159,7 @@ jQuery(function($){
}
});
$("#sit_tot_price").empty().html("<span>총 금액 </span><strong>"+number_format(String(total))+"</strong> 원");
$("#sit_tot_price").empty().html("<span>총 금액 :</span><strong>"+number_format(String(total))+"</strong> 원");
$("#sit_tot_price").trigger("price_calculate", [total]);
} else {
+13 -5
View File
@@ -1527,7 +1527,7 @@ function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
global $g5;
if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
$link = mysqli_connect($host, $user, $pass, $db);
$link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.');
// 연결 오류 발생 시 스크립트 종료
if (mysqli_connect_errno()) {
@@ -3076,6 +3076,9 @@ function get_search_string($stx)
// XSS 관련 태그 제거
function clean_xss_tags($str, $check_entities=0, $is_remove_tags=0, $cur_str_len=0)
{
// tab('\t'), formfeed('\f'), vertical tab('\v'), newline('\n'), carriage return('\r') 를 제거한다.
$str = preg_replace("#[\t\f\v\n\r]#", '', $str);
if( $is_remove_tags ){
$str = strip_tags($str);
}
@@ -3337,6 +3340,11 @@ function check_url_host($url, $msg='', $return_url=G5_URL, $is_redirect=false)
if(!$msg)
$msg = 'url에 타 도메인을 지정할 수 없습니다.';
// KVE-2021-1277 Open Redirect 취약점 해결
if (preg_match('#\\\0#', $url)) {
alert('url 에 올바르지 않은 값이 포함되어 있습니다.');
}
$url = urldecode($url);
$p = @parse_url(trim($url));
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
@@ -3358,10 +3366,10 @@ function check_url_host($url, $msg='', $return_url=G5_URL, $is_redirect=false)
}
}
if(stripos($url, 'http:') !== false) {
if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
alert('url 정보가 올바르지 않습니다.', $return_url);
}
// if(stripos($url, 'http:') !== false) {
// if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
// alert('url 정보가 올바르지 않습니다.', $return_url);
// }
//php 5.6.29 이하 버전에서는 parse_url 버그가 존재함
//php 7.0.1 ~ 7.0.5 버전에서는 parse_url 버그가 존재함
+2
View File
@@ -1,5 +1,7 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once('./_common.php');
if (!defined('_SHOP_COMMON_')) exit; // 모바일 페이지로 직접 접근하는 것을 막음
$ev_id = isset($_GET['ev_id']) ? (int) $_GET['ev_id'] : 0;
+1 -1
View File
@@ -40,7 +40,7 @@ $sql = " select count(*) as cnt
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$rows = $config['cf_mobile_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
+1 -1
View File
@@ -40,7 +40,7 @@ $sql = " select count(*) as cnt
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$rows = $config['cf_mobile_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
+1 -1
View File
@@ -2,7 +2,7 @@
// 해당 페이지는 사용자가 ISP{국민/BC) 카드 결제를 성공하였을 때, 사용자에게 보여지는 페이지입니다.
include_once('./_common.php');
$LGD_OID = $_GET['LGD_OID'];
$LGD_OID = clean_xss_tags($_GET['LGD_OID']);
echo "LGD_OID = ".$LGD_OID;
+1 -1
View File
@@ -2,7 +2,7 @@
include_once('./_common.php');
// 테마에 mypage.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_mypage_file = G5_THEME_MSHOP_PATH.'/mypage.php';
if(is_file($theme_mypage_file)) {
include_once($theme_mypage_file);
+1 -1
View File
@@ -49,7 +49,7 @@ if ($total_count == 0)
alert('주문이 존재하지 않습니다.');
}
$rows = $config['cf_page_rows'];
$rows = $config['cf_mobile_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
+1 -1
View File
@@ -4,7 +4,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!defined("_ORDERINQUIRY_")) exit; // 개별 페이지 접근 불가
// 테마에 orderinquiry.sub.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_inquiry_file = G5_THEME_MSHOP_PATH.'/orderinquiry.sub.php';
if(is_file($theme_inquiry_file)) {
include_once($theme_inquiry_file);
+1 -1
View File
@@ -2,7 +2,7 @@
include_once('./_common.php');
// 테마에 orderinquiryview.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_inquiryview_file = G5_THEME_MSHOP_PATH.'/orderinquiryview.php';
if(is_file($theme_inquiryview_file)) {
include_once($theme_inquiryview_file);
+1 -1
View File
@@ -2,7 +2,7 @@
include_once('./_common.php');
// 테마에 wishlist.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_wishlist_file = G5_THEME_MSHOP_PATH.'/wishlist.php';
if(is_file($theme_wishlist_file)) {
include_once($theme_wishlist_file);
@@ -12,7 +12,8 @@ add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css"
<fieldset id="info_fs">
<p>새로운 비밀번호를 입력해주세요.</p>
<label for="mb_id" class="sound_only">아이디</label>
<input type="text" name="mb_id" id="mb_id" value="<?php echo $_POST['mb_id']; ?>" required class="required frm_input full_input" size="30" placeholder="아이디" readonly>
<br>
<b>회원 아이디 : <?php echo $_POST['mb_id']; ?></b>
<label for="mb_pw" class="sound_only">새 비밀번호<strong class="sound_only">필수</strong></label>
<input type="password" name="mb_password" id="mb_pw" required class="required frm_input full_input" size="30" placeholder="새 비밀번호">
<label for="mb_pw2" class="sound_only">새 비밀번호 확인<strong class="sound_only">필수</strong></label>
@@ -47,6 +47,8 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<ul>
<li>
<?php
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
$desc_name = ' - 본인확인 시 자동입력';
$desc_phone = ' - 본인확인 시 자동입력';
+16
View File
@@ -50,6 +50,22 @@ if ($_POST["resultCode"] === "0000") {
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
//set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
} else {
// 인증실패 curl의 인증실패 체크
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
+9 -3
View File
@@ -274,9 +274,15 @@ function chk_captcha()
return false;
}
if (!isset($_POST['captcha_key'])) return false;
if (!trim($_POST['captcha_key'])) return false;
if ($_POST['captcha_key'] != get_session('ss_captcha_key')) {
$post_captcha_key = (isset($_POST['captcha_key']) && $_POST['captcha_key']) ? trim($_POST['captcha_key']) : '';
if (!trim($post_captcha_key)) return false;
if( $post_captcha_key && function_exists('get_string_encrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$post_captcha_key = get_string_encrypt($ip.$post_captcha_key);
}
if ($post_captcha_key != get_session('ss_captcha_key')) {
$_SESSION['ss_captcha_count'] = $captcha_count + 1;
return false;
}
+6 -1
View File
@@ -3,6 +3,11 @@ include_once("_common.php");
include_once('captcha.lib.php');
$captcha = new KCAPTCHA();
$captcha->setKeyString(get_session("ss_captcha_key"));
$ss_captcha_key = get_session("ss_captcha_key");
if( $ss_captcha_key && !preg_match('/^[0-9]/', $ss_captcha_key) && function_exists('get_string_decrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$ss_captcha_key = str_replace($ip, '', get_string_decrypt($ss_captcha_key));
}
$captcha->setKeyString($ss_captcha_key);
$captcha->getKeyString();
$captcha->image();
+7 -1
View File
@@ -8,6 +8,10 @@ function make_mp3()
$number = get_session("ss_captcha_key");
if ($number == "") return;
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
if( $number && function_exists('get_string_decrypt') ){
$number = str_replace($ip, '', get_string_decrypt($number));
}
if ($number == get_session("ss_captcha_save")) return;
$mp3s = array();
@@ -16,7 +20,6 @@ function make_mp3()
$mp3s[] = $file;
}
$ip = sprintf("%u", ip2long($_SERVER['REMOTE_ADDR']));
$mp3_file = 'cache/kcaptcha-'.$ip.'_'.G5_SERVER_TIME.'.mp3';
$contents = '';
@@ -35,6 +38,9 @@ function make_mp3()
}
}
if( $number && function_exists('get_string_encrypt') ){
$number = get_string_encrypt($ip.$number);
}
set_session("ss_captcha_save", $number);
return G5_DATA_URL.'/'.$mp3_file;
+5
View File
@@ -9,5 +9,10 @@ if ($count >= 5) { // 설정값 이상이면 자동등록방지 입력 문자가
echo false;
} else {
set_session("ss_captcha_count", $count + 1);
if( $captcha_key && function_exists('get_string_encrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$captcha_key = get_string_encrypt($ip.$captcha_key);
}
echo (get_session("ss_captcha_key") === $captcha_key) ? true : false;
}
+5
View File
@@ -11,6 +11,11 @@ while(true){
if(!preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $keystring)) break;
}
if( $keystring && function_exists('get_string_encrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$keystring = get_string_encrypt($ip.$keystring);
}
set_session("ss_captcha_count", 0);
set_session("ss_captcha_key", $keystring);
$captcha = new KCAPTCHA();
+18
View File
@@ -159,7 +159,25 @@ if( $cert_enc_use == "Y" )
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
}
else if( $res_cd != "0000" )
{
+18 -1
View File
@@ -136,8 +136,25 @@ if ($xpay->TX()) {
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session("ss_cert_sex", $mb_sex); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
} else {
//인증요청 결과 실패 DB처리
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
+18
View File
@@ -121,8 +121,26 @@ if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session('ss_cert_sex', ($field[9] == 1 ? 'M' : 'F'));
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
$g5['title'] = 'KCB 휴대폰 본인확인';
include_once(G5_PATH.'/head.sub.php');
?>
+19
View File
@@ -95,7 +95,26 @@ if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session('ss_cert_sex', ($field[9] == 1 ? 'M' : 'F'));
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
$g5['title'] = 'KCB 아이핀 본인확인';
include_once(G5_PATH.'/head.sub.php');
?>
+19 -6
View File
@@ -11,6 +11,7 @@ require_once realpath(dirname(__FILE__)) . "/StorageInterface.php";
* HybridAuth storage manager
*/
class Hybrid_Storage implements Hybrid_Storage_Interface {
public static $stores = array();
/**
* Constructor
@@ -37,11 +38,21 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$key = strtolower($key);
if ($value) {
$_SESSION["HA::CONFIG"][$key] = serialize($value);
$serialize_value = function_exists('get_string_encrypt') ? get_string_encrypt(serialize($value)) : serialize($value);
if( in_array($key, array('php_session_id', 'config')) ){
$this->stores[$key] = $serialize_value;
} else {
$_SESSION["HA::CONFIG"][$key] = $serialize_value;
}
} elseif (isset($this->stores[$key])) {
$unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($this->stores[$key])) : unserialize($this->stores[$key]);
return $unserialize_value;
} elseif (isset($_SESSION["HA::CONFIG"][$key])) {
return unserialize($_SESSION["HA::CONFIG"][$key]);
$unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($_SESSION["HA::CONFIG"][$key])) : unserialize($_SESSION["HA::CONFIG"][$key]);
return $unserialize_value;
}
return null;
}
@@ -55,7 +66,8 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$key = strtolower($key);
if (isset($_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key])) {
return unserialize($_SESSION["HA::STORE"][$key]);
$unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($_SESSION["HA::STORE"][$key])) : unserialize($_SESSION["HA::STORE"][$key]);
return $unserialize_value;
}
return null;
@@ -70,7 +82,8 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
*/
public function set($key, $value) {
$key = strtolower($key);
$_SESSION["HA::STORE"][$key] = serialize($value);
$serialize_value = function_exists('get_string_encrypt') ? get_string_encrypt(serialize($value)) : serialize($value);
$_SESSION["HA::STORE"][$key] = $serialize_value;
}
/**
@@ -138,4 +151,4 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$_SESSION["HA::STORE"] = unserialize($sessiondata);
}
}
}
+5 -3
View File
@@ -391,7 +391,8 @@ function social_session_exists_check(){
}
if( $provider_name && isset($_SESSION['HA::STORE']['hauth_session.'.strtolower($provider_name).'.is_logged_in']) && !empty($_SESSION['sl_userprofile'][$provider_name]) ){
return json_decode($_SESSION['sl_userprofile'][$provider_name]);
$decode_value = function_exists('get_string_decrypt') ? json_decode(get_string_decrypt($_SESSION['sl_userprofile'][$provider_name])) : json_decode($_SESSION['sl_userprofile'][$provider_name]);
return $decode_value;
}
return false;
@@ -485,8 +486,9 @@ function social_check_login_before($p_service=''){
$_SESSION['sl_userprofile'] = array();
}
if( ! $is_member ){
$_SESSION['sl_userprofile'][$provider_name] = json_encode( $user_profile );
if( ! $is_member ){
$encode_value = function_exists('get_string_encrypt') ? get_string_encrypt(json_encode($user_profile)) : json_encode($user_profile);
$_SESSION['sl_userprofile'][$provider_name] = $encode_value;
}
}
@@ -3,6 +3,40 @@ if (!defined('_GNUBOARD_')) exit;
class G5_Hybrid_Endpoint extends Hybrid_Endpoint
{
protected function authInit() {
if (!$this->initDone) {
$this->initDone = true;
// Init Hybrid_Auth
try {
if (!class_exists("Hybrid_Storage", false)) {
require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Storage.php";
}
if (!class_exists("Hybrid_Exception", false)) {
require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Exception.php";
}
if (!class_exists("Hybrid_Logger", false)) {
require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Logger.php";
}
$storage = new Hybrid_Storage();
$provider_id = ucfirst(trim(strip_tags($this->request["hauth_start"])));
if(!$provider_id) $provider_id = ucfirst(trim(strip_tags($this->request["hauth_done"])));
$storage->config("CONFIG", social_build_provider_config($provider_id));
// Check if Hybrid_Auth session already exist
if (!$storage->config("CONFIG")) {
$this->dieError("CONFIG FAILED: ", "Unable to get config", array());
}
Hybrid_Auth::initialize($storage->config("CONFIG"));
} catch (Exception $e) {
Hybrid_Logger::error("Endpoint: Error while trying to init Hybrid_Auth: " . $e->getMessage());
$this->dieError("Endpoint Error: ", $e->getMessage(), $e);
}
}
}
protected function processAuthStart(){
try {
parent::processAuthStart();
+1 -1
View File
@@ -122,7 +122,7 @@ if($config['cf_cert_use']) {
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
$sql_certify .= " , mb_sex = '".get_session+('ss_cert_sex')."' ";
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
+3 -1
View File
@@ -17,4 +17,6 @@ if (isset($_REQUEST['sortodr'])) {
if (!defined('G5_USE_SHOP') || !G5_USE_SHOP)
die('<p>쇼핑몰 설치 후 이용해 주십시오.</p>');
define('_SHOP_', true);
define('_SHOP_', true);
define('_SHOP_COMMON_', true); // 모바일 페이지의 직접 접근을 막는 경우에 사용
?>
+6
View File
@@ -32,6 +32,12 @@ class HttpClient {
$data = substr($data, 1); // remove leading "&"
$url_data = parse_url($url);
// host 가 inicis.com 의 주소가 아니라면 false 반환
// [scheme] => https, [host] => fcstdpay.inicis.com, [path] => /api/payAuth
if (preg_match("#inicis\.com$#", $url_data["host"]) == false) {
// error_log(print_r($url_data, 1));
return false;
}
if ($url_data["scheme"] == "https") {
$this->ssl = "ssl://";
+93
View File
@@ -0,0 +1,93 @@
<?php
include_once("./_common.php");
$sql = "SELECT a.ca_id,
a.ca_adult_use AS ca_adult,
IF( SUBSTR(a.ca_id, 3) != \"\", (SELECT ca_adult_use FROM `{$g5['g5_shop_category_table']}` WHERE ca_id = SUBSTR(a.ca_id, 3)), 0) AS ca_adult_parent1,
IF( SUBSTR(a.ca_id, 5) != \"\", (SELECT ca_adult_use FROM `{$g5['g5_shop_category_table']}` WHERE ca_id = SUBSTR(a.ca_id, 5)), 0) AS ca_adult_parent2,
IF( SUBSTR(a.ca_id, 7) != \"\", (SELECT ca_adult_use FROM `{$g5['g5_shop_category_table']}` WHERE ca_id = SUBSTR(a.ca_id, 7)), 0) AS ca_adult_parent3,
IF( SUBSTR(a.ca_id, 9) != \"\", (SELECT ca_adult_use FROM `{$g5['g5_shop_category_table']}` WHERE ca_id = SUBSTR(a.ca_id, 9)), 0) AS ca_adult_parent4
FROM `{$g5['g5_shop_category_table']}` AS a";
$result = sql_query($sql);
$category_adult_array = array();
for ($i = 0; $row = sql_fetch_array($result); $i++ ) {
$category_adult_array[$row['ca_id']] = array( $row['ca_adult'], // 자기자신 성인인증판단
$row['ca_adult_parent1'], // 1depth 성인인증
$row['ca_adult_parent2'], // 2depth 성인인증
$row['ca_adult_parent3'], // 3depth 성인인증
$row['ca_adult_parent4']); // 4depth 성인인증
}
$sql =" SELECT a.*, IFNULL((SELECT MAX(`io_stock_qty`) FROM `{$g5['g5_shop_item_option_table']}` WHERE `it_id` = a.`it_id` GROUP BY `it_id`), a.`it_stock_qty`) AS in_stock
FROM `{$g5['g5_shop_item_table']}` as a
where a.`it_use` = '1' and a.`it_soldout` = '0' and a.`it_tel_inq` = '0' and a.`it_price` > '0' order by a.`ca_id`";
$result = sql_query($sql);
$xml = new SimpleXMLElement("<rss/>");
$xml->addAttribute("xmlns:xmlns:g", "http://base.google.com/ns/1.0");
$xml->addAttribute("version", "2.0");
$channel = $xml->addChild("channel");
$title = $channel->addChild("title", "쇼핑몰피드");
$link = $channel->addChild("link", G5_URL);
$description = $channel->addChild("description", "");
for ($i = 0; $row = sql_fetch_array($result); $i++) {
$it_id = $row['it_id'];
$it_title = $row['it_name'];
$it_link = shop_item_url($row['it_id']);
$it_basic = strip_tags($row['it_basic']);
$it_image = "";
for($j = 1; $j <= 10; $j++) {
$img = $row['it_img'.$j];
if(empty($img)) continue;
$it_image = G5_DATA_URL."/item/".$img;
break;
}
$stock = "in_stock";
if($row['it_stock_qty'] <= 0) {
$stock = "out_of_stock";
} else {
if($row['in_stock'] <= 0) $stock = "out_of_stock";
}
$item = $channel->addChild("item");
// 필수 입력 항목
$item->addChild("g:g:id", $it_id);
$item->addChild("title", $it_title);
$item->addChild("description", $it_basic);
$item->addChild("link", $it_link);
$item->addChild("g:g:image_link", $it_image);
$item->addChild("g:g:availability", $stock);
if($row['it_cust_price'] != null && $row['it_cust_price'] > 0) {
$item->addChild("g:g:price", sprintf('%.2fKRW', $row['it_cust_price']));
$item->addChild("g:g:sale_price", sprintf('%.2fKRW', $row['it_price']));
} else {
$item->addChild("g:g:price", sprintf('%.2fKRW', $row['it_price']));
}
// 선택적 입력 항목
$item->addChild("g:g:condition", "new");
$cate_array = array($row['ca_id'], $row['ca_id2'], $row['ca_id3']);
$adult = "no";
foreach($cate_array as $key => $var) {
if(empty($var)) continue;
if(in_array(1, $category_adult_array[$var])) {
$adult = "yes";
}
}
$item->addChild("g:g:adult", $adult);
}
header('Content-type: text/xml');
echo $xml->asXML();
?>
+1 -1
View File
@@ -14,7 +14,7 @@ $INIpayLog = false; // 로그를 기록하려면 true 로 수
//**********************************************************************************
$PG_IP = $_SERVER['REMOTE_ADDR'];
$PG_IP = get_real_client_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 == "39.115.212.9" ) //PG에서 보냈는지 IP로 체크
{
+2 -2
View File
@@ -80,7 +80,7 @@ if ( $LGD_HASHDATA2 == $LGD_HASHDATA ) { //해쉬값 검증이 성공이면
$result = false;
if($row['pp_id']) {
if(isset($row['pp_id']) && $row['pp_id']) {
// 개인결제 UPDATE
$sql = " update {$g5['g5_shop_personalpay_table']}
set pp_receipt_price = '$LGD_AMOUNT',
@@ -113,7 +113,7 @@ if ( $LGD_HASHDATA2 == $LGD_HASHDATA ) { //해쉬값 검증이 성공이면
}
if($result) {
if($row['od_id'])
if(isset($row['od_id']) && $row['od_id'])
$od_id = $row['od_id'];
else
$od_id = $LGD_OID;
+1 -1
View File
@@ -7,7 +7,7 @@
.lat ul {padding:10px 0}
.lat li {position:relative;line-height:18px;border-bottom:1px solid #e5ecee;margin-bottom:10px}
.lat li a {line-height:24px;font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle}
.lat li a {font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle}
.lat li a:hover {color:#3a8afd}
.lat li .fa-heart {color:#ff0000}
.lat li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
+2 -1
View File
@@ -12,7 +12,8 @@ add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css"
<fieldset id="info_fs">
<p>새로운 비밀번호를 입력해주세요.</p>
<label for="mb_id" class="sound_only">아이디</label>
<input type="text" name="mb_id" id="mb_id" value="<?php echo $_POST['mb_id']; ?>" required class="required frm_input full_input" size="30" placeholder="아이디" readonly>
<br>
<b>회원 아이디 : <?php echo $_POST['mb_id']; ?></b>
<label for="mb_pw" class="sound_only">새 비밀번호<strong class="sound_only">필수</strong></label>
<input type="password" name="mb_password" id="mb_pw" required class="required frm_input full_input" size="30" placeholder="새 비밀번호">
<label for="mb_pw2" class="sound_only">새 비밀번호 확인<strong class="sound_only">필수</strong></label>
+2
View File
@@ -53,6 +53,8 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<ul>
<li>
<?php
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
$desc_name = '<span class="cert_desc"> 본인확인 시 자동입력</span>';
$desc_phone = '<span class="cert_desc"> 본인확인 시 자동입력</span>';
+2 -2
View File
@@ -149,7 +149,7 @@ foreach((array) $list as $row){
if ($i >= 1) echo "</ul>\n";
if($i === 0) echo "<p class=\"sct_noitem\">등록된 상품이 없습니다.</p>\n";
if ($i === 0) echo "<p class=\"sct_noitem\">등록된 상품이 없습니다.</p>\n";
?>
<!-- } 상품진열 10 끝 -->
@@ -160,7 +160,7 @@ $(function (){
$(this).parent("div").children(".sct_sns_wrap").show();
});
$('.sct_sns_bg, .sct_sns_cls').click(function(){
$('.sct_sns_wrap').hide();
$('.sct_sns_wrap').hide();
});
});
</script>
+17 -5
View File
@@ -36,9 +36,9 @@ foreach((array) $list as $row){
$list_right_pad = 10;
$list_bottom_pad = 20;
$list_left_pad = $this->img_width + 10;
$list_real_width = 360;
$list_width = $list_real_width - $list_right_pad - $list_left_pad;
$list_height = $this->img_height - $list_top_pad - $list_bottom_pad;
$list_real_width = 389;
$list_width = $list_real_width;
$list_height = $this->img_height;
echo "<li class=\"sct_li{$sct_last}\" data-css=\"nocss\" style=\"padding:{$list_top_pad}px {$list_right_pad}px {$list_bottom_pad}px {$list_left_pad}px;width:{$list_width}px;height:{$list_height}px\">\n";
@@ -83,7 +83,7 @@ foreach((array) $list as $row){
echo "<div class=\"sct_cost\">\n";
if ($this->view_it_cust_price && $row['it_cust_price']) {
echo "<span class=\"sct_dict\">".display_price($row['it_cust_price'])."</span>\n";
echo "<span class=\"sct_dict\">".display_price($row['it_cust_price'])."</span>\n";
}
if ($this->view_it_price) {
@@ -114,4 +114,16 @@ if ($i >= 1) echo "</ul>\n";
if($i == 0) echo "<p class=\"sct_noitem\">등록된 상품이 없습니다.</p>\n";
?>
<!-- } 상품진열 12 끝 -->
<!-- } 상품진열 30 끝 -->
<script>
//SNS 공유
$(function (){
$(".btn_share").on("click", function() {
$(this).parent("div").children(".sct_sns_wrap").show();
});
$('.sct_sns_bg, .sct_sns_cls').click(function(){
$('.sct_sns_wrap').hide();
});
});
</script>
+99 -71
View File
@@ -9,22 +9,27 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">',
<!-- 상품진열 40 시작 { -->
<?php
$i=0;
$i = 0;
$this->view_star = (method_exists($this, 'view_star')) ? $this->view_star : true;
foreach((array) $list as $row){
if( empty($row) ) continue;
$i++;
$item_link_href = shop_item_url($row['it_id']);
$star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : '';
$item_link_href = shop_item_url($row['it_id']); // 상품링크
$star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : ''; //사용자후기 평균별점
$list_mod = $this->list_mod; // 분류관리에서 1줄당 이미지 수 값 또는 파일에서 지정한 가로 수
$is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크
if ($list_mod >= 2) { // 1줄 이미지 : 2개 이상
if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막
else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째
else $sct_last = '';
} else { // 1줄 이미지 : 1개
$sct_last = ' sct_clear';
$classes = array();
$classes[] = 'col-row-'.$list_mod;
if( $i && ($i % $list_mod == 0) ){
$classes[] = 'row-clear';
}
$i++; // 변수 i 를 증가
if ($i == 1) {
if ($this->css) {
@@ -32,20 +37,13 @@ foreach((array) $list as $row){
} else {
echo "<ul class=\"sct sct_40\">\n";
}
}
}
//$list_top_pad = 20;
//$list_right_pad = 10;
//$list_bottom_pad = 20;
//$list_left_pad = $this->img_width + 10;
//$list_real_width = 740;
//$list_width = $list_real_width - $list_right_pad - $list_left_pad;
//$list_height = $this->img_height - $list_top_pad - $list_bottom_pad;
echo "<li class=\"sct_li{$sct_last}\" data-css=\"nocss\">\n";
echo "<li class=\"sct_li ".implode(' ', $classes)."\" data-css=\"nocss\" style=\"height:auto\">\n";
echo "<div class=\"sct_img\">\n";
if ($this->href) {
echo "<div class=\"sct_img\"><a href=\"{$item_link_href}\" class=\"sct_a\">\n";
echo "<a href=\"{$item_link_href}\">\n";
}
if ($this->view_it_img) {
@@ -53,19 +51,38 @@ foreach((array) $list as $row){
}
if ($this->href) {
echo "</a></div>\n";
echo "</a>\n";
}
if ( !$is_soldout ){ // 품절 상태가 아니면 출력합니다.
echo "<div class=\"sct_btn list-10-btn\">
<button type=\"button\" class=\"btn_cart sct_cart\" data-it_id=\"{$row['it_id']}\"><i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i> 장바구니</button>\n";
echo "</div>\n";
}
if ($this->view_it_icon) {
echo "<div class=\"sct_icon\">".item_icon($row)."</div>\n";
echo "<div class=\"cart-layer\"></div>\n";
if ($this->view_it_icon) {
// 품절
if ($is_soldout) {
echo '<span class="shop_icon_soldout"><span class="soldout_txt">SOLD OUT</span></span>';
}
}
echo "</div>\n";
echo "<div class=\"sct_ct_wrap\">\n";
// 사용후기 평점표시
if ($this->view_star && $star_score) {
echo "<div class=\"sct_star\"><span class=\"sound_only\">고객평점</span><img src=\"".G5_SHOP_URL."/img/s_star".$star_score.".png\" alt=\"별점 ".$star_score."점\" class=\"sit_star\"></div>\n";
}
if ($this->view_it_id) {
echo "<div class=\"sct_id\">&lt;".stripslashes($row['it_id'])."&gt;</div>\n";
}
if ($this->href) {
echo "<div class=\"sct_txt\"><a href=\"{$item_link_href}\" class=\"sct_a\">\n";
echo "<div class=\"sct_txt\"><a href=\"{$item_link_href}\">\n";
}
if ($this->view_it_name) {
@@ -75,63 +92,74 @@ foreach((array) $list as $row){
if ($this->href) {
echo "</a></div>\n";
}
if ($this->view_it_basic && $row['it_basic']) {
if ($this->view_it_basic && $row['it_basic']) {
echo "<div class=\"sct_basic\">".stripslashes($row['it_basic'])."</div>\n";
}
if ($this->view_it_cust_price || $this->view_it_price) {
echo "<div class=\"sct_bottom\">\n";
echo "<div class=\"sct_cost\">\n";
if ($this->view_it_cust_price || $this->view_it_price) {
if ($this->view_it_cust_price && $row['it_cust_price']) {
echo "<span class=\"sct_dict\">".display_price($row['it_cust_price'])."</span>\n";
echo "<div class=\"sct_cost\">\n";
if ($this->view_it_price) {
echo display_price(get_price($row), $row['it_tel_inq'])."\n";
}
if ($this->view_it_cust_price && $row['it_cust_price']) {
echo "<span class=\"sct_dict\">".display_price($row['it_cust_price'])."</span>\n";
}
echo "</div>\n";
}
if ($this->view_it_price) {
echo display_price(get_price($row), $row['it_tel_inq'])."\n";
// 위시리스트 + 공유 버튼 시작
echo "<div class=\"sct_op_btn\">\n";
echo "<button type=\"button\" class=\"btn_wish\" data-it_id=\"{$row['it_id']}\"><span class=\"sound_only\">위시리스트</span><i class=\"fa fa-heart-o\" aria-hidden=\"true\"></i></button>\n";
if ($this->view_sns) {
echo "<button type=\"button\" class=\"btn_share\"><span class=\"sound_only\">공유하기</span><i class=\"fa fa-share-alt\" aria-hidden=\"true\"></i></button>\n";
}
echo "</div>\n";
}
echo "<div class=\"sct_sns_wrap\">";
if ($this->view_sns) {
$sns_top = $this->img_height + 10;
$sns_url = $item_link_href;
$sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
echo "<div class=\"sct_sns\">";
echo "<h3>SNS 공유</h3>";
echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/facebook.png');
echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/twitter.png');
echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/gplus.png');
echo "<button type=\"button\" class=\"sct_sns_cls\"><span class=\"sound_only\">닫기</span><i class=\"fa fa-times\" aria-hidden=\"true\"></i></button>";
echo "</div>\n";
}
echo "<div class=\"sct_sns_bg\"></div>";
echo "</div></div>\n";
// 위시리스트 + 공유 버튼 끝
echo "<div class=\"\">
<button type=\"button\" class=\"\" data-it_id=\"{$row['it_id']}\"><i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i> 장바구니</button>\n";
echo "</div>";
if ($this->view_it_icon) {
echo "<div class=\"sit_icon_li\">".item_icon($row)."</div>\n";
}
echo "</div>\n";
// 위시리스트 + 공유 버튼 시작
echo "<div class=\"sct_op_btn\">\n";
echo "<button type=\"button\" class=\"btn_wish\" data-it_id=\"{$row['it_id']}\"><span class=\"sound_only\">위시리스트</span><i class=\"fa fa-heart-o\" aria-hidden=\"true\"></i></button>\n";
if ($this->view_sns) {
echo "<button type=\"button\" class=\"btn_share\"><span class=\"sound_only\">공유하기</span><i class=\"fa fa-share-alt\" aria-hidden=\"true\"></i></button>\n";
}
echo "<div class=\"sct_sns_wrap\">";
if ($this->view_sns) {
$sns_top = $this->img_height + 10;
$sns_url = $item_link_href;
$sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
echo "<div class=\"sct_sns\">";
echo "<h3>SNS 공유</h3>";
echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/facebook.png');
echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/twitter.png');
echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/gplus.png');
echo "<button type=\"button\" class=\"sct_sns_cls\"><span class=\"sound_only\">닫기</span><i class=\"fa fa-times\" aria-hidden=\"true\"></i></button>";
echo "</div>\n";
}
echo "<div class=\"sct_sns_bg\"></div>";
echo "</div></div>\n";
// 위시리스트 + 공유 버튼 끝
// 관련상품
echo "<div class=\"sct_rel\">".relation_item($row['it_id'], 70, 0, 5)."</div>\n";
echo "</li>\n";
}
if ($i >= 1) echo "</ul>\n";
if($i == 0) echo "<p class=\"sct_noitem\">등록된 상품이 없습니다.</p>\n";
if ($i === 0) echo "<p class=\"sct_noitem\">등록된 상품이 없습니다.</p>\n";
?>
<!-- } 상품진열13 끝 -->
<!-- } 상품진열 40 끝 -->
<script>
//SNS 공유
$(function (){
$(".btn_share").on("click", function() {
$(this).parent("div").children(".sct_sns_wrap").show();
});
$('.sct_sns_bg, .sct_sns_cls').click(function(){
$('.sct_sns_wrap').hide();
});
});
</script>
+1 -1
View File
@@ -265,7 +265,7 @@
.sct_40 .sct_a:focus, .sct_40 .sct_a:hover {text-decoration:none}
.sct_40 .sct_img {text-align:center;float:left;margin-right:20px}
.sct_40 .sct_img a {display:block}
.sct_40 .sct_img a {display:block;position:relative;z-index: 9999;}
.sct_40 .sct_cart {position:absolute;right:0;bottom:0;border:0;width:150px;padding:15px 0;background:#000;background:rgba(0,0,0,0.5);color:#fff;font-size:1em;font-weight:bold;z-index:99999}
.sct_40 .list-10-btn .sct_cart{z-index:1;top:40px;right:10px;bottom:initial;padding:8px 0;width:140px;border:1px solid #1c70e9;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.sct_40 .list-10-btn .sct_cart:hover {background:#2375eb}
+2 -2
View File
@@ -169,7 +169,7 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)}
#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
#container_title span {margin:0 auto 10px;display:block;line-height:30px}
@@ -273,7 +273,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
+2 -2
View File
@@ -329,7 +329,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
a.btn_frmline {line-height:24px}
@@ -743,7 +743,7 @@ box-shadow: 1px 2px 2px #eee;}
#sod_frm_taker .tbl_frm01 .choice_place input[type="radio"] + label span {top:7px}
#sod_frm_taker .tbl_frm01 .choice_place input,
#sod_frm_taker .tbl_frm01 .choice_place label {margin-left:10px}
#sod_frm_taker .tbl_frm01 .btn_frmline {width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right}
#sod_frm_taker .tbl_frm01 .btn_frmline {padding:0;width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right}
#sod_frm_taker .tbl_frm01 td input {width:100%}
#sod_frm_taker .tbl_frm01 td .addr input {width:20%}
+1 -1
View File
@@ -37,7 +37,7 @@ header("Pragma: no-cache"); // HTTP/1.0
<meta charset="utf-8">
<?php
if (G5_IS_MOBILE) {
echo '<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10,user-scalable=yes">'.PHP_EOL;
echo '<meta name="viewport" id="meta_viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10">'.PHP_EOL;
echo '<meta name="HandheldFriendly" content="true">'.PHP_EOL;
echo '<meta name="format-detection" content="telephone=no">'.PHP_EOL;
} else {
@@ -12,7 +12,8 @@ add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css"
<fieldset id="info_fs">
<p>새로운 비밀번호를 입력해주세요.</p>
<label for="mb_id" class="sound_only">아이디</label>
<input type="text" name="mb_id" id="mb_id" value="<?php echo $_POST['mb_id']; ?>" required class="required frm_input full_input" size="30" placeholder="아이디" readonly>
<br>
<b>회원 아이디 : <?php echo $_POST['mb_id']; ?></b>
<label for="mb_pw" class="sound_only">새 비밀번호<strong class="sound_only">필수</strong></label>
<input type="password" name="mb_password" id="mb_pw" required class="required frm_input full_input" size="30" placeholder="새 비밀번호">
<label for="mb_pw2" class="sound_only">새 비밀번호 확인<strong class="sound_only">필수</strong></label>
@@ -47,6 +47,8 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<ul>
<li>
<?php
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
$desc_name = ' - 본인확인 시 자동입력';
$desc_phone = ' - 본인확인 시 자동입력';
+1 -1
View File
@@ -7,7 +7,7 @@
.lat ul {padding:10px 0}
.lat li {position:relative;line-height:18px;border-bottom:1px solid #e5ecee;margin-bottom:10px}
.lat li a {line-height:24px;font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle}
.lat li a {font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle}
.lat li a:hover {color:#3a8afd}
.lat li .fa-heart {color:#ff0000}
.lat li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
@@ -12,7 +12,8 @@ add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css"
<fieldset id="info_fs">
<p>새로운 비밀번호를 입력해주세요.</p>
<label for="mb_id" class="sound_only">아이디</label>
<input type="text" name="mb_id" id="mb_id" value="<?php echo $_POST['mb_id']; ?>" required class="required frm_input full_input" size="30" placeholder="아이디" readonly>
<br>
<b>회원 아이디 : <?php echo $_POST['mb_id']; ?></b>
<label for="mb_pw" class="sound_only">새 비밀번호<strong class="sound_only">필수</strong></label>
<input type="password" name="mb_password" id="mb_pw" required class="required frm_input full_input" size="30" placeholder="새 비밀번호">
<label for="mb_pw2" class="sound_only">새 비밀번호 확인<strong class="sound_only">필수</strong></label>
@@ -53,7 +53,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<ul>
<li>
<?php
if ($config['cf_cert_use']) {
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
$desc_name = '<span class="cert_desc"> 본인확인 시 자동입력</span>';
$desc_phone = '<span class="cert_desc"> 본인확인 시 자동입력</span>';
+1 -1
View File
@@ -266,7 +266,7 @@
.sct_40 .sct_a:focus, .sct_40 .sct_a:hover {text-decoration:none}
.sct_40 .sct_img {text-align:center;float:left;margin-right:20px}
.sct_40 .sct_img a {display:block}
.sct_40 .sct_img a {display:block;position:relative;z-index: 9999;}
.sct_40 .sct_cart {position:absolute;right:0;bottom:0;border:0;width:150px;padding:15px 0;background:#000;background:rgba(0,0,0,0.5);color:#fff;font-size:1em;font-weight:bold;z-index:99999}
.sct_40 .list-10-btn .sct_cart{z-index:1;top:40px;right:10px;bottom:initial;padding:8px 0;width:140px;border:1px solid #1c70e9;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.sct_40 .list-10-btn .sct_cart:hover {background:#2375eb}
+1 -1
View File
@@ -2,7 +2,7 @@
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.5.2');
define('G5_GNUBOARD_VER', '5.5.7.3');
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
// 그누보드5.4.6 이상 버전 부터는 영카트를 그누보드에 포함하여 배포하므로 영카트5의 버전은 의미가 없습니다.