Compare commits

...
67 Commits
Author SHA1 Message Date
kagla edb0b849d9 버전 5.4.18 수정 2021-10-25 11:15:26 +09:00
projectSylasandkagla 6ee9b1fbf2 PHP8에서 상단 파일 경로, 하단 파일 경로가 없을때 나오는 오류 수정 (루미집사님,211025) 2021-10-25 11:11:51 +09:00
kagla 413044ab06 이후 버전의 PHP에서는 class 에 속한 method(함수) 이름을 class 이름과 동일하게 만들 수 없습니다. 2021-10-25 11:11:51 +09:00
kagla 6148da1add $BANK_CODE 에 토스뱅크(92) 추가 2021-10-25 11:11:51 +09:00
kagla 9020d246b7 비밀 댓글 수정시 비밀글 해제가 되지 않는 오류를 수정 (한별아빠님,211022) 2021-10-25 11:11:50 +09:00
kagla de73f54959 신용카드 결제창에서 네이버페이를 지원하므로 상품상세페이지, 장바구니에서 더이상 네이버페이 직접결제를 지원하지 않음 2021-10-19 11:44:19 +09:00
kagla 9ada18ae56 버전 5.4.17 수정 2021-10-18 12:15:07 +09:00
kagla ddaf4f9794 Merge branch 'KVE-2021-0755' 2021-10-18 12:13:35 +09:00
kagla 920d5fc34c Merge branch 'KVE-2021-0849' 2021-10-18 12:13:00 +09:00
kagla 3a3434104c (KVE-2021-0755) 메뉴의 링크 기능을 이용한 XSS 취약점 수정 2021-10-15 16:40:04 +09:00
kagla 6dc462d784 (KVE-2021-0849) 확장자 .phar 파일 업로드 취약점 수정 2021-10-15 16:04:17 +09:00
kagla 24ba84d6f0 KG이니시스 가상계좌 사용시 안내문구 중 거래조회를 거래내역으로 수정 2021-10-14 14:49:20 +09:00
kagla 650ea16523 shop_is_taxsave 함수에 $od_pay_type 변수의 vbank, transfer 가 바뀌어 있는 것을 수정 (moons님,211014) 2021-10-14 14:47:32 +09:00
projectSylas 6fe49ff106 상수 G5_SEO_TITEL_WORD_CUT 을 G5_SEO_TITLE_WORD_CUT 로 수정 (sinbi님,211005) 2021-10-05 02:17:34 +00:00
kagla c74c04bf16 버전 5.4.16 수정 2021-09-23 05:29:22 +00:00
kagla 816b658252 Merge branch 'master' of github.com:gnuboard/gnuboard5 2021-09-23 12:24:35 +09:00
kagla 3d668f1a1d Merge branch 'qa' 2021-09-23 03:10:52 +00:00
kagla fa780a5aa3 Merge branch 'cheditor' 2021-09-23 03:09:22 +00:00
kagla f029210122 Merge branch 'php8' 2021-09-23 03:07:29 +00:00
kagla 54080f516a Merge branch 'naverpay' 2021-09-23 03:04:17 +00:00
kagla a42041a645 Merge branch 'qa' 2021-09-23 11:52:41 +09:00
kagla 0b74f2ec32 Merge branch 'sns' 2021-09-23 11:43:38 +09:00
kagla b2041758f4 PHP8에서 나오는 Undefined array key "HTTP_USER_AGENT" 오류 수정 2021-09-16 06:07:41 +00:00
kagla 469e1ff890 PHP8에서 나오는 PHP Warning: Undefined array key "HTTP_USER_AGENT" 오류 수정 2021-09-16 06:05:59 +00:00
kagla abe801a7ac PHP8에서 나오는 PHP Warning: Undefined array key "HTTP_USER_AGENT" 오류 수정 2021-09-16 06:05:07 +00:00
kagla f283e6c3d9 이미지 확장자에 .webp 추가 2021-09-16 04:56:06 +00:00
kagla 50612db75a 경로가 잘못 반환되어 thumb-이미지 파일이 삭제되지 않던 오류 수정 2021-09-16 04:55:11 +00:00
kagla 63217a6a67 ['HTTP_HOST'] 가 선언되지 않아 PHP8 에서 발생하던 오류 수정 2021-09-16 04:54:33 +00:00
kagla 688440eb18 JavaScript 불가일 때 Undefined variable $js 오류 나오지 않도록 수정 (조안님,210916) 2021-09-16 02:09:09 +00:00
kagla a3e8c97ef5 이미지 파일 업로드 기능을 이용한 웹변조 방지 코드 적용 (나창호님,레이딘님,210915) 2021-09-15 02:30:19 +00:00
kagla 7dea8e6866 PHP8 에서 발생하는 오류 수정 2021-09-15 01:14:45 +00:00
kagla ebf00b6834 배너의 링크를 입력하지 않으면 PHP8에서 Warning: Uninitialized string offset 0 in ... 와 같은 오류가 나는것을 수정 (다온테마님,210908) 2021-09-09 03:24:40 +00:00
kaglaandGitHub 6090b0de18 Merge pull request #94 from whitedot/master
게시판 : 갤러리 스킨에서 selector 선언 오류 수정
2021-09-08 15:33:26 +09:00
whitedot 0b11cee221 게시판: 갤러리 스킨에서 selector 선언 오류 수정 (작은별님,11437) 2021-09-08 15:28:24 +09:00
whitedot ce7de94486 스타일시트: 사용하지 않는 코드 삭제 2021-09-08 15:25:49 +09:00
kagla fc0f67d4c2 $i 값이 증가하지 않아 같은 id 값이 생성되는 오류 수정 2021-09-08 13:58:58 +09:00
kagla f75202786e <div></div> 쌍이 맞지 않는 버그 수정. </div> 한개 제거 (웹학교님,210906) 2021-09-07 16:03:01 +09:00
kagla 5c73de46a9 Merge branch 'master' of github.com:gnuboard/gnuboard5 2021-09-07 15:53:24 +09:00
kagla e14e392488 Scripts may close only the windows that were opened by them. 자신이 연 창만 닫을 수 있는 오류 수정. (ifelse님,210907) 2021-09-07 15:52:59 +09:00
EC2 Default User 9d0ead3140 방문자분석 스크립트를 출력하는 코드가 두번 작성되어 있어 하나를 삭제함 (웹학교님,210902) 2021-09-03 02:11:46 +00:00
kagla c4544671a2 모바일 결제시 카드사명이 제대로 들어가지 않던 오류 수정 (chewry님,210817) 2021-08-24 13:55:22 +09:00
kagla 38308f887b 트위터 소셜 댓글 사용시 Could not connect to Twitter. Refresh the page or try again later. 이전에 나오는 Warning: Undefined array key 오류 수정 2021-08-23 07:24:24 +00:00
kagla bdd52dae6f 버전 5.4.15.1 수정 2021-08-19 11:29:47 +09:00
kagla ae515803f6 version.php 분리로 인해 ['path']가 선언되지 않아 설치가 되지 않던 오류 수정 2021-08-19 11:27:41 +09:00
kagla 5d31a5505d 버전 5.4.15 수정 2021-08-18 17:06:04 +09:00
kagla 99087027a2 config.php 에서 버전 관리 부분을 따로 떼어냄 2021-08-18 16:59:28 +09:00
kagla 6b5ca5c5e6 회원삭제시 빈값으로 수정되지 않던 필드 mb_addr3, mb_point, mb_profile 추가 (작은별님,210814) 2021-08-18 15:37:59 +09:00
kagla 0731b57c80 1:1문의에 제목, 내용, 글쓴이, 회원아이디 선택후 검색이 가능하도록 수정 (북마크스님,210812) 2021-08-13 02:02:21 +00:00
kagla 8d7bdb331d Merge branch 'qa' of github.com:gnuboard/gnuboard5 into qa 2021-08-13 00:26:54 +00:00
kaglaandGitHub 1accc143ec Merge pull request #85 from whitedot/qa
UI : 1:1문의 검색에서 검색 대상 지정 마크업 및 스타일링
2021-08-12 16:55:13 +09:00
whitedot 8e87434e99 UI : 1:1문의 검색에서 검색 대상 지정 마크업 및 스타일링 2021-08-12 16:52:29 +09:00
kagla b3e53e3c78 PHP8, Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, null given 및 Warning 오류 해결 (Jay-flow님,210806) 2021-08-12 04:50:03 +00:00
kagla 8e20e39e3f PHP8, 1:1문의 설정에서 DHTML 사용안함으로 사용시 Warning: Undefined variable $html_checked 나오는 오류 수정 (다온테마님,210811) 2021-08-12 01:27:33 +00:00
kagla c7de15f7f5 버전 5.4.14 수정 2021-08-10 11:28:17 +09:00
kagla 4595fefe7d 주석 오타 수정 (작은앙심님,210808) 2021-08-09 07:20:13 +00:00
kagla e3bfefab55 PHP8에서 Warning: Undefined variable $extensions 오류 나오지 않도록 수정 (다온테마님,210806) 2021-08-09 07:15:28 +00:00
kagla c024c7552b 게시글 입력시에도 $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성 (다온테마님,210806) 2021-08-09 07:13:44 +00:00
kagla 8ed56ec293 네이버 소셜회원가입시 월/일 처리가 반대로 되는 현상 수정 (arrtres님,210727) 2021-07-28 11:19:45 +09:00
kagla ed3143b6fd 버전 5.4.13.1 수정중 2021-07-27 05:28:16 +00:00
kagla 1491ae6e17 잘못된 webp 검사 함수명 file_exists를 function_exists로 수정 2021-07-27 05:27:06 +00:00
EC2 Default User b29ced4553 버전 5.4.13 수정 2021-07-27 00:46:51 +00:00
EC2 Default User 77064a40c6 쇼핑몰을 사용하지 않을 경우 나오는 오류 수정 (열공중님,210723) 2021-07-26 03:17:22 +00:00
kagla 52ed0f3d64 움직이는 webp 이미지는 업로드 불가합니다. 문구를 삭제함 2021-07-24 06:18:56 +00:00
kagla d0e101b3e8 webp를 지원하는 서버에서만 이미지 업로드 확장자에 webp를 추가함 2021-07-24 06:18:20 +00:00
Cloud User 3f97138715 webp를 지원하지 않는 서버에서 경고 문구를 출력함 2021-07-24 06:16:22 +00:00
Cloud User d76b371a58 Merge branch '5.4.13' of github.com:gnuboard/gnuboard5 into 5.4.13 2021-07-21 04:54:28 +00:00
kagla 42bf3d6044 잘못된 주석 문구 수정 (해피정님,210720) 2021-07-20 14:49:01 +09:00
62 changed files with 231 additions and 240 deletions
+9
View File
@@ -1530,4 +1530,13 @@ if($config['cf_cert_use']) {
}
}
if (stripos($config['cf_image_extension'], "webp") !== false) {
if (!function_exists("imagewebp")) {
echo '<script>'.PHP_EOL;
echo 'alert("이 서버는 webp 이미지를 지원하고 있지 않습니다.\n이미지 업로드 확장자에서 webp 확장자를 제거해 주십시오.\n제거하지 않으면 이미지와 관련된 오류가 발생할 수 있습니다.");'.PHP_EOL;
echo 'document.getElementById("cf_image_extension").focus();'.PHP_EOL;
echo '</script>'.PHP_EOL;
}
}
include_once ('./admin.tail.php');
+25 -23
View File
@@ -177,31 +177,33 @@ if( !$row ) {
$is_check = true;
}
// 임시저장 테이블이 없을 경우 생성
if(!sql_query(" DESC {$g5['g5_shop_post_log_table']} ", false)) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_post_log_table']}` (
`log_id` int(11) NOT NULL AUTO_INCREMENT,
`oid` bigint(20) unsigned NOT NULL,
`mb_id` varchar(255) NOT NULL DEFAULT '',
`post_data` text NOT NULL,
`ol_code` varchar(255) NOT NULL DEFAULT '',
`ol_msg` text NOT NULL,
`ol_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ol_ip` varchar(25) NOT NULL DEFAULT '',
PRIMARY KEY (`log_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", true);
if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
// 임시저장 테이블이 없을 경우 생성
if(!sql_query(" DESC {$g5['g5_shop_post_log_table']} ", false)) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_post_log_table']}` (
`log_id` int(11) NOT NULL AUTO_INCREMENT,
`oid` bigint(20) unsigned NOT NULL,
`mb_id` varchar(255) NOT NULL DEFAULT '',
`post_data` text NOT NULL,
`ol_code` varchar(255) NOT NULL DEFAULT '',
`ol_msg` text NOT NULL,
`ol_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ol_ip` varchar(25) NOT NULL DEFAULT '',
PRIMARY KEY (`log_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", true);
$is_check = true;
}
$result = sql_query("describe `{$g5['g5_shop_post_log_table']}`");
while ($row = sql_fetch_array($result)){
if( $row['Field'] === 'ol_msg' && $row['Type'] === 'varchar(255)' ){
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` MODIFY ol_msg TEXT NOT NULL;", false);
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` DROP PRIMARY KEY;", false);
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` ADD `log_id` int(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`log_id`);", false);
$is_check = true;
break;
}
$result = sql_query("describe `{$g5['g5_shop_post_log_table']}`");
while ($row = sql_fetch_array($result)){
if( $row['Field'] === 'ol_msg' && $row['Type'] === 'varchar(255)' ){
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` MODIFY ol_msg TEXT NOT NULL;", false);
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` DROP PRIMARY KEY;", false);
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` ADD `log_id` int(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`log_id`);", false);
$is_check = true;
break;
}
}
}
+1
View File
@@ -26,6 +26,7 @@ for ($i=0; $i<$count; $i++)
}
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes(preg_replace('/[ ]{2,}|[\t]/', '', $_POST['me_link'][$i]), 1)) : '';
$_POST['me_link'][$i] = html_purifier($_POST['me_link'][$i]);
$code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : '';
$me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : '';
+3 -1
View File
@@ -625,7 +625,7 @@ if(!$default['de_kakaopay_cancelpwd']){
<tr id="inicis_vbank_url" class="pg_vbank_url">
<th scope="row">KG이니시스 가상계좌 입금통보 URL</th>
<td>
<?php echo help("KG이니시스 가상계좌 사용시 다음 주소를 <strong><a href=\"https://iniweb.inicis.com/\" target=\"_blank\">KG이니시스 관리자</a> &gt; 거래조회 &gt; 가상계좌 &gt; 입금통보방식선택 &gt; URL 수신 설정</strong>에 넣으셔야 상점에 자동으로 입금 통보됩니다."); ?>
<?php echo help("KG이니시스 가상계좌 사용시 다음 주소를 <strong><a href=\"https://iniweb.inicis.com/\" target=\"_blank\">KG이니시스 관리자</a> &gt; 거래내역 &gt; 가상계좌 &gt; 입금통보방식선택 &gt; URL 수신 설정</strong>에 넣으셔야 상점에 자동으로 입금 통보됩니다."); ?>
<?php echo G5_SHOP_URL; ?>/settle_inicis_common.php</td>
</tr>
<tr>
@@ -919,6 +919,7 @@ if(!$default['de_kakaopay_cancelpwd']){
<input type="text" name="de_kakaopay_hashkey" value="<?php echo get_sanitize_input($default['de_kakaopay_hashkey']); ?>" id="de_kakaopay_hashkey" class="frm_input" size="20">
</td>
</tr>
<?php if (defined('G5_SHOP_DIRECT_NAVERPAY') && G5_SHOP_DIRECT_NAVERPAY) { ?>
<tr class="naver_info_fld">
<th scope="row">
<label for="de_naverpay_mid">네이버페이 가맹점 아이디</label>
@@ -982,6 +983,7 @@ if(!$default['de_kakaopay_cancelpwd']){
<input type="text" name="de_naverpay_sendcost" value="<?php echo get_sanitize_input($default['de_naverpay_sendcost']); ?>" id="de_naverpay_sendcost" class="frm_input" size="70">
</td>
</tr>
<?php } // defined('G5_SHOP_DIRECT_NAVERPAY') ?>
<tr>
<th scope="row">에스크로 사용</th>
<td>
+8 -6
View File
@@ -427,17 +427,19 @@ $sql = " update {$g5['g5_shop_default_table']}
de_kakaopay_enckey = '{$de_kakaopay_enckey}',
de_kakaopay_hashkey = '{$de_kakaopay_hashkey}',
de_kakaopay_cancelpwd = '{$de_kakaopay_cancelpwd}',
de_naverpay_mid = '{$de_naverpay_mid}',
de_naverpay_cert_key = '{$de_naverpay_cert_key}',
de_naverpay_button_key = '{$de_naverpay_button_key}',
de_naverpay_test = '{$de_naverpay_test}',
de_naverpay_mb_id = '{$de_naverpay_mb_id}',
de_naverpay_sendcost = '{$de_naverpay_sendcost}',
de_member_reg_coupon_use = '{$de_member_reg_coupon_use}',
de_member_reg_coupon_term = '{$de_member_reg_coupon_term}',
de_member_reg_coupon_price = '{$de_member_reg_coupon_price}',
de_member_reg_coupon_minimum = '{$de_member_reg_coupon_minimum}'
";
if (defined('G5_SHOP_DIRECT_NAVERPAY') && G5_SHOP_DIRECT_NAVERPAY) {
$sql .= " ,de_naverpay_mid = '{$de_naverpay_mid}',
de_naverpay_cert_key = '{$de_naverpay_cert_key}',
de_naverpay_button_key = '{$de_naverpay_button_key}',
de_naverpay_test = '{$de_naverpay_test}',
de_naverpay_mb_id = '{$de_naverpay_mb_id}',
de_naverpay_sendcost = '{$de_naverpay_sendcost}' ";
}
sql_query($sql);
// 환경설정 > 포인트 사용
+2 -1
View File
@@ -178,7 +178,8 @@ function no_hp_click(val)
}
$line = 0;
$qry = sql_query("select * from {$g5['sms5_book_table']} where 1 $sql_group $sql_search $sql_korean $sql_no_hp order by bk_no desc limit $page_start, $page_size");
while($res = sql_fetch_array($qry))
// while($res = sql_fetch_array($qry))
for ($i=0; $res = sql_fetch_array($qry); $i++)
{
$bg = 'bg'.($line++%2);
+1 -1
View File
@@ -7,7 +7,7 @@ if (G5_IS_MOBILE) {
include_once(G5_BBS_PATH.'/_head.php');
echo html_purifier(stripslashes($board['bo_mobile_content_head']));
} else {
if(is_include_path_check($board['bo_include_head'])) { //파일경로 체크
if($board['bo_include_head'] && is_include_path_check($board['bo_include_head'])) { //파일경로 체크
@include ($board['bo_include_head']);
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
include_once(G5_BBS_PATH.'/_head.php');
+1 -1
View File
@@ -8,7 +8,7 @@ if (G5_IS_MOBILE) {
include_once(G5_BBS_PATH.'/_tail.php');
} else {
echo html_purifier(stripslashes($board['bo_content_tail']));
if(is_include_path_check($board['bo_include_tail'])) { //파일경로 체크
if($board['bo_include_tail'] && is_include_path_check($board['bo_include_tail'])) { //파일경로 체크
@include ($board['bo_include_tail']);
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
include_once(G5_BBS_PATH.'/_tail.php');
+1
View File
@@ -23,6 +23,7 @@ if (!$file['bf_file'])
alert_close('파일 정보가 존재하지 않습니다.');
// JavaScript 불가일 때
$js = (isset($_GET['js'])) ? $_GET['js'] : '';
if($js != 'on' && $board['bo_download_point'] < 0) {
$msg = $file['bf_source'].' 파일을 다운로드 하시면 포인트가 차감('.number_format($board['bo_download_point']).'점)됩니다.\\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\\n그래도 다운로드 하시겠습니까?';
$url1 = G5_BBS_URL.'/download.php?'.clean_query_string($_SERVER['QUERY_STRING'], false).'&js=on';
+23 -5
View File
@@ -58,15 +58,33 @@ if(is_file($skin_file)) {
$stx = trim($stx);
if($stx) {
if (preg_match("/[a-zA-Z]/", $stx))
$sql_search .= " and ( INSTR(LOWER(qa_subject), LOWER('$stx')) > 0 or INSTR(LOWER(qa_content), LOWER('$stx')) > 0 )";
else
$sql_search .= " and ( INSTR(qa_subject, '$stx') > 0 or INSTR(qa_content, '$stx') > 0 ) ";
$sfl = trim($sfl);
if ($sfl) {
switch ($sfl) {
case "qa_subject" :
case "qa_content" :
case "qa_name" :
case "mb_id" :
break;
default :
$sfl = "qa_subject";
}
} else {
$sfl = "qa_subject";
}
$sql_search .= " and (`{$sfl}` like '%{$stx}%') ";
}
// $stx = trim($stx);
// if($stx) {
// if (preg_match("/[a-zA-Z]/", $stx))
// $sql_search .= " and ( INSTR(LOWER(qa_subject), LOWER('$stx')) > 0 or INSTR(LOWER(qa_content), LOWER('$stx')) > 0 )";
// else
// $sql_search .= " and ( INSTR(qa_subject, '$stx') > 0 or INSTR(qa_content, '$stx') > 0 ) ";
// }
$sql_order = " order by qa_num ";
$sql = " select count(*) as cnt
$sql = " select count(*) as cnt
$sql_common
$sql_search ";
$row = sql_fetch($sql);
+1
View File
@@ -96,6 +96,7 @@ if(is_file($skin_file)) {
$upload_max_filesize = number_format($qaconfig['qa_upload_size']) . ' 바이트';
$html_value = '';
$html_checked = '';
if (isset($write['qa_html']) && $write['qa_html']) {
$html_checked = 'checked';
$html_value = $write['qa_html'];
+1 -1
View File
@@ -217,7 +217,7 @@ for ($i=1; $i<=$upload_count; $i++) {
$upload[$i]['filesize'] = $filesize;
// 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc|phar)/i", "$0-x", $filename);
shuffle($chars_array);
$shuffle = implode('', $chars_array);
+3 -1
View File
@@ -14,7 +14,9 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
$referer = "";
if (isset($_SERVER['HTTP_REFERER']))
$referer = escape_trim(clean_xss_tags(strip_tags($_SERVER['HTTP_REFERER'])));
$user_agent = escape_trim(clean_xss_tags(strip_tags($_SERVER['HTTP_USER_AGENT'])));
$user_agent = '';
if (isset($_SERVER['HTTP_USER_AGENT']))
$user_agent = escape_trim(clean_xss_tags(strip_tags($_SERVER['HTTP_USER_AGENT'])));
$vi_browser = '';
$vi_os = '';
$vi_device = '';
+5
View File
@@ -29,6 +29,11 @@ if ($w == 'u' || $w == 'r') {
} else {
alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL);
}
} else if ($w == '') { // 게시글 입력시에도 $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성 (다온테마님,210806)
for ($i=1; $i<=10; $i++) {
$vvar = "wr_".$i;
$$vvar = '';
}
}
run_event('bbs_write', $board, $wr_id, $w);
+1 -3
View File
@@ -324,9 +324,7 @@ else if ($w == 'cu') // 댓글 수정
if (!$is_admin)
$sql_ip = " , wr_ip = '{$_SERVER['REMOTE_ADDR']}' ";
$sql_secret = "";
if ($wr_secret)
$sql_secret = " , wr_option = '$wr_secret' ";
$sql_secret = " , wr_option = '$wr_secret' ";
$sql = " update $write_table
set wr_subject = '$wr_subject',
+6 -4
View File
@@ -561,7 +561,7 @@ if(isset($_FILES['bf_file']['name']) && is_array($_FILES['bf_file']['name'])) {
$upload[$i]['filesize'] = $filesize;
// 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc|phar)/i", "$0-x", $filename);
shuffle($chars_array);
$shuffle = implode('', $chars_array);
@@ -658,7 +658,7 @@ for ($i=(int)$row['max_bf_no']; $i>=0; $i--)
$row2 = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
// 정보가 있다면 빠집니다.
if ($row2['bf_file']) break;
if (isset($row2['bf_file']) && $row2['bf_file']) break;
// 그렇지 않다면 정보를 삭제합니다.
sql_query(" delete from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
@@ -725,8 +725,10 @@ if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_emai
}
// 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면
if (strstr($wr['wr_option'], 'mail') && $wr['wr_email'])
$array_email[] = $wr['wr_email'];
if (isset($wr['wr_option']) && isset($wr['wr_email'])) {
if (strstr($wr['wr_option'], 'mail') && $wr['wr_email'])
$array_email[] = $wr['wr_email'];
}
// 중복된 메일 주소는 제거
$unique_email = array_unique($array_email);
+5 -3
View File
@@ -232,7 +232,7 @@ function chrome_domain_session_name(){
'.maru.net', // 마루호스팅
);
if(preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
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');
@session_name(G5_SESSION_NAME);
}
@@ -339,8 +339,10 @@ if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER)
$res = @session_start($options);
// IE 브라우저 또는 엣지브라우저 또는 IOS 모바일과 http환경에서는 secure; SameSite=None을 설정하지 않습니다.
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
return $res;
if (isset($_SERVER['HTTP_USER_AGENT'])) {
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
return $res;
}
}
$headers = headers_list();
+3 -7
View File
@@ -4,15 +4,11 @@
상수 선언
********************/
define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.4.12');
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
define('G5_YOUNGCART_VER', '5.4.5.5.1');
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
define('_GNUBOARD_', true);
include_once($g5_path['path'].'/version.php'); // 설정 파일
// 기본 시간대 설정
date_default_timezone_set("Asia/Seoul");
@@ -162,7 +158,7 @@ define('G5_SPACE', 32); // 공백
define('G5_SPECIAL', 64); // 특수문자
// SEO TITLE 문단 길이
define('G5_SEO_TITEL_WORD_CUT', 8); // SEO TITLE 문단 길이
define('G5_SEO_TITLE_WORD_CUT', 8); // SEO TITLE 문단 길이
// 퍼미션
define('G5_DIR_PERMISSION', 0755); // 디렉토리 생성시 퍼미션
+2 -1
View File
@@ -1,4 +1,5 @@
<?php
$g5_path['path'] = '..';
include_once ('../config.php');
include_once('../lib/json.lib.php');
include_once('../lib/common.lib.php'); // 공통 라이브러리
@@ -56,4 +57,4 @@ if(sql_query("DESCRIBE `{$table_prefix}config`", G5_DISPLAY_SQL_ERROR, $dblink))
die(install_json_msg('주의! 이미 테이블이 존재하므로, 기존 DB 자료가 망실됩니다. 계속 진행하겠습니까?', 'exists'));
}
die(install_json_msg('ok', 'success'));
die(install_json_msg('ok', 'success'));
+2 -1
View File
@@ -1,6 +1,7 @@
<?php
@header('Content-Type: text/html; charset=utf-8');
@header('X-Robots-Tag: noindex');
$g5_path['path'] = '..';
include_once ('../config.php');
$title = G5_VERSION." 라이센스 확인 1/3";
include_once ('./install.inc.php');
@@ -50,4 +51,4 @@ function frm_submit(f)
?>
<?php
include_once ('./install.inc2.php');
include_once ('./install.inc2.php');
+2 -1
View File
@@ -8,6 +8,7 @@ header('Pragma: no-cache'); // HTTP/1.0
@header('Content-Type: text/html; charset=utf-8');
@header('X-Robots-Tag: noindex');
$g5_path['path'] = '..';
include_once ('../config.php');
$title = G5_VERSION." 초기환경설정 2/3";
include_once ('./install.inc.php');
@@ -221,4 +222,4 @@ function frm_install_submit(f)
</script>
<?php
include_once ('./install.inc2.php');
include_once ('./install.inc2.php');
+12 -4
View File
@@ -9,6 +9,7 @@ header('Pragma: no-cache'); // HTTP/1.0
@header('Content-Type: text/html; charset=utf-8');
@header('X-Robots-Tag: noindex');
$g5_path['path'] = '..';
include_once ('../config.php');
include_once ('../lib/common.lib.php');
include_once('./install.function.php'); // 인스톨 과정 함수 모음
@@ -141,6 +142,13 @@ $download_point = 0;
//-------------------------------------------------------------------------------------------------
// config 테이블 설정
if($g5_install || !$result) {
// 기본 이미지 확장자를 설정하고
$image_extension = "gif|jpg|jpeg|png";
// 서버에서 webp 를 지원하면 확장자를 추가한다.
if (function_exists("imagewebp")) {
$image_extension .= "|webp";
}
$sql = " insert into `{$table_prefix}config`
set cf_title = '".G5_VERSION."',
cf_theme = 'basic',
@@ -197,7 +205,7 @@ if($g5_install || !$result) {
cf_member_img_width = '60',
cf_member_img_height = '60',
cf_login_minutes = '10',
cf_image_extension = 'gif|jpg|jpeg|png|webp',
cf_image_extension = '{$image_extension}',
cf_flash_extension = 'swf',
cf_movie_extension = 'asx|asf|wmv|wma|mpg|mpeg|mov|avi|mp3',
cf_formmail_is_member = '1',
@@ -624,10 +632,10 @@ fclose($f);
<li>DB설정 파일 생성 완료 (<?php echo $file ?>)</li>
<?php
// data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl 파일을 실행할수 없게함.
// data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl .phar 파일을 실행할수 없게함.
$f = fopen($data_path.'/.htaccess', 'w');
$str = <<<EOD
<FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp][Hh][Tt]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll])">
<FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp][Hh][Tt]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll]|[Pp][Hh][Aa][Rr])">
Order allow,deny
Deny from all
</FilesMatch>
@@ -667,4 +675,4 @@ if($g5_shop_install) {
</div>
<?php
include_once ('./install.inc2.php');
include_once ('./install.inc2.php');
+12 -6
View File
@@ -850,12 +850,14 @@ function get_admin($admin='super', $fields='*')
$is = true;
}
if (($is && !$mb['mb_id']) || $admin == 'group') {
// if (($is && !$mb['mb_id']) || $admin == 'group') {
if (($is && !isset($mb['mb_id'])) || $admin == 'group') {
$mb = sql_fetch("select {$fields} from {$g5['member_table']} where mb_id in ('{$group['gr_admin']}') limit 1 ");
$is = true;
}
if (($is && !$mb['mb_id']) || $admin == 'super') {
// if (($is && !$mb['mb_id']) || $admin == 'super') {
if (($is && !isset($mb['mb_id'])) || $admin == 'super') {
$mb = sql_fetch("select {$fields} from {$g5['member_table']} where mb_id in ('{$config['cf_admin']}') limit 1 ");
}
@@ -2217,7 +2219,10 @@ function get_checked($field, $value)
function is_mobile()
{
return preg_match('/'.G5_MOBILE_AGENT.'/i', $_SERVER['HTTP_USER_AGENT']);
if (isset($_SERVER['HTTP_USER_AGENT']))
return preg_match('/'.G5_MOBILE_AGENT.'/i', $_SERVER['HTTP_USER_AGENT']);
else
return '';
}
@@ -2344,8 +2349,9 @@ function delete_editor_thumbnail($contents)
for($i=0; $i<count($matchs[1]); $i++) {
// 이미지 path 구함
$imgurl = @parse_url($matchs[1][$i]);
$srcfile = dirname(G5_PATH).$imgurl['path'];
if(! preg_match('/(\.jpe?g|\.gif|\.png)$/i', $srcfile)) continue;
// $srcfile = dirname(G5_PATH).$imgurl['path'];
$srcfile = (G5_PATH).$imgurl['path'];
if(!preg_match('/(\.jpe?g|\.gif|\.png|\.webp)$/i', $srcfile)) continue;
$filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
$filepath = dirname($srcfile);
$files = glob($filepath.'/thumb-'.$filename.'*');
@@ -3138,7 +3144,7 @@ function member_delete($mb_id)
}
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
$sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
$sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_addr3 = '', mb_point = 0, mb_profile = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
sql_query($sql);
+14
View File
@@ -457,6 +457,20 @@ function get_board_sfl_select_options($sfl){
return run_replace('get_board_sfl_select_options', $str, $sfl);
}
function get_qa_sfl_select_options($sfl) {
global $is_admin;
$str = '';
$str .= '<option value="qa_subject" '.get_selected($sfl, 'qa_subject', true).'>제목</option>';
$str .= '<option value="qa_content" '.get_selected($sfl, 'qa_content').'>내용</option>';
$str .= '<option value="qa_name" '.get_selected($sfl, 'qa_name').'>글쓴이</option>';
if ($is_admin)
$str .= '<option value="mb_id" '.get_selected($sfl, 'mb_id').'>회원아이디</option>';
return run_replace('get_qa_sfl_select_options', $str, $sfl);
}
// 읽지 않은 메모 갯수 반환
function get_memo_not_read($mb_id, $add_where='')
{
+2 -2
View File
@@ -2455,9 +2455,9 @@ function shop_is_taxsave($od, $is_view_receipt=false){
if( $od['od_settle_case'] == '무통장' ){
$od_pay_type = 'account';
} else if ( $od['od_settle_case'] == '계좌이체' ) {
$od_pay_type = 'vbank';
} else if ( $od['od_settle_case'] == '가상계좌' ) {
$od_pay_type = 'transfer';
} else if ( $od['od_settle_case'] == '가상계좌' ) {
$od_pay_type = 'vbank';
}
if( $od_pay_type ) {
+1 -1
View File
@@ -108,7 +108,7 @@ function get_view_thumbnail($contents, $thumb_width=0)
if(empty($matches))
return $contents;
// $extensions = array(1=>'gif', 2=>'jpg', 3=>'png', 18=>'webp');
$extensions = array(1=>'gif', 2=>'jpg', 3=>'png', 18=>'webp');
for($i=0; $i<count($matches[1]); $i++) {
+1 -1
View File
@@ -193,7 +193,7 @@ function correct_goto_url($url){
return $url;
}
function generate_seo_title($string, $wordLimit=G5_SEO_TITEL_WORD_CUT){
function generate_seo_title($string, $wordLimit=G5_SEO_TITLE_WORD_CUT){
$separator = '-';
if($wordLimit != 0){
-1
View File
@@ -185,7 +185,6 @@ $cart_count = sql_num_rows($result);
<?php if ($naverpay_button_js) { ?>
<div class="naverpay-cart"><?php echo $naverpay_request_js.$naverpay_button_js; ?></div>
<?php } ?>
</div>
</form>
</div>
+2 -1
View File
@@ -182,7 +182,8 @@ if(isset($data['pp_id']) && !empty($data['pp_id'])) {
$P_VACT_NUM = $_POST['P_VACT_NUM'] = isset($PAY['P_VACT_NUM']) ? $PAY['P_VACT_NUM'] : '';
$P_VACT_NAME = $_POST['P_VACT_NAME'] = isset($PAY['P_VACT_NAME']) ? iconv_utf8($PAY['P_VACT_NAME']) : '';
$P_VACT_BANK = $_POST['P_VACT_BANK'] = (isset($PAY['P_VACT_BANK_CODE']) && isset($BANK_CODE[$PAY['P_VACT_BANK_CODE']])) ? $BANK_CODE[$PAY['P_VACT_BANK_CODE']] : '';
$P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = isset($CARD_CODE[$PAY['P_CARD_ISSUER_CODE']]) ? $CARD_CODE[$PAY['P_CARD_ISSUER_CODE']] : '';
// $P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = isset($CARD_CODE[$PAY['P_CARD_ISSUER_CODE']]) ? $CARD_CODE[$PAY['P_CARD_ISSUER_CODE']] : '';
$P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = isset($CARD_CODE[$PAY['P_FN_CD1']]) ? $CARD_CODE[$PAY['P_FN_CD1']] : '';
$P_UNAME = $_POST['P_UNAME'] = isset($PAY['P_UNAME']) ? iconv_utf8($PAY['P_UNAME']) : '';
$check_keys = array('od_name', 'od_tel', 'od_pwd', 'od_hp', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon', 'od_email', 'ad_default', 'ad_subject', 'od_hope_date', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon', 'od_memo', 'od_settle_case', 'max_temp_point', 'od_temp_point', 'od_send_cost', 'od_send_cost2', 'od_bank_account', 'od_deposit_name', 'od_test', 'od_ip');
+1 -1
View File
@@ -212,7 +212,7 @@ if($pp_receipt_price > 0 && $pp['pp_id'] && $pp['od_id']) {
where od_id = '{$pp['od_id']}' ";
$result = sql_query($sql, false);
// 결제정보 입력 오류시 kcp 결제 취소
// 결제정보 입력 오류시 결제 취소
if(!$result) {
$cancel_msg = '결제정보 입력 오류';
switch($default['de_pg_service']) {
+1
View File
@@ -54,6 +54,7 @@ $BANK_CODE = array(
'88' => '신한은행',
'89' => '케이뱅크',
'90' => '카카오뱅크',
'92' => '토스뱅크',
'D1' => '동양종합금융증권',
'D2' => '현대증권',
'D3' => '미래에셋증권',
-62
View File
@@ -1,67 +1,5 @@
@charset "utf-8";
/* ### 기본 스타일 커스터마이징 시작 ### */
/* 게시판 버튼 */
/* 목록 버튼 */
#bo_gall a.btn_b01 {}
#bo_gall a.btn_b01:focus, #bo_gall .btn_b01:hover {}
#bo_gall a.btn_b02 {}
#bo_gall a.btn_b02:focus, #bo_gall .btn_b02:hover {}
#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */
#bo_gall a.btn_admin:focus, #bo_gall a.btn_admin:hover {}
/* 읽기 버튼 */
#bo_v a.btn_b01 {}
#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
#bo_v a.btn_b02 {}
#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
/* 쓰기 버튼 */
#bo_w .btn_confirm {} /* 서식단계 진행 */
#bo_w .btn_submit {}
#bo_w .btn_cancel {}
#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
/* 기본테이블 */
/* 읽기 내 테이블 */
#bo_v .tbl_head01 {}
#bo_v .tbl_head01 caption {}
#bo_v .tbl_head01 thead th {}
#bo_v .tbl_head01 thead a {}
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_v .tbl_head01 tfoot th {}
#bo_v .tbl_head01 tfoot td {}
#bo_v .tbl_head01 tbody th {}
#bo_v .tbl_head01 td {}
#bo_v .tbl_head01 a {}
#bo_v td.empty_table {}
/* 쓰기 테이블 */
#bo_w table {}
#bo_w caption {}
#bo_w .frm_address {}
#bo_w .frm_file {}
#bo_w .frm_info {}
#bo_w .tbl_frm01 {}
#bo_w .tbl_frm01 caption {}
#bo_w .tbl_frm01 th {}
#bo_w .tbl_frm01 td {}
#bo_w .tbl_frm01 textarea, #bo_w .frm_input {}
#bo_w .tbl_frm01 textarea {}
/*
#bo_w .tbl_frm01 #captcha {}
#bo_w .tbl_frm01 #captcha input {}
*/
#bo_w .tbl_frm01 a {}
#bo_w .required, #bo_w textarea.required {}
/* ### 기본 스타일 커스터마이징 끝 ### */
/* 갤러리 공통 */
.bo_fx {margin-bottom:5px;padding:0 10px}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
@@ -23,21 +23,21 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
<ul id="ol_after_private">
<li id="ol_after_memo">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank" class="win_memo">
<i class="fa fa-envelope-o" aria-hidden="true"></i>
<span class="sound_only">안 읽은</span>쪽지
<strong><?php echo $memo_not_read ?></strong>
</a>
</li>
<li id="ol_after_pt">
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="win_point">
<i class="fa fa-database" aria-hidden="true"></i>
포인트
<strong><?php echo $point ?></strong>
</a>
</li>
<li id="ol_after_scrap">
<a href="<?php echo G5_BBS_URL ?>/scrap.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/scrap.php" target="_blank" class="win_scrap">
<i class="fa fa-thumb-tack" aria-hidden="true"></i>스크랩
</a>
</li>
@@ -15,7 +15,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
<a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=register_form.php" id="ol_after_info"><i class="fa fa-cog" aria-hidden="true"></i><span class="sound_only">정보수정</span></a>
</span>
<strong class="nickname"><?php echo $nick ?>님</strong>
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="point"><strong><?php echo $point ?></strong> 포인트
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="point win_point"><strong><?php echo $point ?></strong> 포인트
</a>
<div id="ol_after_btn">
<?php if ($is_admin == 'super' || $is_auth) { ?><a href="<?php echo G5_ADMIN_URL ?>" class="btn_admin">관리자</a><?php } ?>
@@ -26,7 +26,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
<ul id="ol_after_private">
<li id="ol_after_memo">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank" class="win_memo">
<i class="fa fa-envelope" aria-hidden="true"></i>쪽지
<strong><?php echo $memo_not_read; ?></strong>
</a>
+5
View File
@@ -115,6 +115,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<?php echo get_qa_sfl_select_options($sfl); ?>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required placeholder="검색어를 입력하세요" id="stx" class="sch_input" size="15" maxlength="15">
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
+2 -1
View File
@@ -136,7 +136,8 @@
#bo_sch {background:#fff;border:1px solid #d0d3db;position:relative;margin:10px}
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#bo_sch .sch_input {float:left;width:100%;height:38px;border:0;padding:0;background-color:transparent;padding:0 0 0 10px}
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
@@ -77,7 +77,7 @@ run_event('cheditor_photo_upload', $data_dir, $data_url);
//
$tempfile = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
$filename_len = strrpos($filename, ".");
$type = substr($filename, strrpos($filename, ".")+1);
$found = false;
switch ($type) {
@@ -89,7 +89,7 @@ switch ($type) {
$found = true;
}
if ($found != true) {
if ($found != true || $filename_len != 23) {
exit;
}
@@ -38,7 +38,7 @@
</ul>
<em class="blind">마우스로 드래그해서 이미지를 추가해주세요.</em><span id="guide_text" class="bg hidebg"></span>
</div>
<div class="seletion_explain">이미지는 한번에 10개까지 선택할수 있습니다. 움직이는 webp 이미지는 업로드 불가합니다.</div>
<div class="seletion_explain">이미지는 한번에 10개까지 선택할수 있습니다.</div>
<div class="btn_group">
<button type="button" class="btn" id="img_upload_submit">
<span>등록</span>
+2 -2
View File
@@ -13,8 +13,8 @@ $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$request_token = $connection->getRequestToken(OAUTH_CALLBACK);
/* Save temporary credentials to session. */
$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
$_SESSION['oauth_token'] = $token = @$request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = @$request_token['oauth_token_secret'];
//print_r2($_SESSION); exit;
@@ -77,7 +77,7 @@ class TwitterOAuth {
$parameters['oauth_callback'] = $oauth_callback;
$request = $this->oAuthRequest($this->requestTokenURL(), 'GET', $parameters);
$token = OAuthUtil::parse_parameters($request);
$this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
$this->token = new OAuthConsumer(@$token['oauth_token'], @$token['oauth_token_secret']);
return $token;
}
+2 -2
View File
@@ -131,10 +131,10 @@ class Hybrid_Providers_Naver extends Hybrid_Provider_Model_OAuth2
if( array_key_exists('birthday',$data) ){
$tmp = explode("-",$data['birthday']);
if( isset($tmp[0]) ){
$this->user->profile->birthDay = $tmp[0];
$this->user->profile->birthMonth = $tmp[0];
}
if( isset($tmp[1]) ){
$this->user->profile->birthMonth = $tmp[1];
$this->user->profile->birthDay = $tmp[1];
}
}
$this->user->profile->email = (array_key_exists('email',$data))?$data['email']:"";
+1 -1
View File
@@ -23,7 +23,7 @@ if( isset( $_REQUEST["redirect_to_idp"] ) ){
$get_login_url = G5_BBS_URL."/login.php?url=".$urlencode;
if( $content ){
//팝업으로 뜨웠다면 아래
//팝업으로 띄웠다면 아래 코드를 실행
?>
<script>
if( window.opener ){
+4
View File
@@ -94,6 +94,10 @@ if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') {
define('SHOP_TOSSPAYMENTS_CASHRECEIPT_TEST_JS', 'http://pgweb.tosspayments.com:7085/WEB_SERVER/js/receipt_link.js');
}
// 네이버페이를 신용카드 결제창에서 지원하고 있으므로 네이버에 직접신청하는 결제 기능을 미사용(false:기본설정) 합니다. (kagla,211019)
// 네이버에서 직접신청 결제를 사용(true)하시는 경우 모든 문제를 직접 해결해 주셔야 합니다.
define('G5_SHOP_DIRECT_NAVERPAY', false); // false 미사용(기본설정), true 사용
/*
// 주문상태 상수
define('G5_OD_STATUS_ORDER' , '입금확인중');
+3 -1
View File
@@ -73,7 +73,9 @@ if (!class_exists('nanoSha2'))
var $platform;
// Php 4 - 6 compatable constructor
function nanoSha2($toUpper = false) {
// PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP
// function nanoSha2($toUpper = false) {
function __construct($toUpper = false) {
// Determine if the caller wants upper case or not.
$this->toUpper = is_bool($toUpper)
? $toUpper
+6 -3
View File
@@ -7,15 +7,18 @@ $query = $_SERVER['QUERY_STRING'];
$vars = array();
foreach(explode('&', $query) as $pair) {
list($key, $value) = explode('=', $pair);
@list($key, $value) = explode('=', $pair);
$key = urldecode($key);
$value = preg_replace("/[^A-Za-z0-9\-_]/", "", urldecode($value));
$vars[$key][] = $value;
}
$itemIds = $vars['ITEM_ID'];
if (isset($vars['ITEM_ID']))
$itemIds = $vars['ITEM_ID'];
else
$itemIds = array();
if (count($itemIds) < 1) {
if (is_null($itemIds) || count($itemIds) < 1) {
exit('ITEM_ID 는 필수입니다.');
}
+1
View File
@@ -102,6 +102,7 @@ $BANK_CODE = array(
'88' => '신한은행',
'89' => '케이뱅크',
'90' => '카카오뱅크',
'92' => '토스뱅크',
'D1' => '동양종합금융증권',
'D2' => '현대증권',
'D3' => '미래에셋증권',
+1
View File
@@ -1,5 +1,6 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (!defined('G5_SHOP_DIRECT_NAVERPAY') || !G5_SHOP_DIRECT_NAVERPAY) return;
if(!$is_admin && !$default['de_card_test'] && $default['de_naverpay_test']) {
if($default['de_naverpay_mb_id'] && ($is_guest || $member['mb_id'] != $default['de_naverpay_mb_id']))
+1 -1
View File
@@ -36,7 +36,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
#bo_gall .gall_con {position:relative}
.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.latest_row .col-gn-1 {width:100%}
.gall_row .col-gn-0,.gall_row .col-gn-1 {width:100%}
.gall_row .col-gn-2 {width:50%}
.gall_row .col-gn-3 {width:33.33333333%}
.gall_row .col-gn-4 {width:25%}
+1 -1
View File
@@ -39,7 +39,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
</div>
<?php // 쇼핑몰 사용시 여기부터 ?>
<?php if ($default['de_level_sell'] == 1) { // 상품구입 권한 ?>
<?php if (isset($default['de_level_sell']) && $default['de_level_sell'] == 1) { // 상품구입 권한 ?>
<!-- 주문하기, 신청하기 -->
<?php if (preg_match("/orderform.php/", $url)) { ?>
+5
View File
@@ -41,6 +41,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<?php echo get_qa_sfl_select_options($sfl); ?>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<div class="sch_bar">
<input type="text" name="stx" value="<?php echo stripslashes($stx); ?>" id="stx" required class="sch_input" size="25" maxlength="15" placeholder=" 검색어를 입력해주세요">
+1 -1
View File
@@ -182,7 +182,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
+1 -1
View File
@@ -23,7 +23,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
$banner = '';
$size = getimagesize($bimg);
echo '<li>'.PHP_EOL;
if ($row['bn_url'][0] == '#')
if (preg_match("/^#/", $row['bn_url']))
$banner .= '<a href="'.$row['bn_url'].'">';
else if ($row['bn_url'] && $row['bn_url'] != 'http://') {
$banner .= '<a href="'.G5_SHOP_URL.'/bannerhit.php?bn_id='.$row['bn_id'].'"'.$bn_new_win.'>';
+1 -7
View File
@@ -34,13 +34,7 @@ $admin = get_admin("super");
<?php
if(G5_DEVICE_BUTTON_DISPLAY && G5_IS_MOBILE) { ?>
<a href="<?php echo get_device_change_url(); ?>" id="device_change">PC 버전</a>
<?php
}
if ($config['cf_analytics']) {
echo $config['cf_analytics'];
}
?>
<?php } ?>
</div>
<?php
@@ -1,67 +1,5 @@
@charset "utf-8";
/* ### 기본 스타일 커스터마이징 시작 ### */
/* 게시판 버튼 */
/* 목록 버튼 */
#bo_gall a.btn_b01 {}
#bo_gall a.btn_b01:focus, #bo_gall .btn_b01:hover {}
#bo_gall a.btn_b02 {}
#bo_gall a.btn_b02:focus, #bo_gall .btn_b02:hover {}
#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */
#bo_gall a.btn_admin:focus, #bo_gall a.btn_admin:hover {}
/* 읽기 버튼 */
#bo_v a.btn_b01 {}
#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
#bo_v a.btn_b02 {}
#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
/* 쓰기 버튼 */
#bo_w .btn_confirm {} /* 서식단계 진행 */
#bo_w .btn_submit {}
#bo_w .btn_cancel {}
#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
/* 기본테이블 */
/* 읽기 내 테이블 */
#bo_v .tbl_head01 {}
#bo_v .tbl_head01 caption {}
#bo_v .tbl_head01 thead th {}
#bo_v .tbl_head01 thead a {}
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_v .tbl_head01 tfoot th {}
#bo_v .tbl_head01 tfoot td {}
#bo_v .tbl_head01 tbody th {}
#bo_v .tbl_head01 td {}
#bo_v .tbl_head01 a {}
#bo_v td.empty_table {}
/* 쓰기 테이블 */
#bo_w table {}
#bo_w caption {}
#bo_w .frm_address {}
#bo_w .frm_file {}
#bo_w .frm_info {}
#bo_w .tbl_frm01 {}
#bo_w .tbl_frm01 caption {}
#bo_w .tbl_frm01 th {}
#bo_w .tbl_frm01 td {}
#bo_w .tbl_frm01 textarea, #bo_w .frm_input {}
#bo_w .tbl_frm01 textarea {}
/*
#bo_w .tbl_frm01 #captcha {}
#bo_w .tbl_frm01 #captcha input {}
*/
#bo_w .tbl_frm01 a {}
#bo_w .required, #bo_w textarea.required {}
/* ### 기본 스타일 커스터마이징 끝 ### */
/* 갤러리 공통 */
.bo_fx {margin-bottom:5px;padding:0 10px}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
@@ -23,21 +23,21 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
<ul id="ol_after_private">
<li id="ol_after_memo">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank" class="win_memo">
<i class="fa fa-envelope-o" aria-hidden="true"></i>
<span class="sound_only">안 읽은</span>쪽지
<strong><?php echo $memo_not_read ?></strong>
</a>
</li>
<li id="ol_after_pt">
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="win_point">
<i class="fa fa-database" aria-hidden="true"></i>
포인트
<strong><?php echo $point ?></strong>
</a>
</li>
<li id="ol_after_scrap">
<a href="<?php echo G5_BBS_URL ?>/scrap.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/scrap.php" target="_blank" class="win_scrap">
<i class="fa fa-thumb-tack" aria-hidden="true"></i>스크랩
</a>
</li>
@@ -15,7 +15,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
<a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=register_form.php" id="ol_after_info"><i class="fa fa-cog" aria-hidden="true"></i><span class="sound_only">정보수정</span></a>
</span>
<strong class="nickname"><?php echo $nick ?>님</strong>
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="point"><strong><?php echo $point ?></strong> 포인트
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="point win_point"><strong><?php echo $point ?></strong> 포인트
</a>
<div id="ol_after_btn">
<?php if ($is_admin == 'super' || $is_auth) { ?><a href="<?php echo G5_ADMIN_URL ?>" class="btn_admin">관리자</a><?php } ?>
@@ -26,13 +26,18 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
<ul id="ol_after_private">
<li id="ol_after_memo">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank">
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank" class="win_memo">
<i class="fa fa-envelope" aria-hidden="true"></i>쪽지
<strong><?php echo $memo_not_read; ?></strong>
</a>
</li>
<li><a href="<?php echo G5_SHOP_URL ?>/coupon.php" target="_blank" class="win_coupon"><i class="fa fa-ticket" aria-hidden="true"></i>쿠폰<strong><?php echo number_format(get_shop_member_coupon_count($member['mb_id'], true)); ?></strong></a></li>
<li>
<a href="<?php echo G5_SHOP_URL ?>/coupon.php" target="_blank" class="win_coupon">
<i class="fa fa-ticket" aria-hidden="true"></i>쿠폰
<strong><?php echo number_format(get_shop_member_coupon_count($member['mb_id'], true)); ?></strong>
</a>
</li>
</ul>
</aside>
@@ -115,6 +115,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<?php echo get_qa_sfl_select_options($sfl); ?>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required placeholder="검색어를 입력하세요" id="stx" class="sch_input" size="15" maxlength="15">
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
+2 -1
View File
@@ -136,7 +136,8 @@
#bo_sch {background:#fff;border:1px solid #d0d3db;position:relative;margin:10px}
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#bo_sch .sch_input {float:left;width:100%;height:38px;border:0;padding:0;background-color:transparent;padding:0 0 0 10px}
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
+1 -1
View File
@@ -36,7 +36,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
#bo_gall .gall_con {position:relative}
.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.latest_row .col-gn-1 {width:100%}
.gall_row .col-gn-0,.gall_row .col-gn-1 {width:100%}
.gall_row .col-gn-2 {width:50%}
.gall_row .col-gn-3 {width:33.33333333%}
.gall_row .col-gn-4 {width:25%}
+5
View File
@@ -41,6 +41,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<?php echo get_qa_sfl_select_options($sfl); ?>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<div class="sch_bar">
<input type="text" name="stx" value="<?php echo stripslashes($stx); ?>" id="stx" required class="sch_input" size="25" maxlength="15" placeholder=" 검색어를 입력해주세요">
+1 -1
View File
@@ -182,7 +182,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
+9
View File
@@ -0,0 +1,9 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.4.18');
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
// 그누보드5.4.6 이상 버전 부터는 영카트를 그누보드에 포함하여 배포하므로 영카트5의 버전은 의미가 없습니다.
define('G5_YOUNGCART_VER', '5.4.5.5.1');