Compare commits
269
Commits
v5.5.8.2.1
...
v5.6.10
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a0d6e7228 | ||
|
|
69180914f8 | ||
|
|
5552fda906 | ||
|
|
13759821fe | ||
|
|
2e7843da56 | ||
|
|
33ee904f60 | ||
|
|
3e8bedb1e9 | ||
|
|
4f3ad37bf4 | ||
|
|
af92ea064e | ||
|
|
dab5abb89a | ||
|
|
8893b112fa | ||
|
|
d65fa99e3c | ||
|
|
29381da2ce | ||
|
|
d96f47f93d | ||
|
|
830994b637 | ||
|
|
0d586e2101 | ||
|
|
5e6549a22c | ||
|
|
ab204cfa59 | ||
|
|
3ca77a38fb | ||
|
|
67051c74a8 | ||
|
|
2a0bf12e65 | ||
|
|
dfa16adf31 | ||
|
|
96b30e0df6 | ||
|
|
ef99a886cc | ||
|
|
20eb993757 | ||
|
|
3474be175d | ||
|
|
532bf6f0f4 | ||
|
|
c4c1e50f68 | ||
|
|
7754e12194 | ||
|
|
287d68790f | ||
|
|
7d396b1749 | ||
|
|
d666e3467f | ||
|
|
d4c158cfa4 | ||
|
|
f1af936c7d | ||
|
|
72d52b594c | ||
|
|
5622b38c17 | ||
|
|
cef3a48ff1 | ||
|
|
c6b58bb16b | ||
|
|
14ffe72574 | ||
|
|
02baf1589f | ||
|
|
9a1067862a | ||
|
|
07f848e1c7 | ||
|
|
80846ac637 | ||
|
|
62c0803cf5 | ||
|
|
08df872863 | ||
|
|
ca30e27b27 | ||
|
|
56615a5e9e | ||
|
|
9c44d234ed | ||
|
|
e03e01d410 | ||
|
|
940e701fa4 | ||
|
|
031f8b4ef9 | ||
|
|
ed6b7f3326 | ||
|
|
0ded1df66d | ||
|
|
f4dfbacf03 | ||
|
|
3fd8740c92 | ||
|
|
68dc0bd4ec | ||
|
|
cc96048dfa | ||
|
|
6697327265 | ||
|
|
a301d3e1f0 | ||
|
|
2c0e05bbcc | ||
|
|
92c1052cf5 | ||
|
|
c4763a64d8 | ||
|
|
02e0996eb4 | ||
|
|
82648dcbfc | ||
|
|
61a0236938 | ||
|
|
712172a0ea | ||
|
|
d0eadcb12e | ||
|
|
f38baea729 | ||
|
|
6048a8a1c5 | ||
|
|
b84a6114f4 | ||
|
|
b3ea5f19a8 | ||
|
|
b52a1f4da4 | ||
|
|
ce89cba2c7 | ||
|
|
c3634c05f7 | ||
|
|
470d65d92a | ||
|
|
2aff3cd491 | ||
|
|
84669cb47f | ||
|
|
baa114c471 | ||
|
|
2bfd995e49 | ||
|
|
1e72d7e81c | ||
|
|
79b0066ec1 | ||
|
|
47e243c0ad | ||
|
|
bf6678e036 | ||
|
|
aba7d75de6 | ||
|
|
474fc8f9a9 | ||
|
|
a0eb804918 | ||
|
|
0d9c773d22 | ||
|
|
6705d014f9 | ||
|
|
985546fbad | ||
|
|
fa6aa881de | ||
|
|
06750e248b | ||
|
|
c1c4089883 | ||
|
|
248cb2b173 | ||
|
|
8d912e3511 | ||
|
|
c67118f374 | ||
|
|
15f2037790 | ||
|
|
cb6b39cb60 | ||
|
|
73a5f4cc47 | ||
|
|
5f910f192e | ||
|
|
bc2c939d72 | ||
|
|
b7c557f44e | ||
|
|
1ff5df8215 | ||
|
|
72d03f305c | ||
|
|
1ec9a0ee12 | ||
|
|
a061d6c863 | ||
|
|
4f2f725de8 | ||
|
|
fae53d3cd5 | ||
|
|
1fc3a343c2 | ||
|
|
5e1ab9c1e7 | ||
|
|
5605b539f4 | ||
|
|
a8baa8dd7d | ||
|
|
16051b3049 | ||
|
|
db1d56e07b | ||
|
|
4455f7d3c9 | ||
|
|
398967f804 | ||
|
|
ee75b32b3c | ||
|
|
c869f29f0d | ||
|
|
c95168fb0c | ||
|
|
b8ffd99362 | ||
|
|
64e1fbe786 | ||
|
|
91715ff830 | ||
|
|
1fb9e28510 | ||
|
|
babbc9afdb | ||
|
|
04030f9274 | ||
|
|
3085703c61 | ||
|
|
20dc211a82 | ||
|
|
a773839338 | ||
|
|
84b22909c5 | ||
|
|
28bfcea9c2 | ||
|
|
8cd1df0f43 | ||
|
|
cf2a8ab282 | ||
|
|
941f3e135a | ||
|
|
4b9b1af01e | ||
|
|
41d48891f4 | ||
|
|
616f5b8d46 | ||
|
|
a96460948c | ||
|
|
337ee4e68f | ||
|
|
7af4888458 | ||
|
|
fdc695d08c | ||
|
|
9fe34dae1d | ||
|
|
4364058313 | ||
|
|
0642c48106 | ||
|
|
d74c7b24bf | ||
|
|
fec5569c71 | ||
|
|
876534a440 | ||
|
|
5d4ba1030e | ||
|
|
e43e424d80 | ||
|
|
5036254b69 | ||
|
|
2ae4046d29 | ||
|
|
ccdbdebdec | ||
|
|
1c4465a692 | ||
|
|
bcbabf50f2 | ||
|
|
3da5145bef | ||
|
|
6868cee8d1 | ||
|
|
870dcec68d | ||
|
|
4735d62770 | ||
|
|
2c88ef6d13 | ||
|
|
12ce06c2d2 | ||
|
|
3a7d06b19e | ||
|
|
641656047d | ||
|
|
3becc03d23 | ||
|
|
6eaa6ee22a | ||
|
|
a8524eb070 | ||
|
|
db9b4ffd50 | ||
|
|
9416b7dd9a | ||
|
|
1634065870 | ||
|
|
14af11d0fa | ||
|
|
ec3fdce5c7 | ||
|
|
79ce9ec984 | ||
|
|
8eb1d46be1 | ||
|
|
cbdaccbdec | ||
|
|
ff6b160774 | ||
|
|
f96ff445b9 | ||
|
|
6e684e80f2 | ||
|
|
ffc8706a76 | ||
|
|
8ec09b0059 | ||
|
|
af64737b63 | ||
|
|
81792d2595 | ||
|
|
bbbc568db8 | ||
|
|
4eba618a82 | ||
|
|
accf20044f | ||
|
|
aaadf1487d | ||
|
|
44798a4ef5 | ||
|
|
992641dfad | ||
|
|
451ece8d8c | ||
|
|
bcda18cbd5 | ||
|
|
2a8f5f6035 | ||
|
|
f4821aa49a | ||
|
|
476b06792a | ||
|
|
9489254bbf | ||
|
|
8bcac60bda | ||
|
|
fe03163cce | ||
|
|
8ecc5ba241 | ||
|
|
4204f7970e | ||
|
|
9cd2841006 | ||
|
|
4b92543c61 | ||
|
|
b01adc51c7 | ||
|
|
bfdc48b021 | ||
|
|
10b3a9c841 | ||
|
|
3f27a5e32d | ||
|
|
a904c5c634 | ||
|
|
d603f2d5b3 | ||
|
|
275f7e5d8a | ||
|
|
2595a7a45d | ||
|
|
cb346b08c1 | ||
|
|
3db2dc8be3 | ||
|
|
b3451f1cc2 | ||
|
|
b557483e1d | ||
|
|
d28be44108 | ||
|
|
f61d6cc09a | ||
|
|
6fa0f0e704 | ||
|
|
66039a4b37 | ||
|
|
aca4733b12 | ||
|
|
85b97f4b29 | ||
|
|
724a4e4bf6 | ||
|
|
9cf8804611 | ||
|
|
8f3893bb43 | ||
|
|
7617aba611 | ||
|
|
d99641d122 | ||
|
|
7516424989 | ||
|
|
1cb12d9f2c | ||
|
|
dbcb6a2cb6 | ||
|
|
18c42a648e | ||
|
|
f5e2252997 | ||
|
|
6fd339174e | ||
|
|
1891b5eb38 | ||
|
|
3fcc1f2d5f | ||
|
|
4958cc9e35 | ||
|
|
1750e957d2 | ||
|
|
abfeee5e92 | ||
|
|
c3272f9170 | ||
|
|
df176c6ad9 | ||
|
|
22bfc5e9bb | ||
|
|
4e0cd0d911 | ||
|
|
25091a201b | ||
|
|
3706ef99d3 | ||
|
|
69a4998fce | ||
|
|
513976b5a2 | ||
|
|
97a8352117 | ||
|
|
21dc36199f | ||
|
|
0a18368759 | ||
|
|
6d9db83789 | ||
|
|
3e53cd8ff6 | ||
|
|
816a32d5c9 | ||
|
|
529b8a1004 | ||
|
|
62d0bf5c4e | ||
|
|
4c6b833f73 | ||
|
|
21532eb9bf | ||
|
|
cd50af93fd | ||
|
|
589b7f4e39 | ||
|
|
9c8f7128f2 | ||
|
|
a93008d392 | ||
|
|
d3561623aa | ||
|
|
311e879563 | ||
|
|
9932b99a51 | ||
|
|
5c9ed36bf2 | ||
|
|
dbc8e1676a | ||
|
|
749345e502 | ||
|
|
7c8a21ecc0 | ||
|
|
8751ab122a | ||
|
|
0f3e6125b5 | ||
|
|
a21d02f4c5 | ||
|
|
2f9fb355e3 | ||
|
|
8074bce274 | ||
|
|
85dbbe946a | ||
|
|
1f2e79b188 | ||
|
|
27434107e8 | ||
|
|
45d5404520 | ||
|
|
281bb5427c |
@@ -0,0 +1,3 @@
|
||||
# Gnuboard5 Security Policy
|
||||
|
||||
Please ask [https://sir.kr/security/.](https://sir.kr/co_qa)
|
||||
+10
-7
@@ -554,7 +554,7 @@ function admin_check_xss_params($params)
|
||||
|
||||
if (is_array($value)) {
|
||||
admin_check_xss_params($value);
|
||||
} else if ((preg_match('/<\s?[^\>]*\/?\s?>/i', $value) && (preg_match('/script.*?\/script/ius', $value) || preg_match('/[onload|onerror]=.*/ius', $value))) || preg_match('/^(?=.*token\()(?=.*xmlhttprequest\()(?=.*send\().*$/im', $value) || (preg_match('/[onload|onerror|focus]=.*/ius', $value) && preg_match('/(eval|expression|exec|prompt)(\s*)\((.*)\)/ius', $value))) {
|
||||
} else if ((preg_match('/<\s?[^\>]*\/?\s?>/i', $value) && (preg_match('/script.*?\/script/ius', $value) || preg_match('/(onload|onerror)=.*/ius', $value))) || preg_match('/^(?=.*token\()(?=.*xmlhttprequest\()(?=.*send\().*$/im', $value) || (preg_match('/(onload|onerror|focus)=.*/ius', $value) && preg_match('/(eval|expression|exec|prompt)(\s*)\((.*)\)/ius', $value))) {
|
||||
alert('요청 쿼리에 잘못된 스크립트문장이 있습니다.\\nXSS 공격일수도 있습니다.', G5_URL);
|
||||
die();
|
||||
}
|
||||
@@ -617,13 +617,12 @@ if (!$member['mb_id']) {
|
||||
}
|
||||
}
|
||||
|
||||
// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
|
||||
$admin_key = md5($member['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']);
|
||||
if (get_session('ss_mb_key') !== $admin_key) {
|
||||
|
||||
// 관리자의 클라이언트를 검증하여 일치하지 않으면 세션을 끊고 관리자에게 메일을 보낸다.
|
||||
if (!verify_mb_key($member)) {
|
||||
session_destroy();
|
||||
|
||||
include_once G5_LIB_PATH . '/mailer.lib.php';
|
||||
|
||||
// 메일 알림
|
||||
mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'] . ' 아이피로 XSS 공격이 있었습니다.<br><br>관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.<br><br>해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.' . G5_URL, 0);
|
||||
|
||||
@@ -685,5 +684,9 @@ if (isset($_REQUEST) && $_REQUEST) {
|
||||
}
|
||||
}
|
||||
|
||||
// 관리자에서는 추가 스크립트는 사용하지 않는다.
|
||||
//$config['cf_add_script'] = '';
|
||||
// 관리자에서는 추가 스크립트와 추가 매타태그, 방문자분석 스크립트가 실행되지 않게 빈값으로 합니다.
|
||||
if (run_replace('safe_admin_add_script_boolean', false) === false) {
|
||||
$config['cf_analytics'] = '';
|
||||
$config['cf_add_script'] = '';
|
||||
$config['cf_add_meta'] = '';
|
||||
}
|
||||
+1
-1
@@ -5,7 +5,7 @@ if (!defined('_GNUBOARD_')) {
|
||||
|
||||
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전이 통합됨에 따라 그누보드 버전만 표시
|
||||
// $print_version = defined('G5_YOUNGCART_VER') ? 'YoungCart Version '.G5_YOUNGCART_VER : 'Version '.G5_GNUBOARD_VER;
|
||||
$print_version = 'Version ' . G5_GNUBOARD_VER;
|
||||
$print_version = ($is_admin == 'super') ? 'Version ' . G5_GNUBOARD_VER : '';
|
||||
?>
|
||||
|
||||
<noscript>
|
||||
|
||||
@@ -8,7 +8,7 @@ auth_check_menu($auth, $sub_menu, 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$bo_table = isset($_POST['bo_table']) ? $_POST['bo_table'] : null;
|
||||
$bo_table = isset($_POST['bo_table']) ? substr(preg_replace('/[^a-z0-9_]/i', '', $_POST['bo_table']), 0, 20) : null;
|
||||
$target_table = isset($_POST['target_table']) ? trim($_POST['target_table']) : '';
|
||||
$target_subject = isset($_POST['target_subject']) ? trim($_POST['target_subject']) : '';
|
||||
|
||||
@@ -24,6 +24,8 @@ if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) {
|
||||
alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)');
|
||||
}
|
||||
|
||||
$target_table = substr(preg_replace('/[^a-z0-9_]/i', '', $target_table), 0, 20);
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ($w == '' && in_array($target_table, get_bo_table_banned_word())) {
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
@@ -191,7 +193,6 @@ if ($copy_case == 'schema_data_both') {
|
||||
sql_query($sql, false);
|
||||
|
||||
// 4.00.01
|
||||
// 위의 코드는 같은 테이블명을 사용하였다는 오류가 발생함. (희한하네 ㅡㅡ;)
|
||||
$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' ";
|
||||
$result = sql_query($sql, false);
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
|
||||
+43
-6
@@ -8,6 +8,10 @@ if ($is_admin != 'super') {
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
}
|
||||
|
||||
// https://github.com/gnuboard/gnuboard5/issues/296 이슈처리
|
||||
$sql = " select * from {$g5['config_table']} limit 1";
|
||||
$config = sql_fetch($sql);
|
||||
|
||||
if (!isset($config['cf_add_script'])) {
|
||||
sql_query(
|
||||
" ALTER TABLE `{$g5['config_table']}`
|
||||
@@ -405,6 +409,19 @@ if (!isset($config['cf_cert_kg_mid'])) {
|
||||
ADD COLUMN `cf_cert_kg_mid` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_kg_cd`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
if (!isset($config['cf_cert_use_seed'])) {
|
||||
$sql = "ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_cert_use_seed` TINYINT(4) NOT NULL DEFAULT '1' AFTER `cf_cert_kg_mid`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
if (!isset($config['cf_cert_kcp_enckey'])) {
|
||||
$sql = "ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_cert_kcp_enckey` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_cert_kcp_cd`; ";
|
||||
sql_query($sql, false);
|
||||
|
||||
$config['cf_cert_kcp_enckey'] = '';
|
||||
}
|
||||
|
||||
if (!$config['cf_faq_skin']) {
|
||||
$config['cf_faq_skin'] = "basic";
|
||||
}
|
||||
@@ -696,14 +713,14 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_analytics">방문자분석 스크립트</label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help('방문자분석 스크립트 코드를 입력합니다. 예) 구글 애널리틱스'); ?>
|
||||
<?php echo help('방문자분석 스크립트 코드를 입력합니다. 예) 구글 애널리틱스<br>관리자 페이지에서는 이 코드를 사용하지 않습니다.'); ?>
|
||||
<textarea name="cf_analytics" id="cf_analytics"><?php echo get_text($config['cf_analytics']); ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_add_meta">추가 메타태그</label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help('추가로 사용하실 meta 태그를 입력합니다.'); ?>
|
||||
<?php echo help('추가로 사용하실 meta 태그를 입력합니다.<br>관리자 페이지에서는 이 코드를 사용하지 않습니다.'); ?>
|
||||
<textarea name="cf_add_meta" id="cf_add_meta"><?php echo get_text($config['cf_add_meta']); ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -999,6 +1016,16 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_use_seed">통합인증 암호화 적용</label></th>
|
||||
<td class="cf_cert_service">
|
||||
<?php echo help('KG이니시스 통합인증서비스에 암호화를 적용합니다. 만일 글자가 깨지는 문제가 발생하면 사용안함으로 적용해 주세요.') ?>
|
||||
<select name="cf_cert_use_seed" id="cf_cert_use_seed">
|
||||
<?php echo option_selected("0", $config['cf_cert_use_seed'], "사용안함"); ?>
|
||||
<?php echo option_selected("1", $config['cf_cert_use_seed'], "사용함"); ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_hp">휴대폰 본인확인</label></th>
|
||||
<td class="cf_cert_service">
|
||||
@@ -1047,6 +1074,13 @@ 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_cert_kcp_enckey">NHN KCP 가맹점 인증키</label></th>
|
||||
<td class="cf_cert_service">
|
||||
<?php echo help('(선택사항, 추후 NHN_KCP 상점관리자에서 인증키 발급 메뉴 오픈일정 이후부터 적용되는 내용입니다.)<br>NHN_KCP 상점관리자 > 기술관리센터 > 인증센터 > 가맹점 인증키관리 에서 인증키 발급 후에 인증키 정보를 입력') ?>
|
||||
<input type="text" name="cf_cert_kcp_enckey" value="<?php echo get_sanitize_input($config['cf_cert_kcp_enckey']); ?>" id="cf_cert_kcp_enckey" class="frm_input" maxlength="100" size="40"> <a href="https://partner.kcp.co.kr" target="_blank" class="btn_frmline">NHN KCP 상점관리자</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_limit">본인확인 이용제한</label></th>
|
||||
<td class="cf_cert_service">
|
||||
@@ -1650,16 +1684,19 @@ if ($config['cf_cert_use']) {
|
||||
|
||||
// kcp일 때
|
||||
if ($config['cf_cert_hp'] == 'kcp') {
|
||||
|
||||
$bin_path = ((int)$config['cf_cert_use'] === 2 && !$config['cf_cert_kcp_enckey']) ? 'bin_old' : 'bin';
|
||||
|
||||
if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
||||
if (PHP_INT_MAX == 2147483647) { // 32-bit
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli';
|
||||
$exe = G5_KCPCERT_PATH . '/'.$bin_path.'/ct_cli';
|
||||
} else {
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli_x64';
|
||||
$exe = G5_KCPCERT_PATH . '/'.$bin_path.'/ct_cli_x64';
|
||||
}
|
||||
} else {
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli_exe.exe';
|
||||
$exe = G5_KCPCERT_PATH . '/'.$bin_path.'/ct_cli_exe.exe';
|
||||
}
|
||||
|
||||
|
||||
echo module_exec_check($exe, 'ct_cli');
|
||||
}
|
||||
|
||||
|
||||
+12
-10
@@ -12,7 +12,6 @@ if ($is_admin != 'super') {
|
||||
|
||||
$cf_title = isset($_POST['cf_title']) ? strip_tags(clean_xss_attributes($_POST['cf_title'])) : '';
|
||||
$cf_admin = isset($_POST['cf_admin']) ? clean_xss_tags($_POST['cf_admin'], 1, 1) : '';
|
||||
$posts = array();
|
||||
|
||||
$mb = get_member($cf_admin);
|
||||
|
||||
@@ -24,15 +23,15 @@ check_admin_token();
|
||||
|
||||
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
|
||||
|
||||
$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');
|
||||
$check_keys = array('cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_cert_kcp_enckey', '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]) {
|
||||
$posts[$key] = $_POST[$key] = preg_replace('/[^a-z0-9_\-\.]/i', '', $_POST[$key]);
|
||||
$_POST[$key] = preg_replace('/[^a-z0-9_\-\.]/i', '', $_POST[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$posts['cf_icode_server_port'] = $_POST['cf_icode_server_port'] = isset($_POST['cf_icode_server_port']) ? preg_replace('/[^0-9]/', '', $_POST['cf_icode_server_port']) : '7295';
|
||||
$_POST['cf_icode_server_port'] = isset($_POST['cf_icode_server_port']) ? preg_replace('/[^0-9]/', '', $_POST['cf_icode_server_port']) : '7295';
|
||||
|
||||
if (isset($_POST['cf_intercept_ip']) && $_POST['cf_intercept_ip']) {
|
||||
$pattern = explode("\n", trim($_POST['cf_intercept_ip']));
|
||||
@@ -105,6 +104,7 @@ $check_keys = array(
|
||||
'cf_cert_ipin' => 'char',
|
||||
'cf_cert_hp' => 'char',
|
||||
'cf_cert_simple' => 'char',
|
||||
'cf_cert_use_seed' => 'int',
|
||||
'cf_admin_email' => 'char',
|
||||
'cf_admin_email_name' => 'char',
|
||||
'cf_add_script' => 'text',
|
||||
@@ -164,12 +164,12 @@ for ($i = 1; $i <= 10; $i++) {
|
||||
|
||||
foreach ($check_keys as $k => $v) {
|
||||
if ($v === 'int') {
|
||||
$posts[$key] = $_POST[$k] = isset($_POST[$k]) ? (int) $_POST[$k] : 0;
|
||||
$_POST[$k] = isset($_POST[$k]) ? (int) $_POST[$k] : 0;
|
||||
} else {
|
||||
if (in_array($k, array('cf_analytics', 'cf_add_meta', 'cf_add_script', 'cf_stipulation', 'cf_privacy'))) {
|
||||
$posts[$key] = $_POST[$k] = isset($_POST[$k]) ? $_POST[$k] : '';
|
||||
$_POST[$k] = isset($_POST[$k]) ? $_POST[$k] : '';
|
||||
} else {
|
||||
$posts[$key] = $_POST[$k] = isset($_POST[$k]) ? strip_tags(clean_xss_attributes($_POST[$k])) : '';
|
||||
$_POST[$k] = isset($_POST[$k]) ? strip_tags(clean_xss_attributes($_POST[$k])) : '';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -180,9 +180,9 @@ if ($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'] &&
|
||||
}
|
||||
|
||||
if (!$_POST['cf_cert_use']) {
|
||||
$posts[$key] = $_POST['cf_cert_ipin'] = '';
|
||||
$posts[$key] = $_POST['cf_cert_hp'] = '';
|
||||
$posts[$key] = $_POST['cf_cert_simple'] = '';
|
||||
$_POST['cf_cert_ipin'] = '';
|
||||
$_POST['cf_cert_hp'] = '';
|
||||
$_POST['cf_cert_simple'] = '';
|
||||
}
|
||||
|
||||
$sql = " update {$g5['config_table']}
|
||||
@@ -284,10 +284,12 @@ $sql = " update {$g5['config_table']}
|
||||
cf_cert_ipin = '{$_POST['cf_cert_ipin']}',
|
||||
cf_cert_hp = '{$_POST['cf_cert_hp']}',
|
||||
cf_cert_simple = '{$_POST['cf_cert_simple']}',
|
||||
cf_cert_use_seed = '".(int)$_POST['cf_cert_use_seed']."',
|
||||
cf_cert_kg_cd = '{$_POST['cf_cert_kg_cd']}',
|
||||
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_cert_kcp_enckey = '{$_POST['cf_cert_kcp_enckey']}',
|
||||
cf_cert_limit = '{$_POST['cf_cert_limit']}',
|
||||
cf_cert_req = '{$_POST['cf_cert_req']}',
|
||||
cf_sms_use = '{$_POST['cf_sms_use']}',
|
||||
|
||||
@@ -57,6 +57,9 @@ if ($w == "u") {
|
||||
if (!$co['co_id']) {
|
||||
alert('등록된 자료가 없습니다.');
|
||||
}
|
||||
|
||||
if (function_exists('check_case_exist_title')) check_case_exist_title($co, G5_CONTENT_DIR, false);
|
||||
|
||||
} else {
|
||||
$html_title .= ' 입력';
|
||||
$co = array(
|
||||
|
||||
@@ -113,17 +113,20 @@ if ($w == "") {
|
||||
set co_id = '$co_id',
|
||||
$sql_common ";
|
||||
sql_query($sql);
|
||||
run_event('admin_content_created', $co_id);
|
||||
} elseif ($w == "u") {
|
||||
$sql = " update {$g5['content_table']}
|
||||
set $sql_common
|
||||
where co_id = '$co_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_content_updated', $co_id);
|
||||
} elseif ($w == "d") {
|
||||
@unlink(G5_DATA_PATH . "/content/{$co_id}_h");
|
||||
@unlink(G5_DATA_PATH . "/content/{$co_id}_t");
|
||||
|
||||
$sql = " delete from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_content_deleted', $co_id);
|
||||
}
|
||||
|
||||
if (function_exists('get_admin_captcha_by')) {
|
||||
|
||||
+3
-1
@@ -624,6 +624,7 @@ a.lg_btn{display:inline-block;margin:5px 0 0;padding:5px 10px;background:#ED008C
|
||||
a.kg_btn{display:inline-block;margin:5px 0 0;padding:5px 10px;background:#4A2C7C;color:#fff;font-weight:normal;text-decoration:none}
|
||||
a.kakao_btn{display:inline-block;margin:5px 0 0;padding:5px 10px;background:#FDDC2F;color:#3B1E1E;font-weight:normal;text-decoration:none}
|
||||
a.naver_btn {display:inline-block;margin:5px 0 0;padding:5px 10px;background:#00C73C;color:#fff;font-weight:normal;text-decoration:none}
|
||||
a.nicepay_btn{display:inline-block;margin:5px 0 0;padding:5px 10px;background:#0057bf;color:#fff;font-weight:normal;text-decoration:none}
|
||||
|
||||
.scf_cardtest {margin:5px 0 0}
|
||||
.scf_cardtest_btn {margin-left:5px;vertical-align:middle}
|
||||
@@ -666,6 +667,7 @@ ul.de_pg_tab li.tab-current a{background:#2CC185;color:#fff}
|
||||
.inicis_info_fld th{background-color:#F6F1FF}
|
||||
.kakao_info_fld th{background-color:#FFFCED}
|
||||
.naver_info_fld th{background-color:#F3FFF3}
|
||||
.nicepay_info_fld th{background-color:#d1e6ff}
|
||||
|
||||
/* 주문내역 */
|
||||
#sodr_list td {text-align:center}
|
||||
@@ -1062,7 +1064,7 @@ box-shadow: 1px 2px 5px rgba(150,150,150,0.5);z-index:1000}
|
||||
#theme_detail:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_detail h2{font-size:1.25em;background:#fff;padding:0 15px;line-height:40px;border-bottom:1px solid #d8d8d8;margin:0}
|
||||
.theme_dt_img{float:left;padding:20px}
|
||||
.theme_dt_img img{border:1px solid #aaa;}
|
||||
.theme_dt_img img{border:1px solid #aaa;max-width:600px;max-height:460px}
|
||||
.theme_dt_if{float:left;width:235px;padding:20px 0}
|
||||
.theme_dt_if table{width:100%;border-collapse:collapse;margin:15px 0 0 ;font-size:0.92em}
|
||||
.theme_dt_if table th{padding:5px;background:#fff;border-bottom:1px solid #f3f3f3;vertical-align:top;color:#3f51b5}
|
||||
|
||||
@@ -205,6 +205,68 @@ if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($default['de_id'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
|
||||
ADD COLUMN `de_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
|
||||
ADD PRIMARY KEY (`de_id`); ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
}
|
||||
|
||||
// auth.au_menu 컬럼 크기 조정
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['auth_table']}` LIKE 'au_menu' ";
|
||||
$row = sql_fetch($sql);
|
||||
if (
|
||||
stripos($row['Type'], 'varchar') !== false
|
||||
&& (int) preg_replace('/[^0-9]/', '', $row['Type']) < 50
|
||||
) {
|
||||
sql_query(" ALTER TABLE `{$g5['auth_table']}` CHANGE `au_menu` `au_menu` VARCHAR(50) NOT NULL; ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// qa config 테이블 auto id key 추가
|
||||
$row = sql_fetch("select * from `{$g5['qa_config_table']}` limit 1");
|
||||
if (!isset($row['qa_id'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['qa_config_table']}` ADD COLUMN `qa_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
|
||||
ADD PRIMARY KEY (`qa_id`); ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// config 기본 테이블 auto id key 추가
|
||||
if (!isset($config['cf_id'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
|
||||
ADD PRIMARY KEY (`cf_id`); ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// login 테이블 auto id key 추가
|
||||
$row = sql_fetch("select * from `{$g5['login_table']}` limit 1");
|
||||
if (!isset($row['lo_id'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['login_table']}`
|
||||
ADD COLUMN `lo_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
|
||||
DROP PRIMARY KEY,
|
||||
ADD PRIMARY KEY (`lo_id`),
|
||||
ADD UNIQUE KEY `lo_ip_unique` (`lo_ip`) ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// visit 테이블 auto id key 로 변경
|
||||
$result = sql_query("describe `{$g5['visit_table']}`");
|
||||
while ($row = sql_fetch_array($result)){
|
||||
if (isset($row['Field']) && $row['Field'] === 'vi_id' && (isset($row['Default']) && $row['Default'] == 0)){
|
||||
sql_query("ALTER TABLE `{$g5['visit_table']}`
|
||||
CHANGE COLUMN `vi_id` `vi_id` INT(11) NOT NULL AUTO_INCREMENT;
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
}
|
||||
|
||||
$is_check = run_replace('admin_dbupgrade', $is_check);
|
||||
|
||||
@@ -30,6 +30,7 @@ if ($w == "")
|
||||
sql_query($sql);
|
||||
|
||||
$fa_id = sql_insert_id();
|
||||
run_event('admin_faq_item_created', $fa_id, $fm_id);
|
||||
}
|
||||
else if ($w == "u")
|
||||
{
|
||||
@@ -37,11 +38,14 @@ else if ($w == "u")
|
||||
set $sql_common
|
||||
where fa_id = '$fa_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_faq_item_updated', $fa_id, $fm_id);
|
||||
|
||||
}
|
||||
else if ($w == "d")
|
||||
{
|
||||
$sql = " delete from {$g5['faq_table']} where fa_id = '$fa_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_faq_item_deleted', $fa_id, $fm_id);
|
||||
}
|
||||
|
||||
if ($w == 'd')
|
||||
|
||||
@@ -49,9 +49,13 @@ if ($w == "") {
|
||||
sql_query($sql);
|
||||
|
||||
$fm_id = sql_insert_id();
|
||||
run_event('admin_faq_master_created', $fm_id);
|
||||
|
||||
} elseif ($w == "u") {
|
||||
$sql = " update {$g5['faq_master_table']} $sql_common where fm_id = '$fm_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_faq_master_updated', $fm_id);
|
||||
|
||||
} elseif ($w == "d") {
|
||||
@unlink(G5_DATA_PATH . "/faq/{$fm_id}_h");
|
||||
@unlink(G5_DATA_PATH . "/faq/{$fm_id}_t");
|
||||
@@ -63,6 +67,8 @@ if ($w == "") {
|
||||
// FAQ상세삭제
|
||||
$sql = " delete from {$g5['faq_table']} where fm_id = '$fm_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
run_event('admin_faq_master_deleted', $fm_id);
|
||||
}
|
||||
|
||||
if ($w == "" || $w == "u") {
|
||||
|
||||
+298
-277
@@ -3,8 +3,10 @@ $sub_menu = '100000';
|
||||
require_once './_common.php';
|
||||
|
||||
@require_once './safe_check.php';
|
||||
|
||||
if (function_exists('social_log_file_delete')) {
|
||||
social_log_file_delete(86400); //소셜로그인 디버그 파일 24시간 지난것은 삭제
|
||||
//소셜로그인 디버그 파일 24시간 지난것은 삭제
|
||||
social_log_file_delete(86400);
|
||||
}
|
||||
|
||||
$g5['title'] = '관리자메인';
|
||||
@@ -14,304 +16,323 @@ $new_member_rows = 5;
|
||||
$new_point_rows = 5;
|
||||
$new_write_rows = 5;
|
||||
|
||||
$sql_common = " from {$g5['member_table']} ";
|
||||
|
||||
$sql_search = " where (1) ";
|
||||
|
||||
if ($is_admin != 'super') {
|
||||
$sql_search .= " and mb_level <= '{$member['mb_level']}' ";
|
||||
$addtional_content_before = run_replace('adm_index_addtional_content_before', '', $is_admin, $auth, $member);
|
||||
if ($addtional_content_before) {
|
||||
echo $addtional_content_before;
|
||||
}
|
||||
|
||||
if (!$sst) {
|
||||
$sst = "mb_datetime";
|
||||
$sod = "desc";
|
||||
}
|
||||
if (!auth_check_menu($auth, '200100', 'r', true)) {
|
||||
$sql_common = " from {$g5['member_table']} ";
|
||||
|
||||
$sql_order = " order by {$sst} {$sod} ";
|
||||
$sql_search = " where (1) ";
|
||||
|
||||
$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
// 탈퇴회원수
|
||||
$sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_leave_date <> '' {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$leave_count = $row['cnt'];
|
||||
|
||||
// 차단회원수
|
||||
$sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_intercept_date <> '' {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$intercept_count = $row['cnt'];
|
||||
|
||||
$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$new_member_rows} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$colspan = 12;
|
||||
?>
|
||||
|
||||
<section>
|
||||
<h2>신규가입회원 <?php echo $new_member_rows ?>건 목록</h2>
|
||||
<div class="local_desc02 local_desc">
|
||||
총회원수 <?php echo number_format($total_count) ?>명 중 차단 <?php echo number_format($intercept_count) ?>명, 탈퇴 : <?php echo number_format($leave_count) ?>명
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>신규가입회원</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">회원아이디</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">닉네임</th>
|
||||
<th scope="col">권한</th>
|
||||
<th scope="col">포인트</th>
|
||||
<th scope="col">수신</th>
|
||||
<th scope="col">공개</th>
|
||||
<th scope="col">인증</th>
|
||||
<th scope="col">차단</th>
|
||||
<th scope="col">그룹</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
// 접근가능한 그룹수
|
||||
$sql2 = " select count(*) as cnt from {$g5['group_member_table']} where mb_id = '{$row['mb_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
$group = "";
|
||||
if ($row2['cnt']) {
|
||||
$group = '<a href="./boardgroupmember_form.php?mb_id=' . $row['mb_id'] . '">' . $row2['cnt'] . '</a>';
|
||||
}
|
||||
|
||||
if ($is_admin == 'group') {
|
||||
$s_mod = '';
|
||||
$s_del = '';
|
||||
} else {
|
||||
$s_mod = '<a href="./member_form.php?$qstr&w=u&mb_id=' . $row['mb_id'] . '">수정</a>';
|
||||
$s_del = '<a href="./member_delete.php?' . $qstr . '&w=d&mb_id=' . $row['mb_id'] . '&url=' . $_SERVER['SCRIPT_NAME'] . '" onclick="return delete_confirm(this);">삭제</a>';
|
||||
}
|
||||
$s_grp = '<a href="./boardgroupmember_form.php?mb_id=' . $row['mb_id'] . '">그룹</a>';
|
||||
|
||||
$leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date("Ymd", G5_SERVER_TIME);
|
||||
$intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date("Ymd", G5_SERVER_TIME);
|
||||
|
||||
$mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']);
|
||||
|
||||
$mb_id = $row['mb_id'];
|
||||
?>
|
||||
<tr>
|
||||
<td class="td_mbid"><?php echo $mb_id ?></td>
|
||||
<td class="td_mbname"><?php echo get_text($row['mb_name']); ?></td>
|
||||
<td class="td_mbname sv_use">
|
||||
<div><?php echo $mb_nick ?></div>
|
||||
</td>
|
||||
<td class="td_num"><?php echo $row['mb_level'] ?></td>
|
||||
<td><a href="./point_list.php?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo number_format($row['mb_point']) ?></a></td>
|
||||
<td class="td_boolean"><?php echo $row['mb_mailling'] ? '예' : '아니오'; ?></td>
|
||||
<td class="td_boolean"><?php echo $row['mb_open'] ? '예' : '아니오'; ?></td>
|
||||
<td class="td_boolean"><?php echo preg_match('/[1-9]/', $row['mb_email_certify']) ? '예' : '아니오'; ?></td>
|
||||
<td class="td_boolean"><?php echo $row['mb_intercept_date'] ? '예' : '아니오'; ?></td>
|
||||
<td class="td_category"><?php echo $group ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
if ($i == 0) {
|
||||
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list03 btn_list">
|
||||
<a href="./member_list.php">회원 전체보기</a>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<?php
|
||||
$sql_common = " from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c where a.bo_table = b.bo_table and b.gr_id = c.gr_id ";
|
||||
|
||||
if ($gr_id) {
|
||||
$sql_common .= " and b.gr_id = '$gr_id' ";
|
||||
}
|
||||
if (isset($view) && $view) {
|
||||
if ($view == 'w') {
|
||||
$sql_common .= " and a.wr_id = a.wr_parent ";
|
||||
} elseif ($view == 'c') {
|
||||
$sql_common .= " and a.wr_id <> a.wr_parent ";
|
||||
if ($is_admin != 'super') {
|
||||
$sql_search .= " and mb_level <= '{$member['mb_level']}' ";
|
||||
}
|
||||
}
|
||||
$sql_order = " order by a.bn_id desc ";
|
||||
|
||||
$sql = " select count(*) as cnt {$sql_common} ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
if (!$sst) {
|
||||
$sst = "mb_datetime";
|
||||
$sod = "desc";
|
||||
}
|
||||
|
||||
$colspan = 5;
|
||||
?>
|
||||
$sql_order = " order by {$sst} {$sod} ";
|
||||
|
||||
<section>
|
||||
<h2>최근게시물</h2>
|
||||
$sql = " SELECT count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>최근게시물</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">그룹</th>
|
||||
<th scope="col">게시판</th>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id {$sql_common} {$sql_order} limit {$new_write_rows} ";
|
||||
$result = sql_query($sql);
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
$tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
|
||||
// 탈퇴회원수
|
||||
$sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_leave_date <> '' {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$leave_count = $row['cnt'];
|
||||
|
||||
// 원글
|
||||
if ($row['wr_id'] == $row['wr_parent']) {
|
||||
$comment = "";
|
||||
$comment_link = "";
|
||||
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '{$row['wr_id']}' ");
|
||||
// 차단회원수
|
||||
$sql = " SELECT count(*) as cnt {$sql_common} {$sql_search} and mb_intercept_date <> '' {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$intercept_count = $row['cnt'];
|
||||
|
||||
$name = get_sideview($row2['mb_id'], get_text(cut_str($row2['wr_name'], $config['cf_cut_name'])), $row2['wr_email'], $row2['wr_homepage']);
|
||||
// 당일인 경우 시간으로 표시함
|
||||
$datetime = substr($row2['wr_datetime'], 0, 10);
|
||||
$datetime2 = $row2['wr_datetime'];
|
||||
if ($datetime == G5_TIME_YMD) {
|
||||
$datetime2 = substr($datetime2, 11, 5);
|
||||
} else {
|
||||
$datetime2 = substr($datetime2, 5, 5);
|
||||
}
|
||||
} else // 코멘트
|
||||
{
|
||||
$comment = '댓글. ';
|
||||
$comment_link = '#c_' . $row['wr_id'];
|
||||
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_parent']}' ");
|
||||
$row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
|
||||
$sql = " SELECT * {$sql_common} {$sql_search} {$sql_order} limit {$new_member_rows} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$name = get_sideview($row3['mb_id'], get_text(cut_str($row3['wr_name'], $config['cf_cut_name'])), $row3['wr_email'], $row3['wr_homepage']);
|
||||
// 당일인 경우 시간으로 표시함
|
||||
$datetime = substr($row3['wr_datetime'], 0, 10);
|
||||
$datetime2 = $row3['wr_datetime'];
|
||||
if ($datetime == G5_TIME_YMD) {
|
||||
$datetime2 = substr($datetime2, 11, 5);
|
||||
} else {
|
||||
$datetime2 = substr($datetime2, 5, 5);
|
||||
}
|
||||
}
|
||||
?>
|
||||
$colspan = 12;
|
||||
?>
|
||||
|
||||
<section>
|
||||
<h2>신규가입회원 <?php echo $new_member_rows ?>건 목록</h2>
|
||||
<div class="local_desc02 local_desc">
|
||||
총회원수 <?php echo number_format($total_count) ?>명 중 차단 <?php echo number_format($intercept_count) ?>명, 탈퇴 : <?php echo number_format($leave_count) ?>명
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>신규가입회원</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="td_category"><a href="<?php echo G5_BBS_URL ?>/new.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo cut_str($row['gr_subject'], 10) ?></a></td>
|
||||
<td class="td_category"><a href="<?php echo get_pretty_url($row['bo_table']) ?>"><?php echo cut_str($row['bo_subject'], 20) ?></a></td>
|
||||
<td><a href="<?php echo get_pretty_url($row['bo_table'], $row2['wr_id']); ?><?php echo $comment_link ?>"><?php echo $comment ?><?php echo conv_subject($row2['wr_subject'], 100) ?></a></td>
|
||||
<td class="td_mbname">
|
||||
<div><?php echo $name ?></div>
|
||||
</td>
|
||||
<td class="td_datetime"><?php echo $datetime ?></td>
|
||||
<th scope="col">회원아이디</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">닉네임</th>
|
||||
<th scope="col">권한</th>
|
||||
<th scope="col">포인트</th>
|
||||
<th scope="col">수신</th>
|
||||
<th scope="col">공개</th>
|
||||
<th scope="col">인증</th>
|
||||
<th scope="col">차단</th>
|
||||
<th scope="col">그룹</th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
if ($i == 0) {
|
||||
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list03 btn_list">
|
||||
<a href="<?php echo G5_BBS_URL ?>/new.php">최근게시물 더보기</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
$sql_common = " from {$g5['point_table']} ";
|
||||
$sql_search = " where (1) ";
|
||||
$sql_order = " order by po_id desc ";
|
||||
|
||||
$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$new_point_rows} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$colspan = 7;
|
||||
?>
|
||||
|
||||
<section>
|
||||
<h2>최근 포인트 발생내역</h2>
|
||||
<div class="local_desc02 local_desc">
|
||||
전체 <?php echo number_format($total_count) ?> 건 중 <?php echo $new_point_rows ?>건 목록
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>최근 포인트 발생내역</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">회원아이디</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">닉네임</th>
|
||||
<th scope="col">일시</th>
|
||||
<th scope="col">포인트 내용</th>
|
||||
<th scope="col">포인트</th>
|
||||
<th scope="col">포인트합</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$row2['mb_id'] = '';
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
if ($row2['mb_id'] != $row['mb_id']) {
|
||||
$sql2 = " select mb_id, mb_name, mb_nick, mb_email, mb_homepage, mb_point from {$g5['member_table']} where mb_id = '{$row['mb_id']}' ";
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
// 접근가능한 그룹수
|
||||
$sql2 = " SELECT count(*) as cnt from {$g5['group_member_table']} where mb_id = '{$row['mb_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
$group = "";
|
||||
if ($row2['cnt']) {
|
||||
$group = '<a href="./boardgroupmember_form.php?mb_id=' . $row['mb_id'] . '">' . $row2['cnt'] . '</a>';
|
||||
}
|
||||
|
||||
if ($is_admin == 'group') {
|
||||
$s_mod = '';
|
||||
$s_del = '';
|
||||
} else {
|
||||
$s_mod = '<a href="./member_form.php?$qstr&w=u&mb_id=' . $row['mb_id'] . '">수정</a>';
|
||||
$s_del = '<a href="./member_delete.php?' . $qstr . '&w=d&mb_id=' . $row['mb_id'] . '&url=' . $_SERVER['SCRIPT_NAME'] . '" onclick="return delete_confirm(this);">삭제</a>';
|
||||
}
|
||||
$s_grp = '<a href="./boardgroupmember_form.php?mb_id=' . $row['mb_id'] . '">그룹</a>';
|
||||
|
||||
$leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date("Ymd", G5_SERVER_TIME);
|
||||
$intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date("Ymd", G5_SERVER_TIME);
|
||||
|
||||
$mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']);
|
||||
|
||||
$mb_id = $row['mb_id'];
|
||||
?>
|
||||
<tr>
|
||||
<td class="td_mbid"><?php echo $mb_id ?></td>
|
||||
<td class="td_mbname"><?php echo get_text($row['mb_name']); ?></td>
|
||||
<td class="td_mbname sv_use">
|
||||
<div><?php echo $mb_nick ?></div>
|
||||
</td>
|
||||
<td class="td_num"><?php echo $row['mb_level'] ?></td>
|
||||
<td><a href="./point_list.php?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo number_format($row['mb_point']) ?></a></td>
|
||||
<td class="td_boolean"><?php echo $row['mb_mailling'] ? '예' : '아니오'; ?></td>
|
||||
<td class="td_boolean"><?php echo $row['mb_open'] ? '예' : '아니오'; ?></td>
|
||||
<td class="td_boolean"><?php echo preg_match('/[1-9]/', $row['mb_email_certify']) ? '예' : '아니오'; ?></td>
|
||||
<td class="td_boolean"><?php echo $row['mb_intercept_date'] ? '예' : '아니오'; ?></td>
|
||||
<td class="td_category"><?php echo $group ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
$mb_nick = get_sideview($row['mb_id'], $row2['mb_nick'], $row2['mb_email'], $row2['mb_homepage']);
|
||||
|
||||
$link1 = $link2 = "";
|
||||
if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table']) {
|
||||
$link1 = '<a href="' . get_pretty_url($row['po_rel_table'], $row['po_rel_id']) . '" target="_blank">';
|
||||
$link2 = '</a>';
|
||||
if ($i == 0) {
|
||||
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list03 btn_list">
|
||||
<a href="./member_list.php">회원 전체보기</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
} //endif 최신 회원
|
||||
|
||||
if (!auth_check_menu($auth, '300100', 'r', true)) {
|
||||
|
||||
$sql_common = " from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c where a.bo_table = b.bo_table and b.gr_id = c.gr_id ";
|
||||
|
||||
if ($gr_id) {
|
||||
$sql_common .= " and b.gr_id = '{$gr_id}' ";
|
||||
}
|
||||
if (isset($view) && $view) {
|
||||
if ($view == 'w') {
|
||||
$sql_common .= " and a.wr_id = a.wr_parent ";
|
||||
} elseif ($view == 'c') {
|
||||
$sql_common .= " and a.wr_id <> a.wr_parent ";
|
||||
}
|
||||
}
|
||||
$sql_order = " order by a.bn_id desc ";
|
||||
|
||||
$sql = " SELECT count(*) as cnt {$sql_common} ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$colspan = 5;
|
||||
?>
|
||||
|
||||
<section>
|
||||
<h2>최근게시물</h2>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>최근게시물</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="td_mbid"><a href="./point_list.php?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo $row['mb_id'] ?></a></td>
|
||||
<td class="td_mbname"><?php echo get_text($row2['mb_name']); ?></td>
|
||||
<td class="td_name sv_use">
|
||||
<div><?php echo $mb_nick ?></div>
|
||||
</td>
|
||||
<td class="td_datetime"><?php echo $row['po_datetime'] ?></td>
|
||||
<td><?php echo $link1 . $row['po_content'] . $link2 ?></td>
|
||||
<td class="td_numbig"><?php echo number_format($row['po_point']) ?></td>
|
||||
<td class="td_numbig"><?php echo number_format($row['po_mb_point']) ?></td>
|
||||
<th scope="col">그룹</th>
|
||||
<th scope="col">게시판</th>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$sql = " SELECT a.*, b.bo_subject, c.gr_subject, c.gr_id {$sql_common} {$sql_order} limit {$new_write_rows} ";
|
||||
$result = sql_query($sql);
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
$tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
|
||||
|
||||
<?php
|
||||
}
|
||||
if ($row['wr_id'] == $row['wr_parent']) {
|
||||
// 원글
|
||||
$comment = "";
|
||||
$comment_link = "";
|
||||
$row2 = sql_fetch(" SELECT * from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
|
||||
|
||||
if ($i == 0) {
|
||||
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
$name = get_sideview($row2['mb_id'], get_text(cut_str($row2['wr_name'], $config['cf_cut_name'])), $row2['wr_email'], $row2['wr_homepage']);
|
||||
// 당일인 경우 시간으로 표시함
|
||||
$datetime = substr($row2['wr_datetime'], 0, 10);
|
||||
$datetime2 = $row2['wr_datetime'];
|
||||
if ($datetime == G5_TIME_YMD) {
|
||||
$datetime2 = substr($datetime2, 11, 5);
|
||||
} else {
|
||||
$datetime2 = substr($datetime2, 5, 5);
|
||||
}
|
||||
} else {
|
||||
// 코멘트
|
||||
$comment = '댓글. ';
|
||||
$comment_link = '#c_' . $row['wr_id'];
|
||||
$row2 = sql_fetch(" SELECT * from {$tmp_write_table} where wr_id = '{$row['wr_parent']}' ");
|
||||
$row3 = sql_fetch(" SELECT mb_id, wr_name, wr_email, wr_homepage, wr_datetime from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
|
||||
|
||||
<div class="btn_list03 btn_list">
|
||||
<a href="./point_list.php">포인트내역 전체보기</a>
|
||||
</div>
|
||||
</section>
|
||||
$name = get_sideview($row3['mb_id'], get_text(cut_str($row3['wr_name'], $config['cf_cut_name'])), $row3['wr_email'], $row3['wr_homepage']);
|
||||
// 당일인 경우 시간으로 표시함
|
||||
$datetime = substr($row3['wr_datetime'], 0, 10);
|
||||
$datetime2 = $row3['wr_datetime'];
|
||||
if ($datetime == G5_TIME_YMD) {
|
||||
$datetime2 = substr($datetime2, 11, 5);
|
||||
} else {
|
||||
$datetime2 = substr($datetime2, 5, 5);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
require_once './admin.tail.php';
|
||||
<tr>
|
||||
<td class="td_category"><a href="<?php echo G5_BBS_URL ?>/new.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo cut_str($row['gr_subject'], 10) ?></a></td>
|
||||
<td class="td_category"><a href="<?php echo get_pretty_url($row['bo_table']) ?>"><?php echo cut_str($row['bo_subject'], 20) ?></a></td>
|
||||
<td><a href="<?php echo get_pretty_url($row['bo_table'], $row2['wr_id']); ?><?php echo $comment_link ?>"><?php echo $comment ?><?php echo conv_subject($row2['wr_subject'], 100) ?></a></td>
|
||||
<td class="td_mbname">
|
||||
<div><?php echo $name ?></div>
|
||||
</td>
|
||||
<td class="td_datetime"><?php echo $datetime ?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
if ($i == 0) {
|
||||
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list03 btn_list">
|
||||
<a href="<?php echo G5_BBS_URL ?>/new.php">최근게시물 더보기</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
} //endif 최근게시물
|
||||
|
||||
if (!auth_check_menu($auth, '200200', 'r', true)) {
|
||||
|
||||
$sql_common = " from {$g5['point_table']} ";
|
||||
$sql_search = " where (1) ";
|
||||
$sql_order = " order by po_id desc ";
|
||||
|
||||
$sql = " SELECT count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$sql = " SELECT * {$sql_common} {$sql_search} {$sql_order} limit {$new_point_rows} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$colspan = 7;
|
||||
?>
|
||||
|
||||
<section>
|
||||
<h2>최근 포인트 발생내역</h2>
|
||||
<div class="local_desc02 local_desc">
|
||||
전체 <?php echo number_format($total_count) ?> 건 중 <?php echo $new_point_rows ?>건 목록
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>최근 포인트 발생내역</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">회원아이디</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">닉네임</th>
|
||||
<th scope="col">일시</th>
|
||||
<th scope="col">포인트 내용</th>
|
||||
<th scope="col">포인트</th>
|
||||
<th scope="col">포인트합</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$row2['mb_id'] = '';
|
||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
||||
if ($row2['mb_id'] != $row['mb_id']) {
|
||||
$sql2 = " SELECT mb_id, mb_name, mb_nick, mb_email, mb_homepage, mb_point from {$g5['member_table']} where mb_id = '{$row['mb_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
}
|
||||
|
||||
$mb_nick = get_sideview($row['mb_id'], $row2['mb_nick'], $row2['mb_email'], $row2['mb_homepage']);
|
||||
|
||||
$link1 = $link2 = "";
|
||||
if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table']) {
|
||||
$link1 = '<a href="' . get_pretty_url($row['po_rel_table'], $row['po_rel_id']) . '" target="_blank">';
|
||||
$link2 = '</a>';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<td class="td_mbid"><a href="./point_list.php?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo $row['mb_id'] ?></a></td>
|
||||
<td class="td_mbname"><?php echo get_text($row2['mb_name']); ?></td>
|
||||
<td class="td_name sv_use">
|
||||
<div><?php echo $mb_nick ?></div>
|
||||
</td>
|
||||
<td class="td_datetime"><?php echo $row['po_datetime'] ?></td>
|
||||
<td><?php echo $link1 . $row['po_content'] . $link2 ?></td>
|
||||
<td class="td_numbig"><?php echo number_format($row['po_point']) ?></td>
|
||||
<td class="td_numbig"><?php echo number_format($row['po_mb_point']) ?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($i == 0) {
|
||||
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list03 btn_list">
|
||||
<a href="./point_list.php">포인트내역 전체보기</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
} //endif
|
||||
|
||||
$addtional_content_after = run_replace('adm_index_addtional_content_after', '', $is_admin, $auth, $member);
|
||||
if ($addtional_content_after) {
|
||||
echo $addtional_content_after;
|
||||
}
|
||||
require_once './admin.tail.php';
|
||||
@@ -19,6 +19,7 @@ for ($i = 0; $i < $post_count_chk; $i++) {
|
||||
|
||||
$sql = " delete from {$g5['mail_table']} where ma_id = '$ma_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_mail_deleted', $ma_id);
|
||||
}
|
||||
|
||||
goto_url('./mail_list.php');
|
||||
|
||||
@@ -121,7 +121,7 @@ require_once './admin.head.php';
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<textarea name="ma_list" style="display:none"><?php echo $ma_list ?></textarea>
|
||||
<textarea name="ma_list" style="display:none"><?php echo html_purifier($ma_list); ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
|
||||
@@ -21,6 +21,10 @@ if ($w == '') {
|
||||
ma_time = '" . G5_TIME_YMDHIS . "',
|
||||
ma_ip = '{$_SERVER['REMOTE_ADDR']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
$ma_id = sql_insert_id();
|
||||
run_event('admin_mail_created', $ma_id);
|
||||
|
||||
} elseif ($w == 'u') {
|
||||
$sql = " update {$g5['mail_table']}
|
||||
set ma_subject = '{$ma_subject}',
|
||||
@@ -29,9 +33,12 @@ if ($w == '') {
|
||||
ma_ip = '{$_SERVER['REMOTE_ADDR']}'
|
||||
where ma_id = '{$ma_id}' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_mail_updated', $ma_id);
|
||||
|
||||
} elseif ($w == 'd') {
|
||||
$sql = " delete from {$g5['mail_table']} where ma_id = '{$ma_id}' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_mail_deleted', $ma_id);
|
||||
}
|
||||
|
||||
goto_url('./mail_list.php');
|
||||
|
||||
+5
-5
@@ -205,7 +205,7 @@ if (isset($mb_id) && $mb_id) {
|
||||
if ($mb['mb_intercept_date']) {
|
||||
$g5['title'] = "차단된 ";
|
||||
} else {
|
||||
$g5['title'] .= "";
|
||||
$g5['title'] = "";
|
||||
}
|
||||
$g5['title'] .= '회원 ' . $html_title;
|
||||
require_once './admin.head.php';
|
||||
@@ -380,15 +380,15 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_signature">서명</label></th>
|
||||
<td colspan="3"><textarea name="mb_signature" id="mb_signature"><?php echo $mb['mb_signature'] ?></textarea></td>
|
||||
<td colspan="3"><textarea name="mb_signature" id="mb_signature"><?php echo html_purifier($mb['mb_signature']); ?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_profile">자기 소개</label></th>
|
||||
<td colspan="3"><textarea name="mb_profile" id="mb_profile"><?php echo $mb['mb_profile'] ?></textarea></td>
|
||||
<td colspan="3"><textarea name="mb_profile" id="mb_profile"><?php echo html_purifier($mb['mb_profile']); ?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_memo">메모</label></th>
|
||||
<td colspan="3"><textarea name="mb_memo" id="mb_memo"><?php echo $mb['mb_memo'] ?></textarea></td>
|
||||
<td colspan="3"><textarea name="mb_memo" id="mb_memo"><?php echo html_purifier($mb['mb_memo']); ?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_cert_history">본인인증 내역</label></th>
|
||||
@@ -455,7 +455,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<?php if ($config['cf_use_recommend']) { // 추천인 사용 ?>
|
||||
<tr>
|
||||
<th scope="row">추천인</th>
|
||||
<td colspan="3"><?php echo ($mb['mb_recommend'] ? get_text($mb['mb_recommend']) : '없음'); // 081022 : CSRF 보안 결함으로 인한 코드 수정 ?></td>
|
||||
<td colspan="3"><?php echo ((isset($mb['mb_recommend']) && $mb['mb_recommend']) ? get_text($mb['mb_recommend']) : '없음'); // 081022 : CSRF 보안 결함으로 인한 코드 수정 ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -59,14 +59,16 @@ $sql_common = " nw_device = '{$posts['nw_device']}',
|
||||
if ($w == "") {
|
||||
$sql = " insert {$g5['new_win_table']} set $sql_common ";
|
||||
sql_query($sql);
|
||||
|
||||
$nw_id = sql_insert_id();
|
||||
run_event('admin_newwin_created', $nw_id);
|
||||
} elseif ($w == "u") {
|
||||
$sql = " update {$g5['new_win_table']} set $sql_common where nw_id = '$nw_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_newwin_updated', $nw_id);
|
||||
} elseif ($w == "d") {
|
||||
$sql = " delete from {$g5['new_win_table']} where nw_id = '$nw_id' ";
|
||||
sql_query($sql);
|
||||
run_event('admin_newwin_deleted', $nw_id);
|
||||
}
|
||||
|
||||
if ($w == "d") {
|
||||
|
||||
+2
-2
@@ -108,11 +108,11 @@ require_once './admin.head.php';
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="po_ips">투표참가 IP</label></th>
|
||||
<td><textarea name="po_ips" id="po_ips" readonly rows="10"><?php echo preg_replace("/\n/", " / ", $po['po_ips']) ?></textarea></td>
|
||||
<td><textarea name="po_ips" id="po_ips" readonly rows="10"><?php echo html_purifier(preg_replace("/\n/", " / ", $po['po_ips'])); ?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_ids">투표참가 회원</label></th>
|
||||
<td><textarea name="mb_ids" id="mb_ids" readonly rows="10"><?php echo preg_replace("/\n/", " / ", $po['mb_ids']) ?></textarea></td>
|
||||
<td><textarea name="mb_ids" id="mb_ids" readonly rows="10"><?php echo html_purifier(preg_replace("/\n/", " / ", $po['mb_ids'])); ?></textarea></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
+3
-1
@@ -12,6 +12,7 @@ require_once './admin.head.php';
|
||||
if (!sql_query(" DESCRIBE `{$g5['qa_config_table']}` ", false)) {
|
||||
sql_query(
|
||||
" CREATE TABLE IF NOT EXISTS `{$g5['qa_config_table']}` (
|
||||
`qa_id` int(11) NOT NULL auto_increment,
|
||||
`qa_title` varchar(255) NOT NULL DEFAULT'',
|
||||
`qa_category` varchar(255) NOT NULL DEFAULT'',
|
||||
`qa_skin` varchar(255) NOT NULL DEFAULT '',
|
||||
@@ -46,7 +47,8 @@ if (!sql_query(" DESCRIBE `{$g5['qa_config_table']}` ", false)) {
|
||||
`qa_2` varchar(255) NOT NULL DEFAULT '',
|
||||
`qa_3` varchar(255) NOT NULL DEFAULT '',
|
||||
`qa_4` varchar(255) NOT NULL DEFAULT '',
|
||||
`qa_5` varchar(255) NOT NULL DEFAULT ''
|
||||
`qa_5` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`qa_id`)
|
||||
)",
|
||||
true
|
||||
);
|
||||
|
||||
@@ -108,6 +108,8 @@ $sql = " update {$g5['qa_config_table']}
|
||||
qa_5 = '{$_POST['qa_5']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
run_event('admin_qa_config_updated');
|
||||
|
||||
if (function_exists('get_admin_captcha_by')) {
|
||||
get_admin_captcha_by('remove');
|
||||
}
|
||||
|
||||
@@ -133,6 +133,8 @@ function pg_setting_check($is_print=false){
|
||||
$pg_msg = 'LG유플러스';
|
||||
} else if ( $default['de_pg_service'] === 'inicis' && $default['de_inicis_mid'] && $default['de_inicis_sign_key'] ){
|
||||
$pg_msg = 'KG이니시스';
|
||||
} else if ( $default['de_pg_service'] === 'nicepay' && $default['de_nicepay_mid'] && $default['de_nicepay_key'] ){
|
||||
$pg_msg = 'NICEPAY';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +158,21 @@ function pg_setting_check($is_print=false){
|
||||
}
|
||||
}
|
||||
|
||||
function is_cancel_shop_pg_order($od){
|
||||
|
||||
$is_od_pg_cancel = false;
|
||||
|
||||
if (($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == '간편결제' || $od['od_settle_case'] == 'KAKAOPAY') || ($od['od_pg'] == 'inicis' && is_inicis_order_pay($od['od_settle_case']))) {
|
||||
$is_od_pg_cancel = true;
|
||||
}
|
||||
|
||||
if ($od['od_pg'] === 'nicepay' && in_array($od['od_settle_case'], array('계좌이체', '휴대폰'))) {
|
||||
$is_od_pg_cancel = true;
|
||||
}
|
||||
|
||||
return $is_od_pg_cancel;
|
||||
}
|
||||
|
||||
function check_order_inicis_tmps(){
|
||||
global $g5, $config, $default, $member;
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ $ca = array(
|
||||
'ca_name'=>'',
|
||||
'ca_order'=>'',
|
||||
'ca_mb_id'=>'',
|
||||
'ca_skin_dir'=>'',
|
||||
'ca_cert_use'=>0,
|
||||
'ca_adult_use'=>0,
|
||||
'ca_sell_email'=>'',
|
||||
|
||||
@@ -193,6 +193,7 @@ if ($w == "")
|
||||
ca_name = '$ca_name',
|
||||
$sql_common ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_category_created', $ca_id);
|
||||
}
|
||||
else if ($w == "u")
|
||||
{
|
||||
@@ -212,6 +213,7 @@ else if ($w == "u")
|
||||
$sql .= " and ca_mb_id = '{$member['mb_id']}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
run_event('shop_admin_category_updated', $ca_id);
|
||||
}
|
||||
else if ($w == "d")
|
||||
{
|
||||
@@ -243,6 +245,7 @@ else if ($w == "d")
|
||||
// 분류 삭제
|
||||
$sql = " delete from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_category_deleted', $ca_id);
|
||||
}
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
|
||||
@@ -17,7 +17,7 @@ if ($stx != "") {
|
||||
$sql_search .= " $where $sfl like '%$stx%' ";
|
||||
$where = " and ";
|
||||
}
|
||||
if ($save_stx && ($save_stx != $stx))
|
||||
if (isset($save_stx) && $save_stx && ($save_stx != $stx))
|
||||
$page = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
$userinfo = get_icode_userinfo($config['cf_icode_id'], $config['cf_icode_pw']);
|
||||
}
|
||||
|
||||
check_log_folder(G5_SHOP_PATH.'/inicis/key', false);
|
||||
|
||||
$g5['title'] = '쇼핑몰설정';
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
@@ -68,8 +66,7 @@ if(!isset($default['de_pg_service'])) {
|
||||
// inicis 필드 추가
|
||||
if(!isset($default['de_inicis_mid'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
|
||||
ADD `de_inicis_mid` varchar(255) NOT NULL DEFAULT '' AFTER `de_kcp_site_key`,
|
||||
ADD `de_inicis_admin_key` varchar(255) NOT NULL DEFAULT '' AFTER `de_inicis_mid` ", true);
|
||||
ADD `de_inicis_mid` varchar(255) NOT NULL DEFAULT '' AFTER `de_kcp_site_key` ", true);
|
||||
}
|
||||
|
||||
// 모바일 초기화면 이미지 줄 수 필드 추가
|
||||
@@ -137,7 +134,7 @@ if(!isset($default['de_kakaopay_mid'])) {
|
||||
// 이니시스 웹결제 사인키 필드 추가
|
||||
if(!isset($default['de_inicis_sign_key'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
|
||||
ADD `de_inicis_sign_key` varchar(255) NOT NULL DEFAULT '' AFTER `de_inicis_admin_key` ", true);
|
||||
ADD `de_inicis_sign_key` varchar(255) NOT NULL DEFAULT '' ", true);
|
||||
}
|
||||
|
||||
// 네이버페이 필드추가
|
||||
@@ -202,6 +199,22 @@ if( ! isset($default['de_easy_pay_services']) ){
|
||||
sql_query($sql, false);
|
||||
}
|
||||
|
||||
// KG 이니시스 iniapi_key 추가
|
||||
if( ! isset($default['de_inicis_iniapi_key']) ){
|
||||
$sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
|
||||
ADD COLUMN `de_inicis_iniapi_key` VARCHAR(30) NOT NULL DEFAULT '' AFTER `de_inicis_sign_key`,
|
||||
ADD COLUMN `de_inicis_iniapi_iv` VARCHAR(30) NOT NULL DEFAULT '' AFTER `de_inicis_iniapi_key`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
|
||||
// NICEPAY mid, key 추가
|
||||
if (! isset($default['de_nicepay_mid'])) {
|
||||
$sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
|
||||
ADD COLUMN `de_nicepay_mid` VARCHAR(20) NOT NULL DEFAULT '' AFTER `de_inicis_cartpoint_use`,
|
||||
ADD COLUMN `de_nicepay_key` VARCHAR(150) NOT NULL DEFAULT '' AFTER `de_nicepay_mid`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
|
||||
if( function_exists('pg_setting_check') ){
|
||||
pg_setting_check(true);
|
||||
}
|
||||
@@ -593,7 +606,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<tr>
|
||||
<th scope="row"><label for="de_bank_account">은행계좌번호</label></th>
|
||||
<td>
|
||||
<textarea name="de_bank_account" id="de_bank_account"><?php echo $default['de_bank_account']; ?></textarea>
|
||||
<textarea name="de_bank_account" id="de_bank_account"><?php echo html_purifier($default['de_bank_account']); ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -628,6 +641,12 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<?php echo help("KG이니시스 가상계좌 사용시 다음 주소를 <strong><a href=\"https://iniweb.inicis.com/\" target=\"_blank\">KG이니시스 관리자</a> > 거래내역 > 가상계좌 > 입금통보방식선택 > URL 수신 설정</strong>에 넣으셔야 상점에 자동으로 입금 통보됩니다."); ?>
|
||||
<?php echo G5_SHOP_URL; ?>/settle_inicis_common.php</td>
|
||||
</tr>
|
||||
<tr id="nicepay_vbank_url" class="pg_vbank_url">
|
||||
<th scope="row">NICEPAY 가상계좌 입금통보 URL</th>
|
||||
<td>
|
||||
<?php echo help("NICEPAY 가상계좌 사용시 다음 주소를 <strong><a href=\"https://npg.nicepay.co.kr/\" target=\"_blank\">NICEPAY 관리자</a> > 가맹점관리자페이지 설정 (메인화면 → 가맹점정보 클릭)</strong>에 넣으셔야 상점에 자동으로 입금 통보됩니다."); ?>
|
||||
<?php echo G5_SHOP_URL; ?>/settle_nicepay_common.php</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="de_hp_use">휴대폰결제사용</label></th>
|
||||
<td>
|
||||
@@ -758,6 +777,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<li class="<?php if($default['de_pg_service'] == 'kcp') echo 'tab-current'; ?>"><a href="#kcp_info_anchor" data-value="kcp" title="NHN KCP 선택하기" >NHN KCP</a></li>
|
||||
<li class="<?php if($default['de_pg_service'] == 'lg') echo 'tab-current'; ?>"><a href="#lg_info_anchor" data-value="lg" title="토스페이먼츠 선택하기">토스페이먼츠</a></li>
|
||||
<li class="<?php if($default['de_pg_service'] == 'inicis') echo 'tab-current'; ?>"><a href="#inicis_info_anchor" data-value="inicis" title="KG이니시스 선택하기">KG이니시스</a></li>
|
||||
<li class="<?php if($default['de_pg_service'] == 'nicepay') echo 'tab-current'; ?>"><a href="#nicepay_info_anchor" data-value="nicepay" title="NICEPAY 선택하기">NICEPAY</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -781,10 +801,11 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<tr class="pg_info_fld kcp_info_fld">
|
||||
<th scope="row"><label for="de_kcp_easy_pays">NHN KCP 간편결제</label></th>
|
||||
<td>
|
||||
<?php echo help("체크시 NHN KCP 간편결제들을 활성화 합니다.\nNHN_KCP > 네이버페이, 카카오페이는 테스트결제가 되지 않습니다."); ?>
|
||||
<?php echo help("체크시 NHN KCP 간편결제들을 활성화 합니다.\nNHN_KCP > 네이버페이, 카카오페이는 테스트결제가 되지 않습니다.\n애플페이는 IOS 기기에 모바일결제만 가능합니다."); ?>
|
||||
<input type="checkbox" id="de_easy_nhnkcp_payco" name="de_easy_pays[]" value="nhnkcp_payco" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_payco') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_payco" disabled>PAYCO (페이코)</label><br>
|
||||
<input type="checkbox" id="de_easy_nhnkcp_naverpay" name="de_easy_pays[]" value="nhnkcp_naverpay" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_naverpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_naverpay">NAVERPAY (네이버페이)</label><br>
|
||||
<input type="checkbox" id="de_easy_nhnkcp_kakaopay" name="de_easy_pays[]" value="nhnkcp_kakaopay" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_kakaopay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_kakaopay">KAKAOPAY (카카오페이)</label>
|
||||
<input type="checkbox" id="de_easy_nhnkcp_kakaopay" name="de_easy_pays[]" value="nhnkcp_kakaopay" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_kakaopay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_kakaopay">KAKAOPAY (카카오페이)</label><br>
|
||||
<input type="checkbox" id="de_easy_nhnkcp_applepay" name="de_easy_pays[]" value="nhnkcp_applepay" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_applepay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_applepay">APPLEPAY (애플페이)</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="pg_info_fld kcp_info_fld">
|
||||
@@ -829,17 +850,24 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="pg_info_fld inicis_info_fld">
|
||||
<th scope="row"><label for="de_inicis_admin_key">KG이니시스 키패스워드</label></th>
|
||||
<th scope="row"><label for="de_inicis_sign_key">KG이니시스 웹결제 사인키</label></th>
|
||||
<td>
|
||||
<?php echo help("KG이니시스에서 발급받은 4자리 상점 키패스워드를 입력합니다.\nKG이니시스 상점관리자 패스워드와 관련이 없습니다.\n키패스워드 값을 확인하시려면 상점측에 발급된 키파일 안의 readme.txt 파일을 참조해 주십시오"); ?>
|
||||
<input type="text" name="de_inicis_admin_key" value="<?php echo get_sanitize_input($default['de_inicis_admin_key']); ?>" id="de_inicis_admin_key" class="frm_input" size="5" maxlength="4">
|
||||
<?php echo help("KG이니시스에서 발급받은 웹결제 사인키를 입력합니다.\n<a href='https://iniweb.inicis.com/' target='_blank'>KG이니시스 가맹점관리자</a> > 상점정보 > 계약정보 > 부가정보의 웹결제 signkey생성 조회 버튼 클릭, 팝업창에서 생성 버튼 클릭 후 해당 값을 입력합니다."); ?>
|
||||
<input type="text" name="de_inicis_sign_key" value="<?php echo get_sanitize_input($default['de_inicis_sign_key']); ?>" id="de_inicis_sign_key" class="frm_input" size="40" maxlength="50">
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="pg_info_fld inicis_info_fld">
|
||||
<th scope="row"><label for="de_inicis_sign_key">KG이니시스 웹결제 사인키</label></th>
|
||||
<th scope="row"><label for="de_inicis_iniapi_key">KG이니시스 INIAPI KEY</label></th>
|
||||
<td>
|
||||
<?php echo help("KG이니시스에서 발급받은 웹결제 사인키를 입력합니다.\nKG이니시스 상점관리자 > 상점정보 > 계약정보 > 부가정보의 웹결제 signkey생성 조회 버튼 클릭, 팝업창에서 생성 버튼 클릭 후 해당 값을 입력합니다."); ?>
|
||||
<input type="text" name="de_inicis_sign_key" value="<?php echo get_sanitize_input($default['de_inicis_sign_key']); ?>" id="de_inicis_sign_key" class="frm_input" size="40" maxlength="50">
|
||||
<?php echo help("<a href='https://iniweb.inicis.com/' target='_blank'>KG이니시스 가맹점관리자</a> > 상점정보 > 계약정보 > 부가정보 > INIAPI key 생성 조회 하여 KEY를 여기에 입력합니다.\n이 항목은 영카트 주문에서 kg이니시스 PG 결제 취소, 부분취소, 에스크로 배송등록, 현금영수증 발급에 필요합니다."); ?>
|
||||
<input type="text" name="de_inicis_iniapi_key" value="<?php echo get_sanitize_input($default['de_inicis_iniapi_key']); ?>" id="de_inicis_iniapi_key" class="frm_input" size="30" maxlength="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="pg_info_fld inicis_info_fld">
|
||||
<th scope="row"><label for="de_inicis_iniapi_iv">KG이니시스 INIAPI IV</label></th>
|
||||
<td>
|
||||
<?php echo help("<a href='https://iniweb.inicis.com/' target='_blank'>KG이니시스 가맹점관리자</a> > 상점정보 > 계약정보 > 부가정보 > INIAPI IV 생성 조회 하여 KEY를 여기에 입력합니다.\n이 항목은 영카트 주문에서 kg이니시스 현금영수증 발급에 필요합니다."); ?>
|
||||
<input type="text" name="de_inicis_iniapi_iv" value="<?php echo get_sanitize_input($default['de_inicis_iniapi_iv']); ?>" id="de_inicis_iniapi_iv" class="frm_input" size="30" maxlength="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="pg_info_fld inicis_info_fld">
|
||||
@@ -848,7 +876,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<a href="http://sir.kr/main/service/samsungpay.php" target="_blank" class="kg_btn">삼성페이 서비스신청하기</a>
|
||||
</th>
|
||||
<td>
|
||||
<?php echo help("KG이니시스와 별도로 <strong>삼성페이 사용 계약을 하신 경우</strong>에만 체크해주세요. (모바일 주문서 결제수단에 삼성페이가 노출됩니다.) <br >실결제시 반드시 결제대행사 KG이니시스 항목에 상점 아이디와 키패스워드를 입력해 주세요.", 50); ?>
|
||||
<?php echo help("KG이니시스와 별도로 <strong>삼성페이 사용 계약을 하신 경우</strong>에만 체크해주세요. (모바일 주문서 결제수단에 삼성페이가 노출됩니다.) <br >실결제시 반드시 결제대행사 KG이니시스 항목에 상점 아이디와 웹결제 사인키를 입력해 주세요.", 50); ?>
|
||||
<input type="checkbox" name="de_samsung_pay_use" value="1" id="de_samsung_pay_use"<?php echo $default['de_samsung_pay_use']?' checked':''; ?>> <label for="de_samsung_pay_use">사용</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -857,7 +885,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<label for="de_inicis_lpay_use">KG이니시스 L.pay 사용</label>
|
||||
</th>
|
||||
<td>
|
||||
<?php echo help("체크시 KG이니시스 L.pay를 사용합니다. <br >실결제시 반드시 결제대행사 KG이니시스 항목의 상점 정보( 아이디, 키패스워드, 웹결제 사인키 )를 입력해 주세요.", 50); ?>
|
||||
<?php echo help("체크시 KG이니시스 L.pay를 사용합니다. <br >실결제시 반드시 결제대행사 KG이니시스 항목의 상점 정보( 아이디, 웹결제 사인키 )를 입력해 주세요.", 50); ?>
|
||||
<input type="checkbox" name="de_inicis_lpay_use" value="1" id="de_inicis_lpay_use"<?php echo $default['de_inicis_lpay_use']?' checked':''; ?>> <label for="de_inicis_lpay_use">사용</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -866,7 +894,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<label for="de_inicis_kakaopay_use">KG이니시스 카카오페이 사용</label>
|
||||
</th>
|
||||
<td>
|
||||
<?php echo help("체크시 KG이니시스 결제의 카카오페이를 사용합니다. 주문서 결제수단에 카카오페이가 노출됩니다. <br>실결제시 반드시 결제대행사 KG이니시스 항목의 상점 정보( 아이디, 키패스워드, 웹결제 사인키 )를 입력해 주세요.", 50); ?>
|
||||
<?php echo help("체크시 KG이니시스 결제의 카카오페이를 사용합니다. 주문서 결제수단에 카카오페이가 노출됩니다. <br>실결제시 반드시 결제대행사 KG이니시스 항목의 상점 정보( 아이디, 웹결제 사인키 )를 입력해 주세요.", 50); ?>
|
||||
<input type="checkbox" name="de_inicis_kakaopay_use" value="1" id="de_inicis_kakaopay_use"<?php echo $default['de_inicis_kakaopay_use']?' checked':''; ?>> <label for="de_inicis_kakaopay_use">사용</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -905,7 +933,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
</tr>
|
||||
<tr class="kakao_info_fld">
|
||||
<th scope="row">
|
||||
<label for="de_kakaopay_enckey">카카오페이 사용</label>
|
||||
<label for="de_kakaopay_enckey">KG이니시스<br>카카오페이 사용</label>
|
||||
</th>
|
||||
<td>
|
||||
<?php echo help("체크시 카카오페이 (KG 이니시스)를 사용합니다. <br >KG 이니시스의 SIRK****** 아이디를 받은 상점만 해당됩니다.", 50); ?>
|
||||
@@ -919,6 +947,38 @@ 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>
|
||||
|
||||
<tr class="pg_info_fld nicepay_info_fld" id="nicepay_info_anchor">
|
||||
<th scope="row"><label for="de_nicepay_mid">NICEPAY MID</label><br><a href="http://sir.kr/main/service/inicis_pg.php" target="_blank" id="scf_nicepay_reg" class="nicepay_btn">NICEPAY 신청하기</a></th>
|
||||
<td>
|
||||
<span class="frm_info">NICEPAY로 부터 발급 받으신 상점MID를 SR 을 제외한 나머지 자리를 입력 합니다.<br>NICEPAY 상점관리자 > 가맹점정보 > KEY관리에서 확인 할수 있습니다.<br>만약, 상점아이디가 SR로 시작하지 않는다면 계약담당자에게 변경 요청을 해주시기 바랍니다. 예) SRpaytestm</span>
|
||||
<span class="sitecode">SR</span>
|
||||
<input type="text" name="de_nicepay_mid" value="<?php echo get_sanitize_input($default['de_nicepay_mid']); ?>" id="de_nicepay_mid" class="frm_input" size="12" maxlength="12">
|
||||
영문소문자(숫자포함 가능)
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="pg_info_fld nicepay_info_fld">
|
||||
<th scope="row"><label for="de_nicepay_key">NICEPAY KEY</label></th>
|
||||
<td>
|
||||
<input type="text" name="de_nicepay_key" value="<?php echo get_sanitize_input($default['de_nicepay_key']); ?>" id="de_nicepay_key" class="frm_input" size="100" maxlength="100">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="pg_info_fld nicepay_info_fld">
|
||||
<th scope="row"><label for="de_nicepay_easy_pays">NICEPAY 간편결제</label></th>
|
||||
<td>
|
||||
<?php echo help("체크시 NICEPAY 간편결제들을 활성화 합니다.\nNICEPAY > 간편결제는 테스트결제가 되지 않습니다. 실결제에만 정상작동 합니다.\n애플페이는 IOS 기기에 모바일결제만 가능합니다."); ?>
|
||||
<input type="checkbox" id="de_easy_nicepay_samsungpay" name="de_easy_pays[]" value="nicepay_samsungpay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_samsungpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_samsungpay" disabled>삼성페이</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_naverpay" name="de_easy_pays[]" value="nicepay_naverpay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_naverpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_naverpay">NAVERPAY (네이버페이)</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_kakaopay" name="de_easy_pays[]" value="nicepay_kakaopay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_kakaopay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_kakaopay">KAKAOPAY (카카오페이)</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_applepay" name="de_easy_pays[]" value="nicepay_applepay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_applepay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_applepay">APPLEPAY (애플페이)</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_paycopay" name="de_easy_pays[]" value="nicepay_paycopay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_paycopay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_paycopay">페이코</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_skpay" name="de_easy_pays[]" value="nicepay_skpay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_skpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_skpay">SK페이</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_ssgpay" name="de_easy_pays[]" value="nicepay_ssgpay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_ssgpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_ssgpay">SSG페이</label><br>
|
||||
<input type="checkbox" id="de_easy_nicepay_lpay" name="de_easy_pays[]" value="nicepay_lpay" <?php if(stripos($default['de_easy_pay_services'], 'nicepay_lpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nicepay_lpay">LPAY</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php if (defined('G5_SHOP_DIRECT_NAVERPAY') && G5_SHOP_DIRECT_NAVERPAY) { ?>
|
||||
<tr class="naver_info_fld">
|
||||
<th scope="row">
|
||||
@@ -1007,8 +1067,8 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<a href="http://testadmin8.kcp.co.kr/" target="_blank" class="btn_frmline">테스트 관리자</a>
|
||||
</div>
|
||||
<div class="scf_cardtest lg_cardtest">
|
||||
<a href="https://pgweb.uplus.co.kr/" target="_blank" class="btn_frmline">실결제 관리자</a>
|
||||
<a href="https://pgweb.uplus.co.kr/tmert" target="_blank" class="btn_frmline">테스트 관리자</a>
|
||||
<a href="https://app.tosspayments.com/" target="_blank" class="btn_frmline">실결제 관리자</a>
|
||||
<a href="https://pgweb.tosspayments.com/tmert" target="_blank" class="btn_frmline">테스트 관리자</a>
|
||||
</div>
|
||||
<div class="scf_cardtest inicis_cardtest">
|
||||
<a href="https://iniweb.inicis.com/" target="_blank" class="btn_frmline">상점 관리자</a>
|
||||
@@ -1033,7 +1093,7 @@ if(!$default['de_kakaopay_cancelpwd']){
|
||||
<li><b>일반결제</b>의 테스트 사이트코드는 <b>T0000</b> 이며, <b>에스크로 결제</b>의 테스트 사이트코드는 <b>T0007</b> 입니다.</li>
|
||||
</ul>
|
||||
<ul id="lg_cardtest_tip" class="scf_cardtest_tip_adm scf_cardtest_tip_adm_hide">
|
||||
<li>테스트결제의 <a href="http://pgweb.dacom.net:7085/" target="_blank">상점관리자</a> 로그인 정보는 토스페이먼츠 상점아이디 첫 글자에 t를 추가해서 로그인하시기 바랍니다. 예) tsi_lguplus</li>
|
||||
<li>테스트결제의 <a href="https://pgweb.tosspayments.com/tmert" target="_blank">상점관리자</a> 로그인 정보는 토스페이먼츠 상점아이디 첫 글자에 t를 추가해서 로그인하시기 바랍니다. 예) tsi_lguplus</li>
|
||||
</ul>
|
||||
<ul id="inicis_cardtest_tip" class="scf_cardtest_tip_adm scf_cardtest_tip_adm_hide">
|
||||
<li><b>일반결제</b>의 테스트 사이트 mid는 <b>INIpayTest</b> 이며, <b>에스크로 결제</b>의 테스트 사이트 mid는 <b>iniescrow0</b> 입니다.</li>
|
||||
@@ -1715,6 +1775,10 @@ function fconfig_check(f)
|
||||
if( f.de_inicis_mid.value && f.de_inicis_sign_key.value && parseInt(f.de_card_test.value) > 0 ){
|
||||
pg_msg = "KG이니시스";
|
||||
}
|
||||
} else if ( f.de_pg_service.value == "nicepay" ) {
|
||||
if( f.de_nicepay_mid.value && f.de_nicepay_key.value && parseInt(f.de_card_test.value) > 0 ){
|
||||
pg_msg = "NICEPAY";
|
||||
}
|
||||
}
|
||||
|
||||
if( pg_msg ){
|
||||
@@ -2011,20 +2075,8 @@ if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use']
|
||||
} catch(Exception $e) {
|
||||
}
|
||||
|
||||
if(!is_dir($log_path)) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '', G5_SHOP_PATH).'/inicis 폴더 안에 log 폴더를 생성하신 후 쓰기권한을 부여해 주십시오.\n> mkdir log\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
if(!is_writable($log_path)) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '',$log_path).' 폴더에 쓰기권한을 부여해 주십시오.\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
if( function_exists('check_log_folder') && is_writable($log_path) ){
|
||||
check_log_folder($log_path);
|
||||
}
|
||||
}
|
||||
if( function_exists('check_log_folder') && is_writable($log_path) ){
|
||||
check_log_folder($log_path);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ if ($_FILES['mobile_logo_img2']['name']) upload_file($_FILES['mobile_logo_img2']
|
||||
$de_kcp_mid = isset($_POST['de_kcp_mid']) ? substr($_POST['de_kcp_mid'], 0, 3) : '';
|
||||
$cf_icode_server_port = isset($cf_icode_server_port) ? preg_replace('/[^0-9]/', '', $cf_icode_server_port) : '7295';
|
||||
|
||||
$de_shop_skin = isset($_POST['de_shop_skin']) ? preg_replace('#\.+(\/|\\\)#', '', $_POST['de_shop_skin']) : 'basic';
|
||||
$de_shop_mobile_skin = isset($_POST['de_shop_mobile_skin']) ? preg_replace('#\.+(\/|\\\)#', '', $_POST['de_shop_mobile_skin']) : 'basic';
|
||||
$de_shop_skin = isset($_POST['de_shop_skin']) ? preg_replace(array('#\.+(\/|\\\)#', '#[\'\"]#'), array('', ''), $_POST['de_shop_skin']) : 'basic';
|
||||
$de_shop_mobile_skin = isset($_POST['de_shop_mobile_skin']) ? preg_replace(array('#\.+(\/|\\\)#', '#[\'\"]#'), array('', ''), $_POST['de_shop_mobile_skin']) : 'basic';
|
||||
|
||||
$skins = get_skin_dir('shop');
|
||||
|
||||
@@ -59,7 +59,7 @@ $de_shop_mobile_skin = in_array($de_shop_mobile_skin, $mobile_skins) ? $de_shop_
|
||||
$check_skin_keys = array('de_type1_list_skin', 'de_type2_list_skin', 'de_type3_list_skin', 'de_type4_list_skin', 'de_type5_list_skin', 'de_mobile_type1_list_skin', 'de_mobile_type2_list_skin', 'de_mobile_type3_list_skin', 'de_mobile_type4_list_skin', 'de_mobile_type5_list_skin', 'de_rel_list_skin', 'de_mobile_rel_list_skin', 'de_search_list_skin', 'de_mobile_search_list_skin', 'de_listtype_list_skin', 'de_mobile_listtype_list_skin');
|
||||
|
||||
foreach($check_skin_keys as $key){
|
||||
$$key = $_POST[$key] = isset($_POST[$key]) ? preg_replace('#\.+(\/|\\\)#', '', strip_tags($_POST[$key])) : '';
|
||||
$$key = $_POST[$key] = isset($_POST[$key]) ? preg_replace(array('#\.+(\/|\\\)#', '#[\'\"]#'), array('', ''), strip_tags($_POST[$key])) : '';
|
||||
|
||||
if( isset($_POST[$key]) && preg_match('#\.+(\/|\\\)#', $_POST[$key]) ){
|
||||
alert('스킨설정에 유효하지 문자가 포함되어 있습니다.');
|
||||
@@ -160,12 +160,15 @@ $check_sanitize_keys = array(
|
||||
'cf_lg_mid', //LG유플러스 상점아이디
|
||||
'cf_lg_mert_key', //LG유플러스 MERT KEY
|
||||
'de_inicis_mid', //KG이니시스 상점아이디
|
||||
'de_inicis_admin_key', //KG이니시스 키패스워드
|
||||
'de_inicis_iniapi_key', //KG이니시스 INIAPI KEY
|
||||
'de_inicis_iniapi_iv', //KG이니시스 INIAPI IV
|
||||
'de_inicis_sign_key', //KG이니시스 웹결제 사인키
|
||||
'de_samsung_pay_use', //KG이니시스 삼성페이 사용
|
||||
'de_inicis_lpay_use', //KG이니시스 Lpay 사용
|
||||
'de_inicis_kakaopay_use', //KG이니시스 카카오페이 사용
|
||||
'de_inicis_cartpoint_use', //KG이니시스 신용카드 포인트 결제
|
||||
'de_nicepay_mid', //NICEPAY 상점아이디
|
||||
'de_nicepay_key', //NICEPAY 상점키
|
||||
'de_kakaopay_mid', //카카오페이 상점MID
|
||||
'de_kakaopay_key', //카카오페이 상점키
|
||||
'de_kakaopay_enckey', //카카오페이 상점 EncKey
|
||||
@@ -376,6 +379,8 @@ $sql = " update {$g5['g5_shop_default_table']}
|
||||
de_inicis_lpay_use = '{$de_inicis_lpay_use}',
|
||||
de_inicis_kakaopay_use = '{$de_inicis_kakaopay_use}',
|
||||
de_inicis_cartpoint_use = '{$de_inicis_cartpoint_use}',
|
||||
de_nicepay_mid = '{$de_nicepay_mid}',
|
||||
de_nicepay_key = '{$de_nicepay_key}',
|
||||
de_card_noint_use = '{$de_card_noint_use}',
|
||||
de_card_point = '{$de_card_point}',
|
||||
de_settle_min_point = '{$de_settle_min_point}',
|
||||
@@ -399,7 +404,8 @@ $sql = " update {$g5['g5_shop_default_table']}
|
||||
de_kcp_mid = '{$de_kcp_mid}',
|
||||
de_kcp_site_key = '{$de_kcp_site_key}',
|
||||
de_inicis_mid = '{$de_inicis_mid}',
|
||||
de_inicis_admin_key = '{$de_inicis_admin_key}',
|
||||
de_inicis_iniapi_key = '{$de_inicis_iniapi_key}',
|
||||
de_inicis_iniapi_iv = '{$de_inicis_iniapi_iv}',
|
||||
de_inicis_sign_key = '{$de_inicis_sign_key}',
|
||||
de_iche_use = '{$de_iche_use}',
|
||||
de_sms_cont1 = '{$_POST['de_sms_cont1']}',
|
||||
|
||||
@@ -45,7 +45,7 @@ $qstr1 = 'mb_name='.urlencode($mb_name);
|
||||
<form name="fmember" method="get">
|
||||
<div id="scp_list_find">
|
||||
<label for="mb_name">회원이름</label>
|
||||
<input type="text" name="mb_name" id="mb_name" value="<?php echo get_text($mb_name); ?>" class="frm_input required" required size="20">
|
||||
<input type="text" name="mb_name" id="mb_name" value="<?php echo get_text($mb_name); ?>" class="frm_input" size="20">
|
||||
<input type="submit" value="검색" class="btn_frmline">
|
||||
</div>
|
||||
<div class="tbl_head01 tbl_wrap new_win_con">
|
||||
|
||||
+62
-60
@@ -112,7 +112,7 @@ function get_max_value($arr)
|
||||
return array_pop($arr);
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if (! auth_check_menu($auth, '400400', 'r', true)) { ?>
|
||||
<div class="sidx">
|
||||
<section id="anc_sidx_ord">
|
||||
<h2>주문현황</h2>
|
||||
@@ -368,6 +368,66 @@ function get_max_value($arr)
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
graph_draw();
|
||||
|
||||
$("#sidx_graph_area div").hover(
|
||||
function() {
|
||||
if($(this).is(":animated"))
|
||||
return false;
|
||||
|
||||
var title = $(this).attr("title");
|
||||
if(title && $(this).data("title") == undefined)
|
||||
$(this).data("title", title);
|
||||
var left = parseInt($(this).css("left")) + 10;
|
||||
var bottom = $(this).height() + 5;
|
||||
|
||||
$(this)
|
||||
.attr("title", "")
|
||||
.append("<div id=\"price_tooltip\"><div></div></div>");
|
||||
$("#price_tooltip")
|
||||
.find("div")
|
||||
.html(title)
|
||||
.end()
|
||||
// .css({ left: left+"px", bottom: bottom+"px" })
|
||||
.show(200);
|
||||
},
|
||||
function() {
|
||||
if($(this).is(":animated"))
|
||||
return false;
|
||||
|
||||
$(this).attr("title", $(this).data("title"));
|
||||
$("#price_tooltip").remove();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function graph_draw()
|
||||
{
|
||||
var g_h1 = new Array("<?php echo implode('", "', $h_val['order']); ?>");
|
||||
var g_h2 = new Array("<?php echo implode('", "', $h_val['cancel']); ?>");
|
||||
var duration = 600;
|
||||
|
||||
var $el = $("#sidx_graph_area li");
|
||||
var h1, h2;
|
||||
var $g1, $g2;
|
||||
|
||||
$el.each(function(index) {
|
||||
h1 = g_h1[index];
|
||||
h2 = g_h2[index];
|
||||
|
||||
$g1 = $(this).find(".order");
|
||||
$g2 = $(this).find(".cancel");
|
||||
|
||||
$g1.animate({ height: h1+"px" }, duration);
|
||||
$g2.animate({ height: h2+"px" }, duration);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php } //endif ?>
|
||||
<?php if ($is_admin === 'super') { ?>
|
||||
<div class="sidx sidx_cs">
|
||||
<section id="anc_sidx_oneq">
|
||||
<h2>1:1문의</h2>
|
||||
@@ -480,64 +540,6 @@ function get_max_value($arr)
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
graph_draw();
|
||||
|
||||
$("#sidx_graph_area div").hover(
|
||||
function() {
|
||||
if($(this).is(":animated"))
|
||||
return false;
|
||||
|
||||
var title = $(this).attr("title");
|
||||
if(title && $(this).data("title") == undefined)
|
||||
$(this).data("title", title);
|
||||
var left = parseInt($(this).css("left")) + 10;
|
||||
var bottom = $(this).height() + 5;
|
||||
|
||||
$(this)
|
||||
.attr("title", "")
|
||||
.append("<div id=\"price_tooltip\"><div></div></div>");
|
||||
$("#price_tooltip")
|
||||
.find("div")
|
||||
.html(title)
|
||||
.end()
|
||||
// .css({ left: left+"px", bottom: bottom+"px" })
|
||||
.show(200);
|
||||
},
|
||||
function() {
|
||||
if($(this).is(":animated"))
|
||||
return false;
|
||||
|
||||
$(this).attr("title", $(this).data("title"));
|
||||
$("#price_tooltip").remove();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function graph_draw()
|
||||
{
|
||||
var g_h1 = new Array("<?php echo implode('", "', $h_val['order']); ?>");
|
||||
var g_h2 = new Array("<?php echo implode('", "', $h_val['cancel']); ?>");
|
||||
var duration = 600;
|
||||
|
||||
var $el = $("#sidx_graph_area li");
|
||||
var h1, h2;
|
||||
var $g1, $g2;
|
||||
|
||||
$el.each(function(index) {
|
||||
h1 = g_h1[index];
|
||||
h2 = g_h2[index];
|
||||
|
||||
$g1 = $(this).find(".order");
|
||||
$g2 = $(this).find(".cancel");
|
||||
|
||||
$g1.animate({ height: h1+"px" }, duration);
|
||||
$g2.animate({ height: h2+"px" }, duration);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
} //end if
|
||||
include_once (G5_ADMIN_PATH.'/admin.tail.php');
|
||||
@@ -53,6 +53,7 @@ $opt_sql = " insert ignore into {$g5['g5_shop_item_option_table']} ( io_id, io_t
|
||||
sql_query($opt_sql);
|
||||
|
||||
// html 에디터로 첨부된 이미지 파일 복사
|
||||
$copied_editor_images = array();
|
||||
if($cp['it_explan']) {
|
||||
$matchs = get_editor_image($cp['it_explan'], false);
|
||||
$count_matchs = (isset($matchs[1]) && is_array($matchs[1])) ? count($matchs[1]) : 0;
|
||||
@@ -73,7 +74,13 @@ if($cp['it_explan']) {
|
||||
|
||||
$newfile = preg_replace("/\.([^\.]+)$/", "_".$new_it_id.".\\1", $matchs[1][$i]);
|
||||
$cp['it_explan'] = str_replace($matchs[1][$i], $newfile, $cp['it_explan']);
|
||||
|
||||
$copied_editor_images[] = array(
|
||||
'original' => $srcfile,
|
||||
'new' => $dstfile
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$sql = " update {$g5['g5_shop_item_table']} set it_explan = '".addslashes($cp['it_explan'])."' where it_id = '$new_it_id' ";
|
||||
@@ -100,6 +107,11 @@ if($cp['it_mobile_explan']) {
|
||||
|
||||
$newfile = preg_replace("/\.([^\.]+)$/", "_".$new_it_id.".\\1", $matchs[1][$i]);
|
||||
$cp['it_mobile_explan'] = str_replace($matchs[1][$i], $newfile, $cp['it_mobile_explan']);
|
||||
|
||||
$copied_editor_images[] = array(
|
||||
'original' => $srcfile,
|
||||
'new' => $dstfile
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,6 +152,7 @@ function copy_directory($src_dir, $dest_dir)
|
||||
}
|
||||
|
||||
// 파일복사
|
||||
$copied_item_files = array();
|
||||
$dest_path = G5_DATA_PATH.'/item/'.$new_it_id;
|
||||
@mkdir($dest_path, G5_DIR_PERMISSION);
|
||||
@chmod($dest_path, G5_DIR_PERMISSION);
|
||||
@@ -155,6 +168,11 @@ for($i=1; $i<=10; $i++) {
|
||||
copy($file, $dstfile);
|
||||
@chmod($dstfile, G5_FILE_PERMISSION);
|
||||
$new_img = $new_it_id.'/'.basename($file);
|
||||
|
||||
$copied_item_files[] = array(
|
||||
'original' => $file,
|
||||
'new' => $dstfile,
|
||||
);
|
||||
}
|
||||
|
||||
$sql_img .= $comma." it_img{$i} = '$new_img' ";
|
||||
@@ -166,6 +184,24 @@ $sql = " update {$g5['g5_shop_item_table']}
|
||||
where it_id = '$new_it_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
if( function_exists('shop_seo_title_update') ) shop_seo_title_update($new_it_id, true);
|
||||
|
||||
/**
|
||||
* 아이템 복사 처리 후 Event Hook
|
||||
* @var string $it_id 원본 아이템 ID
|
||||
* @var string $new_it_id 복사한 새로운 아이템 ID
|
||||
* @var array $cp 복사한 아이템 정보
|
||||
* @var array $copied_item_files 복사한 파일 목록
|
||||
* @var array $copied_editor_images 복사한 에디터 이미지 목록
|
||||
*/
|
||||
run_event('shop_admin_itemcopy', array(
|
||||
'it_id' => (string) $it_id,
|
||||
'new_it_id' => (string) $new_it_id,
|
||||
'cp' => $cp,
|
||||
'copied_item_files' => $copied_item_files,
|
||||
'copied_editor_images' => $copied_editor_images
|
||||
));
|
||||
|
||||
$qstr = "ca_id=$ca_id&sfl=$sfl&sca=$sca&page=$page&stx=".urlencode($stx);
|
||||
|
||||
goto_url("itemlist.php?$qstr");
|
||||
@@ -41,8 +41,8 @@ if ($ev_mimg_del) @unlink(G5_DATA_PATH."/event/{$ev_id}_m");
|
||||
if ($ev_himg_del) @unlink(G5_DATA_PATH."/event/{$ev_id}_h");
|
||||
if ($ev_timg_del) @unlink(G5_DATA_PATH."/event/{$ev_id}_t");
|
||||
|
||||
$ev_skin = preg_replace('#\.+(\/|\\\)#', '', $ev_skin);
|
||||
$ev_mobile_skin = preg_replace('#\.+(\/|\\\)#', '', $ev_mobile_skin);
|
||||
$ev_skin = preg_replace(array('#\.+(\/|\\\)#', '#[\'\"]#'), array('', ''), $ev_skin);
|
||||
$ev_mobile_skin = preg_replace(array('#\.+(\/|\\\)#', '#[\'\"]#'), array('', ''), $ev_mobile_skin);
|
||||
|
||||
$skin_regex_patten = "^list.[0-9]+\.skin\.php";
|
||||
|
||||
@@ -75,6 +75,7 @@ if ($w == "")
|
||||
$sql_common
|
||||
, ev_id = '$ev_id' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_event_created', $ev_id);
|
||||
}
|
||||
else if ($w == "u")
|
||||
{
|
||||
@@ -82,6 +83,7 @@ else if ($w == "u")
|
||||
$sql_common
|
||||
where ev_id = '$ev_id' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_event_updated', $ev_id);
|
||||
}
|
||||
else if ($w == "d")
|
||||
{
|
||||
@@ -92,6 +94,7 @@ else if ($w == "d")
|
||||
// 이벤트상품삭제
|
||||
$sql = " delete from {$g5['g5_shop_event_item_table']} where ev_id = '$ev_id' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_event_deleted', $ev_id);
|
||||
|
||||
$sql = " delete from {$g5['g5_shop_event_table']} where ev_id = '$ev_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
@@ -112,6 +112,8 @@ else if ($w == "u")
|
||||
|
||||
if(!$it)
|
||||
alert('상품정보가 존재하지 않습니다.');
|
||||
|
||||
if (function_exists('check_case_exist_title')) check_case_exist_title($it, G5_SHOP_DIR, false);
|
||||
|
||||
if (! (isset($ca_id) && $ca_id))
|
||||
$ca_id = $it['ca_id'];
|
||||
|
||||
@@ -285,8 +285,8 @@ if($supply_count) {
|
||||
$value_array = array();
|
||||
$count_ii_article = (isset($_POST['ii_article']) && is_array($_POST['ii_article'])) ? count($_POST['ii_article']) : 0;
|
||||
for($i=0; $i<$count_ii_article; $i++) {
|
||||
$key = isset($_POST['ii_article'][$i]) ? strip_tags($_POST['ii_article'][$i], '<br><span><strong><b>') : '';
|
||||
$val = isset($_POST['ii_value'][$i]) ? strip_tags($_POST['ii_value'][$i], '<br><span><strong><b>') : '';
|
||||
$key = isset($_POST['ii_article'][$i]) ? html_purifier($_POST['ii_article'][$i]) : '';
|
||||
$val = isset($_POST['ii_value'][$i]) ? html_purifier($_POST['ii_value'][$i]) : '';
|
||||
$value_array[$key] = $val;
|
||||
}
|
||||
$it_info_value = addslashes(serialize($value_array));
|
||||
|
||||
@@ -4,6 +4,10 @@ include_once('./_common.php');
|
||||
|
||||
auth_check_menu($auth, $sub_menu, "r");
|
||||
|
||||
if (isset($sfl) && $sfl && !in_array($sfl, array('it_name','it_id','it_maker','it_brand','it_model','it_origin','it_sell_email'))) {
|
||||
$sfl = '';
|
||||
}
|
||||
|
||||
$g5['title'] = '상품관리';
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ if ($w == "u")
|
||||
iq_answer = '$iq_answer'
|
||||
where iq_id = '$iq_id' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_item_qa_updated', $iq_id);
|
||||
|
||||
if(trim($iq_answer)) {
|
||||
$sql = " select a.iq_email, a.iq_hp, b.it_name
|
||||
|
||||
@@ -4,6 +4,10 @@ include_once('./_common.php');
|
||||
|
||||
auth_check_menu($auth, $sub_menu, "r");
|
||||
|
||||
if (isset($sfl) && $sfl && !in_array($sfl, array('it_name','a.it_id'))) {
|
||||
$sfl = '';
|
||||
}
|
||||
|
||||
$g5['title'] = '상품문의';
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ if ($_POST['act_button'] == "선택삭제") {
|
||||
|
||||
$sql = "delete from {$g5['g5_shop_item_qa_table']} where iq_id = '{$iiq_id}' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_item_qa_deleted', $iiq_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ $sql_common .= $sql_search;
|
||||
// 테이블의 전체 레코드수만 얻음
|
||||
$sql = " select count(*) as cnt " . $sql_common;
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
$total_count = isset($row['cnt']) ? $row['cnt'] : 0;
|
||||
|
||||
$rows = $config['cf_page_rows'];
|
||||
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
|
||||
@@ -159,7 +159,6 @@ $listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목
|
||||
$it_stock_qty_st = ''; // 스타일 정의
|
||||
if($row['it_stock_qty'] <= $row['it_noti_qty']) {
|
||||
$it_stock_qty_st = ' sit_stock_qty_alert';
|
||||
$it_stock_qty = ''.$it_stock_qty.' !<span class="sound_only"> 재고부족 </span>';
|
||||
}
|
||||
|
||||
$bg = 'bg'.($i%2);
|
||||
@@ -171,7 +170,7 @@ $listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목
|
||||
<?php echo $row['it_id']; ?>
|
||||
</td>
|
||||
<td class="td_left"><a href="<?php echo $href; ?>"><?php echo get_it_image($row['it_id'], 50, 50); ?> <?php echo cut_str(stripslashes($row['it_name']), 60, "…"); ?></a></td>
|
||||
<td class="td_num<?php echo $it_stock_qty_st; ?>"><?php echo (int)$it_stock_qty; ?></td>
|
||||
<td class="td_num<?php echo $it_stock_qty_st; ?>"><?php echo $it_stock_qty; ?></td>
|
||||
<td class="td_num"><?php echo number_format((float)$wait_qty); ?></td>
|
||||
<td class="td_num"><?php echo number_format((float)$temporary_qty); ?></td>
|
||||
<td class="td_num">
|
||||
|
||||
@@ -34,6 +34,7 @@ if ($w == "u")
|
||||
is_reply_name = '".$member['mb_nick']."'
|
||||
where is_id = '".$posts['is_id']."'";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_item_use_updated', $posts['is_id']);
|
||||
|
||||
if( isset($_POST['it_id']) ) {
|
||||
update_use_cnt($_POST['it_id']);
|
||||
|
||||
@@ -4,6 +4,10 @@ include_once('./_common.php');
|
||||
|
||||
auth_check_menu($auth, $sub_menu, "r");
|
||||
|
||||
if (isset($sfl) && $sfl && !in_array($sfl, array('it_name','a.it_id','is_name'))) {
|
||||
$sfl = '';
|
||||
}
|
||||
|
||||
$g5['title'] = '사용후기';
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ for ($i=0; $i<$count_post_chk; $i++)
|
||||
{
|
||||
$sql = "delete from {$g5['g5_shop_item_use_table']} where is_id = '{$iis_id}' ";
|
||||
sql_query($sql);
|
||||
run_event('shop_admin_item_use_deleted', $iis_id);
|
||||
}
|
||||
|
||||
if($iit_id){
|
||||
|
||||
@@ -107,6 +107,12 @@ if($od['od_pg'] == 'lg') {
|
||||
}
|
||||
}
|
||||
|
||||
$print_od_deposit_name = $od['od_deposit_name'];
|
||||
// nicepay 로 주문하고 가상계좌인 경우
|
||||
if ($od['od_pg'] === 'nicepay' && $od['od_settle_case'] === '가상계좌' && $od['od_deposit_name']){
|
||||
$print_od_deposit_name .= '_NICE';
|
||||
}
|
||||
|
||||
// add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
?>
|
||||
@@ -408,7 +414,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">입금자</th>
|
||||
<td><?php echo get_text($od['od_deposit_name']); ?></td>
|
||||
<td><?php echo get_text($print_od_deposit_name); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">입금확인일시</th>
|
||||
@@ -504,10 +510,10 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
if ($od['od_settle_case'] != '무통장') {
|
||||
switch($od['od_pg']) {
|
||||
case 'lg':
|
||||
$pg_url = 'http://pgweb.uplus.co.kr';
|
||||
$pg_url = 'https://app.tosspayments.com';
|
||||
$pg_test = '토스페이먼츠';
|
||||
if ($default['de_card_test']) {
|
||||
$pg_url = 'http://pgweb.uplus.co.kr/tmert';
|
||||
$pg_url = 'https://pgweb.tosspayments.com/tmert';
|
||||
$pg_test .= ' 테스트 ';
|
||||
}
|
||||
break;
|
||||
@@ -519,6 +525,10 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
$pg_url = 'https://mms.cnspay.co.kr';
|
||||
$pg_test = 'KAKAOPAY';
|
||||
break;
|
||||
case 'nicepay':
|
||||
$pg_url = 'https://npg.nicepay.co.kr/';
|
||||
$pg_test = 'NICEPAY';
|
||||
break;
|
||||
default:
|
||||
$pg_url = 'http://admin8.kcp.co.kr';
|
||||
$pg_test = 'KCP';
|
||||
@@ -623,6 +633,18 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
} else if($od['od_pg'] == 'inicis') {
|
||||
$cash = unserialize($od['od_cash_info']);
|
||||
$cash_receipt_script = 'window.open(\'https://iniweb.inicis.com/DefaultWebApp/mall/cr/cm/Cash_mCmReceipt.jsp?noTid='.$cash['TID'].'&clpaymethod=22\',\'showreceipt\',\'width=380,height=540,scrollbars=no,resizable=no\');';
|
||||
} else if($od['od_pg'] == 'nicepay') {
|
||||
|
||||
$od_tid = $od['od_tno'];
|
||||
$cash_type = 0;
|
||||
|
||||
if (! $od_tid) {
|
||||
$cash = unserialize($od['od_cash_info']);
|
||||
$od_tid = isset($cash['TID']) ? $cash['TID'] : '';
|
||||
$cash_type = $od_tid ? 1 : 0;
|
||||
}
|
||||
|
||||
$cash_receipt_script = 'window.open(\'https://npg.nicepay.co.kr/issue/IssueLoader.do?type='.$cash_type.'&TID='.$od_tid.'&noMethod=1\',\'receipt\',\'width=430,height=700\');';
|
||||
} else {
|
||||
require G5_SHOP_PATH.'/settle_kcp.inc.php';
|
||||
|
||||
@@ -1075,7 +1097,7 @@ function form_submit(f)
|
||||
|
||||
var msg = "";
|
||||
|
||||
<?php if($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == 'KAKAOPAY' || $od['od_settle_case'] == '간편결제' || ($od['od_pg'] == 'inicis' && is_inicis_order_pay($od['od_settle_case']) )) { ?>
|
||||
<?php if (is_cancel_shop_pg_order($od)) { ?>
|
||||
if(status == "취소" || status == "반품" || status == "품절") {
|
||||
var $ct_chk = $("input[name^=ct_chk]");
|
||||
var chk_cnt = $ct_chk.length;
|
||||
|
||||
@@ -191,7 +191,7 @@ if (in_array($_POST['ct_status'], $status_cancel)) {
|
||||
$sql = " select * from {$g5['g5_shop_order_table']} where od_id = '$od_id' ";
|
||||
$od = sql_fetch($sql);
|
||||
|
||||
if($od['od_tno'] && ($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == '간편결제' || $od['od_settle_case'] == 'KAKAOPAY') || ($od['od_pg'] == 'inicis' && is_inicis_order_pay($od['od_settle_case']) )) {
|
||||
if ($od['od_tno'] && is_cancel_shop_pg_order($od)) {
|
||||
switch($od['od_pg']) {
|
||||
case 'lg':
|
||||
include_once(G5_SHOP_PATH.'/settle_lg.inc.php');
|
||||
@@ -222,46 +222,53 @@ if (in_array($_POST['ct_status'], $status_cancel)) {
|
||||
break;
|
||||
case 'inicis':
|
||||
include_once(G5_SHOP_PATH.'/settle_inicis.inc.php');
|
||||
$cancel_msg = iconv_euckr('쇼핑몰 운영자 승인 취소');
|
||||
$cancel_msg = '쇼핑몰 운영자 승인 취소';
|
||||
|
||||
$args = array(
|
||||
'paymethod' => get_type_inicis_paymethod($od['od_settle_case']),
|
||||
'tid' => $od['od_tno'],
|
||||
'msg' => $cancel_msg
|
||||
);
|
||||
|
||||
/*********************
|
||||
* 3. 취소 정보 설정 *
|
||||
*********************/
|
||||
$inipay->SetField("type", "cancel"); // 고정 (절대 수정 불가)
|
||||
$inipay->SetField("mid", $default['de_inicis_mid']); // 상점아이디
|
||||
/**************************************************************************************************
|
||||
* admin 은 키패스워드 변수명입니다. 수정하시면 안됩니다. 1111의 부분만 수정해서 사용하시기 바랍니다.
|
||||
* 키패스워드는 상점관리자 페이지(https://iniweb.inicis.com)의 비밀번호가 아닙니다. 주의해 주시기 바랍니다.
|
||||
* 키패스워드는 숫자 4자리로만 구성됩니다. 이 값은 키파일 발급시 결정됩니다.
|
||||
* 키패스워드 값을 확인하시려면 상점측에 발급된 키파일 안의 readme.txt 파일을 참조해 주십시오.
|
||||
**************************************************************************************************/
|
||||
$inipay->SetField("admin", $default['de_inicis_admin_key']); //비대칭 사용키 키패스워드
|
||||
$inipay->SetField("tid", $od['od_tno']); // 취소할 거래의 거래아이디
|
||||
$inipay->SetField("cancelmsg", $cancel_msg); // 취소사유
|
||||
$response = inicis_tid_cancel($args);
|
||||
$result = json_decode($response, true);
|
||||
|
||||
/****************
|
||||
* 4. 취소 요청 *
|
||||
****************/
|
||||
$inipay->startAction();
|
||||
|
||||
/****************************************************************
|
||||
* 5. 취소 결과 *
|
||||
* *
|
||||
* 결과코드 : $inipay->getResult('ResultCode') ("00"이면 취소 성공) *
|
||||
* 결과내용 : $inipay->getResult('ResultMsg') (취소결과에 대한 설명) *
|
||||
* 취소날짜 : $inipay->getResult('CancelDate') (YYYYMMDD) *
|
||||
* 취소시각 : $inipay->getResult('CancelTime') (HHMMSS) *
|
||||
* 현금영수증 취소 승인번호 : $inipay->getResult('CSHR_CancelNum') *
|
||||
* (현금영수증 발급 취소시에만 리턴됨) *
|
||||
****************************************************************/
|
||||
|
||||
$res_cd = $inipay->getResult('ResultCode');
|
||||
$res_msg = $inipay->getResult('ResultMsg');
|
||||
|
||||
if($res_cd != '00') {
|
||||
$pg_res_cd = $res_cd;
|
||||
$pg_res_msg = iconv_utf8($res_msg);
|
||||
if (isset($result['resultCode'])) {
|
||||
if ($result['resultCode'] != '00') {
|
||||
$pg_res_cd = $result['resultCode'];
|
||||
$pg_res_msg = $result['resultMsg'];
|
||||
}
|
||||
} else {
|
||||
$pg_res_cd = '';
|
||||
$pg_res_msg = 'curl 로 데이터를 받지 못했습니다.';
|
||||
}
|
||||
|
||||
break;
|
||||
case 'nicepay':
|
||||
include_once(G5_SHOP_PATH.'/settle_nicepay.inc.php');
|
||||
$cancel_msg = '쇼핑몰 운영자 승인 취소';
|
||||
|
||||
$tno = $od['od_tno'];
|
||||
|
||||
$cancelAmt = $od['od_receipt_price'];
|
||||
|
||||
// 0:전체 취소, 1:부분 취소(별도 계약 필요)
|
||||
$partialCancelCode = 0;
|
||||
|
||||
|
||||
include G5_SHOP_PATH.'/nicepay/cancel_process.php';
|
||||
|
||||
if (isset($result['ResultCode'])) {
|
||||
// 실패했다면
|
||||
if ($result['ResultCode'] !== '2001') {
|
||||
$pg_res_cd = $result['ResultCode'];
|
||||
$pg_res_msg = $result['ResultMsg'];
|
||||
}
|
||||
} else {
|
||||
$pg_res_cd = '';
|
||||
$pg_res_msg = 'curl 로 데이터를 받지 못하거나 통신에 실패했습니다.';
|
||||
}
|
||||
|
||||
break;
|
||||
case 'KAKAOPAY':
|
||||
include_once(G5_SHOP_PATH.'/settle_kakaopay.inc.php');
|
||||
@@ -315,7 +322,7 @@ if (in_array($_POST['ct_status'], $status_cancel)) {
|
||||
|
||||
// PG 취소요청 성공했으면
|
||||
if($pg_res_cd == '') {
|
||||
$pg_cancel_log = ' PG 신용카드 승인취소 처리';
|
||||
$pg_cancel_log = ' PG '.$od['od_settle_case'].' 승인취소 처리';
|
||||
$sql = " update {$g5['g5_shop_order_table']}
|
||||
set od_refund_price = '{$od['od_receipt_price']}'
|
||||
where od_id = '$od_id' ";
|
||||
|
||||
@@ -222,7 +222,7 @@ if( function_exists('pg_setting_check') ){
|
||||
<input type="radio" name="od_settle_case" value="신용카드" id="od_settle_case06" <?php echo get_checked($od_settle_case, '신용카드'); ?>>
|
||||
<label for="od_settle_case06">신용카드</label>
|
||||
<input type="radio" name="od_settle_case" value="간편결제" id="od_settle_case07" <?php echo get_checked($od_settle_case, '간편결제'); ?>>
|
||||
<label for="od_settle_case07" data-tooltip-text="NHN_KCP 간편결제 : PAYCO, 네이버페이, 카카오페이(NHN_KCP) 
LG유플러스 간편결제 : PAYNOW 
KG 이니시스 간편결제 : KPAY, 삼성페이, LPAY, 카카오페이(KG이니시스)">PG간편결제</label>
|
||||
<label for="od_settle_case07" data-tooltip-text="NHN_KCP 간편결제 : PAYCO, 네이버페이, 카카오페이(NHN_KCP), 애플페이(NHN_KCP) 
LG유플러스 간편결제 : PAYNOW 
KG 이니시스 간편결제 : KPAY, 삼성페이, LPAY, 카카오페이(KG이니시스)">PG간편결제</label>
|
||||
<input type="radio" name="od_settle_case" value="KAKAOPAY" id="od_settle_case08" <?php echo get_checked($od_settle_case, 'KAKAOPAY'); ?>>
|
||||
<label for="od_settle_case08">KAKAOPAY</label>
|
||||
</div>
|
||||
|
||||
@@ -49,7 +49,7 @@ if ($csv == 'csv')
|
||||
$to_date = date_conv($to_date);
|
||||
|
||||
|
||||
$sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon, od_b_name, od_b_tel, od_b_hp, b.it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice, b.ct_option, b.ct_send_cost, b.it_sc_type
|
||||
$sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon, od_b_name, od_b_tel, od_b_hp, b.it_name, ct_qty, b.it_id, od_memo, od_invoice, b.ct_option, b.ct_send_cost, b.it_sc_type
|
||||
FROM {$g5['g5_shop_order_table']} a, {$g5['g5_shop_cart_table']} b
|
||||
where a.od_id = b.od_id ";
|
||||
if ($case == 1) // 출력기간
|
||||
@@ -65,7 +65,7 @@ if ($csv == 'csv')
|
||||
alert("출력할 내역이 없습니다.");
|
||||
|
||||
//header('Content-Type: text/x-csv');
|
||||
header("Content-charset=utf-8");
|
||||
header("Content-Type: text/csv; charset=utf-8");
|
||||
header('Content-Type: doesn/matter');
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
header('Content-Disposition: attachment; filename="orderlist-' . date("ymd", time()) . '.csv"');
|
||||
@@ -153,7 +153,7 @@ if ($csv == 'xls')
|
||||
$fr_date = date_conv($fr_date);
|
||||
$to_date = date_conv($to_date);
|
||||
|
||||
$sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon, od_b_name, od_b_tel, od_b_hp, b.it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice, b.ct_option, b.ct_send_cost, b.it_sc_type
|
||||
$sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon, od_b_name, od_b_tel, od_b_hp, b.it_name, ct_qty, b.it_id, od_memo, od_invoice, b.ct_option, b.ct_send_cost, b.it_sc_type
|
||||
FROM {$g5['g5_shop_order_table']} a, {$g5['g5_shop_cart_table']} b
|
||||
where a.od_id = b.od_id ";
|
||||
if ($case == 1) // 출력기간
|
||||
|
||||
@@ -44,6 +44,12 @@ if($popup == 'yes') { // 팝업창일 때
|
||||
$pp['pp_price'] = $od['od_misu'];
|
||||
$wrp_tag_st = '<div class="new_win">'.PHP_EOL.'<h1 id="new_win_title">'.$html_title.'</h1>';
|
||||
$wrp_tag_end = '</div>';
|
||||
|
||||
echo '<script>
|
||||
if (typeof g5_admin_csrf_token_key === "undefined") {
|
||||
var g5_admin_csrf_token_key = "' . (function_exists('admin_csrf_token_key') ? admin_csrf_token_key() : '') . '";
|
||||
}
|
||||
</script>';
|
||||
}
|
||||
else { // 현재페이지일 때
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
@@ -227,7 +233,7 @@ if(!sql_query(" select pp_cash from {$g5['g5_shop_personalpay_table']} limit 1 "
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="pp_shop_memo">상점메모</label></th>
|
||||
<td><textarea name="pp_shop_memo" id="pp_shop_memo" rows="8"><?php echo $pp['pp_shop_memo']; ?></textarea></td>
|
||||
<td><textarea name="pp_shop_memo" id="pp_shop_memo" rows="8"><?php echo html_purifier($pp['pp_shop_memo']); ?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="pp_use">사용</label></th>
|
||||
|
||||
@@ -66,6 +66,8 @@ while($res = sql_fetch_array($qry))
|
||||
$group_name = '미분류';
|
||||
else
|
||||
$group_name = $tmp['fg_name'];
|
||||
|
||||
$res['fo_content'] = html_purifier($res['fo_content']);
|
||||
$list_text .="
|
||||
<li class=\"screen_list sms5_box\">
|
||||
<span class=\"box_ico\"></span>
|
||||
|
||||
@@ -174,7 +174,7 @@ function multi_update(sel)
|
||||
<input type="checkbox" name="fo_no[]" value="<?php echo $res['fo_no']?>" id="fo_no_<?php echo $i; ?>">
|
||||
</div>
|
||||
<div class="li_preview">
|
||||
<textarea readonly class="box_txt box_square"><?php echo $res['fo_content']?></textarea>
|
||||
<textarea readonly class="box_txt box_square"><?php echo html_purifier($res['fo_content']); ?></textarea>
|
||||
</div>
|
||||
<div class="li_info">
|
||||
<span class="sound_only">그룹 </span><b><?php echo $group_name?></b><br>
|
||||
|
||||
@@ -67,7 +67,7 @@ include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
<div class="sms5_box write_wrap">
|
||||
<span class="box_ico"></span>
|
||||
<label for="sms_contents" id="wr_message_lbl">내용</label>
|
||||
<textarea name="fo_content" id="sms_contents" class="box_txt box_square" onkeyup="byte_check('sms_contents', 'sms_bytes');" accesskey="m"><?php echo $write['fo_content']?></textarea>
|
||||
<textarea name="fo_content" id="sms_contents" class="box_txt box_square" onkeyup="byte_check('sms_contents', 'sms_bytes');" accesskey="m"><?php echo html_purifier($write['fo_content']); ?></textarea>
|
||||
|
||||
<div id="sms_byte"><span id="sms_bytes">0</span> / 80 byte</div>
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ function all_send()
|
||||
|
||||
<div id="con_sms" class="sms5_box">
|
||||
<span class="box_ico"></span>
|
||||
<textarea class="box_txt is_overview" readonly><?php echo $write['wr_message'];?></textarea>
|
||||
<textarea class="box_txt is_overview" readonly><?php echo html_purifier($write['wr_message']); ?></textarea>
|
||||
</div>
|
||||
|
||||
<?php if ($write['wr_re_total'] && !$wr_renum) { ?>
|
||||
|
||||
@@ -33,7 +33,16 @@ if ($w == 'u' && is_numeric($bk_no)) {
|
||||
$g5['title'] .= '수정';
|
||||
}
|
||||
else {
|
||||
$write = array('bg_no' => (int) $bg_no);
|
||||
$write = array(
|
||||
'bg_no' => (int) $bg_no,
|
||||
'bk_no' => 0,
|
||||
'mb_id' => '',
|
||||
'bk_name' => '',
|
||||
'bk_hp' => '',
|
||||
'bk_memo' => '',
|
||||
'bk_receipt' => 1,
|
||||
'bk_datetime' => ''
|
||||
);
|
||||
$g5['title'] .= '추가';
|
||||
}
|
||||
|
||||
|
||||
@@ -71,18 +71,16 @@ if( count($save_group) ){ //그룹테이블 업데이트
|
||||
|
||||
$msg = '해당 번호를 선택한 그룹으로 '.$act.' 하였습니다.';
|
||||
$opener_href = './num_book.php?page='.$page;
|
||||
|
||||
echo <<<HEREDOC
|
||||
?>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<script>
|
||||
alert("$msg");
|
||||
opener.document.location.href = "$opener_href";
|
||||
alert("<?php echo $msg; ?>");
|
||||
opener.document.location.href = "<?php echo $opener_href; ?>";
|
||||
window.close();
|
||||
</script>
|
||||
<noscript>
|
||||
<p>
|
||||
"$msg"
|
||||
<?php echo $msg; ?>
|
||||
</p>
|
||||
<a href="$opener_href">돌아가기</a>
|
||||
</noscript>
|
||||
HEREDOC;
|
||||
<a href="<?php echo $opener_href; ?>">돌아가기</a>
|
||||
</noscript>
|
||||
+3
-3
@@ -16,13 +16,13 @@ if( ! $is_admin ){
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_request_handler_'.$call, $arr_query, $token);
|
||||
|
||||
$sub_menu = admin_menu_find_by($call, 'sub_menu');
|
||||
$g5['title'] = admin_menu_find_by($call, 'title');
|
||||
|
||||
run_event('admin_request_handler_'.$call, $arr_query, $token);
|
||||
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
run_event('admin_get_page_'.$call, $arr_query, $token);
|
||||
|
||||
include_once ('./admin.tail.php');
|
||||
include_once ('./admin.tail.php');
|
||||
|
||||
@@ -4,8 +4,8 @@ include_once('./_common.php');
|
||||
if (!$is_member) die('0');
|
||||
|
||||
$uid = isset($_REQUEST['uid']) ? preg_replace('/[^0-9]/', '', $_REQUEST['uid']) : 0;
|
||||
$subject = isset($_REQUEST['subject']) ? trim($_REQUEST['subject']) : '';
|
||||
$content = isset($_REQUEST['content']) ? trim($_REQUEST['content']) : '';
|
||||
$subject = isset($_REQUEST['subject']) ? preg_replace("#[\\\]+$#", "", substr(trim($_POST['subject']),0,255)) : '';
|
||||
$content = isset($_REQUEST['content']) ? preg_replace("#[\\\]+$#", "", substr(trim($_POST['content']),0,65536)) : '';
|
||||
|
||||
if ($subject && $content) {
|
||||
$sql = " select count(*) as cnt from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_subject = '$subject' and as_content = '$content' ";
|
||||
|
||||
+11
-1
@@ -17,7 +17,17 @@ if($error) {
|
||||
|
||||
<script>
|
||||
alert("<?php echo $msg; ?>");
|
||||
window.close();
|
||||
try {
|
||||
window.close();
|
||||
} catch(error) {
|
||||
history.back();
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
if (window.history.length) {
|
||||
window.history.back();
|
||||
}
|
||||
}, 500);
|
||||
</script>
|
||||
|
||||
<noscript>
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
if (G5_IS_MOBILE) {
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once(G5_BBS_PATH.'/_head.php');
|
||||
echo html_purifier(stripslashes($board['bo_mobile_content_head']));
|
||||
echo run_replace('board_mobile_content_head', html_purifier(stripslashes($board['bo_mobile_content_head'])), $board);
|
||||
} else {
|
||||
// 상단 파일 경로를 입력하지 않았다면 기본 상단 파일도 include 하지 않음
|
||||
if (trim($board['bo_include_head'])) {
|
||||
@@ -15,5 +15,5 @@ if (G5_IS_MOBILE) {
|
||||
include_once(G5_BBS_PATH.'/_head.php');
|
||||
}
|
||||
}
|
||||
echo html_purifier(stripslashes($board['bo_content_head']));
|
||||
echo run_replace('board_content_head', html_purifier(stripslashes($board['bo_content_head'])), $board);
|
||||
}
|
||||
+2
-2
@@ -3,11 +3,11 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 게시판 관리의 하단 파일 경로
|
||||
if (G5_IS_MOBILE) {
|
||||
echo html_purifier(stripslashes($board['bo_mobile_content_tail']));
|
||||
echo run_replace('board_mobile_content_tail', html_purifier(stripslashes($board['bo_mobile_content_tail'])), $board);
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once(G5_BBS_PATH.'/_tail.php');
|
||||
} else {
|
||||
echo html_purifier(stripslashes($board['bo_content_tail']));
|
||||
echo run_replace('board_content_tail', html_purifier(stripslashes($board['bo_content_tail'])), $board);
|
||||
// 하단 파일 경로를 입력하지 않았다면 기본 하단 파일도 include 하지 않음
|
||||
if (trim($board['bo_include_tail'])) {
|
||||
if (is_include_path_check($board['bo_include_tail'])) { //파일경로 체크
|
||||
|
||||
+3
-3
@@ -81,20 +81,20 @@ $content_skin_url = get_skin_url('content', $co['co_skin']);
|
||||
$skin_file = $content_skin_path.'/content.skin.php';
|
||||
|
||||
if ($is_admin)
|
||||
echo '<div class="ctt_admin"><a href="'.G5_ADMIN_URL.'/contentform.php?w=u&co_id='.$co_id.'" class="btn_admin btn"><span class="sound_only">내용 수정</span><i class="fa fa-cog fa-spin fa-fw"></i></a></div>';
|
||||
echo run_replace('content_admin_button_html', '<div class="ctt_admin"><a href="'.G5_ADMIN_URL.'/contentform.php?w=u&co_id='.$co_id.'" class="btn_admin btn"><span class="sound_only">내용 수정</span><i class="fa fa-cog fa-spin fa-fw"></i></a></div>', $co);
|
||||
?>
|
||||
|
||||
<?php
|
||||
if(is_file($skin_file)) {
|
||||
$himg = G5_DATA_PATH.'/content/'.$co_id.'_h';
|
||||
if (file_exists($himg)) // 상단 이미지
|
||||
echo '<div id="ctt_himg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_h" alt=""></div>';
|
||||
echo run_replace('content_head_image_html', '<div id="ctt_himg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_h" alt=""></div>', $co);
|
||||
|
||||
include($skin_file);
|
||||
|
||||
$timg = G5_DATA_PATH.'/content/'.$co_id.'_t';
|
||||
if (file_exists($timg)) // 하단 이미지
|
||||
echo '<div id="ctt_timg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_t" alt=""></div>';
|
||||
echo run_replace('content_tail_image_html', '<div id="ctt_timg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_t" alt=""></div>', $co);
|
||||
} else {
|
||||
echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>';
|
||||
}
|
||||
|
||||
@@ -22,6 +22,14 @@ $file = sql_fetch($sql);
|
||||
if (!$file['bf_file'])
|
||||
alert_close('파일 정보가 존재하지 않습니다.');
|
||||
|
||||
$nonce = isset($_REQUEST['nonce']) ? preg_replace('/[^0-9a-z\|]/i', '', $_REQUEST['nonce']) : '';
|
||||
|
||||
if (function_exists('download_file_nonce_is_valid') && !defined('G5_DOWNLOAD_NONCE_CHECK')){
|
||||
if(! download_file_nonce_is_valid($nonce, $bo_table, $wr_id)){
|
||||
alert('토큰 유효시간이 지났거나 토큰이 유효하지 않습니다.\\n브라우저를 새로고침 후 다시 시도해 주세요.', G5_URL);
|
||||
}
|
||||
}
|
||||
|
||||
// JavaScript 불가일 때
|
||||
$js = (isset($_GET['js'])) ? $_GET['js'] : '';
|
||||
if($js != 'on' && $board['bo_download_point'] < 0) {
|
||||
|
||||
+4
-2
@@ -17,13 +17,15 @@ while ($row=sql_fetch_array($result))
|
||||
$faq_master_list[$key] = $row;
|
||||
}
|
||||
|
||||
$fm = array();
|
||||
if (isset($fm_id) && $fm_id){
|
||||
$fm_id = (int) $fm_id;
|
||||
$qstr .= '&fm_id=' . $fm_id; // 마스터faq key_id
|
||||
|
||||
$fm = $faq_master_list[$fm_id];
|
||||
}
|
||||
|
||||
$fm = $faq_master_list[$fm_id];
|
||||
if (!$fm['fm_id'])
|
||||
if (! (isset($fm['fm_id']) && $fm['fm_id']))
|
||||
alert('등록된 내용이 없습니다.');
|
||||
|
||||
$g5['title'] = $fm['fm_subject'];
|
||||
|
||||
+2
-2
@@ -62,7 +62,7 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
|
||||
and mb_id = '{$member['mb_id']}'
|
||||
and bg_flag in ('good', 'nogood') ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['bg_flag'])
|
||||
if (isset($row['bg_flag']) && $row['bg_flag'])
|
||||
{
|
||||
if ($row['bg_flag'] == 'good')
|
||||
$status = '추천';
|
||||
@@ -127,7 +127,7 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
|
||||
and mb_id = '{$member['mb_id']}'
|
||||
and bg_flag in ('good', 'nogood') ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['bg_flag'])
|
||||
if (isset($row['bg_flag']) && $row['bg_flag'])
|
||||
{
|
||||
if ($row['bg_flag'] == 'good')
|
||||
$status = '추천';
|
||||
|
||||
@@ -104,6 +104,13 @@ if (!$is_search_bbs) {
|
||||
|
||||
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
|
||||
$list[$i]['is_notice'] = true;
|
||||
$list[$i]['list_content'] = $list[$i]['wr_content'];
|
||||
|
||||
// 비밀글인 경우 리스트에서 내용이 출력되지 않게 글 내용을 지웁니다.
|
||||
if (strstr($list[$i]['wr_option'], "secret")) {
|
||||
$list[$i]['wr_content'] = '';
|
||||
}
|
||||
|
||||
$list[$i]['num'] = 0;
|
||||
$i++;
|
||||
$notice_count++;
|
||||
@@ -197,6 +204,13 @@ if($page_rows > 0) {
|
||||
$list[$i]['subject'] = search_font($stx, $list[$i]['subject']);
|
||||
}
|
||||
$list[$i]['is_notice'] = false;
|
||||
$list[$i]['list_content'] = $list[$i]['wr_content'];
|
||||
|
||||
// 비밀글인 경우 리스트에서 내용이 출력되지 않게 글 내용을 지웁니다.
|
||||
if (strstr($list[$i]['wr_option'], "secret")) {
|
||||
$list[$i]['wr_content'] = '';
|
||||
}
|
||||
|
||||
$list_num = $total_count - ($page - 1) * $list_page_rows - $notice_count;
|
||||
$list[$i]['num'] = $list_num - $k;
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ if( function_exists('social_check_login_before') ){
|
||||
$g5['title'] = '로그인';
|
||||
include_once('./_head.sub.php');
|
||||
|
||||
$url = isset($_GET['url']) ? strip_tags($_GET['url']) : '';
|
||||
$od_id = isset($_POST['od_id']) ? safe_replace_regex($_POST['od_id'], 'od_id') : '';
|
||||
|
||||
// url 체크
|
||||
|
||||
+24
-6
@@ -8,7 +8,7 @@ $mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password']) : '';
|
||||
|
||||
run_event('member_login_check_before', $mb_id);
|
||||
|
||||
if (!$mb_id || !$mb_password)
|
||||
if (!$mb_id || run_replace('check_empty_member_login_password', !$mb_password, $mb_id))
|
||||
alert('회원아이디나 비밀번호가 공백이면 안됩니다.');
|
||||
|
||||
$mb = get_member($mb_id);
|
||||
@@ -27,11 +27,13 @@ if(function_exists('social_is_login_check')){
|
||||
$is_social_password_check = social_is_login_password_check($mb_id);
|
||||
}
|
||||
|
||||
//소셜 로그인이 맞다면 패스워드를 체크하지 않습니다.
|
||||
$is_need_not_password = run_replace('login_check_need_not_password', $is_social_password_check, $mb_id, $mb_password, $mb, $is_social_login);
|
||||
|
||||
// $is_need_not_password 변수가 true 이면 패스워드를 체크하지 않습니다.
|
||||
// 가입된 회원이 아니다. 비밀번호가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
|
||||
// 회원아이디를 입력해 보고 맞으면 또 비밀번호를 입력해보는 경우를 방지하기 위해서입니다.
|
||||
// 불법사용자의 경우 회원아이디가 틀린지, 비밀번호가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
|
||||
if (!$is_social_password_check && (! (isset($mb['mb_id']) && $mb['mb_id']) || !login_password_check($mb, $mb_password, $mb['mb_password'])) ) {
|
||||
if (!$is_need_not_password && (! (isset($mb['mb_id']) && $mb['mb_id']) || !login_password_check($mb, $mb_password, $mb['mb_password'])) ) {
|
||||
|
||||
run_event('password_is_wrong', 'login', $mb);
|
||||
|
||||
@@ -60,10 +62,18 @@ run_event('login_session_before', $mb, $is_social_login);
|
||||
|
||||
@include_once($member_skin_path.'/login_check.skin.php');
|
||||
|
||||
if (! (defined('SKIP_SESSION_REGENERATE_ID') && SKIP_SESSION_REGENERATE_ID)) {
|
||||
session_regenerate_id(false);
|
||||
if (function_exists('session_start_samesite')) {
|
||||
session_start_samesite();
|
||||
}
|
||||
}
|
||||
|
||||
// 회원아이디 세션 생성
|
||||
set_session('ss_mb_id', $mb['mb_id']);
|
||||
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
|
||||
set_session('ss_mb_key', md5($mb['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']));
|
||||
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함
|
||||
generate_mb_key($mb);
|
||||
|
||||
// 회원의 토큰키를 세션에 저장한다. /common.php 에서 해당 회원의 토큰값을 검사한다.
|
||||
if(function_exists('update_auth_session_token')) update_auth_session_token($mb['mb_datetime']);
|
||||
|
||||
@@ -137,8 +147,16 @@ if(function_exists('set_cart_id')){
|
||||
cart_item_clean();
|
||||
set_cart_id('');
|
||||
$s_cart_id = get_session('ss_cart_id');
|
||||
|
||||
$add_cart_where = '';
|
||||
|
||||
// 장바구니에서 주문하기를 하는 경우
|
||||
if (strpos($link, 'orderform.php') !== false) {
|
||||
$add_cart_where = " and ct_select_time < '".date('Y-m-d H:i:s', strtotime('-1 hour', G5_SERVER_TIME))."' ";
|
||||
}
|
||||
|
||||
// 선택필드 초기화
|
||||
$sql = " update {$g5['g5_shop_cart_table']} set ct_select = '0' where od_id = '$s_cart_id' ";
|
||||
$sql = " update {$g5['g5_shop_cart_table']} set ct_select = '0' where od_id = '$s_cart_id' $add_cart_where ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
|
||||
+5
-1
@@ -19,7 +19,11 @@ if ($url) {
|
||||
if ( substr($url, 0, 2) == '//' )
|
||||
$url = 'http:' . $url;
|
||||
|
||||
$p = @parse_url(urldecode($url));
|
||||
if (preg_match('#\\\0#', $url) || preg_match('/^\/{1,}\\\/', $url)) {
|
||||
alert('url 에 올바르지 않은 값이 포함되어 있습니다.', G5_URL);
|
||||
}
|
||||
|
||||
$p = @parse_url(urldecode(str_replace('\\', '', $url)));
|
||||
/*
|
||||
// OpenRediect 취약점관련, PHP 5.3 이하버전에서는 parse_url 버그가 있음 ( Safflower 님 제보 ) 아래 url 예제
|
||||
// http://localhost/bbs/logout.php?url=http://sir.kr%23@/
|
||||
|
||||
@@ -4,8 +4,6 @@ include_once('./_common.php');
|
||||
if ($is_guest)
|
||||
alert('로그인 한 회원만 접근하실 수 있습니다.', G5_BBS_URL.'/login.php');
|
||||
|
||||
$url = isset($_GET['url']) ? clean_xss_tags($_GET['url']) : '';
|
||||
|
||||
while (1) {
|
||||
$tmp = preg_replace('/&#[^;]+;/', '', $url);
|
||||
if ($tmp == $url) break;
|
||||
@@ -17,6 +15,8 @@ if( function_exists('social_member_comfirm_redirect') && (! $url || $url === 're
|
||||
social_member_comfirm_redirect();
|
||||
}
|
||||
|
||||
$url = run_replace('member_confirm_next_url', $url);
|
||||
|
||||
$g5['title'] = '회원 비밀번호 확인';
|
||||
include_once('./_head.sub.php');
|
||||
|
||||
@@ -29,8 +29,11 @@ if($url){
|
||||
if( preg_match('#^/{3,}#', $url) ){
|
||||
$url = preg_replace('#^/{3,}#', '/', $url);
|
||||
}
|
||||
}
|
||||
|
||||
if (function_exists('safe_filter_url_host')) {
|
||||
$url = safe_filter_url_host($url);
|
||||
}
|
||||
}
|
||||
|
||||
$url = get_text($url);
|
||||
|
||||
|
||||
@@ -14,9 +14,11 @@ if (!($post_mb_password && check_password($post_mb_password, $member['mb_passwor
|
||||
|
||||
// 회원탈퇴일을 저장
|
||||
$date = date("Ymd");
|
||||
$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 탈퇴함\n".sql_real_escape_string($mb['mb_memo'])."', mb_certify = '', mb_adult = 0, mb_dupinfo = '' where mb_id = '{$member['mb_id']}' ";
|
||||
$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 탈퇴함\n".sql_real_escape_string($member['mb_memo'])."', mb_certify = '', mb_adult = 0, mb_dupinfo = '' where mb_id = '{$member['mb_id']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
run_event('member_leave', $member);
|
||||
|
||||
// 3.09 수정 (로그아웃)
|
||||
unset($_SESSION['ss_mb_id']);
|
||||
|
||||
|
||||
@@ -14,24 +14,28 @@ $str_nick_list = '';
|
||||
$msg = '';
|
||||
$error_list = array();
|
||||
$member_list = array('id'=>array(), 'nick'=>array());
|
||||
$me_memo = isset($_POST['me_memo']) ? preg_replace("#[\\\]+$#", "", substr(trim($_POST['me_memo']),0,65536)) : '';
|
||||
|
||||
run_event('memo_form_update_before', $recv_list);
|
||||
|
||||
for ($i=0; $i<count($recv_list); $i++) {
|
||||
$row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
|
||||
|
||||
$recv_list_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $recv_list[$i]), 0, 20);
|
||||
|
||||
$row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list_id}' ");
|
||||
if ($row) {
|
||||
if ($is_admin || ($row['mb_open'] && (!$row['mb_leave_date'] && !$row['mb_intercept_date']))) {
|
||||
$member_list['id'][] = $row['mb_id'];
|
||||
$member_list['nick'][] = $row['mb_nick'];
|
||||
} else {
|
||||
$error_list[] = $recv_list[$i];
|
||||
$error_list[] = $recv_list_id;
|
||||
}
|
||||
}
|
||||
/*
|
||||
// 관리자가 아니면서
|
||||
// 가입된 회원이 아니거나 정보공개를 하지 않았거나 탈퇴한 회원이거나 차단된 회원에게 쪽지를 보내는것은 에러
|
||||
if ((!$row['mb_id'] || !$row['mb_open'] || $row['mb_leave_date'] || $row['mb_intercept_date']) && !$is_admin) {
|
||||
$error_list[] = $recv_list[$i];
|
||||
$error_list[] = $recv_list_id;
|
||||
} else {
|
||||
$member_list['id'][] = $row['mb_id'];
|
||||
$member_list['nick'][] = $row['mb_nick'];
|
||||
@@ -67,14 +71,14 @@ for ($i=0; $i<count($member_list['id']); $i++) {
|
||||
$recv_mb_nick = get_text($member_list['nick'][$i]);
|
||||
|
||||
// 받는 회원 쪽지 INSERT
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_type, me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00' , 'recv', '{$_SERVER['REMOTE_ADDR']}' ) ";
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_type, me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$me_memo}', '0000-00-00 00:00:00' , 'recv', '{$_SERVER['REMOTE_ADDR']}' ) ";
|
||||
|
||||
sql_query($sql);
|
||||
|
||||
if( $me_id = sql_insert_id() ){
|
||||
|
||||
// 보내는 회원 쪽지 INSERT
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_send_id, me_type , me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00', '$me_id', 'send', '{$_SERVER['REMOTE_ADDR']}' ) ";
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_send_id, me_type , me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$me_memo}', '0000-00-00 00:00:00', '$me_id', 'send', '{$_SERVER['REMOTE_ADDR']}' ) ";
|
||||
sql_query($sql);
|
||||
|
||||
$member_list['me_id'][$i] = $me_id;
|
||||
|
||||
+11
-2
@@ -49,7 +49,9 @@ while ($row = sql_fetch_array($result))
|
||||
$count_write = 0;
|
||||
$count_comment = 0;
|
||||
|
||||
$next_wr_num = get_next_num($move_write_table);
|
||||
// get_next_num 함수는 mysql 지연시 중복이 될수 있는 문제로 더 이상 사용하지 않습니다.
|
||||
// $next_wr_num = get_next_num($move_write_table);
|
||||
$next_wr_num = 0;
|
||||
|
||||
$sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment, wr_comment desc, wr_id ";
|
||||
$result2 = sql_query($sql2);
|
||||
@@ -78,7 +80,7 @@ while ($row = sql_fetch_array($result))
|
||||
}
|
||||
|
||||
$sql = " insert into $move_write_table
|
||||
set wr_num = '$next_wr_num',
|
||||
set wr_num = " . ($next_wr_num ? "'$next_wr_num'" : "(SELECT IFNULL(MIN(wr_num) - 1, -1) FROM $move_write_table as sq) ") . ",
|
||||
wr_reply = '{$row2['wr_reply']}',
|
||||
wr_is_comment = '{$row2['wr_is_comment']}',
|
||||
wr_comment = '{$row2['wr_comment']}',
|
||||
@@ -116,6 +118,11 @@ while ($row = sql_fetch_array($result))
|
||||
sql_query($sql);
|
||||
|
||||
$insert_id = sql_insert_id();
|
||||
|
||||
if ($next_wr_num === 0) {
|
||||
$tmp = sql_fetch("select wr_num from $move_write_table where wr_id = '$insert_id'");
|
||||
$next_wr_num = $tmp['wr_num'];
|
||||
}
|
||||
|
||||
// 코멘트가 아니라면
|
||||
if (!$row2['wr_is_comment'])
|
||||
@@ -126,6 +133,8 @@ while ($row = sql_fetch_array($result))
|
||||
$result3 = sql_query($sql3);
|
||||
for ($k=0; $row3 = sql_fetch_array($result3); $k++)
|
||||
{
|
||||
$copy_file_name = '';
|
||||
|
||||
if ($row3['bf_file'])
|
||||
{
|
||||
// 원본파일을 복사하고 퍼미션을 변경
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ include_once('./_common.php');
|
||||
|
||||
$po_id = isset($_POST['po_id']) ? preg_replace('/[^0-9]/', '', $_POST['po_id']) : 0;
|
||||
|
||||
$po = sql_fetch(" select * from {$g5['poll_table']} where po_id = '{$_POST['po_id']}' ");
|
||||
$po = sql_fetch(" select * from {$g5['poll_table']} where po_id = '$po_id' ");
|
||||
if (! (isset($po['po_id']) && $po['po_id']))
|
||||
alert('po_id 값이 제대로 넘어오지 않았습니다.');
|
||||
|
||||
|
||||
+19
-8
@@ -15,6 +15,7 @@ if (!($token && $delete_token === $token))
|
||||
alert('토큰 에러로 삭제 불가합니다.');
|
||||
|
||||
$tmp_array = array();
|
||||
$deleted = array();
|
||||
if ($qa_id) // 건별삭제
|
||||
$tmp_array[0] = $qa_id;
|
||||
else // 일괄삭제
|
||||
@@ -56,21 +57,23 @@ for($i=0; $i<$count; $i++) {
|
||||
delete_editor_thumbnail($row['qa_content']);
|
||||
|
||||
// 답변이 있는 질문글이라면 답변글 삭제
|
||||
if(!$row['qa_type'] && $row['qa_status']) {
|
||||
$row2 = sql_fetch(" select qa_content, qa_file1, qa_file2 from {$g5['qa_content_table']} where qa_parent = '$qa_id' ");
|
||||
if (!$row['qa_type'] && $row['qa_status']) {
|
||||
$answer = sql_fetch(" SELECT qa_id, qa_content, qa_file1, qa_file2 from {$g5['qa_content_table']} where qa_type = 1 AND qa_parent = {$qa_id} ");
|
||||
// 첨부파일 삭제
|
||||
for($k=1; $k<=2; $k++) {
|
||||
@unlink(G5_DATA_PATH.'/qa/'.clean_relative_paths($row2['qa_file'.$k]));
|
||||
for ($k = 1; $k <= 2; $k++) {
|
||||
@unlink(G5_DATA_PATH . '/qa/' . clean_relative_paths($answer['qa_file' . $k]));
|
||||
// 썸네일삭제
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['qa_file'.$k])) {
|
||||
delete_qa_thumbnail($row2['qa_file'.$k]);
|
||||
if (preg_match("/\.({$config['cf_image_extension']})$/i", $answer['qa_file' . $k])) {
|
||||
delete_qa_thumbnail($answer['qa_file' . $k]);
|
||||
}
|
||||
}
|
||||
|
||||
// 에디터 썸네일 삭제
|
||||
delete_editor_thumbnail($row2['qa_content']);
|
||||
delete_editor_thumbnail($answer['qa_content']);
|
||||
|
||||
sql_query(" delete from {$g5['qa_content_table']} where qa_type = '1' and qa_parent = '$qa_id' ");
|
||||
// 답변글 삭제
|
||||
sql_query(" DELETE from {$g5['qa_content_table']} where qa_type = 1 and qa_parent = {$qa_id} ");
|
||||
$deleted[] = (int) $answer['qa_id'];
|
||||
}
|
||||
|
||||
// 답변글 삭제시 질문글의 상태변경
|
||||
@@ -80,6 +83,14 @@ for($i=0; $i<$count; $i++) {
|
||||
|
||||
// 글삭제
|
||||
sql_query(" delete from {$g5['qa_content_table']} where qa_id = '$qa_id' ");
|
||||
$deleted[] = $qa_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* QA 글 삭제 후 Event Hook
|
||||
* @var array $tmp_array 삭제 요청된 qa_id 목록. 소유자 확인, 답변글 존재 여부 등의 이유로 실제로 삭제처리가 안 된 ID가 포함될 수 있으며, 삭제처리 되었더라도 답변글은 이 목록에 포함되지 않음
|
||||
* @var array $deleted 답변글을 포함한 삭제가 완료된 qa_id 목록
|
||||
*/
|
||||
run_event('qa_delete', $tmp_array, $deleted);
|
||||
|
||||
goto_url(G5_BBS_URL.'/qalist.php'.preg_replace('/^&/', '?', $qstr));
|
||||
+2
-2
@@ -7,11 +7,11 @@ $qa_skin_url = get_skin_url('qa', (G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] :
|
||||
if (G5_IS_MOBILE) {
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once('./_head.php');
|
||||
echo conv_content($qaconfig['qa_mobile_content_head'], 1);
|
||||
echo run_replace('qa_mobile_content_head', conv_content($qaconfig['qa_mobile_content_head'], 1), $qaconfig);
|
||||
} else {
|
||||
if($qaconfig['qa_include_head'] && is_include_path_check($qaconfig['qa_include_head']))
|
||||
@include ($qaconfig['qa_include_head']);
|
||||
else
|
||||
include ('./_head.php');
|
||||
echo conv_content($qaconfig['qa_content_head'], 1);
|
||||
echo run_replace('qa_content_head', conv_content($qaconfig['qa_content_head'], 1), $qaconfig);
|
||||
}
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
echo conv_content($qaconfig['qa_mobile_content_tail'], 1);
|
||||
echo run_replace('qa_mobile_content_tail', conv_content($qaconfig['qa_mobile_content_tail'], 1), $qaconfig);
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once('./_tail.php');
|
||||
} else {
|
||||
echo conv_content($qaconfig['qa_content_tail'], 1);
|
||||
echo run_replace('qa_content_tail', conv_content($qaconfig['qa_content_tail'], 1), $qaconfig);
|
||||
if($qaconfig['qa_include_tail'] && is_include_path_check($qaconfig['qa_include_tail']))
|
||||
@include ($qaconfig['qa_include_tail']);
|
||||
else
|
||||
|
||||
@@ -135,6 +135,32 @@ if(is_file($skin_file)) {
|
||||
$answer_update_href = G5_BBS_URL.'/qawrite.php?w=u&qa_id='.$answer['qa_id'].$qstr;
|
||||
$answer_delete_href = G5_BBS_URL.'/qadelete.php?qa_id='.$answer['qa_id'].'&token='.$token.$qstr;
|
||||
}
|
||||
|
||||
$ss_name = 'ss_qa_view_'.$answer['qa_id'];
|
||||
if(!get_session($ss_name))
|
||||
set_session($ss_name, TRUE);
|
||||
|
||||
// 답변 첨부파일
|
||||
$answer['img_file'] = array();
|
||||
$answer['download_href'] = array();
|
||||
$answer['download_source'] = array();
|
||||
$answer['img_count'] = 0;
|
||||
$answer['download_count'] = 0;
|
||||
|
||||
for ($i=1; $i<=2; $i++) {
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $answer['qa_file'.$i])) {
|
||||
$attr_href = run_replace('thumb_view_image_href', G5_BBS_URL.'/view_image.php?fn='.urlencode('/'.G5_DATA_DIR.'/qa/'.$answer['qa_file'.$i]), '/'.G5_DATA_DIR.'/qa/'.$answer['qa_file'.$i], '', '', '', '');
|
||||
$answer['img_file'][] = '<a href="'.$attr_href.'" target="_blank" class="view_image"><img src="'.G5_DATA_URL.'/qa/'.$answer['qa_file'.$i].'"></a>';
|
||||
$answer['img_count']++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($answer['qa_file'.$i]) {
|
||||
$answer['download_href'][] = G5_BBS_URL.'/qadownload.php?qa_id='.$answer['qa_id'].'&no='.$i;
|
||||
$answer['download_source'][] = $answer['qa_source'.$i];
|
||||
$answer['download_count']++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$stx = get_text(stripslashes($stx));
|
||||
|
||||
+11
-1
@@ -86,6 +86,7 @@ $qa_related = 0;
|
||||
$qa_email_recv = (isset($_POST['qa_email_recv']) && $_POST['qa_email_recv']) ? 1 : 0;
|
||||
$qa_sms_recv = (isset($_POST['qa_sms_recv']) && $_POST['qa_sms_recv']) ? 1 : 0;
|
||||
$qa_status = 0;
|
||||
$answer_id = null;
|
||||
|
||||
for ($i=1; $i<=5; $i++) {
|
||||
$var = "qa_$i";
|
||||
@@ -301,6 +302,7 @@ if($w == '' || $w == 'a' || $w == 'r') {
|
||||
}
|
||||
|
||||
if($w == 'a') {
|
||||
$answer_id = (int) sql_insert_id();
|
||||
$sql = " update {$g5['qa_content_table']}
|
||||
set qa_status = '1'
|
||||
where qa_id = '{$write['qa_parent']}' ";
|
||||
@@ -339,7 +341,15 @@ if($w == '' || $w == 'a' || $w == 'r') {
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
run_event('qawrite_update', $qa_id, $write, $w, $qaconfig);
|
||||
/**
|
||||
* 1:1 문의/답변의 변경 시 Event Hook
|
||||
* @var int $qa_id 삽입/수정 또는 답글/추가질문 대상 글의 ID
|
||||
* @var array $write 삽입/수정 또는 답글/추가질문 대상 글의 데이터
|
||||
* @var string $w 동작 모드 ('': 질문글 작성, 'a': 답변글 작성, 'u': 질문/답변 수정, 'r': 추가(관련) 질문)
|
||||
* @var array $qaconfig 1:1 문의 설정
|
||||
* @var ?int $answer_id 답변글 작성($w = 'a') 시 답변글의 ID
|
||||
*/
|
||||
run_event('qawrite_update', $qa_id, $write, $w, $qaconfig, ($w === 'a') ? $answer_id : null);
|
||||
|
||||
// SMS 알림
|
||||
if($config['cf_sms_use'] == 'icode' && $qaconfig['qa_use_sms']) {
|
||||
|
||||
@@ -17,7 +17,7 @@ if ($w == 'u' && $is_admin == 'super') {
|
||||
alert('데모 화면에서는 하실(보실) 수 없는 작업입니다.');
|
||||
}
|
||||
|
||||
if (!chk_captcha()) {
|
||||
if (run_replace('register_member_chk_captcha', !chk_captcha(), $w)) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
|
||||
@@ -94,10 +94,15 @@ if ($w == '' || $w == 'u') {
|
||||
alert('닉네임을 올바르게 입력해 주십시오.');
|
||||
}
|
||||
|
||||
if ($w == '' && !$mb_password)
|
||||
alert('비밀번호가 넘어오지 않았습니다.');
|
||||
if($w == '' && $mb_password != $mb_password_re)
|
||||
alert('비밀번호가 일치하지 않습니다.');
|
||||
// 비밀번호를 체크하는 상태의 기본값은 true이며, 비밀번호를 체크하지 않으려면 hook 을 통해 false 값으로 바꿔야 합니다.
|
||||
$is_check_password = run_replace('register_member_password_check', true, $mb_id, $mb_nick, $mb_email, $w);
|
||||
|
||||
if ($is_check_password){
|
||||
if ($w == '' && !$mb_password)
|
||||
alert('비밀번호가 넘어오지 않았습니다.');
|
||||
if ($w == '' && $mb_password != $mb_password_re)
|
||||
alert('비밀번호가 일치하지 않습니다.');
|
||||
}
|
||||
|
||||
if ($msg = empty_mb_name($mb_name)) alert($msg, "", true, true);
|
||||
if ($msg = empty_mb_nick($mb_nick)) alert($msg, "", true, true);
|
||||
@@ -111,7 +116,7 @@ if ($w == '' || $w == 'u') {
|
||||
if ($msg = prohibit_mb_email($mb_email))alert($msg, "", true, true);
|
||||
|
||||
// 휴대폰 필수입력일 경우 휴대폰번호 유효성 체크
|
||||
if ($config['cf_use_hp'] || ($config['cf_cert_hp'] || $config['cf_cert_simple']) && $config['cf_req_hp']) {
|
||||
if (($config['cf_use_hp'] || $config['cf_cert_hp'] || $config['cf_cert_simple']) && $config['cf_req_hp']) {
|
||||
if ($msg = valid_mb_hp($mb_hp)) alert($msg, "", true, true);
|
||||
}
|
||||
|
||||
|
||||
+6
-4
@@ -49,9 +49,7 @@ echo '<?xml version="1.0" encoding="utf-8" ?>'."\n";
|
||||
<channel>
|
||||
<title><?php echo specialchars_replace($config['cf_title'].' > '.$subj1.' > '.$subj2); ?></title>
|
||||
<link><?php echo specialchars_replace(get_pretty_url($bo_table)); ?></link>
|
||||
<description>테스트 버전 0.2 (2004-04-26)</description>
|
||||
<language>ko</language>
|
||||
|
||||
<?php
|
||||
$sql = " select wr_id, wr_subject, wr_content, wr_name, wr_datetime, wr_option
|
||||
from {$g5['write_prefix']}$bo_table
|
||||
@@ -66,6 +64,10 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$html = 1;
|
||||
else
|
||||
$html = 0;
|
||||
|
||||
if ($i === 0) {
|
||||
echo '<description>'. specialchars_replace($subj2). ' ('. $row['wr_datetime'] .')</description>'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
|
||||
<item>
|
||||
@@ -76,8 +78,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
<?php
|
||||
$date = $row['wr_datetime'];
|
||||
// rss 리더 스킨으로 호출하면 날짜가 제대로 표시되지 않음
|
||||
//$date = substr($date,0,10) . "T" . substr($date,11,8) . "+09:00";
|
||||
$date = date('r', strtotime($date));
|
||||
$date = substr($date,0,10) . "T" . substr($date,11,8) . "+09:00";
|
||||
//$date = date('r', strtotime($date)); // 구글 서치 콘솔에서 오류가 난다
|
||||
?>
|
||||
<dc:date><?php echo $date ?></dc:date>
|
||||
</item>
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ if ($stx) {
|
||||
$sql = " select gr_id, bo_table, bo_read_level from {$g5['board_table']} where bo_use_search = 1 and bo_list_level <= '{$member['mb_level']}' ";
|
||||
if ($gr_id)
|
||||
$sql .= " and gr_id = '{$gr_id}' ";
|
||||
$onetable = isset($onetable) ? $onetable : "";
|
||||
$onetable = isset($onetable) ? preg_replace('/[^a-z0-9_]/i', '', $onetable) : '';
|
||||
if ($onetable) // 하나의 게시판만 검색한다면
|
||||
$sql .= " and bo_table = '{$onetable}' ";
|
||||
$sql .= " order by bo_order, gr_id, bo_table ";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (function_exists('check_case_exist_title')) check_case_exist_title($write, G5_BBS_DIR, true);
|
||||
|
||||
// 게시판에서 두단어 이상 검색 후 검색된 게시물에 코멘트를 남기면 나오던 오류 수정
|
||||
$sop = strtolower($sop);
|
||||
if ($sop != 'and' && $sop != 'or')
|
||||
|
||||
+18
-4
@@ -31,6 +31,9 @@ $wr_subject = '';
|
||||
if (isset($_POST['wr_subject'])) {
|
||||
$wr_subject = substr(trim($_POST['wr_subject']),0,255);
|
||||
$wr_subject = preg_replace("#[\\\]+$#", "", $wr_subject);
|
||||
if (function_exists('normalize_utf8_string')) {
|
||||
$wr_subject = normalize_utf8_string($wr_subject);
|
||||
}
|
||||
}
|
||||
if ($wr_subject == '') {
|
||||
$msg[] = '<strong>제목</strong>을 입력하세요.';
|
||||
@@ -40,6 +43,9 @@ $wr_content = '';
|
||||
if (isset($_POST['wr_content'])) {
|
||||
$wr_content = substr(trim($_POST['wr_content']),0,65536);
|
||||
$wr_content = preg_replace("#[\\\]+$#", "", $wr_content);
|
||||
if (function_exists('normalize_utf8_string')) {
|
||||
$wr_content = normalize_utf8_string($wr_content);
|
||||
}
|
||||
}
|
||||
if ($wr_content == '') {
|
||||
$msg[] = '<strong>내용</strong>을 입력하세요.';
|
||||
@@ -252,12 +258,14 @@ if ($w == '' || $w == 'r') {
|
||||
$wr_num = $write['wr_num'];
|
||||
$wr_reply = $reply;
|
||||
} else {
|
||||
$wr_num = get_next_num($write_table);
|
||||
// get_next_num 함수는 mysql 지연시 중복이 될수 있는 문제로 더 이상 사용하지 않습니다.
|
||||
// $wr_num = get_next_num($write_table);
|
||||
$wr_num = 0;
|
||||
$wr_reply = '';
|
||||
}
|
||||
|
||||
|
||||
$sql = " insert into $write_table
|
||||
set wr_num = '$wr_num',
|
||||
set wr_num = " . ($w == 'r' ? "'$wr_num'" : "(SELECT IFNULL(MIN(wr_num) - 1, -1) FROM $write_table as sq) ") . ",
|
||||
wr_reply = '$wr_reply',
|
||||
wr_comment = 0,
|
||||
ca_name = '$ca_name',
|
||||
@@ -676,8 +684,14 @@ sql_query(" delete from {$g5['autosave_table']} where as_uid = '{$uid}' ");
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// 비밀글이라면 세션에 비밀글의 아이디를 저장한다. 자신의 글은 다시 비밀번호를 묻지 않기 위함
|
||||
if ($secret)
|
||||
if ($secret) {
|
||||
if (! $wr_num) {
|
||||
$write = get_write($write_table, $wr_id, true);
|
||||
$wr_num = $write['wr_num'];
|
||||
}
|
||||
|
||||
set_session("ss_secret_{$bo_table}_{$wr_num}", TRUE);
|
||||
}
|
||||
|
||||
// 메일발송 사용 (수정글은 발송하지 않음)
|
||||
if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) {
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
// CloudFlare를 사용시, 사용자 환경에 맞는 $_SERVER['REMOTE_ADDR']과 $_SERVER['HTTPS'] 사용 여부를 수정합니다.
|
||||
class G5CloudflareRequestHandler {
|
||||
public static function check_cloudflare_ips($user_ip){
|
||||
|
||||
// 클라우드플레어 IP, https://www.cloudflare.com/ips
|
||||
$cloudflare_ips = array(
|
||||
// IPv4
|
||||
'173.245.48.0/20',
|
||||
'103.21.244.0/22',
|
||||
'103.22.200.0/22',
|
||||
'103.31.4.0/22',
|
||||
'141.101.64.0/18',
|
||||
'108.162.192.0/18',
|
||||
'190.93.240.0/20',
|
||||
'188.114.96.0/20',
|
||||
'197.234.240.0/22',
|
||||
'198.41.128.0/17',
|
||||
'162.158.0.0/15',
|
||||
'104.16.0.0/12',
|
||||
'104.24.0.0/14',
|
||||
'172.64.0.0/13',
|
||||
'131.0.72.0/22',
|
||||
// IPv6
|
||||
'2400:cb00::/32',
|
||||
'2606:4700::/32',
|
||||
'2803:f800::/32',
|
||||
'2405:b500::/32',
|
||||
'2405:8100::/32',
|
||||
'2a06:98c0::/29',
|
||||
'2c0f:f248::/32',
|
||||
);
|
||||
|
||||
// 사용자 IP가 Cloudflare IP 대역 범위에 있는지 확인
|
||||
$is_cloudflare_ip = false;
|
||||
foreach ($cloudflare_ips as $cidr) {
|
||||
if (self::ip_in_range($user_ip, $cidr)) {
|
||||
$is_cloudflare_ip = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $is_cloudflare_ip;
|
||||
}
|
||||
|
||||
// IP 주소가 CIDR 범위 내에 있는지 확인하는 함수 (IPv4, IPv6 모두 가능)
|
||||
public static function ip_in_range($ip, $range) {
|
||||
// IPv4와 IPv6를 구분
|
||||
if (strpos($range, ':') === false && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $ip)) {
|
||||
// IPv4 처리
|
||||
return self::ipv4_in_range($ip, $range);
|
||||
} elseif (strpos($range, ':') !== false && strpos($ip, ':') !== false) {
|
||||
// IPv6 처리
|
||||
return self::ipv6_in_range($ip, $range);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// IPv4 CIDR 범위 검사
|
||||
public static function ipv4_in_range($ip, $range) {
|
||||
list($range, $netmask) = explode('/', $range, 2);
|
||||
$range_decimal = ip2long($range);
|
||||
$ip_decimal = ip2long($ip);
|
||||
$wildcard_decimal = pow(2, (32 - $netmask)) - 1;
|
||||
$netmask_decimal = ~$wildcard_decimal;
|
||||
|
||||
return (($ip_decimal & $netmask_decimal) == ($range_decimal & $netmask_decimal));
|
||||
}
|
||||
|
||||
// IPv6 CIDR 범위 검사
|
||||
public static function ipv6_in_range($ip, $range) {
|
||||
list($range_ip, $netmask) = explode('/', $range, 2);
|
||||
$netmask = (int) $netmask;
|
||||
|
||||
$ip_bin = @inet_pton($ip);
|
||||
$range_bin = @inet_pton($range_ip);
|
||||
|
||||
// IPv6 주소는 128비트이므로, 비트마스크를 적용
|
||||
$unpacked = unpack('A16', $ip_bin);
|
||||
$ip_bits = $unpacked[1];
|
||||
$unpacked2 = unpack('A16', $range_bin);
|
||||
$range_bits = $unpacked2[1];
|
||||
|
||||
for ($i = 0; $i < (int)($netmask / 8); $i++) {
|
||||
if ($ip_bits[$i] !== $range_bits[$i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$remainder = $netmask % 8;
|
||||
if ($remainder) {
|
||||
$mask = 0xFF << (8 - $remainder);
|
||||
return (ord($ip_bits[$i]) & $mask) === (ord($range_bits[$i]) & $mask);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
if ($_SERVER['HTTP_CF_CONNECTING_IP'] && G5CloudflareRequestHandler::check_cloudflare_ips($_SERVER['REMOTE_ADDR'])) {
|
||||
$_SERVER['REMOTE_ADDR'] = preg_replace('/[^0-9a-fA-F:.]/', '', $_SERVER['HTTP_CF_CONNECTING_IP']);
|
||||
|
||||
// Cloudflare 환경을 고려한 https 사용여부
|
||||
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") {
|
||||
$_SERVER['HTTPS'] = 'on';
|
||||
} elseif (isset($_SERVER['HTTP_CF_VISITOR']) && stripos($_SERVER['HTTP_CF_VISITOR'], 'https') !== false) {
|
||||
$_SERVER['HTTPS'] = 'on';
|
||||
}
|
||||
}
|
||||
+27
-16
@@ -29,6 +29,10 @@ for ($i=0; $i<$ext_cnt; $i++) {
|
||||
}
|
||||
//==========================================================================================================================
|
||||
|
||||
// Cloudflare 사용시 REMOTE_ADDR 에 사용자 IP 적용과 https 사용 여부
|
||||
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
|
||||
include_once('cloudflare.check.php'); // cloudflare 의 ip 대역인지 체크
|
||||
}
|
||||
|
||||
function g5_path()
|
||||
{
|
||||
@@ -58,7 +62,7 @@ include_once($g5_path['path'].'/config.php'); // 설정 파일
|
||||
unset($g5_path);
|
||||
|
||||
// IIS 에서 SERVER_ADDR 서버변수가 없다면
|
||||
if(! isset($_SERVER['SERVER_ADDR'])) {
|
||||
if (!isset($_SERVER['SERVER_ADDR'])) {
|
||||
$_SERVER['SERVER_ADDR'] = isset($_SERVER['LOCAL_ADDR']) ? $_SERVER['LOCAL_ADDR'] : '';
|
||||
}
|
||||
|
||||
@@ -221,7 +225,12 @@ ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection
|
||||
ini_set("session.gc_probability", 1); // session.gc_probability는 session.gc_divisor와 연계하여 gc(쓰레기 수거) 루틴의 시작 확률을 관리합니다. 기본값은 1입니다. 자세한 내용은 session.gc_divisor를 참고하십시오.
|
||||
ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probability와 결합하여 각 세션 초기화 시에 gc(쓰레기 수거) 프로세스를 시작할 확률을 정의합니다. 확률은 gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에 GC 프로세스를 시작할 확률이 1%입니다. session.gc_divisor의 기본값은 100입니다.
|
||||
|
||||
session_set_cookie_params(0, '/');
|
||||
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
|
||||
session_set_cookie_params(0, '/', null, true, true);
|
||||
} else {
|
||||
session_set_cookie_params(0, '/', null, false, true);
|
||||
}
|
||||
|
||||
ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
|
||||
|
||||
function chrome_domain_session_name(){
|
||||
@@ -366,8 +375,7 @@ if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER)
|
||||
|| 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')
|
||||
|| !(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == "https")){
|
||||
|| !(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')) {
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
@@ -377,7 +385,7 @@ if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER)
|
||||
$cookie_session_name = method_exists('XenoPostToForm', 'g5_session_name') ? XenoPostToForm::g5_session_name() : 'PHPSESSID';
|
||||
foreach ($headers as $header) {
|
||||
if (!preg_match('~^Set-Cookie: '.$cookie_session_name.'=~', $header)) continue;
|
||||
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
|
||||
$header = preg_replace('~(; secure; HttpOnly)?$~', '; secure; HttpOnly; SameSite=None', $header);
|
||||
header($header, false);
|
||||
$g5['session_cookie_samesite'] = 'none';
|
||||
break;
|
||||
@@ -417,7 +425,7 @@ if (isset($_REQUEST['sca'])) {
|
||||
|
||||
if (isset($_REQUEST['sfl'])) {
|
||||
$sfl = trim($_REQUEST['sfl']);
|
||||
$sfl = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $sfl);
|
||||
$sfl = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s\#]/", "", $sfl);
|
||||
if ($sfl)
|
||||
$qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
|
||||
} else {
|
||||
@@ -480,6 +488,7 @@ if (isset($_REQUEST['w'])) {
|
||||
$w = '';
|
||||
}
|
||||
|
||||
/** @var int $wr_id 게시판 글의 ID */
|
||||
if (isset($_REQUEST['wr_id'])) {
|
||||
$wr_id = (int)$_REQUEST['wr_id'];
|
||||
} else {
|
||||
@@ -495,14 +504,15 @@ if (isset($_REQUEST['bo_table']) && ! is_array($_REQUEST['bo_table'])) {
|
||||
|
||||
// URL ENCODING
|
||||
if (isset($_REQUEST['url'])) {
|
||||
$url = strip_tags(trim($_REQUEST['url']));
|
||||
$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\[\]\\x80-\\xff]|i', '', trim($_REQUEST['url']));
|
||||
$urlencode = urlencode($url);
|
||||
} else {
|
||||
$url = '';
|
||||
$urlencode = urlencode($_SERVER['REQUEST_URI']);
|
||||
if (G5_DOMAIN) {
|
||||
$p = @parse_url(G5_DOMAIN);
|
||||
$urlencode = G5_DOMAIN.urldecode(preg_replace("/^".urlencode($p['path'])."/", "", $urlencode));
|
||||
$p['path'] = isset($p['path']) ? $p['path'] : '/';
|
||||
$urlencode = rtrim(G5_DOMAIN, '%2F').'%2F'.ltrim(urldecode(preg_replace("/^".urlencode($p['path'])."/", "", $urlencode)), '%2F');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -576,27 +586,30 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
|
||||
}
|
||||
|
||||
|
||||
/** @var array $write 글 데이터 */
|
||||
$write = array();
|
||||
/** @var string $write_table 게시판 테이블 전체이름 */
|
||||
$write_table = '';
|
||||
if ($bo_table) {
|
||||
$board = get_board_db($bo_table, true);
|
||||
if (isset($board['bo_table']) && $board['bo_table']) {
|
||||
set_cookie("ck_bo_table", $board['bo_table'], 86400 * 1);
|
||||
$gr_id = $board['gr_id'];
|
||||
$write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
|
||||
// 게시판 테이블 전체이름
|
||||
$write_table = $g5['write_prefix'] . $bo_table;
|
||||
|
||||
if (isset($wr_id) && $wr_id) {
|
||||
$write = get_write($write_table, $wr_id);
|
||||
} else if (isset($wr_seo_title) && $wr_seo_title) {
|
||||
$write = get_content_by_field($write_table, 'bbs', 'wr_seo_title', generate_seo_title($wr_seo_title));
|
||||
if( isset($write['wr_id']) ){
|
||||
$wr_id = $write['wr_id'];
|
||||
if (isset($write['wr_id'])) {
|
||||
$wr_id = (int) $write['wr_id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 게시판에서
|
||||
if (isset($board['bo_select_editor']) && $board['bo_select_editor']){
|
||||
|
||||
// 게시판에서 사용하는 에디터를 설정
|
||||
if (isset($board['bo_select_editor']) && $board['bo_select_editor']) {
|
||||
$config['cf_editor'] = $board['bo_select_editor'];
|
||||
}
|
||||
}
|
||||
@@ -841,5 +854,3 @@ header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
|
||||
header('Pragma: no-cache'); // HTTP/1.0
|
||||
|
||||
run_event('common_header');
|
||||
|
||||
$html_process = new html_process();
|
||||
+3
-6
@@ -28,6 +28,7 @@ define('G5_HTTPS_DOMAIN', '');
|
||||
|
||||
// 그누보드 디버그바 설정입니다, 실제 서버운영시 false 로 설정해 주세요.
|
||||
define('G5_DEBUG', false);
|
||||
define('G5_COLLECT_QUERY', false);
|
||||
|
||||
// Set Database table default engine is Database default_storage_engine, If you want to use MyISAM or InnoDB, change to MyISAM or InnoDB.
|
||||
// DB에 테이블 생성 시 테이블의 기본 스토리지 엔진을 설정할 수 있습니다.
|
||||
@@ -233,9 +234,5 @@ define('G5_VISIT_BROWSCAP_USE', false);
|
||||
*/
|
||||
define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');
|
||||
|
||||
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>');
|
||||
}
|
||||
// KAKAO 우편번호 서비스 CDN
|
||||
define('G5_POSTCODE_JS', '<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js" async></script>');
|
||||
|
||||
@@ -799,19 +799,22 @@ box-shadow: 1px 2px 2px #eee;}
|
||||
#od_tot_price strong{font-size:1.5em;color:#ff006c}
|
||||
#sod_frm #sod_frm_pt_alert {margin:5px 0;color:#38b2bb }
|
||||
#od_pay_sl h3{font-size:1.167em;margin:20px 0 5px}
|
||||
#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1px;}
|
||||
#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1;}
|
||||
#od_pay_sl .lb_icon {display: inline-block;float:left;width:50%;background:#fff;border:1px solid #eceff4;margin:-1px 0 0 -1px;cursor: pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1}
|
||||
#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid #ff006c;z-index:3}
|
||||
#sod_frm_paysel {}
|
||||
#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#sod_frm_paysel .KPAY{background:url('../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .PAYNOW{background:url('../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .PAYCO{background:url('../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_lpay{background:url('../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .PAYCO, #sod_frm_paysel .paycopay_icon{background:url('../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_lpay, #sod_frm_paysel .lpay_icon{background:url('../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_kakaopay{position:relative;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_kakaopay em{position:absolute;top:15px;left:45px;width:70px;height:30px;background:url('../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px}
|
||||
#sod_frm_paysel .kakaopay_icon{background:url('../img/kakao.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .naverpay_icon{background:url('../img/ico-default-naverpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .samsungpay_icon{background:url('../img/samsungpay.png') no-repeat 50% 50% #fff;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .ssgpay_icon{background:url('../img/ssgpay_icon.png') no-repeat 50% 50% #fff;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .skpay_icon{background:url('../img/skpay11_icon.png') no-repeat 50% 50% #fff; background-size: 70px;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .bank_icon{background:url('../img/pay_icon1.png') no-repeat 15px 50% #fff}
|
||||
#sod_frm_paysel .vbank_icon{background:url('../img/pay_icon2.png') no-repeat 15px 50% #fff;padding-top:13px}
|
||||
#sod_frm_paysel .iche_icon{background:url('../img/pay_icon2.png') no-repeat 15px 50% #fff;padding-top:13px}
|
||||
@@ -1148,6 +1151,7 @@ box-shadow: 1px 2px 2px #eee;}
|
||||
.sod_frm_mobile #m_sod_frm_paysel .inicis_lpay{background:url(../img/lpay_logo.png) no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
|
||||
.sod_frm_mobile #m_sod_frm_paysel .inicis_kakaopay{background:url(../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
|
||||
.sod_frm_mobile #m_sod_frm_paysel .kakaopay_icon{background:url(../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
|
||||
.sod_frm_mobile #m_sod_frm_paysel .applepay_icon{background:url(../img/ico-mobile-applepay.png) no-repeat 50% 50% #fff;border-radius:30px;height:23px;width:50px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
|
||||
.sod_frm_mobile #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url(../img/samsungpay.png) no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
.sod_frm_mobile #sod_frm_pay{border-top:1px solid #f3f3f3}
|
||||
.sod_frm_mobile #sod_frm_pay h2{margin:10px 0;font-size:1.25em}
|
||||
|
||||
+24
-17
@@ -83,9 +83,9 @@ input[type=radio] {-webkit-appearance: radio}
|
||||
|
||||
/*카테고리*/
|
||||
.menu {display:none;position:fixed;top:0;height:100%;z-index:99999;-webkit-backface-visibility:hidden;width:100%;background:#efefef}
|
||||
.menu .menu_wr{;width:100%;height:100%;overflow-y:auto;background:#eee;position:relative;z-index:199919;
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
.menu .menu_wr{width:100%;height:100%;overflow-y:auto;background:#eee;position:relative;z-index:199919;
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
.menu .menu_close {position:absolute;top:50%;right:0px;width:40px;height:40px;background:none;color:#fff;font-size:20px;margin-top:-20px;border:0;z-index:199999}
|
||||
|
||||
@@ -220,15 +220,18 @@ box-shadow: 0 0 6px rgba(0,0,0,0.2);}
|
||||
#m_sod_frm_paysel h3{background:#fff;padding:15px 10px ;border:1px solid #e3e5e8;border-bottom:0}
|
||||
#m_sod_frm_paysel ul {margin:0 0 ;background:#fff;padding:10px;border:1px solid #e3e5e8}
|
||||
#m_sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#m_sod_frm_paysel li {float:left;padding:5px ;width:46%;height:25px}
|
||||
#m_sod_frm_paysel li {float:left;padding:5px;width:46%;height:35px}
|
||||
#m_sod_frm_paysel .KPAY{background:url('../img/kpay.png') no-repeat;width:37px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
|
||||
#m_sod_frm_paysel .PAYNOW{background:url('../img/paynow.png') no-repeat;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;}
|
||||
#m_sod_frm_paysel .PAYCO{background:url('../img/payco.png') no-repeat 1px;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;}
|
||||
#m_sod_frm_paysel .inicis_lpay{background:url('../img/lpay_logo.png') no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;}
|
||||
#m_sod_frm_paysel .inicis_kakaopay{background:url('../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
|
||||
#m_sod_frm_paysel .kakaopay_icon{background:url('../img/ico-mobile-kakaopay.png') no-repeat #fff;height:15px;width:43px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
|
||||
#m_sod_frm_paysel .naverpay_icon{background:url('../img/ico-mobile-naverpay.png') no-repeat #fff;height:15px;width:40px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
|
||||
#m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url('../img/samsungpay.png') no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#m_sod_frm_paysel .PAYCO, #m_sod_frm_paysel .paycopay_icon{background:url('../img/payco.png') no-repeat 1px;width:50px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
|
||||
#m_sod_frm_paysel .inicis_lpay, #m_sod_frm_paysel .lpay_icon{background:url('../img/lpay_logo.png') no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;}
|
||||
#m_sod_frm_paysel .inicis_kakaopay{background:url('../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:26px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:36px auto}
|
||||
#m_sod_frm_paysel .kakaopay_icon{background:url('../img/ico-mobile-kakaopay.png') no-repeat #fff;height:23px;width:63px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:45px auto;background-position: 10% 40%}
|
||||
#m_sod_frm_paysel .naverpay_icon{background:url('../img/ico-mobile-naverpay.png') no-repeat #fff;height:23px;width:60px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:45px auto;background-position: 0% 30%}
|
||||
#m_sod_frm_paysel .applepay_icon{background:url('../img/ico-mobile-applepay.png') no-repeat #fff;height:30px;width:60px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:43px auto}
|
||||
#m_sod_frm_paysel .ssgpay_icon{background:url('../img/ssgpay_icon.png') no-repeat 0px 3px #fff;width:55px;height:20px;background-size:100%;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#m_sod_frm_paysel .skpay_icon{background:url('../img/skpay11_icon.png') no-repeat 0px 3px #fff;width:55px;height:20px;background-size:100%;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#m_sod_frm_paysel .samsung_pay, #m_sod_frm_paysel .samsungpay_icon{margin-left:-23px;background:url('../img/samsungpay.png') no-repeat 24px 7px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
|
||||
#sod_frm_pay{padding:10px;;border-top:1px solid #f3f3f3}
|
||||
#sod_frm_pay h2{margin:10px 0;font-size:1.25em}
|
||||
@@ -318,7 +321,7 @@ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
}
|
||||
|
||||
#sod_frm .sod_ta_wr{background: #fff}
|
||||
#sod_frm .btn_confirm{;margin:0 10px 10px}
|
||||
#sod_frm .btn_confirm{margin:0 10px 10px}
|
||||
#sod_frm .btn_submit{width:100%;height:45px;font-size: 1.167em;font-weight: bold;margin:5px 0;border-radius:4px}
|
||||
#sod_frm .btn_cancel,#sod_frm .btn01{width:100%;height:45px;line-height:43px;font-size:1.167em;font-weight: bold;padding:0;border-radius:4px}
|
||||
|
||||
@@ -358,7 +361,7 @@ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
#sod_addr .addr_btn:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#sod_addr .sel_address {width:32%;float:left;margin-right:1%;height:30px;background:none;border:1px solid #333;color:#333;padding:0 5px}
|
||||
#sod_addr .del_address {display:block;width:32%;text-align:center;float:left;margin-right:1%;border:1px solid #aaa;background:none;color:#888;padding:0 5px;height:30px;line-height:28px;vertical-align:middle}
|
||||
#sod_addr input[type="radio"] {position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left:0;z-index:-1px}
|
||||
#sod_addr input[type="radio"] {position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left:0;z-index:-1}
|
||||
#sod_addr .add_lb {display:inline-block;float:left;width:32%;text-align:center;border:1px solid #4162ff;color:#4162ff;height:30px;line-height:28px}
|
||||
#sod_addr input[type="radio"]:checked+.add_lb {z-index:3;background:#4162ff;color:#fff}
|
||||
|
||||
@@ -578,7 +581,7 @@ a.btn02 {display:inline-block;padding:8px 7px 7px;border:1px solid #3b3c3f;backg
|
||||
a.btn02:focus, .btn02:hover {text-decoration:none}
|
||||
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}
|
||||
.btn_confirm {text-align:center} /* 서식단계 진행 */
|
||||
.btn_submit {padding:0 5px;border:0;background:#3a8afd;border:1px solid #1c70e9;color:#fff;letter-spacing:-0.1em;border-radius:3px}}
|
||||
.btn_submit {padding:0 5px;border:0;background:#3a8afd;border:1px solid #1c70e9;color:#fff;letter-spacing:-0.1em;border-radius:3px}
|
||||
fieldset .btn_submit {padding:0 7px;height:24px;line-height:1em}
|
||||
a.btn_cancel {display:inline-block;padding:8px 7px 7px;border:1px solid #ccc;background:#fff;color:#000;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none}
|
||||
@@ -820,7 +823,7 @@ box-shadow:0 0 8px rgba(65,98,255,0.8)}
|
||||
.sod_right #sod_bsk_tot{margin:10px}
|
||||
#sod_frm_taker textarea{width:100%;height:80px}
|
||||
|
||||
#od_pay_sl input[type="radio"] {position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left:0;z-index:-1px}
|
||||
#od_pay_sl input[type="radio"] {position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left:0;z-index:-1}
|
||||
#od_pay_sl .lb_icon {display:inline-block;float:left;width:150px;background:#fff;border:1px solid #eceff4;margin:-1px 0 0 -1px;cursor:pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1}
|
||||
#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid #ff006c;z-index:3}
|
||||
|
||||
@@ -899,17 +902,21 @@ box-shadow:0 0 8px rgba(65,98,255,0.8)}
|
||||
#od_tot_price span{float:left;font-weight:bold}
|
||||
#od_tot_price strong{font-size:1.5em;color:#ff006c}
|
||||
#od_pay_sl h3{font-size:1.167em;margin:20px 0 5px}
|
||||
#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1px;}
|
||||
#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1;}
|
||||
#od_pay_sl .lb_icon {display: inline-block;float:left;width:50%;background:#fff;border:1px solid #eceff4;margin:-1px 0 0 -1px;cursor: pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1}
|
||||
#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid #ff006c;z-index:3}
|
||||
#sod_frm_paysel {}
|
||||
#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#sod_frm_paysel .KPAY{background:url('../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .PAYNOW{background:url('../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .PAYCO{background:url('../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_lpay{background:url('../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .PAYCO, #sod_frm_paysel .paycopay_icon{background:url('../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_lpay, #sod_frm_paysel .lpay_icon{background:url('../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .inicis_kakaopay{background:url('../img/kakao.png') no-repeat 50% 50% #f4dc34;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .kakaopay_icon{background:url('../img/kakao.png') no-repeat 50% 50% #f4dc34;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .naverpay_icon{background:url('../img/ico-default-naverpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .samsungpay_icon{background:url('../img/samsungpay.png') no-repeat 50% 50% #fff;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .ssgpay_icon{background:url('../img/ssgpay_icon.png') no-repeat 50% 50% #fff;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .skpay_icon{background:url('../img/skpay11_icon.png') no-repeat 50% 50% #fff; background-size: 70px;display:inline-block;overflow:hidden;text-indent:-999px}
|
||||
#sod_frm_paysel .bank_icon{background:url('../img/pay_icon1.png') no-repeat 15px 50% #fff}
|
||||
#sod_frm_paysel .vbank_icon{background:url('../img/pay_icon2.png') no-repeat 15px 50% #fff;padding-top:13px}
|
||||
#sod_frm_paysel .iche_icon{background:url('../img/pay_icon2.png') no-repeat 15px 50% #fff;padding-top:13px}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
define('KGINICIS_USE_CERT_SEED', isset($config['cf_cert_use_seed']) ? (int) $config['cf_cert_use_seed'] : 1);
|
||||
|
||||
// 유저 사이드뷰에서 아이콘 지정 안했을시 기본 no 프로필 이미지
|
||||
define('G5_NO_PROFILE_IMG', '<span class="profile_img"><img src="'.G5_IMG_URL.'/no_profile.gif" alt="no_profile" width="'.$config['cf_member_icon_width'].'" height="'.$config['cf_member_icon_height'].'"></span>');
|
||||
|
||||
|
||||
+12
-9
@@ -8,21 +8,24 @@ if (!defined('G5_USE_SHOP') || !G5_USE_SHOP) return;
|
||||
.'(배송업체명^택배조회URL^연락처)'
|
||||
*/
|
||||
define('G5_DELIVERY_COMPANY',
|
||||
'(경동택배^https://kdexp.com/basicNewDelivery.kd?barcode=^080-873-2178)'
|
||||
'(경동택배^https://kdexp.com/service/delivery/etc/delivery.do?barcode=^1899-5368)'
|
||||
.'(대신택배^https://www.ds3211.co.kr/freight/internalFreightSearch.ht?billno=^043-222-4582)'
|
||||
.'(동부택배^http://www.dongbups.com/delivery/delivery_search_view.jsp?item_no=^1588-8848)'
|
||||
.'(로젠택배^https://www.ilogen.com/m/personal/trace.pop/^1588-9988)'
|
||||
.'(우체국^https://m.epost.go.kr/postal/mobile/mobile.trace.RetrieveDomRigiTraceList.comm?ems_gubun=E&sid1=^1588-1300)'
|
||||
.'(이노지스택배^http://www.innogis.co.kr/tracking_view.asp?invoice=^1566-4082)'
|
||||
.'(한진택배^https://www.hanjin.co.kr/kor/CMS/DeliveryMgr/WaybillResult.do?mCode=MN038&schLang=KR&wblnumText2=^1588-0011)'
|
||||
.'(롯데택배^https://www.lotteglogis.com/open/tracking?invno=^1588-2121)'
|
||||
.'(CJ대한통운^https://www.doortodoor.co.kr/parcel/doortodoor.do?fsp_action=PARC_ACT_002&fsp_cmd=retrieveInvNoACT&invc_no=^1588-1255)'
|
||||
.'(CVSnet편의점택배^https://www.cvsnet.co.kr/invoice/tracking.do?invoice_no=^1577-1287)'
|
||||
.'(KG옐로우캡택배^http://www.yellowcap.co.kr/custom/inquiry_result.asp?invoice_no=^1588-0123)'
|
||||
.'(KGB택배^http://www.kgbls.co.kr/sub5/trace.asp?f_slipno=^1577-4577)'
|
||||
.'(KG로지스^http://www.kglogis.co.kr/contents/waybill.jsp?item_no=^1588-8848)'
|
||||
.'(CJ대한통운^https://trace.cjlogistics.com/next/tracking.html?wblNo=^1588-1255)'
|
||||
.'(GS25편의점택배^https://www.cvsnet.co.kr/invoice/tracking.do?invoice_no=^1577-1287)'
|
||||
.'(합동택배^https://hdexp.co.kr/deliverySearch2.hd?barcode=^1899-3392)'
|
||||
.'(CU편의점택배^https://www.cupost.co.kr/postbox/delivery/localResult.cupost?invoice_no=^1577-1287)'
|
||||
.'(천일택배^http://www.chunil.co.kr/HTrace/HTrace.jsp?transNo=^1877-6606)'
|
||||
.'(건영택배^https://www.kunyoung.com/goods/goods_01.php?mulno=^031-460-2700)'
|
||||
.'(호남택배^http://www.honamlogis.co.kr/04estimate/songjang_list.php?c_search1=^031-376-6070)'
|
||||
.'(우리택배^http://www.honamlogis.co.kr/04estimate/songjang_list.php?c_search1=^031-376-6070)'
|
||||
.'(일양로지스^https://www.ilyanglogis.com/functionality/popup_result.asp?hawb_no=^1588-0002)'
|
||||
.'(EMS^https://service.epost.go.kr/trace.RetrieveEmsRigiTraceList.comm?POST_CODE=^1588-1300)'
|
||||
.'(DHL^https://www.dhl.com/kr-ko/home/tracking.html?tracking-id=^1588-1588-0001)'
|
||||
.'(FedEx^https://www.fedex.com/fedextrack/?trknbr=^02-3496-7777)'
|
||||
.'(UPS^https://www.fedex.com/fedextrack/?trknbr=^02-3496-7777)'
|
||||
);
|
||||
|
||||
include_once(G5_LIB_PATH.'/shop.data.lib.php');
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가;
|
||||
@@ -4,5 +4,5 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
// 자바스크립트와 CSS 파일을 새로 다운로드 하도록 파일의 끝에 년월일 지정
|
||||
// 예) https://도메인/css/default.css?ver=220620
|
||||
// 예) https://도메인/js/common.js?ver=220620
|
||||
define('G5_CSS_VER', '220620');
|
||||
define('G5_JS_VER', '220620');
|
||||
define('G5_CSS_VER', '2303229');
|
||||
define('G5_JS_VER', '2304171');
|
||||
|
||||
@@ -71,7 +71,8 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
<script>
|
||||
function fsearchbox_submit(f)
|
||||
{
|
||||
if (f.stx.value.length < 2) {
|
||||
var stx = f.stx.value.trim();
|
||||
if (stx.length < 2) {
|
||||
alert("검색어는 두글자 이상 입력하십시오.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
@@ -80,8 +81,8 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
|
||||
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
|
||||
var cnt = 0;
|
||||
for (var i=0; i<f.stx.value.length; i++) {
|
||||
if (f.stx.value.charAt(i) == ' ')
|
||||
for (var i = 0; i < stx.length; i++) {
|
||||
if (stx.charAt(i) == ' ')
|
||||
cnt++;
|
||||
}
|
||||
|
||||
@@ -91,6 +92,7 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
f.stx.value = stx;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$g5_path['path'] = '..';
|
||||
include_once('install_common.php');
|
||||
include_once('../config.php');
|
||||
include_once('./install.function.php'); // 인스톨 과정 함수 모음
|
||||
include_once('../lib/common.lib.php'); // 공통 라이브러리
|
||||
|
||||
+14
-6
@@ -7,7 +7,7 @@
|
||||
DROP TABLE IF EXISTS `g5_auth`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_auth` (
|
||||
`mb_id` varchar(20) NOT NULL default '',
|
||||
`au_menu` varchar(20) NOT NULL default '',
|
||||
`au_menu` varchar(50) NOT NULL default '',
|
||||
`au_auth` set('r','w','d') NOT NULL default '',
|
||||
PRIMARY KEY (`mb_id`,`au_menu`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
@@ -189,6 +189,7 @@ CREATE TABLE IF NOT EXISTS `g5_board_new` (
|
||||
|
||||
DROP TABLE IF EXISTS `g5_config`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_config` (
|
||||
`cf_id` int(11) NOT NULL auto_increment,
|
||||
`cf_title` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_theme` varchar(100) NOT NULL DEFAULT '',
|
||||
`cf_admin` varchar(100) NOT NULL DEFAULT '',
|
||||
@@ -291,8 +292,10 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
|
||||
`cf_cert_simple` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kg_cd` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kg_mid` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_use_seed` tinyint(4) NOT NULL DEFAULT '1',
|
||||
`cf_cert_kcb_cd` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kcp_cd` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kcp_enckey` varchar(100) NOT NULL DEFAULT '',
|
||||
`cf_lg_mid` varchar(100) NOT NULL DEFAULT '',
|
||||
`cf_lg_mert_key` varchar(100) NOT NULL DEFAULT '',
|
||||
`cf_cert_limit` int(11) NOT NULL DEFAULT '0',
|
||||
@@ -342,7 +345,8 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
|
||||
`cf_7` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_8` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_9` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_10` varchar(255) NOT NULL DEFAULT ''
|
||||
`cf_10` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`cf_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
@@ -445,12 +449,14 @@ CREATE TABLE IF NOT EXISTS `g5_group_member` (
|
||||
|
||||
DROP TABLE IF EXISTS `g5_login`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_login` (
|
||||
`lo_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`lo_ip` varchar(100) NOT NULL default '',
|
||||
`mb_id` varchar(20) NOT NULL default '',
|
||||
`lo_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`lo_location` text NOT NULL,
|
||||
`lo_url` text NOT NULL,
|
||||
PRIMARY KEY (`lo_ip`)
|
||||
PRIMARY KEY (`lo_id`),
|
||||
UNIQUE KEY `lo_ip_unique` (`lo_ip`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
@@ -679,7 +685,7 @@ CREATE TABLE IF NOT EXISTS `g5_scrap` (
|
||||
|
||||
DROP TABLE IF EXISTS `g5_visit`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_visit` (
|
||||
`vi_id` int(11) NOT NULL default '0',
|
||||
`vi_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`vi_ip` varchar(100) NOT NULL default '',
|
||||
`vi_date` date NOT NULL default '0000-00-00',
|
||||
`vi_time` time NOT NULL default '00:00:00',
|
||||
@@ -747,6 +753,7 @@ CREATE TABLE IF NOT EXISTS `g5_autosave` (
|
||||
|
||||
DROP TABLE IF EXISTS `g5_qa_config`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_qa_config` (
|
||||
`qa_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`qa_title` varchar(255) NOT NULL DEFAULT'',
|
||||
`qa_category` varchar(255) NOT NULL DEFAULT'',
|
||||
`qa_skin` varchar(255) NOT NULL DEFAULT '',
|
||||
@@ -782,7 +789,8 @@ CREATE TABLE IF NOT EXISTS `g5_qa_config` (
|
||||
`qa_2` varchar(255) NOT NULL DEFAULT '',
|
||||
`qa_3` varchar(255) NOT NULL DEFAULT '',
|
||||
`qa_4` varchar(255) NOT NULL DEFAULT '',
|
||||
`qa_5` varchar(255) NOT NULL DEFAULT ''
|
||||
`qa_5` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`qa_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
@@ -902,7 +910,7 @@ CREATE TABLE IF NOT EXISTS `g5_member_social_profiles` (
|
||||
`description` varchar(255) NOT NULL DEFAULT '',
|
||||
`mp_register_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`mp_latest_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
UNIQUE KEY `mp_no` (`mp_no`),
|
||||
PRIMARY KEY (`mp_no`),
|
||||
KEY `mb_id` (`mb_id`),
|
||||
KEY `provider` (`provider`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
@@ -209,6 +209,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_coupon_zone` (
|
||||
|
||||
DROP TABLE IF EXISTS `g5_shop_default`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_shop_default` (
|
||||
`de_id` int(11) NOT NULL auto_increment,
|
||||
`de_admin_company_owner` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_admin_company_name` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_admin_company_saupja_no` varchar(255) NOT NULL DEFAULT '',
|
||||
@@ -349,7 +350,8 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` (
|
||||
`de_kcp_mid` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_kcp_site_key` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_inicis_mid` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_inicis_admin_key` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_inicis_iniapi_key` varchar(30) NOT NULL DEFAULT '',
|
||||
`de_inicis_iniapi_iv` varchar(30) NOT NULL 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',
|
||||
@@ -358,6 +360,8 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` (
|
||||
`de_inicis_lpay_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_inicis_kakaopay_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_inicis_cartpoint_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_nicepay_mid` varchar(30) NOT NULL DEFAULT '',
|
||||
`de_nicepay_key` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_item_use_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_item_use_write` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_code_dup_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
@@ -385,7 +389,8 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` (
|
||||
`de_member_reg_coupon_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_member_reg_coupon_term` int(11) NOT NULL DEFAULT '0',
|
||||
`de_member_reg_coupon_price` int(11) NOT NULL DEFAULT '0',
|
||||
`de_member_reg_coupon_minimum` int(11) NOT NULL DEFAULT '0'
|
||||
`de_member_reg_coupon_minimum` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`de_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
@header('Content-Type: text/html; charset=utf-8');
|
||||
@header('X-Robots-Tag: noindex');
|
||||
$g5_path['path'] = '..';
|
||||
include_once('install_common.php');
|
||||
include_once ('../config.php');
|
||||
$title = G5_VERSION." 라이센스 확인 1/3";
|
||||
include_once ('./install.inc.php');
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
|
||||
include_once('../cloudflare.check.php'); // cloudflare 의 ip 대역인지 체크
|
||||
}
|
||||
@@ -9,6 +9,7 @@ header('Pragma: no-cache'); // HTTP/1.0
|
||||
@header('X-Robots-Tag: noindex');
|
||||
|
||||
$g5_path['path'] = '..';
|
||||
include_once('install_common.php');
|
||||
include_once ('../config.php');
|
||||
$title = G5_VERSION." 초기환경설정 2/3";
|
||||
include_once ('./install.inc.php');
|
||||
|
||||
+17
-4
@@ -10,6 +10,7 @@ header('Pragma: no-cache'); // HTTP/1.0
|
||||
@header('X-Robots-Tag: noindex');
|
||||
|
||||
$g5_path['path'] = '..';
|
||||
include_once('install_common.php');
|
||||
include_once('../config.php');
|
||||
include_once('../lib/common.lib.php');
|
||||
include_once('./install.function.php'); // 인스톨 과정 함수 모음
|
||||
@@ -268,6 +269,18 @@ if ($g5_install || $is_install === false) {
|
||||
|
||||
$bo_skin = ($tmp_bo_table[$i] === 'gallery') ? 'gallery' : 'basic';
|
||||
|
||||
if (in_array($tmp_bo_table[$i], array('gallery', 'qa'))) {
|
||||
$read_bo_point = -1;
|
||||
$write_bo_point = 5;
|
||||
$comment_bo_point = 1;
|
||||
$download_bo_point = -20;
|
||||
} else {
|
||||
$read_bo_point = $read_point;
|
||||
$write_bo_point = $write_point;
|
||||
$comment_bo_point = $comment_point;
|
||||
$download_bo_point = $download_point;
|
||||
}
|
||||
|
||||
$sql = " insert into `{$table_prefix}board`
|
||||
set bo_table = '$tmp_bo_table[$i]',
|
||||
gr_id = '$tmp_gr_id',
|
||||
@@ -285,10 +298,10 @@ if ($g5_install || $is_install === false) {
|
||||
bo_count_delete = '1',
|
||||
bo_upload_level = '1',
|
||||
bo_download_level = '1',
|
||||
bo_read_point = '-1',
|
||||
bo_write_point = '5',
|
||||
bo_comment_point = '1',
|
||||
bo_download_point = '-20',
|
||||
bo_read_point = '$read_bo_point',
|
||||
bo_write_point = '$write_bo_point',
|
||||
bo_comment_point = '$comment_bo_point',
|
||||
bo_download_point = '$download_bo_point',
|
||||
bo_use_category = '0',
|
||||
bo_category_list = '',
|
||||
bo_use_sideview = '0',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user