Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff0bfd168b | ||
|
|
355ddc5c57 | ||
|
|
3979ac6dbb | ||
|
|
e3c68f982b | ||
|
|
f98eba0a9d | ||
|
|
5b25e110c4 | ||
|
|
6157fe8b3b | ||
|
|
91df653dfb | ||
|
|
0bc4ca7b47 | ||
|
|
9a68f86230 | ||
|
|
a0a2ca2a9f | ||
|
|
0042ab0144 | ||
|
|
545d081f2d | ||
|
|
a0b9cd39cb | ||
|
|
35ca744794 | ||
|
|
75328dff71 | ||
|
|
7163838706 | ||
|
|
31e98a85b8 | ||
|
|
05981661e7 | ||
|
|
e0cb64e0a7 | ||
|
|
d663ca90d3 | ||
|
|
0eea266500 | ||
|
|
b8ba893090 | ||
|
|
e632542c75 | ||
|
|
26bbc9829d | ||
|
|
f7c8fa4a8e | ||
|
|
12f53f4c3a | ||
|
|
3a8e3a4654 | ||
|
|
2bd6a639d4 | ||
|
|
78dc1a91d3 | ||
|
|
f8f33e3439 | ||
|
|
85fcbbbdb7 | ||
|
|
15c73972de | ||
|
|
e8730704c1 | ||
|
|
934e944fad | ||
|
|
66e0880ebb | ||
|
|
99f09a5bf1 | ||
|
|
96dd706456 | ||
|
|
dc27423fe6 | ||
|
|
c086efa040 | ||
|
|
41ff66d35c | ||
|
|
1ad87b3e6c | ||
|
|
d26ee21322 | ||
|
|
e19e856c53 | ||
|
|
75a1289b1a | ||
|
|
9f26c993a1 | ||
|
|
eb803ae9c9 | ||
|
|
9af0d855b3 | ||
|
|
352856759d | ||
|
|
0d968a52fa | ||
|
|
172b3dba98 | ||
|
|
63f4d7973c | ||
|
|
dc21287913 | ||
|
|
c5593c56be | ||
|
|
29c4330e7a | ||
|
|
579190c786 | ||
|
|
266772d6dc | ||
|
|
61c784eb57 | ||
|
|
2a8a283a77 | ||
|
|
6a1f6c89f6 | ||
|
|
85cd83ecf1 | ||
|
|
95c5b5ecd8 | ||
|
|
bfdb44324f | ||
|
|
2e84d5fbf4 | ||
|
|
7539f2517c | ||
|
|
e43fc63e42 | ||
|
|
371788ee9f | ||
|
|
7c01ae4619 | ||
|
|
6766ef2e1f | ||
|
|
bf7d907ae7 | ||
|
|
b83f82b3d7 | ||
|
|
7f62fffca4 | ||
|
|
d38a44ba62 | ||
|
|
641ede57ef | ||
|
|
39f944e684 | ||
|
|
b71274a429 | ||
|
|
11dc38b883 | ||
|
|
ce50abd4b5 | ||
|
|
ea478310d9 | ||
|
|
e1a510b013 | ||
|
|
8aad35f416 | ||
|
|
d57372907d | ||
|
|
ee6948e580 | ||
|
|
8b0c24b8c3 | ||
|
|
6a4ac064c0 | ||
|
|
09be21e31f | ||
|
|
038087546a | ||
|
|
e8f233c280 | ||
|
|
dc5adce95f | ||
|
|
8d14c95e5c | ||
|
|
546424a045 | ||
|
|
cd2deb541f | ||
|
|
2acac99875 | ||
|
|
b08204d5a8 | ||
|
|
6ee46fd0c9 | ||
|
|
95234c0da5 | ||
|
|
fb7fd98b77 | ||
|
|
da14696e0c | ||
|
|
b8f5356c93 | ||
|
|
304984db63 | ||
|
|
e7e0649173 | ||
|
|
cfe9003154 | ||
|
|
f4b30a878e | ||
|
|
1eb10c9367 | ||
|
|
4b6f94fe8c | ||
|
|
669770c1f1 | ||
|
|
37737d5554 | ||
|
|
fe0f35a59c | ||
|
|
7414fed364 | ||
|
|
c43dc3ee9e | ||
|
|
71f6c8e852 | ||
|
|
d23eda245f | ||
|
|
4922c46e7b | ||
|
|
a382a049c6 | ||
|
|
db813d69bd | ||
|
|
9dacee38d3 | ||
|
|
6510d79217 | ||
|
|
579e9ba598 | ||
|
|
6877f818e1 | ||
|
|
0913dba0ee | ||
|
|
961d45b607 | ||
|
|
d11010e6d4 | ||
|
|
17d10c3c37 | ||
|
|
aad3eca303 | ||
|
|
5f766ae06b | ||
|
|
8ba8b87690 | ||
|
|
3faf265c46 | ||
|
|
7c01ab8f32 | ||
|
|
4376f39504 | ||
|
|
8b76de6650 | ||
|
|
575a54b766 | ||
|
|
517ce64fda | ||
|
|
e1c071a596 | ||
|
|
704ae9863f | ||
|
|
fd1d53931a | ||
|
|
8fcfc3a7ed | ||
|
|
c55a0e4600 | ||
|
|
73fa80fc52 | ||
|
|
0954bd8b5f | ||
|
|
cf566e3512 | ||
|
|
eca24d196e | ||
|
|
7f22566ecd | ||
|
|
c84efa72a4 | ||
|
|
866f49ec47 | ||
|
|
e40344fe96 | ||
|
|
ffdbaa5680 | ||
|
|
6f19c8141a | ||
|
|
082f0c43ee | ||
|
|
c8a9576d63 | ||
|
|
a5bd3841dd | ||
|
|
352cf06944 | ||
|
|
c4a326cd48 | ||
|
|
c742b3fff8 | ||
|
|
100328a031 | ||
|
|
e21429167b | ||
|
|
8d7c0005e4 | ||
|
|
f5155c4fed | ||
|
|
f6d994d810 | ||
|
|
2757fb46f1 | ||
|
|
e17e4dc869 | ||
|
|
75b6116057 | ||
|
|
cbeef0e453 | ||
|
|
7547b6e0ab | ||
|
|
e61dc3534f | ||
|
|
92a27cb64a | ||
|
|
db2b8a2f9b | ||
|
|
561d2ffd52 | ||
|
|
6b9cbb9612 | ||
|
|
27e0a541c7 | ||
|
|
16907801b7 | ||
|
|
7c1e1e6240 | ||
|
|
58b86e556a | ||
|
|
f66300a394 | ||
|
|
25bd7430fc |
+1
-1
@@ -101,7 +101,7 @@ function imageview(id, w, h)
|
||||
<h1><?php echo $config['cf_title'] ?></h1>
|
||||
<div id="hd_top">
|
||||
<button type="button" id="btn_gnb" class="btn_gnb_close <?php echo $adm_menu_cookie['btn_gnb'];?>">메뉴</button>
|
||||
<div id="logo"><a href="<?php echo correct_goto_url(G5_ADMIN_URL); ?>"><img src="<?php echo G5_ADMIN_URL ?>/img/logo.png" alt="<?php echo get_text($config['cf_title']); ?> 관리자"></a></div>
|
||||
<div id="logo"><a href="<?php echo correct_goto_url(G5_ADMIN_URL); ?>"><img src="<?php echo G5_ADMIN_URL ?>/img/logo.png" alt="<?php echo $config['cf_title'] ?> 관리자"></a></div>
|
||||
|
||||
<div id="tnb">
|
||||
<ul>
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@ function get_ajax_token()
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(document).on("click", "form input:submit, form button:submit", function() {
|
||||
$(document).on("click", "form input:submit", function() {
|
||||
var f = this.form;
|
||||
var token = get_ajax_token();
|
||||
|
||||
|
||||
+1
-14
@@ -31,7 +31,7 @@ include_once(G5_PATH.'/head.sub.php');
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col"><label for="target_subject">게시판 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="target_subject" value="[복사본] <?php echo get_sanitize_input($board['bo_subject']); ?>" id="target_subject" required class="required frm_input" maxlength="120"></td>
|
||||
<td><input type="text" name="target_subject" value="[복사본] <?php echo $board['bo_subject'] ?>" id="target_subject" required class="required frm_input" maxlength="120"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col">복사 유형</th>
|
||||
@@ -58,19 +58,6 @@ include_once(G5_PATH.'/head.sub.php');
|
||||
<script>
|
||||
function fboardcopy_check(f)
|
||||
{
|
||||
<?php
|
||||
if(!$w){
|
||||
$js_array = get_bo_table_banned_word();
|
||||
echo "var banned_array = ". json_encode($js_array) . ";\n";
|
||||
}
|
||||
?>
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.target_table.value, banned_array) !== -1 ){
|
||||
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (f.bo_table.value == f.target_table.value) {
|
||||
alert("원본 테이블명과 복사할 테이블명이 달라야 합니다.");
|
||||
return false;
|
||||
|
||||
@@ -11,17 +11,10 @@ check_admin_token();
|
||||
$target_table = trim($_POST['target_table']);
|
||||
$target_subject = trim($_POST['target_subject']);
|
||||
|
||||
$target_subject = strip_tags(clean_xss_attributes($target_subject));
|
||||
|
||||
if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) {
|
||||
alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)');
|
||||
}
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ( $w == '' && in_array($target_table, get_bo_table_banned_word()) ){
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
}
|
||||
|
||||
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' ");
|
||||
if ($row['cnt'])
|
||||
alert($target_table.'은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.');
|
||||
|
||||
@@ -26,9 +26,6 @@ sql_query(" delete from {$g5['board_file_table']} where bo_table = '{$tmp_bo_tab
|
||||
// 게시판 테이블 DROP
|
||||
sql_query(" drop table {$g5['write_prefix']}{$tmp_bo_table} ", FALSE);
|
||||
|
||||
// 좋아요 테이블에서 기록 삭제
|
||||
sql_query(" delete from {$g5['board_good_table']} where bo_table = '{$tmp_bo_table}' ");
|
||||
|
||||
delete_cache_latest($tmp_bo_table);
|
||||
|
||||
// 게시판 폴더 전체 삭제
|
||||
|
||||
@@ -1372,19 +1372,6 @@ jQuery(function($){
|
||||
|
||||
function fboardform_submit(f)
|
||||
{
|
||||
<?php
|
||||
if(!$w){
|
||||
$js_array = get_bo_table_banned_word();
|
||||
echo "var banned_array = ". json_encode($js_array) . ";\n";
|
||||
}
|
||||
?>
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.bo_table.value, banned_array) !== -1 ){
|
||||
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php echo get_editor_js("bo_content_head"); ?>
|
||||
<?php echo get_editor_js("bo_content_tail"); ?>
|
||||
<?php echo get_editor_js("bo_mobile_content_head"); ?>
|
||||
|
||||
@@ -17,11 +17,6 @@ if (!$bo_table) { alert('게시판 TABLE명은 반드시 입력하세요.'); }
|
||||
if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); }
|
||||
if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); }
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ( $w == '' && in_array($bo_table, get_bo_table_banned_word()) ){
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
}
|
||||
|
||||
$bo_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_head, 0, 255));
|
||||
$bo_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_tail, 0, 255));
|
||||
|
||||
@@ -60,11 +55,6 @@ if(!is_include_path_check($bo_include_tail, 1)) {
|
||||
alert('하단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
if( function_exists('filter_input_include_path') ){
|
||||
$bo_include_head = filter_input_include_path($bo_include_head);
|
||||
$bo_include_tail = filter_input_include_path($bo_include_tail);
|
||||
}
|
||||
|
||||
$board_path = G5_DATA_PATH.'/file/'.$bo_table;
|
||||
|
||||
// 게시판 디렉토리 생성
|
||||
@@ -81,12 +71,12 @@ $f = @fopen($file, 'w');
|
||||
// 분류에 & 나 = 는 사용이 불가하므로 2바이트로 바꾼다.
|
||||
$src_char = array('&', '=');
|
||||
$dst_char = array('&', '〓');
|
||||
$bo_category_list = isset($_POST['bo_category_list']) ? str_replace($src_char, $dst_char, $_POST['bo_category_list']) : '';
|
||||
$bo_category_list = str_replace($src_char, $dst_char, $bo_category_list);
|
||||
//https://github.com/gnuboard/gnuboard5/commit/f5f4925d4eb28ba1af728e1065fc2bdd9ce1da58 에 따른 조치
|
||||
$str_bo_category_list = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $bo_category_list);
|
||||
$str_bo_category_list = isset($_POST['bo_category_list']) ? preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $_POST['bo_category_list']) : '';
|
||||
|
||||
$_POST['bo_subject'] = strip_tags(clean_xss_attributes($_POST['bo_subject']));
|
||||
$_POST['bo_mobile_subject'] = strip_tags(clean_xss_attributes($_POST['bo_mobile_subject']));
|
||||
$_POST['bo_subject'] = strip_tags($_POST['bo_subject']);
|
||||
$_POST['bo_mobile_subject'] = strip_tags($_POST['bo_mobile_subject']);
|
||||
|
||||
$sql_common = " gr_id = '{$gr_id}',
|
||||
bo_subject = '{$_POST['bo_subject']}',
|
||||
@@ -204,7 +194,7 @@ if ($w == '') {
|
||||
$file = file('./sql_write.sql');
|
||||
$file = get_db_create_replace($file);
|
||||
|
||||
$sql = implode("\n", $file);
|
||||
$sql = implode($file, "\n");
|
||||
|
||||
$create_table = $g5['write_prefix'] . $bo_table;
|
||||
|
||||
@@ -294,7 +284,7 @@ if (is_checked('chk_grp_write_point')) $grp_fields .= " , bo_write_poin
|
||||
if (is_checked('chk_grp_comment_point')) $grp_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
|
||||
if (is_checked('chk_grp_download_point')) $grp_fields .= " , bo_download_point = '{$bo_download_point}' ";
|
||||
if (is_checked('chk_grp_category_list')) {
|
||||
$grp_fields .= " , bo_category_list = '{$str_bo_category_list}' ";
|
||||
$grp_fields .= " , bo_category_list = '{$bo_category_list}' ";
|
||||
$grp_fields .= " , bo_use_category = '{$bo_use_category}' ";
|
||||
}
|
||||
if (is_checked('chk_grp_use_sideview')) $grp_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
|
||||
@@ -383,7 +373,7 @@ if (is_checked('chk_all_write_point')) $all_fields .= " , bo_write_poin
|
||||
if (is_checked('chk_all_comment_point')) $all_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
|
||||
if (is_checked('chk_all_download_point')) $all_fields .= " , bo_download_point = '{$bo_download_point}' ";
|
||||
if (is_checked('chk_all_category_list')) {
|
||||
$all_fields .= " , bo_category_list = '{$str_bo_category_list}' ";
|
||||
$all_fields .= " , bo_category_list = '{$bo_category_list}' ";
|
||||
$all_fields .= " , bo_use_category = '{$bo_use_category}' ";
|
||||
}
|
||||
if (is_checked('chk_all_use_sideview')) $all_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
|
||||
|
||||
@@ -33,7 +33,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
alert('최고관리자가 아닌 경우 다른 관리자의 게시판('.$board_table[$k].')은 수정이 불가합니다.');
|
||||
}
|
||||
|
||||
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags(clean_xss_attributes($_POST['bo_subject'][$k])) : '';
|
||||
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags($_POST['bo_subject'][$k]) : '';
|
||||
|
||||
$sql = " update {$g5['board_table']}
|
||||
set gr_id = '".sql_real_escape_string(strip_tags($_POST['gr_id'][$k]))."',
|
||||
|
||||
@@ -16,7 +16,7 @@ if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id']))
|
||||
|
||||
if (!$gr_subject) alert('그룹 제목을 입력하세요.');
|
||||
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'])) : '';
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags($_POST['gr_subject']) : '';
|
||||
|
||||
$sql_common = " gr_subject = '{$gr_subject}',
|
||||
gr_device = '{$_POST['gr_device']}',
|
||||
|
||||
@@ -124,10 +124,10 @@ $colspan = 10;
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_chk">
|
||||
<input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>">
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo get_text($row['gr_subject']); ?> 그룹</label>
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
|
||||
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
|
||||
</td>
|
||||
<td class="td_left"><a href="<?php echo G5_BBS_URL ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
<td class="td_left"><a href="<?php echo get_pretty_url(G5_GROUP_DIR, $row['gr_id']); ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
<td class="td_input">
|
||||
<label for="gr_subject_<?php echo $i; ?>" class="sound_only">그룹제목</label>
|
||||
<input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>" id="gr_subject_<?php echo $i ?>" class="tbl_input">
|
||||
@@ -135,9 +135,9 @@ $colspan = 10;
|
||||
<td class="td_mng td_input">
|
||||
<?php if ($is_admin == 'super'){ ?>
|
||||
<label for="gr_admin_<?php echo $i; ?>" class="sound_only">그룹관리자</label>
|
||||
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20">
|
||||
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20">
|
||||
<?php }else{ ?>
|
||||
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>"><?php echo get_text($row['gr_admin']); ?>
|
||||
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td class="td_num"><a href="./board_list.php?sfl=a.gr_id&stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td>
|
||||
|
||||
@@ -19,8 +19,8 @@ for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$k = $_POST['chk'][$i];
|
||||
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $_POST['group_id'][$k]);
|
||||
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'][$k])) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags(clean_xss_attributes($_POST['gr_admin'][$k])) : '';
|
||||
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags($_POST['gr_subject'][$k]) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags($_POST['gr_admin'][$k]) : '';
|
||||
|
||||
if($_POST['act_button'] == '선택수정') {
|
||||
$sql = " update {$g5['group_table']}
|
||||
|
||||
@@ -85,7 +85,7 @@ $colspan = 4;
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
|
||||
<input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>">
|
||||
</td>
|
||||
<td class="td_grid"><a href="<?php echo G5_BBS_URL; ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
<td class="td_grid"><a href="<?php echo get_pretty_url(G5_GROUP_DIR, $row['gr_id']); ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
<td class="td_category"><?php echo $row['gr_subject'] ?></td>
|
||||
<td class="td_datetime"><?php echo $row['gm_datetime'] ?></td>
|
||||
</tr>
|
||||
|
||||
+1
-1
@@ -321,7 +321,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_title">홈페이지 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td colspan="3"><input type="text" name="cf_title" value="<?php echo get_sanitize_input($config['cf_title']); ?>" id="cf_title" required class="required frm_input" size="40"></td>
|
||||
<td colspan="3"><input type="text" name="cf_title" value="<?php echo $config['cf_title'] ?>" id="cf_title" required class="required frm_input" size="40"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
|
||||
|
||||
@@ -26,7 +26,7 @@ if(!$_POST['cf_cert_use']) {
|
||||
|
||||
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
|
||||
|
||||
$_POST['cf_title'] = strip_tags(clean_xss_attributes($_POST['cf_title']));
|
||||
$_POST['cf_title'] = strip_tags($_POST['cf_title']);
|
||||
|
||||
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret');
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ if ($w == "" || $w == "u")
|
||||
}
|
||||
|
||||
$co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id);
|
||||
$co_subject = strip_tags(clean_xss_attributes($co_subject));
|
||||
$co_subject = strip_tags($co_subject);
|
||||
$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255));
|
||||
$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255));
|
||||
$co_tag_filter_use = isset($_POST['co_tag_filter_use']) ? (int) $_POST['co_tag_filter_use'] : 1;
|
||||
@@ -71,11 +71,6 @@ if( $co_include_tail && ! is_include_path_check($co_include_tail, 1) ){
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
if( function_exists('filter_input_include_path') ){
|
||||
$co_include_head = filter_input_include_path($co_include_head);
|
||||
$co_include_tail = filter_input_include_path($co_include_tail);
|
||||
}
|
||||
|
||||
$co_seo_title = exist_seo_title_recursive('content', generate_seo_title($co_subject), $g5['content_table'], $co_id);
|
||||
|
||||
$sql_common = " co_include_head = '$co_include_head',
|
||||
|
||||
@@ -147,22 +147,6 @@ if(!isset($member['mb_memo_cnt'])) {
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 스크랩 읽은 수 추가
|
||||
if(!isset($member['mb_scrap_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 짧은 URL 주소를 사용 여부 필드 추가
|
||||
if (!isset($config['cf_bbs_rewrite'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 파일테이블에 추가 칼럼
|
||||
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['board_file_table']}` LIKE 'bf_fileurl' ";
|
||||
|
||||
+3
-5
@@ -68,17 +68,15 @@ $result = sql_query($sql);
|
||||
$num = $i + 1;
|
||||
|
||||
$bg = 'bg'.($i%2);
|
||||
|
||||
$fa_subject = conv_content($row['fa_subject'], 1);
|
||||
?>
|
||||
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_num"><?php echo $num; ?></td>
|
||||
<td class="td_left"><?php echo $fa_subject; ?></td>
|
||||
<td class="td_left"><?php echo stripslashes($row['fa_subject']); ?></td>
|
||||
<td class="td_num"><?php echo $row['fa_order']; ?></td>
|
||||
<td class="td_mng td_mng_m">
|
||||
<a href="./faqform.php?w=u&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" class="btn btn_03"><span class="sound_only"><?php echo $fa_subject; ?> </span>수정</a>
|
||||
<a href="./faqformupdate.php?w=d&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" onclick="return delete_confirm(this);" class="btn btn_02"><span class="sound_only"><?php echo $fa_subject; ?> </span>삭제</a>
|
||||
<a href="./faqform.php?w=u&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" class="btn btn_03"><span class="sound_only"><?php echo stripslashes($row['fa_subject']); ?> </span>수정</a>
|
||||
<a href="./faqformupdate.php?w=d&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" onclick="return delete_confirm(this);" class="btn btn_02"><span class="sound_only"><?php echo stripslashes($row['fa_subject']); ?> </span>삭제</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ check_admin_token();
|
||||
if ($fm_himg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_h");
|
||||
if ($fm_timg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_t");
|
||||
|
||||
$fm_subject = strip_tags(clean_xss_attributes($fm_subject));
|
||||
$fm_subject = strip_tags($fm_subject);
|
||||
|
||||
$sql_common = " set fm_subject = '$fm_subject',
|
||||
fm_head_html = '$fm_head_html',
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ include_once('./admin.head.php');
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="ma_subject">메일 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="ma_subject" value="<?php echo get_sanitize_input($ma['ma_subject']); ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
<td><input type="text" name="ma_subject" value="<?php echo $ma['ma_subject'] ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="ma_content">메일 내용<strong class="sound_only">필수</strong></label></th>
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ auth_check($auth[$sub_menu], 'w');
|
||||
check_admin_token();
|
||||
|
||||
$ma_id = isset($_POST['ma_id']) ? (int) $_POST['ma_id'] : 0;
|
||||
$ma_subject = isset($_POST['ma_subject']) ? strip_tags(clean_xss_attributes($_POST['ma_subject'])) : '';
|
||||
$ma_subject = isset($_POST['ma_subject']) ? strip_tags($_POST['ma_subject']) : '';
|
||||
|
||||
if ($w == '')
|
||||
{
|
||||
|
||||
@@ -52,7 +52,7 @@ if($sql) {
|
||||
<?php }
|
||||
switch($type) {
|
||||
case 'group':
|
||||
$link = G5_BBS_URL.'/group.php?gr_id='.$row['id'];
|
||||
$link = get_pretty_url(G5_GROUP_DIR, $row['id']);
|
||||
break;
|
||||
case 'board':
|
||||
$link = get_pretty_url($row['id']);
|
||||
|
||||
@@ -21,11 +21,11 @@ for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$_POST = array_map_deep('trim', $_POST);
|
||||
|
||||
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes($_POST['me_link'][$i], 1)) : '';
|
||||
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags($_POST['me_link'][$i], 1) : '';
|
||||
|
||||
$code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : '';
|
||||
$me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : '';
|
||||
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags(clean_xss_attributes($_POST['me_link'][$i]));
|
||||
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags($_POST['me_link'][$i]);
|
||||
|
||||
if(!$code || !$me_name || !$me_link)
|
||||
continue;
|
||||
|
||||
@@ -12,7 +12,7 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags(clean_xss_attributes($_POST['nw_subject'])) : '';
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags($_POST['nw_subject']) : '';
|
||||
|
||||
$sql_common = " nw_device = '{$_POST['nw_device']}',
|
||||
nw_begin_time = '{$_POST['nw_begin_time']}',
|
||||
|
||||
@@ -6,9 +6,9 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$mb_id = strip_tags(clean_xss_attributes($_POST['mb_id']));
|
||||
$po_point = strip_tags(clean_xss_attributes($_POST['po_point']));
|
||||
$po_content = strip_tags(clean_xss_attributes($_POST['po_content']));
|
||||
$mb_id = strip_tags($_POST['mb_id']);
|
||||
$po_point = strip_tags($_POST['po_point']);
|
||||
$po_content = strip_tags($_POST['po_content']);
|
||||
$expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']);
|
||||
|
||||
$mb = get_member($mb_id);
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ include_once('./admin.head.php');
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="po_subject">투표 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="po_subject" value="<?php echo get_sanitize_input($po['po_subject']); ?>" id="po_subject" required class="required frm_input" size="80" maxlength="125"></td>
|
||||
<td><input type="text" name="po_subject" value="<?php echo $po['po_subject'] ?>" id="po_subject" required class="required frm_input" size="80" maxlength="125"></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -40,7 +40,7 @@ foreach( $_POST as $key=>$value ){
|
||||
if( empty($value) ) continue;
|
||||
|
||||
if( in_array($key, $check_keys) ) {
|
||||
$_POST[$key] = strip_tags(clean_xss_attributes($value));
|
||||
$_POST[$key] = strip_tags($value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -133,7 +133,7 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_title">타이틀<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<input type="text" name="qa_title" value="<?php echo get_sanitize_input($qaconfig['qa_title']); ?>" id="qa_title" required class="required frm_input" size="40">
|
||||
<input type="text" name="qa_title" value="<?php echo $qaconfig['qa_title'] ?>" id="qa_title" required class="required frm_input" size="40">
|
||||
<a href="<?php echo G5_BBS_URL; ?>/qalist.php" class="btn_frmline">1:1문의 바로가기</a>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -141,7 +141,7 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<th scope="row"><label for="qa_category">분류<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<?php echo help('분류와 분류 사이는 | 로 구분하세요. (예: 질문|답변) 첫자로 #은 입력하지 마세요. (예: #질문|#답변 [X])') ?>
|
||||
<input type="text" name="qa_category" value="<?php echo get_sanitize_input($qaconfig['qa_category']); ?>" id="qa_category" required class="required frm_input" size="70">
|
||||
<input type="text" name="qa_category" value="<?php echo $qaconfig['qa_category'] ?>" id="qa_category" required class="required frm_input" size="70">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -184,21 +184,21 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<th scope="row"><label for="qa_send_number">SMS 발신번호</label></th>
|
||||
<td>
|
||||
<?php echo help('SMS 알림 전송시 발신번호로 사용됩니다.'); ?>
|
||||
<input type="text" name="qa_send_number" value="<?php echo get_sanitize_input($qaconfig['qa_send_number']); ?>" id="qa_send_number" class="frm_input" size="30">
|
||||
<input type="text" name="qa_send_number" value="<?php echo $qaconfig['qa_send_number'] ?>" id="qa_send_number" class="frm_input" size="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_admin_hp">관리자 휴대폰번호</label></th>
|
||||
<td>
|
||||
<?php echo help('관리자 휴대폰번호를 입력하시면 문의글 등록시 등록하신 번호로 SMS 알림이 전송됩니다.<br>SMS 알림을 사용하지 않으시면 알림이 전송되지 않습니다.'); ?>
|
||||
<input type="text" name="qa_admin_hp" value="<?php echo get_sanitize_input($qaconfig['qa_admin_hp']); ?>" id="qa_admin_hp" class="frm_input" size="30">
|
||||
<input type="text" name="qa_admin_hp" value="<?php echo $qaconfig['qa_admin_hp'] ?>" id="qa_admin_hp" class="frm_input" size="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_admin_email">관리자 이메일</label></th>
|
||||
<td>
|
||||
<?php echo help('관리자 이메일을 입력하시면 문의글 등록시 등록하신 이메일로 알림이 전송됩니다.'); ?>
|
||||
<input type="text" name="qa_admin_email" value="<?php echo get_sanitize_input($qaconfig['qa_admin_email']); ?>" id="qa_admin_email" class="frm_input" size="50">
|
||||
<input type="text" name="qa_admin_email" value="<?php echo $qaconfig['qa_admin_email'] ?>" id="qa_admin_email" class="frm_input" size="50">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -12,12 +12,6 @@ $error_msg = '';
|
||||
|
||||
$qaconfig = get_qa_config();
|
||||
|
||||
$check_keys = array('qa_title', 'qa_category', 'qa_skin', 'qa_mobile_skin', 'qa_use_email', 'qa_req_email', 'qa_use_hp', 'qa_req_hp', 'qa_use_sms', 'qa_send_number', 'qa_admin_hp', 'qa_admin_email', 'qa_subject_len', 'qa_mobile_subject_len', 'qa_page_rows', 'qa_mobile_page_rows', 'qa_image_width', 'qa_upload_size');
|
||||
|
||||
foreach($check_keys as $key){
|
||||
$$key = $_POST[$key] = isset($_POST[$key]) ? strip_tags(clean_xss_attributes($_POST[$key])) : '';
|
||||
}
|
||||
|
||||
$qa_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_head, 0, 255));
|
||||
$qa_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_tail, 0, 255));
|
||||
|
||||
@@ -56,10 +50,7 @@ if( $qa_include_tail && ! is_include_path_check($qa_include_tail, 1) ){
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
if( function_exists('filter_input_include_path') ){
|
||||
$qa_include_head = filter_input_include_path($qa_include_head);
|
||||
$qa_include_tail = filter_input_include_path($qa_include_tail);
|
||||
}
|
||||
$_POST['qa_title'] = strip_tags($_POST['qa_title']);
|
||||
|
||||
$sql = " update {$g5['qa_config_table']}
|
||||
set qa_title = '{$_POST['qa_title']}',
|
||||
|
||||
@@ -4,8 +4,8 @@ include_once("./_common.php");
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$fo_name = isset($fo_name) ? strip_tags(clean_xss_attributes($fo_name)) : '';
|
||||
$fo_content = isset($fo_content) ? strip_tags(clean_xss_attributes($fo_content)) : '';
|
||||
$fo_name = isset($fo_name) ? strip_tags($fo_name) : '';
|
||||
$fo_content = isset($fo_content) ? strip_tags($fo_content) : '';
|
||||
|
||||
$g5['title'] = "이모티콘 업데이트";
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@ auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$g5['title'] = "이모티콘 ";
|
||||
|
||||
$fg_no = isset($fg_no) ? (int) $fg_no : '';
|
||||
|
||||
if ($w == 'u' && is_numeric($fo_no)) {
|
||||
$write = sql_fetch("select * from {$g5['sms5_form_table']} where fo_no='$fo_no'");
|
||||
$g5['title'] .= '수정';
|
||||
@@ -50,7 +48,7 @@ include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="fo_name">제목<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td><input type="text" name="fo_name" id="fo_name" required value="<?php echo get_sanitize_input($write['fo_name']); ?>" class="frm_input required" size="70"></td>
|
||||
<td><input type="text" name="fo_name" id="fo_name" required value="<?php echo $write['fo_name']?>" class="frm_input required" size="70"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">메세지</th>
|
||||
|
||||
@@ -53,7 +53,6 @@ eval("\$file = \"$file\";");
|
||||
$f = explode(";", $file);
|
||||
for ($i=0; $i<count($f); $i++) {
|
||||
if (trim($f[$i]) == "") continue;
|
||||
$f[$i] = get_db_create_replace($f[$i]);
|
||||
sql_query($f[$i]) or die(mysqli_error());
|
||||
}
|
||||
// 테이블 생성 ------------------------------------
|
||||
|
||||
@@ -16,8 +16,6 @@ if ($page < 1) $page = 1;
|
||||
$bg_no = isset($bg_no) ? (int) $bg_no : 0;
|
||||
$st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : '';
|
||||
|
||||
$sql_korean = $sql_group = $sql_search = $sql_no_hp = '';
|
||||
|
||||
if (is_numeric($bg_no))
|
||||
$sql_group = " and bg_no='$bg_no' ";
|
||||
else
|
||||
@@ -129,9 +127,9 @@ function no_hp_click(val)
|
||||
<label for="bg_no" class="sound_only">그룹명</label>
|
||||
<select name="bg_no" id="bg_no" onchange="location.href='<?php echo $_SERVER['SCRIPT_NAME']?>?bg_no='+this.value;">
|
||||
<option value=""<?php echo get_selected('', $bg_no); ?>> 전체 </option>
|
||||
<option value="<?php echo $no_group['bg_no']?>"<?php echo get_selected($no_group['bg_no'], $bg_no); ?>> <?php echo $no_group['bg_name']?> (<?php echo number_format($no_group['bg_count'])?> 명) </option>
|
||||
<option value="<?php echo $no_group['bg_no']?>"<?php echo get_selected($bg_no, $no_group['bg_no']); ?>> <?php echo $no_group['bg_name']?> (<?php echo number_format($no_group['bg_count'])?> 명) </option>
|
||||
<?php for($i=0; $i<count($group); $i++) {?>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"<?php echo get_selected($group[$i]['bg_no'], $bg_no);?>> <?php echo $group[$i]['bg_name']?> (<?php echo number_format($group[$i]['bg_count'])?> 명) </option>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"<?php echo get_selected($bg_no, $group[$i]['bg_no']);?>> <?php echo $group[$i]['bg_name']?> (<?php echo number_format($group[$i]['bg_count'])?> 명) </option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<input type="checkbox" name="no_hp" id="no_hp" <?php echo $no_hp_checked?> onclick="no_hp_click(this.checked)">
|
||||
|
||||
@@ -129,7 +129,7 @@ function num_group_submit(f)
|
||||
<select name="select_bg_no_999" id="select_bg_no_999" onchange="move(<?php echo $no_group['bg_no']?>, '<?php echo $no_group['bg_name']?>', this);" >
|
||||
<option value=""></option>
|
||||
<?php for ($i=0; $i<count($group); $i++) { ?>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"> <?php echo get_sanitize_input($group[$i]['bg_name']); ?> </option>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"> <?php echo $group[$i]['bg_name']?> </option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</td>
|
||||
@@ -150,7 +150,7 @@ function num_group_submit(f)
|
||||
</td>
|
||||
<td>
|
||||
<label for="bg_name_<?php echo $i; ?>" class="sound_only">그룹명</label>
|
||||
<input type="text" name="bg_name[<?php echo $i; ?>]" value="<?php echo get_sanitize_input($group[$i]['bg_name']); ?>" id="bg_name_<?php echo $i; ?>" class="frm_input">
|
||||
<input type="text" name="bg_name[<?php echo $i; ?>]" value="<?php echo $group[$i]['bg_name']?>" id="bg_name_<?php echo $i; ?>" class="frm_input">
|
||||
</td>
|
||||
<td class="td_num"><?php echo number_format($group[$i]['bg_count'])?></td>
|
||||
<td class="td_num"><?php echo number_format($group[$i]['bg_member'])?></td>
|
||||
|
||||
@@ -11,7 +11,7 @@ if ($w == 'u') // 업데이트
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
$bg_no = (int) $_POST['bg_no'][$k];
|
||||
$bg_name = strip_tags(clean_xss_attributes($_POST['bg_name'][$k]));
|
||||
$bg_name = strip_tags($_POST['bg_name'][$k]);
|
||||
|
||||
if (!is_numeric($bg_no))
|
||||
alert('그룹 고유번호가 없습니다.');
|
||||
@@ -23,11 +23,11 @@ if ($w == 'u') // 업데이트
|
||||
if (!strlen(trim($bg_name)))
|
||||
alert('그룹명을 입력해주세요');
|
||||
|
||||
$res = sql_fetch("select bg_name from {$g5['sms5_book_group_table']} where bg_no<>'$bg_no' and bg_name='".sql_real_escape_string($bg_name)."'");
|
||||
$res = sql_fetch("select bg_name from {$g5['sms5_book_group_table']} where bg_no<>'$bg_no' and bg_name='$bg_name'");
|
||||
if ($res)
|
||||
alert('같은 그룹명이 존재합니다.');
|
||||
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".sql_real_escape_string($bg_name)."' where bg_no='$bg_no'");
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."' where bg_no='$bg_no'");
|
||||
}
|
||||
}
|
||||
else if ($w == 'de') // 그룹삭제
|
||||
@@ -63,7 +63,7 @@ else if ($w == 'em') // 비우기
|
||||
}
|
||||
else // 등록
|
||||
{
|
||||
$bg_name = strip_tags(clean_xss_attributes($bg_name));
|
||||
$bg_name = strip_tags($bg_name);
|
||||
|
||||
if (!strlen(trim($bg_name)))
|
||||
alert('그룹명을 입력해주세요');
|
||||
@@ -72,7 +72,7 @@ else // 등록
|
||||
if ($res)
|
||||
alert('같은 그룹명이 존재합니다.');
|
||||
|
||||
sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='$bg_name'");
|
||||
sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."'");
|
||||
}
|
||||
|
||||
goto_url('./num_group.php');
|
||||
|
||||
@@ -7,8 +7,6 @@ while ($res = sql_fetch_array($qry)) array_push($group, $res);
|
||||
|
||||
$res = sql_fetch("select count(*) as cnt from `{$g5['sms5_form_table']}` where fg_no=0");
|
||||
$no_count = $res['cnt'];
|
||||
|
||||
$fg_no = isset($fg_no) ? (int) $fg_no : '';
|
||||
?>
|
||||
|
||||
<form name="emo_frm">
|
||||
|
||||
@@ -29,7 +29,7 @@ if(!in_array($type, $arr_type)) {
|
||||
}
|
||||
|
||||
if($type == 'board') {
|
||||
$keys = run_replace('theme_config_load_keys', array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width'), $type);
|
||||
$keys = array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width');
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
$i = 0;
|
||||
@@ -43,7 +43,7 @@ if($type == 'board') {
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 게시판 이미지 설정이 없습니다.';
|
||||
} else if($type == 'conf_skin') {
|
||||
$keys = run_replace('theme_config_load_keys', array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin'), $type);
|
||||
$keys = array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin');
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
@@ -58,7 +58,7 @@ if($type == 'board') {
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 기본환경 스킨 설정이 없습니다.';
|
||||
} else if($type == 'conf_member') {
|
||||
$keys = run_replace('theme_config_load_keys', array('cf_member_skin', 'cf_mobile_member_skin'), $type);
|
||||
$keys = array('cf_member_skin', 'cf_mobile_member_skin');
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
|
||||
@@ -68,7 +68,5 @@ if($_POST['set_default_skin'] == 1) {
|
||||
}
|
||||
}
|
||||
|
||||
run_event('adm_theme_update', $theme, $_POST['set_default_skin']);
|
||||
|
||||
die('');
|
||||
?>
|
||||
+1
-9
@@ -3,18 +3,10 @@ include_once('./_common.php');
|
||||
|
||||
$call = isset($_REQUEST['call']) ? strtolower(preg_replace('/[^a-z0-9_]/i', '', $_REQUEST['call'])) : '';
|
||||
|
||||
if( ! $call ){
|
||||
if( ! $call || ! $is_admin ){
|
||||
return;
|
||||
}
|
||||
|
||||
if( ! $is_admin ){
|
||||
$sql = " select count(*) as cnt from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ( ! $row['cnt']) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_request_handler_'.$call, $arr_query, $token);
|
||||
|
||||
$sub_menu = admin_menu_find_by($call, 'sub_menu');
|
||||
|
||||
+12
-12
@@ -6,27 +6,27 @@ check_demo();
|
||||
|
||||
auth_check($auth[$sub_menu], 'r');
|
||||
|
||||
$g5['title'] = '글,댓글 현황';
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
// http://www.jqplot.com/
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 1);
|
||||
add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 1);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 0);
|
||||
add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 0);
|
||||
|
||||
if (!($graph == 'line' || $graph == 'bar'))
|
||||
$graph = 'line';
|
||||
|
||||
if ($graph == 'bar') {
|
||||
// 바 타입으로 사용하는 코드입니다.
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 0);
|
||||
}
|
||||
|
||||
$g5['title'] = '글,댓글 현황';
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
$period_array = array(
|
||||
'오늘'=>array('시간', 0),
|
||||
'어제'=>array('시간', 0),
|
||||
|
||||
@@ -88,5 +88,5 @@ delete_cache_latest($bo_table);
|
||||
|
||||
run_event('bbs_delete_comment', $comment_id, $board);
|
||||
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'&page='.$page. $qstr));
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'&page='.$page. $qstr);
|
||||
?>
|
||||
|
||||
+1
-5
@@ -83,8 +83,6 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
$count = $row['count'];
|
||||
|
||||
run_event('bbs_increase_good_json', $bo_table, $wr_id, $good);
|
||||
|
||||
print_result($error, $count);
|
||||
}
|
||||
@@ -94,7 +92,7 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
|
||||
|
||||
if (!$is_member)
|
||||
{
|
||||
$href = G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id));
|
||||
$href = './login.php?'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id));
|
||||
|
||||
alert('회원만 가능합니다.', $href);
|
||||
}
|
||||
@@ -149,8 +147,6 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
|
||||
$status = '비추천';
|
||||
|
||||
$href = get_pretty_url($bo_table, $wr_id);
|
||||
|
||||
run_event('bbs_increase_good_html', $bo_table, $wr_id, $good, $href);
|
||||
|
||||
alert("이 글을 $status 하셨습니다.", '', false);
|
||||
}
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ $sql .= " order by bo_order ";
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$lt_style = "";
|
||||
if ($i%3 !== 0) $lt_style = "margin-left:2%";
|
||||
if ($i%2==1) $lt_style = "margin-left:2%";
|
||||
else $lt_style = "";
|
||||
?>
|
||||
<div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
|
||||
|
||||
@@ -76,8 +76,7 @@ for ($i=0; $i<count($member_list['id']); $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_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_query($sql);
|
||||
|
||||
$member_list['me_id'][$i] = $me_id;
|
||||
|
||||
}
|
||||
|
||||
// 실시간 쪽지 알림 기능
|
||||
@@ -94,14 +93,16 @@ if ($member_list) {
|
||||
$redirect_url = G5_HTTP_BBS_URL."/memo.php?kind=send";
|
||||
$str_nick_list = implode(',', $member_list['nick']);
|
||||
|
||||
run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url, $_POST['me_memo']);
|
||||
run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url);
|
||||
|
||||
alert($str_nick_list." 님께 쪽지를 전달하였습니다.", $redirect_url, false);
|
||||
} else {
|
||||
|
||||
$redirect_url = G5_HTTP_BBS_URL."/memo_form.php";
|
||||
|
||||
run_event('memo_form_update_failed', $member_list, $redirect_url, $_POST['me_memo']);
|
||||
run_event('memo_form_update_failed', $member_list, $redirect_url);
|
||||
|
||||
exit;
|
||||
|
||||
alert("회원아이디 오류 같습니다.", $redirect_url, false);
|
||||
}
|
||||
|
||||
+3
-6
@@ -31,17 +31,14 @@ else
|
||||
alert($kind.' 값을 넘겨주세요.');
|
||||
}
|
||||
|
||||
$g5['title'] = $t.' 쪽지 보기';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
$sql = " select * from {$g5['memo_table']}
|
||||
where me_id = '$me_id'
|
||||
and me_{$kind}_mb_id = '{$member['mb_id']}' ";
|
||||
$memo = sql_fetch($sql);
|
||||
|
||||
set_session('ss_memo_delete_token', $token = uniqid(time()));
|
||||
$del_link = 'memo_delete.php?me_id='.$memo['me_id'].'&token='.$token.'&kind='.$kind;
|
||||
|
||||
$g5['title'] = $t.' 쪽지 보기';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
// 이전 쪽지
|
||||
$sql = " select me.*, a.rownum from `{$g5['memo_table']}` as me inner join ( select me_id , (@rownum:=@rownum+1) as rownum from `{$g5['memo_table']}` as memo, (select @rownum:=0) tmp where me_{$kind}_mb_id = '{$member['mb_id']}' and memo.me_type = '$kind' order by me_id desc ) as a on a.me_id = me.me_id where me.me_id < '$me_id' and me.me_{$kind}_mb_id = '{$member['mb_id']}' and me.me_type = '$kind' order by me.me_id desc limit 1 ";
|
||||
|
||||
|
||||
+7
-7
@@ -8,25 +8,24 @@ if ($is_admin != 'super')
|
||||
|
||||
$board = array();
|
||||
$save_bo_table = array();
|
||||
$save_wr_id = array();
|
||||
|
||||
for($i=0;$i<count($_POST['chk_bn_id']);$i++)
|
||||
{
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk_bn_id'][$i];
|
||||
|
||||
$bo_table = isset($_POST['bo_table'][$k]) ? preg_replace('/[^a-z0-9_]/i', '', $_POST['bo_table'][$k]) : '';
|
||||
$wr_id = isset($_POST['wr_id'][$k]) ? preg_replace('/[^0-9]/i', '', $_POST['wr_id'][$k]) : 0;
|
||||
$bo_table = $_POST['bo_table'][$k];
|
||||
$wr_id = $_POST['wr_id'][$k];
|
||||
|
||||
$save_bo_table[$i] = $bo_table;
|
||||
$save_wr_id[$i] = $wr_id;
|
||||
$save_bo_table[] = $bo_table;
|
||||
|
||||
$write_table = $g5['write_prefix'].$bo_table;
|
||||
|
||||
if ($board['bo_table'] != $bo_table)
|
||||
$board = sql_fetch(" select bo_subject, bo_write_point, bo_comment_point, bo_notice from {$g5['board_table']} where bo_table = '$bo_table' ");
|
||||
|
||||
$write = get_write($write_table, $wr_id);
|
||||
$sql = " select * from $write_table where wr_id = '$wr_id' ";
|
||||
$write = sql_fetch($sql);
|
||||
if (!$write) continue;
|
||||
|
||||
// 원글 삭제
|
||||
@@ -139,11 +138,12 @@ for($i=0;$i<count($_POST['chk_bn_id']);$i++)
|
||||
}
|
||||
}
|
||||
|
||||
$save_bo_table = array_unique($save_bo_table);
|
||||
foreach ($save_bo_table as $key=>$value) {
|
||||
delete_cache_latest($value);
|
||||
}
|
||||
|
||||
run_event('bbs_new_delete', $chk_bn_id, $save_bo_table, $save_wr_id);
|
||||
run_event('bbs_new_delete', $chk_bn_id, $save_bo_table);
|
||||
|
||||
goto_url("new.php?sfl=$sfl&stx=$stx&page=$page");
|
||||
?>
|
||||
@@ -14,7 +14,6 @@ $msg = array();
|
||||
|
||||
// 1:1문의 설정값
|
||||
$qaconfig = get_qa_config();
|
||||
$qa_id = isset($qa_id) ? (int) $qa_id : 0;
|
||||
|
||||
if(trim($qaconfig['qa_category'])) {
|
||||
if($w != 'a') {
|
||||
|
||||
+1
-10
@@ -12,13 +12,10 @@ set_session("ss_cert_no", "");
|
||||
set_session("ss_cert_hash", "");
|
||||
set_session("ss_cert_type", "");
|
||||
|
||||
$is_social_login_modify = false;
|
||||
|
||||
if( $provider && function_exists('social_nonce_is_valid') ){ //모바일로 소셜 연결을 했다면
|
||||
if( social_nonce_is_valid(get_session("social_link_token"), $provider) ){ //토큰값이 유효한지 체크
|
||||
$w = 'u'; //회원 수정으로 처리
|
||||
$_POST['mb_id'] = $member['mb_id'];
|
||||
$is_social_login_modify = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,14 +75,8 @@ if ($w == "") {
|
||||
// 수정 후 다시 이 폼으로 돌아오기 위해 임시로 저장해 놓음
|
||||
set_session("ss_tmp_password", $_POST[mb_password]);
|
||||
*/
|
||||
|
||||
if($_POST['mb_id'] && ! (isset($_POST['mb_password']) && $_POST['mb_password'])){
|
||||
if( ! $is_social_login_modify ){
|
||||
alert('비밀번호를 입력해 주세요.');
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['mb_password'])) {
|
||||
if ($_POST['mb_password']) {
|
||||
// 수정된 정보를 업데이트후 되돌아 온것이라면 비밀번호가 암호화 된채로 넘어온것임
|
||||
if ($_POST['is_update']) {
|
||||
$tmp_password = $_POST['mb_password'];
|
||||
|
||||
@@ -119,7 +119,6 @@ else
|
||||
}
|
||||
|
||||
$comment_action_url = https_url(G5_BBS_DIR)."/write_comment_update.php";
|
||||
$comment_common_url = short_url_clean(G5_BBS_URL.'/board.php?'.clean_query_string($_SERVER['QUERY_STRING']));
|
||||
|
||||
include_once($board_skin_path.'/view_comment.skin.php');
|
||||
|
||||
|
||||
+31
-61
@@ -23,87 +23,57 @@ if(strpos($filename, G5_DATA_DIR.'/editor')) {
|
||||
$filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$filename;
|
||||
}
|
||||
|
||||
$file_exists = (is_file($filepath) && file_exists($filepath)) ? 1 : 0;
|
||||
|
||||
if($file_exists = run_replace('exists_view_image', $file_exists, $filepath, $editor_file)) {
|
||||
$size = $file_exists ? run_replace('get_view_imagesize', @getimagesize($filepath), $filepath, $editor_file) : array();
|
||||
if(is_file($filepath)) {
|
||||
$size = @getimagesize($filepath);
|
||||
if(empty($size))
|
||||
alert_close('이미지 파일이 아닙니다.');
|
||||
|
||||
$width = (isset($size[0]) && $size[0]) ? (int) $size[0] : 0;
|
||||
$height = (isset($size[1]) && $size[1]) ? (int) $size[1] : 0;
|
||||
$width = $size[0];
|
||||
$height = $size[1];
|
||||
|
||||
if($editor_file)
|
||||
$fileurl = run_replace('get_editor_content_url', G5_DATA_URL.'/'.$editor_file);
|
||||
$fileurl = G5_DATA_URL.'/'.$editor_file;
|
||||
else
|
||||
$fileurl = run_replace('get_file_board_url', G5_DATA_URL.'/file/'.$bo_table.'/'.$filename, $bo_table);
|
||||
$fileurl = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
|
||||
|
||||
$img_attr = ($width && $height) ? 'width="'.$width.'" height="'.$height.'"' : '';
|
||||
|
||||
$img = '<img src="'.$fileurl.'" alt="" '.$img_attr.' class="draggable" style="position:relative;top:0;left:0;cursor:move;">';
|
||||
$img = '<img src="'.$fileurl.'" alt="" width="'.$width.'" height="'.$height.'" class="draggable" style="position:relative;top:0;left:0;cursor:move;">';
|
||||
} else {
|
||||
alert_close('파일이 존재하지 않습니다.');
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="bbs-view-image"><?php echo $img ?></div>
|
||||
<div><?php echo $img ?></div>
|
||||
|
||||
<script>
|
||||
var win_w = <?php echo $width ?>;
|
||||
var win_h = <?php echo $height ?> + 70;
|
||||
var win_l = (screen.width - win_w) / 2;
|
||||
var win_t = (screen.height - win_h) / 2;
|
||||
|
||||
jQuery(function($){
|
||||
if(win_w > screen.width) {
|
||||
win_l = 0;
|
||||
win_w = screen.width - 20;
|
||||
|
||||
$.fn.imgLoad = function(callback) {
|
||||
return this.each(function() {
|
||||
if (callback) {
|
||||
if (this.complete || /*for IE 10-*/ $(this).height() > 0) {
|
||||
callback.apply(this);
|
||||
}
|
||||
else {
|
||||
$(this).on('load', function(){
|
||||
callback.apply(this);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
}
|
||||
}
|
||||
|
||||
$(".bbs-view-image img").imgLoad(function(){
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
|
||||
var win_w = <?php echo $width ?>;
|
||||
var win_h = <?php echo $height ?> + 70;
|
||||
if(win_w > screen.width) {
|
||||
win_w = screen.width - 20;
|
||||
win_l = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if( !win_w || !win_h ){
|
||||
win_w = $(this).width();
|
||||
win_h = $(this).height();
|
||||
}
|
||||
|
||||
var win_l = (screen.width - win_w) / 2;
|
||||
var win_t = (screen.height - win_h) / 2;
|
||||
|
||||
if(win_w > screen.width) {
|
||||
win_l = 0;
|
||||
win_w = screen.width - 20;
|
||||
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
}
|
||||
}
|
||||
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
|
||||
if(win_w > screen.width) {
|
||||
win_w = screen.width - 20;
|
||||
win_l = 0;
|
||||
}
|
||||
}
|
||||
|
||||
window.moveTo(win_l, win_t);
|
||||
window.resizeTo(win_w, win_h);
|
||||
});
|
||||
window.moveTo(win_l, win_t);
|
||||
window.resizeTo(win_w, win_h);
|
||||
|
||||
$(function() {
|
||||
var is_draggable = false;
|
||||
var x = y = 0;
|
||||
var pos_x = pos_y = 0;
|
||||
|
||||
+3
-3
@@ -42,7 +42,7 @@ if ($w == '') {
|
||||
if ($member['mb_id']) {
|
||||
alert('글을 쓸 권한이 없습니다.');
|
||||
} else {
|
||||
alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ if ($w == '') {
|
||||
if ($member['mb_id']) {
|
||||
alert('글을 수정할 권한이 없습니다.');
|
||||
} else {
|
||||
alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ if ($w == '') {
|
||||
if ($member['mb_id'])
|
||||
alert('글을 답변할 권한이 없습니다.');
|
||||
else
|
||||
alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
|
||||
$tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0;
|
||||
|
||||
@@ -20,8 +20,6 @@ if (substr_count($wr_content, "&#") > 50) {
|
||||
$w = $_POST["w"];
|
||||
$wr_name = trim($_POST['wr_name']);
|
||||
$wr_email = '';
|
||||
$reply_array = array();
|
||||
|
||||
if (!empty($_POST['wr_email']))
|
||||
$wr_email = get_email_address(trim($_POST['wr_email']));
|
||||
|
||||
@@ -87,7 +85,9 @@ if ($w == 'c') // 댓글 입력
|
||||
// 댓글 답변
|
||||
if ($comment_id)
|
||||
{
|
||||
$reply_array = get_write($write_table, $comment_id, true);
|
||||
$sql = " select wr_id, wr_parent, wr_comment, wr_comment_reply from $write_table
|
||||
where wr_id = '$comment_id' ";
|
||||
$reply_array = sql_fetch($sql);
|
||||
if (!$reply_array['wr_id'])
|
||||
alert('답변할 댓글이 없습니다.\\n\\n답변하는 동안 댓글이 삭제되었을 수 있습니다.');
|
||||
|
||||
@@ -341,7 +341,7 @@ delete_cache_latest($bo_table);
|
||||
|
||||
$redirect_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr['wr_parent'].'&'.$qstr.'&#c_'.$comment_id);
|
||||
|
||||
run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url, $comment_id, $reply_array);
|
||||
run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url);
|
||||
|
||||
goto_url($redirect_url);
|
||||
?>
|
||||
|
||||
@@ -333,7 +333,7 @@ if ($w == '' || $w == 'r') {
|
||||
alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url);
|
||||
} else {
|
||||
if ($write['mb_id'])
|
||||
alert('로그인 후 수정하세요.', G5_BBS_URL.'/login.php?url='.urlencode($return_url));
|
||||
alert('로그인 후 수정하세요.', './login.php?url='.urlencode($return_url));
|
||||
}
|
||||
|
||||
if ($member['mb_id']) {
|
||||
|
||||
+5
-36
@@ -38,7 +38,7 @@ function g5_path()
|
||||
$server_script_filename = preg_replace('/\/+/', '/', str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']));
|
||||
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $server_script_name);
|
||||
$document_root = str_replace($tilde_remove, '', $server_script_filename);
|
||||
$pattern = '/.*?' . preg_quote($document_root, '/') . '/i';
|
||||
$pattern = '/' . preg_quote($document_root, '/') . '/i';
|
||||
$root = preg_replace($pattern, '', $result['path']);
|
||||
$port = ($_SERVER['SERVER_PORT'] == 80 || $_SERVER['SERVER_PORT'] == 443) ? '' : ':'.$_SERVER['SERVER_PORT'];
|
||||
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
|
||||
@@ -216,6 +216,10 @@ ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probabil
|
||||
session_set_cookie_params(0, '/');
|
||||
ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
|
||||
|
||||
@session_start();
|
||||
//==============================================================================
|
||||
|
||||
|
||||
//==============================================================================
|
||||
// 공용 변수
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -223,41 +227,6 @@ ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
|
||||
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
|
||||
$config = get_config();
|
||||
|
||||
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
|
||||
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
|
||||
// Chrome 80 버전부터 아래 이슈 대응
|
||||
// https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss
|
||||
if(!function_exists('session_start_samesite')) {
|
||||
function session_start_samesite($options = array())
|
||||
{
|
||||
global $g5;
|
||||
|
||||
$res = @session_start($options);
|
||||
|
||||
// IE 브라우저 또는 엣지브라우저 일때는 secure; SameSite=None, http 환경에서는 설정하지 않습니다.
|
||||
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
|
||||
return $res;
|
||||
}
|
||||
|
||||
$headers = headers_list();
|
||||
krsort($headers);
|
||||
foreach ($headers as $header) {
|
||||
if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
|
||||
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
|
||||
header($header, false);
|
||||
$g5['session_cookie_samesite'] = 'none';
|
||||
break;
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
session_start_samesite();
|
||||
} else {
|
||||
@session_start();
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
define('G5_HTTP_BBS_URL', https_url(G5_BBS_DIR, false));
|
||||
define('G5_HTTPS_BBS_URL', https_url(G5_BBS_DIR, true));
|
||||
if ($config['cf_editor'])
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.4.2.3');
|
||||
define('G5_GNUBOARD_VER', '5.4.0.2');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
|
||||
+3
-4
@@ -104,8 +104,7 @@ border:1px solid #558ab7 !important;
|
||||
/* 메인메뉴 */
|
||||
#gnb {position:relative;background:#fff}
|
||||
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#gnb .gnb_wrap {margin:0 auto;position:relative}
|
||||
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
|
||||
#gnb .gnb_wrap {margin:0 auto;position:relative;z-index:10}
|
||||
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1}
|
||||
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
|
||||
@@ -158,10 +157,10 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)}
|
||||
/* 중간 레이아웃 */
|
||||
#wrapper {}
|
||||
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_wr {margin:0 auto;height:100%;zoom:1}
|
||||
#container_wr {z-index:5;margin:0 auto;height:100%;zoom:1}
|
||||
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
|
||||
|
||||
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
|
||||
#container {z-index:4;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
|
||||
#container_title span {margin:0 auto 10px;display:block;line-height:30px}
|
||||
|
||||
+1
-1
@@ -215,7 +215,7 @@ a.btn_b03, .btn_b03 {display:inline-block;line-height:28px;border:0;background:t
|
||||
a.btn_b03:hover, .btn_b03:hover {}
|
||||
a.btn_admin {display:inline-block;color:#d13f4a;font-size:1.4em;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
|
||||
a.btn_admin:focus, a.btn_admin:hover {}
|
||||
.fix_btn {position:fixed;z-index:99;bottom:65px;right:15px;background:#3a8afd;width:50px;height:50px;color:#fff;text-align:center;border-radius:50% !important;font-size:1.8em;line-height:50px !important;-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
|
||||
.fix_btn {position:fixed;bottom:65px;right:15px;background:#3a8afd;width:50px;height:50px;color:#fff;text-align:center;border-radius:50% !important;font-size:1.8em;line-height:50px !important;-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
|
||||
-moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
|
||||
box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)}
|
||||
a.btn,.btn {line-height:35px;width:30px;height:35px;padding:0 5px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
|
||||
|
||||
@@ -7,7 +7,7 @@ add_replace('invalid_password', 'g54_return_invalid_password', 10, 3);
|
||||
|
||||
function g54_return_invalid_password($bool, $type, $wr){
|
||||
if($type === 'write' && $bool === false && $wr['wr_password'] && isset($_POST['wr_password'])) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH) {
|
||||
if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){
|
||||
$bool = true;
|
||||
}
|
||||
@@ -22,7 +22,7 @@ function g54_check_bbs_password($type, $wr, $qstr=''){
|
||||
|
||||
global $bo_table, $w;
|
||||
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH) {
|
||||
if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){
|
||||
if ($w == 's') {
|
||||
$ss_name = 'ss_secret_'.$bo_table.'_'.$wr['wr_num'];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
define('G5_JS_VER', '191202');
|
||||
define('G5_CSS_VER', '191202');
|
||||
define('G5_JS_VER', '171222');
|
||||
define('G5_CSS_VER', '171222');
|
||||
?>
|
||||
+1
-1
@@ -337,7 +337,7 @@ for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
// 게시판 테이블 생성
|
||||
$bo_table = $row['bo_table'];
|
||||
$file = file(G5_ADMIN_PATH.'/sql_write.sql');
|
||||
$sql = implode("\n", $file);
|
||||
$sql = implode($file, "\n");
|
||||
|
||||
$create_table = $g5['write_prefix'] . $bo_table;
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
run_event('pre_head');
|
||||
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/head.php');
|
||||
return;
|
||||
@@ -112,8 +110,31 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
<ul id="gnb_1dul">
|
||||
<li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴"><i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
|
||||
<?php
|
||||
$menu_datas = get_menu_db(0, true);
|
||||
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
|
||||
$sql = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_use = '1'
|
||||
and length(me_code) = '2'
|
||||
order by me_order, me_id ";
|
||||
$result = sql_query($sql, false);
|
||||
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
|
||||
$menu_datas = array();
|
||||
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$menu_datas[$i] = $row;
|
||||
|
||||
$sql2 = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_use = '1'
|
||||
and length(me_code) = '4'
|
||||
and substring(me_code, 1, 2) = '{$row['me_code']}'
|
||||
order by me_order, me_id ";
|
||||
$result2 = sql_query($sql2);
|
||||
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
|
||||
$menu_datas[$i]['sub'][$k] = $row2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
foreach( $menu_datas as $row ){
|
||||
if( empty($row) ) continue;
|
||||
|
||||
+10
-8
@@ -2,6 +2,8 @@
|
||||
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
run_event('head_sub');
|
||||
|
||||
// 테마 head.sub.php 파일
|
||||
if(!defined('G5_IS_ADMIN') && defined('G5_THEME_PATH') && is_file(G5_THEME_PATH.'/head.sub.php')) {
|
||||
require_once(G5_THEME_PATH.'/head.sub.php');
|
||||
@@ -82,16 +84,16 @@ var g5_admin_url = "<?php echo G5_ADMIN_URL; ?>";
|
||||
<?php } ?>
|
||||
</script>
|
||||
<?php
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery-1.12.4.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery-migrate-1.4.1.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery.menu.js?ver='.G5_JS_VER.'"></script>', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/common.js?ver='.G5_JS_VER.'"></script>', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/wrest.js?ver='.G5_JS_VER.'"></script>', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/placeholders.min.js"></script>', 0);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/font-awesome/css/font-awesome.min.css">', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery-1.12.4.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery-migrate-1.4.1.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery.menu.js?ver='.G5_JS_VER.'"></script>', 1);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/common.js?ver='.G5_JS_VER.'"></script>', 1);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/wrest.js?ver='.G5_JS_VER.'"></script>', 1);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/placeholders.min.js"></script>', 1);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/font-awesome/css/font-awesome.min.css">', 1);
|
||||
|
||||
if(G5_IS_MOBILE) {
|
||||
add_javascript('<script src="'.G5_JS_URL.'/modernizr.custom.70111.js"></script>', 1); // overflow scroll 감지
|
||||
add_javascript('<script src="'.G5_JS_URL.'/modernizr.custom.70111.js"></script>', 2); // overflow scroll 감지
|
||||
}
|
||||
if(!defined('G5_IS_ADMIN'))
|
||||
echo $config['cf_add_script'];
|
||||
|
||||
@@ -24,9 +24,7 @@ include_once(G5_PATH.'/head.php');
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest('pic_list', 'free', 4, 23); // 최소설치시 자동생성되는 자유게시판
|
||||
echo latest('pic_list', 'qa', 4, 23); // 최소설치시 자동생성되는 질문답변게시판
|
||||
echo latest('pic_list', 'notice', 4, 23); // 최소설치시 자동생성되는 공지사항게시판
|
||||
echo latest('pic_list', 'free', 4, 23);
|
||||
?>
|
||||
</div>
|
||||
<div class="latest_wr">
|
||||
@@ -35,7 +33,7 @@ include_once(G5_PATH.'/head.php');
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest('pic_block', 'gallery', 4, 23); // 최소설치시 자동생성되는 갤러리게시판
|
||||
echo latest('pic_block', 'gallery', 4, 23);
|
||||
?>
|
||||
<!-- } 사진 최신글2 끝 -->
|
||||
</div>
|
||||
|
||||
@@ -292,7 +292,7 @@ for ($i=0; $i<count($tmp_bo_table); $i++)
|
||||
// 게시판 테이블 생성
|
||||
$file = file("../".G5_ADMIN_DIR."/sql_write.sql");
|
||||
$file = get_db_create_replace($file);
|
||||
$sql = implode("\n", $file);
|
||||
$sql = implode($file, "\n");
|
||||
|
||||
$create_table = $table_prefix.'write_' . $tmp_bo_table[$i];
|
||||
|
||||
|
||||
@@ -1,388 +0,0 @@
|
||||
/* This is the core CSS of Tooltipster */
|
||||
|
||||
/* GENERAL STRUCTURE RULES (do not edit this section) */
|
||||
|
||||
.tooltipster-base {
|
||||
/* this ensures that a constrained height set by functionPosition,
|
||||
if greater that the natural height of the tooltip, will be enforced
|
||||
in browsers that support display:flex */
|
||||
display: flex;
|
||||
pointer-events: none;
|
||||
/* this may be overriden in JS for fixed position origins */
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.tooltipster-box {
|
||||
/* see .tooltipster-base. flex-shrink 1 is only necessary for IE10-
|
||||
and flex-basis auto for IE11- (at least) */
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.tooltipster-content {
|
||||
/* prevents an overflow if the user adds padding to the div */
|
||||
box-sizing: border-box;
|
||||
/* these make sure we'll be able to detect any overflow */
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.tooltipster-ruler {
|
||||
/* these let us test the size of the tooltip without overflowing the window */
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* ANIMATIONS */
|
||||
|
||||
/* Open/close animations */
|
||||
|
||||
/* fade */
|
||||
|
||||
.tooltipster-fade {
|
||||
opacity: 0;
|
||||
-webkit-transition-property: opacity;
|
||||
-moz-transition-property: opacity;
|
||||
-o-transition-property: opacity;
|
||||
-ms-transition-property: opacity;
|
||||
transition-property: opacity;
|
||||
}
|
||||
.tooltipster-fade.tooltipster-show {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* grow */
|
||||
|
||||
.tooltipster-grow {
|
||||
-webkit-transform: scale(0,0);
|
||||
-moz-transform: scale(0,0);
|
||||
-o-transform: scale(0,0);
|
||||
-ms-transform: scale(0,0);
|
||||
transform: scale(0,0);
|
||||
-webkit-transition-property: -webkit-transform;
|
||||
-moz-transition-property: -moz-transform;
|
||||
-o-transition-property: -o-transform;
|
||||
-ms-transition-property: -ms-transform;
|
||||
transition-property: transform;
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
.tooltipster-grow.tooltipster-show {
|
||||
-webkit-transform: scale(1,1);
|
||||
-moz-transform: scale(1,1);
|
||||
-o-transform: scale(1,1);
|
||||
-ms-transform: scale(1,1);
|
||||
transform: scale(1,1);
|
||||
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
||||
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
}
|
||||
|
||||
/* swing */
|
||||
|
||||
.tooltipster-swing {
|
||||
opacity: 0;
|
||||
-webkit-transform: rotateZ(4deg);
|
||||
-moz-transform: rotateZ(4deg);
|
||||
-o-transform: rotateZ(4deg);
|
||||
-ms-transform: rotateZ(4deg);
|
||||
transform: rotateZ(4deg);
|
||||
-webkit-transition-property: -webkit-transform, opacity;
|
||||
-moz-transition-property: -moz-transform;
|
||||
-o-transition-property: -o-transform;
|
||||
-ms-transition-property: -ms-transform;
|
||||
transition-property: transform;
|
||||
}
|
||||
.tooltipster-swing.tooltipster-show {
|
||||
opacity: 1;
|
||||
-webkit-transform: rotateZ(0deg);
|
||||
-moz-transform: rotateZ(0deg);
|
||||
-o-transform: rotateZ(0deg);
|
||||
-ms-transform: rotateZ(0deg);
|
||||
transform: rotateZ(0deg);
|
||||
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1);
|
||||
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
||||
-moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
||||
-ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
||||
-o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
||||
transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
||||
}
|
||||
|
||||
/* fall */
|
||||
|
||||
.tooltipster-fall {
|
||||
-webkit-transition-property: top;
|
||||
-moz-transition-property: top;
|
||||
-o-transition-property: top;
|
||||
-ms-transition-property: top;
|
||||
transition-property: top;
|
||||
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
||||
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
}
|
||||
.tooltipster-fall.tooltipster-initial {
|
||||
top: 0 !important;
|
||||
}
|
||||
.tooltipster-fall.tooltipster-show {
|
||||
}
|
||||
.tooltipster-fall.tooltipster-dying {
|
||||
-webkit-transition-property: all;
|
||||
-moz-transition-property: all;
|
||||
-o-transition-property: all;
|
||||
-ms-transition-property: all;
|
||||
transition-property: all;
|
||||
top: 0 !important;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* slide */
|
||||
|
||||
.tooltipster-slide {
|
||||
-webkit-transition-property: left;
|
||||
-moz-transition-property: left;
|
||||
-o-transition-property: left;
|
||||
-ms-transition-property: left;
|
||||
transition-property: left;
|
||||
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
||||
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
||||
}
|
||||
.tooltipster-slide.tooltipster-initial {
|
||||
left: -40px !important;
|
||||
}
|
||||
.tooltipster-slide.tooltipster-show {
|
||||
}
|
||||
.tooltipster-slide.tooltipster-dying {
|
||||
-webkit-transition-property: all;
|
||||
-moz-transition-property: all;
|
||||
-o-transition-property: all;
|
||||
-ms-transition-property: all;
|
||||
transition-property: all;
|
||||
left: 0 !important;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* Update animations */
|
||||
|
||||
/* We use animations rather than transitions here because
|
||||
transition durations may be specified in the style tag due to
|
||||
animationDuration, and we try to avoid collisions and the use
|
||||
of !important */
|
||||
|
||||
/* fade */
|
||||
|
||||
@keyframes tooltipster-fading {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.tooltipster-update-fade {
|
||||
animation: tooltipster-fading 400ms;
|
||||
}
|
||||
|
||||
/* rotate */
|
||||
|
||||
@keyframes tooltipster-rotating {
|
||||
25% {
|
||||
transform: rotate(-2deg);
|
||||
}
|
||||
75% {
|
||||
transform: rotate(2deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(0);
|
||||
}
|
||||
}
|
||||
|
||||
.tooltipster-update-rotate {
|
||||
animation: tooltipster-rotating 600ms;
|
||||
}
|
||||
|
||||
/* scale */
|
||||
|
||||
@keyframes tooltipster-scaling {
|
||||
50% {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.tooltipster-update-scale {
|
||||
animation: tooltipster-scaling 600ms;
|
||||
}
|
||||
|
||||
/**
|
||||
* DEFAULT STYLE OF THE SIDETIP PLUGIN
|
||||
*
|
||||
* All styles are "namespaced" with .tooltipster-sidetip to prevent
|
||||
* conflicts between plugins.
|
||||
*/
|
||||
|
||||
/* .tooltipster-box */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-box {
|
||||
background: #565656;
|
||||
border: 2px solid black;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-bottom .tooltipster-box {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-left .tooltipster-box {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-right .tooltipster-box {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-top .tooltipster-box {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
/* .tooltipster-content */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-content {
|
||||
color: white;
|
||||
line-height: 18px;
|
||||
padding: 6px 14px;
|
||||
}
|
||||
|
||||
/* .tooltipster-arrow : will keep only the zone of .tooltipster-arrow-uncropped that
|
||||
corresponds to the arrow we want to display */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-arrow {
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
|
||||
height: 10px;
|
||||
/* half the width, for centering */
|
||||
margin-left: -10px;
|
||||
top: 0;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow {
|
||||
height: 20px;
|
||||
margin-top: -10px;
|
||||
right: 0;
|
||||
/* top 0 to keep the arrow from overflowing .tooltipster-base when it has not
|
||||
been positioned yet */
|
||||
top: 0;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {
|
||||
height: 20px;
|
||||
margin-top: -10px;
|
||||
left: 0;
|
||||
/* same as .tooltipster-left .tooltipster-arrow */
|
||||
top: 0;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
|
||||
bottom: 0;
|
||||
height: 10px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
/* common rules between .tooltipster-arrow-background and .tooltipster-arrow-border */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-arrow-background, .tooltipster-sidetip .tooltipster-arrow-border {
|
||||
height: 0;
|
||||
position: absolute;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
/* .tooltipster-arrow-background */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-arrow-background {
|
||||
border: 10px solid transparent;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {
|
||||
border-bottom-color: #565656;
|
||||
left: 0;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {
|
||||
border-left-color: #565656;
|
||||
left: -3px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {
|
||||
border-right-color: #565656;
|
||||
left: 3px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
|
||||
border-top-color: #565656;
|
||||
left: 0;
|
||||
top: -3px;
|
||||
}
|
||||
|
||||
/* .tooltipster-arrow-border */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-arrow-border {
|
||||
border: 10px solid transparent;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border {
|
||||
border-bottom-color: black;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border {
|
||||
border-left-color: black;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border {
|
||||
border-right-color: black;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border {
|
||||
border-top-color: black;
|
||||
}
|
||||
|
||||
/* tooltipster-arrow-uncropped */
|
||||
|
||||
.tooltipster-sidetip .tooltipster-arrow-uncropped {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped {
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped {
|
||||
left: -10px;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
-1
File diff suppressed because one or more lines are too long
-2
File diff suppressed because one or more lines are too long
@@ -67,14 +67,8 @@ class FileCache
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
try{
|
||||
$file_contents = file_get_contents($cache_file_path);
|
||||
$file_ex = explode("\n\n", $file_contents);
|
||||
$data = unserialize(base64_decode($file_ex[1]));
|
||||
} catch(Exception $e){
|
||||
$data = array('ttl'=>1, 'time'=>time() - 1000);
|
||||
}
|
||||
|
||||
$data = unserialize(file_get_contents( $cache_file_path ));
|
||||
|
||||
if ($data['ttl'] > 0 && time() > $data['time'] + $data['ttl'])
|
||||
{
|
||||
@@ -141,10 +135,7 @@ class FileCache
|
||||
'data' => $data
|
||||
);
|
||||
|
||||
$cache_content = "<?php if (!defined('_GNUBOARD_')) exit; ?>\n\n";
|
||||
$cache_content .= base64_encode(serialize($contents));
|
||||
|
||||
if ($this->write_file($cache_file_path, $cache_content))
|
||||
if ($this->write_file($cache_file_path, serialize($contents)))
|
||||
{
|
||||
chmod($cache_file_path, G5_FILE_PERMISSION);
|
||||
return TRUE;
|
||||
@@ -176,7 +167,7 @@ class FileCache
|
||||
if ($ttl !== null) {
|
||||
$expire = time() + $ttl;
|
||||
}
|
||||
return base64_encode(serialize(array($data, $expire)));
|
||||
return serialize(array($data, $expire));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -190,7 +181,7 @@ class FileCache
|
||||
*/
|
||||
public function decode($data)
|
||||
{
|
||||
return unserialize(base64_decode($data));
|
||||
return unserialize($data);
|
||||
}
|
||||
}
|
||||
?>
|
||||
+10
-54
@@ -21,8 +21,7 @@ function get_microtime()
|
||||
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
|
||||
{
|
||||
//$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
|
||||
$url = preg_replace('#(&)?page=[0-9]*#', '', $url);
|
||||
$url .= substr($url, -1) === '?' ? 'page=' : '&page=';
|
||||
$url = preg_replace('#&page=[0-9]*#', '', $url) . '&page=';
|
||||
|
||||
$str = '';
|
||||
if ($cur_page > 1) {
|
||||
@@ -116,19 +115,6 @@ function goto_url($url)
|
||||
// 세션변수 생성
|
||||
function set_session($session_name, $value)
|
||||
{
|
||||
global $g5;
|
||||
|
||||
static $check_cookie = null;
|
||||
|
||||
if( $check_cookie === null ){
|
||||
$cookie_session_name = session_name();
|
||||
if( ! isset($g5['session_cookie_samesite']) && ! ($cookie_session_name && isset($_COOKIE[$cookie_session_name]) && $_COOKIE[$cookie_session_name]) && ! headers_sent() ){
|
||||
@session_regenerate_id(false);
|
||||
}
|
||||
|
||||
$check_cookie = 1;
|
||||
}
|
||||
|
||||
if (PHP_VERSION < '5.3.0')
|
||||
session_register($session_name);
|
||||
// PHP 버전별 차이를 없애기 위한 방법
|
||||
@@ -1801,7 +1787,7 @@ function get_table_define($table, $crlf="\n")
|
||||
|
||||
$schema_create .= $crlf . ') ENGINE=MyISAM DEFAULT CHARSET=utf8';
|
||||
|
||||
return get_db_create_replace($schema_create);
|
||||
return $schema_create;
|
||||
} // end of the 'PMA_getTableDef()' function
|
||||
|
||||
|
||||
@@ -2474,7 +2460,7 @@ function add_stylesheet($stylesheet, $order=0)
|
||||
{
|
||||
global $html_process;
|
||||
|
||||
if(trim($stylesheet) && method_exists($html_process, 'merge_stylesheet') )
|
||||
if(trim($stylesheet))
|
||||
$html_process->merge_stylesheet($stylesheet, $order);
|
||||
}
|
||||
|
||||
@@ -2482,7 +2468,7 @@ function add_javascript($javascript, $order=0)
|
||||
{
|
||||
global $html_process;
|
||||
|
||||
if(trim($javascript) && method_exists($html_process, 'merge_javascript') )
|
||||
if(trim($javascript))
|
||||
$html_process->merge_javascript($javascript, $order);
|
||||
}
|
||||
|
||||
@@ -2594,7 +2580,7 @@ class html_process {
|
||||
if(!trim($js[1]))
|
||||
continue;
|
||||
|
||||
$js[1] = preg_replace('#\.js([\'\"]?>)<\/script>$#i', '.js?ver='.G5_JS_VER.'$1</script>', $js[1]);
|
||||
$js[1] = preg_replace('#\.js([\'\"]?>)$#i', '.js?ver='.G5_JS_VER.'$1', $js[1]);
|
||||
|
||||
$javascript .= $php_eol.$js[1];
|
||||
$php_eol = PHP_EOL;
|
||||
@@ -3022,9 +3008,6 @@ function clean_xss_tags($str, $check_entities=0)
|
||||
if( $check_entities ){
|
||||
$result = str_replace(array(':', '(', ')', '
', '	'), '', $result);
|
||||
}
|
||||
|
||||
$result = preg_replace('#([^\p{L}]|^)(?:javascript|jar|applescript|vbscript|vbs|wscript|jscript|behavior|mocha|livescript|view-source)\s*:(?:.*?([/\\\;()\'">]|$))#ius',
|
||||
'$1$2', $result);
|
||||
|
||||
if((string)$result === (string)$str) break;
|
||||
|
||||
@@ -3038,30 +3021,7 @@ function clean_xss_tags($str, $check_entities=0)
|
||||
// XSS 어트리뷰트 태그 제거
|
||||
function clean_xss_attributes($str)
|
||||
{
|
||||
$xss_attributes_string = 'onAbort|onActivate|onAttribute|onAfterPrint|onAfterScriptExecute|onAfterUpdate|onAnimationCancel|onAnimationEnd|onAnimationIteration|onAnimationStart|onAriaRequest|onAutoComplete|onAutoCompleteError|onAuxClick|onBeforeActivate|onBeforeCopy|onBeforeCut|onBeforeDeactivate|onBeforeEditFocus|onBeforePaste|onBeforePrint|onBeforeScriptExecute|onBeforeUnload|onBeforeUpdate|onBegin|onBlur|onBounce|onCancel|onCanPlay|onCanPlayThrough|onCellChange|onChange|onClick|onClose|onCommand|onCompassNeedsCalibration|onContextMenu|onControlSelect|onCopy|onCueChange|onCut|onDataAvailable|onDataSetChanged|onDataSetComplete|onDblClick|onDeactivate|onDeviceLight|onDeviceMotion|onDeviceOrientation|onDeviceProximity|onDrag|onDragDrop|onDragEnd|onDragEnter|onDragLeave|onDragOver|onDragStart|onDrop|onDurationChange|onEmptied|onEnd|onEnded|onError|onErrorUpdate|onExit|onFilterChange|onFinish|onFocus|onFocusIn|onFocusOut|onFormChange|onFormInput|onFullScreenChange|onFullScreenError|onGotPointerCapture|onHashChange|onHelp|onInput|onInvalid|onKeyDown|onKeyPress|onKeyUp|onLanguageChange|onLayoutComplete|onLoad|onLoadedData|onLoadedMetaData|onLoadStart|onLoseCapture|onLostPointerCapture|onMediaComplete|onMediaError|onMessage|onMouseDown|onMouseEnter|onMouseLeave|onMouseMove|onMouseOut|onMouseOver|onMouseUp|onMouseWheel|onMove|onMoveEnd|onMoveStart|onMozFullScreenChange|onMozFullScreenError|onMozPointerLockChange|onMozPointerLockError|onMsContentZoom|onMsFullScreenChange|onMsFullScreenError|onMsGestureChange|onMsGestureDoubleTap|onMsGestureEnd|onMsGestureHold|onMsGestureStart|onMsGestureTap|onMsGotPointerCapture|onMsInertiaStart|onMsLostPointerCapture|onMsManipulationStateChanged|onMsPointerCancel|onMsPointerDown|onMsPointerEnter|onMsPointerLeave|onMsPointerMove|onMsPointerOut|onMsPointerOver|onMsPointerUp|onMsSiteModeJumpListItemRemoved|onMsThumbnailClick|onOffline|onOnline|onOutOfSync|onPage|onPageHide|onPageShow|onPaste|onPause|onPlay|onPlaying|onPointerCancel|onPointerDown|onPointerEnter|onPointerLeave|onPointerLockChange|onPointerLockError|onPointerMove|onPointerOut|onPointerOver|onPointerUp|onPopState|onProgress|onPropertyChange|onqt_error|onRateChange|onReadyStateChange|onReceived|onRepeat|onReset|onResize|onResizeEnd|onResizeStart|onResume|onReverse|onRowDelete|onRowEnter|onRowExit|onRowInserted|onRowsDelete|onRowsEnter|onRowsExit|onRowsInserted|onScroll|onSearch|onSeek|onSeeked|onSeeking|onSelect|onSelectionChange|onSelectStart|onStalled|onStorage|onStorageCommit|onStart|onStop|onShow|onSyncRestored|onSubmit|onSuspend|onSynchRestored|onTimeError|onTimeUpdate|onTimer|onTrackChange|onTransitionEnd|onToggle|onTouchCancel|onTouchEnd|onTouchLeave|onTouchMove|onTouchStart|onTransitionCancel|onTransitionEnd|onUnload|onURLFlip|onUserProximity|onVolumeChange|onWaiting|onWebKitAnimationEnd|onWebKitAnimationIteration|onWebKitAnimationStart|onWebKitFullScreenChange|onWebKitFullScreenError|onWebKitTransitionEnd|onWheel';
|
||||
|
||||
do {
|
||||
$count = $temp_count = 0;
|
||||
|
||||
$str = preg_replace(
|
||||
'/(.*)(?:' . $xss_attributes_string . ')(?:\s*=\s*)(?:\'(?:.*?)\'|"(?:.*?)")(.*)/ius',
|
||||
'$1-$2-$3-$4',
|
||||
$str,
|
||||
-1,
|
||||
$temp_count
|
||||
);
|
||||
$count += $temp_count;
|
||||
|
||||
$str = preg_replace(
|
||||
'/(.*)(?:' . $xss_attributes_string . ')\s*=\s*(?:[^\s>]*)(.*)/ius',
|
||||
'$1$2',
|
||||
$str,
|
||||
-1,
|
||||
$temp_count
|
||||
);
|
||||
$count += $temp_count;
|
||||
|
||||
} while ($count);
|
||||
$str = preg_replace('#(onabort|onactivate|onafterprint|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|oncellchange|onchange|onclick|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavaible|ondatasetchanged|ondatasetcomplete|ondblclick|ondeactivate|ondrag|ondragdrop|ondragend|ondragenter|ondragleave|ondragover|ondragstart|ondrop|onerror|onerrorupdate|onfilterupdate|onfinish|onfocus|onfocusin|onfocusout|onhelp|onkeydown|onkeypress|onkeyup|onlayoutcomplete|onload|onlosecapture|onmousedown|onmouseenter|onmouseleave|onmousemove|onmoveout|onmouseover|onmouseup|onmousewheel|onmove|onmoveend|onmovestart|onpaste|onpropertychange|onreadystatechange|onreset|onresize|onresizeend|onresizestart|onrowexit|onrowsdelete|onrowsinserted|onscroll|onselect|onselectionchange|onselectstart|onstart|onstop|onsubmit|onunload)\\s*=\\s*\\\?".*?"#is', '', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
@@ -3223,7 +3183,7 @@ function login_password_check($mb, $pass, $hash)
|
||||
if(!$mb_id)
|
||||
return false;
|
||||
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($hash) === G5_MYSQL_PASSWORD_LENGTH || strlen($hash) === 16)) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && strlen($hash) === G5_MYSQL_PASSWORD_LENGTH) {
|
||||
if( sql_password($pass) === $hash ){
|
||||
|
||||
if( ! isset($mb['mb_password2']) ){
|
||||
@@ -3587,7 +3547,7 @@ function get_member_profile_img($mb_id='', $width='', $height='', $alt='profile_
|
||||
// 프로필 이미지가 없을때 기본 이미지
|
||||
$no_profile_img = (defined('G5_THEME_NO_PROFILE_IMG') && G5_THEME_NO_PROFILE_IMG) ? G5_THEME_NO_PROFILE_IMG : G5_NO_PROFILE_IMG;
|
||||
$tmp = array();
|
||||
preg_match( '/src="([^"]*)"/i', $no_profile_img, $tmp );
|
||||
preg_match( '/src="([^"]*)"/i', $foo, $tmp );
|
||||
$no_profile_cache = $src = isset($tmp[1]) ? $tmp[1] : G5_IMG_URL.'/no_profile.gif';
|
||||
}
|
||||
}
|
||||
@@ -3698,10 +3658,10 @@ function is_include_path_check($path='', $is_input='')
|
||||
// 장태진 @jtjisgod <jtjisgod@gmail.com> 추가
|
||||
// 보안 목적 : rar wrapper 차단
|
||||
|
||||
if( stripos($path, 'rar:') !== false || stripos($path, 'php:') !== false || stripos($path, 'zlib:') !== false || stripos($path, 'bzip2:') !== false || stripos($path, 'zip:') !== false || stripos($path, 'data:') !== false || stripos($path, 'phar:') !== false || stripos($path, 'file:') !== false || stripos($path, '://') !== false ){
|
||||
if( stripos($path, 'rar:') !== false || stripos($path, 'php:') !== false || stripos($path, 'zlib:') !== false || stripos($path, 'bzip2:') !== false || stripos($path, 'zip:') !== false || stripos($path, 'data:') !== false || stripos($path, 'phar:') !== false || stripos($path, 'file:') !== false ){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$replace_path = str_replace('\\', '/', $path);
|
||||
$slash_count = substr_count(str_replace('\\', '/', $_SERVER['SCRIPT_NAME']), '/');
|
||||
$peer_count = substr_count($replace_path, '../');
|
||||
@@ -3770,10 +3730,6 @@ function is_include_path_check($path='', $is_input='')
|
||||
return true;
|
||||
}
|
||||
|
||||
function filter_input_include_path($path){
|
||||
return str_replace('//', '/', $path);
|
||||
}
|
||||
|
||||
function option_array_checked($option, $arr=array()){
|
||||
$checked = '';
|
||||
|
||||
|
||||
+1
-50
@@ -50,8 +50,6 @@ function get_board_names(){
|
||||
global $g5;
|
||||
|
||||
static $boards = array();
|
||||
|
||||
$boards = run_replace('get_board_names_cache', $boards);
|
||||
|
||||
if( ! $boards ){
|
||||
$sql = " select bo_table from {$g5['board_table']} ";
|
||||
@@ -90,53 +88,6 @@ function get_board_db($bo_table, $is_cache=false){
|
||||
return $cache[$key];
|
||||
}
|
||||
|
||||
function get_menu_db($use_mobile=0, $is_cache=false){
|
||||
global $g5;
|
||||
|
||||
static $cache = array();
|
||||
|
||||
$cache = run_replace('get_menu_db_cache', $cache, $use_mobile, $is_cache);
|
||||
|
||||
$key = md5($use_mobile);
|
||||
|
||||
if( $is_cache && isset($cache[$key]) ){
|
||||
return $cache[$key];
|
||||
}
|
||||
|
||||
$where = $use_mobile ? "me_mobile_use = '1'" : "me_use = '1'";
|
||||
|
||||
if( !($cache[$key] = run_replace('get_menu_db', array(), $use_mobile)) ){
|
||||
$sql = " select *
|
||||
from {$g5['menu_table']}
|
||||
where $where
|
||||
and length(me_code) = '2'
|
||||
order by me_order, me_id ";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
|
||||
$row['ori_me_link'] = $row['me_link'];
|
||||
$row['me_link'] = short_url_clean($row['me_link']);
|
||||
$cache[$key][$i] = $row;
|
||||
|
||||
$sql2 = " select *
|
||||
from {$g5['menu_table']}
|
||||
where $where
|
||||
and length(me_code) = '4'
|
||||
and substring(me_code, 1, 2) = '{$row['me_code']}'
|
||||
order by me_order, me_id ";
|
||||
$result2 = sql_query($sql2);
|
||||
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
|
||||
$row2['ori_me_link'] = $row2['me_link'];
|
||||
$row2['me_link'] = short_url_clean($row2['me_link']);
|
||||
$cache[$key][$i]['sub'][$k] = $row2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $cache[$key];
|
||||
}
|
||||
|
||||
// 게시판 테이블에서 하나의 행을 읽음
|
||||
function get_content_by_field($write_table, $type='bbs', $where_field='', $where_value='', $is_cache=false)
|
||||
{
|
||||
@@ -329,7 +280,7 @@ function get_db_create_replace($sql_str){
|
||||
function get_class_encrypt(){
|
||||
static $cache;
|
||||
|
||||
if( $cache && is_object($cache) ){
|
||||
if( $cache && is_object($obj) ){
|
||||
return $cache;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=
|
||||
}
|
||||
}
|
||||
|
||||
$caches = false;
|
||||
$caches = null;
|
||||
|
||||
if(G5_USE_CACHE) {
|
||||
$cache_file_name = "latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}-".g5_cache_secret_key();
|
||||
|
||||
@@ -46,7 +46,7 @@ function create_hash($password, $force_compat = false)
|
||||
{
|
||||
// Generate the salt.
|
||||
|
||||
if (function_exists('mcrypt_create_iv') && version_compare( PHP_VERSION, '7.2' , '<' ) ) {
|
||||
if (function_exists('mcrypt_create_iv')) {
|
||||
$salt = base64_encode(mcrypt_create_iv(PBKDF2_COMPAT_SALT_BYTES, MCRYPT_DEV_URANDOM));
|
||||
} elseif (@file_exists('/dev/urandom') && $fp = @fopen('/dev/urandom', 'r')) {
|
||||
$salt = base64_encode(fread($fp, PBKDF2_COMPAT_SALT_BYTES));
|
||||
|
||||
@@ -53,7 +53,7 @@ function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_
|
||||
|
||||
if(!$filename)
|
||||
return false;
|
||||
|
||||
|
||||
if( $thumbnail_info = run_replace('get_list_thumbnail_info', array(), array('bo_table'=>$bo_table, 'wr_id'=>$wr_id, 'data_path'=>$data_path, 'edt'=>$edt, 'filename'=>$filename, 'filepath'=>$filepath, 'thumb_width'=>$thumb_width, 'thumb_height'=>$thumb_height, 'is_create'=>$is_create, 'is_crop'=>$is_crop, 'crop_mode'=>$crop_mode, 'is_sharpen'=>$is_sharpen, 'um_value'=>$um_value)) ){
|
||||
return $thumbnail_info;
|
||||
}
|
||||
@@ -202,7 +202,7 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
}
|
||||
}
|
||||
|
||||
return run_replace('get_view_thumbnail', $contents);
|
||||
return $contents;
|
||||
}
|
||||
|
||||
function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, $is_create, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
|
||||
@@ -306,11 +306,8 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
if(!$thumb_height) {
|
||||
$thumb_height = round(($thumb_width * $size[1]) / $size[0]);
|
||||
} else {
|
||||
if($crop_mode === 'center' && ($size[0] > $thumb_width || $size[1] > $thumb_height)){
|
||||
$is_large = true;
|
||||
} else if($size[0] < $thumb_width || $size[1] < $thumb_height) {
|
||||
if($size[0] < $thumb_width || $size[1] < $thumb_height)
|
||||
$is_large = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if($thumb_height) {
|
||||
|
||||
+14
-25
@@ -111,27 +111,22 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
$url=parse_url($string_url);
|
||||
$page_name = basename($url['path'],".php");
|
||||
|
||||
$array_page_names = run_replace('url_clean_page_names', array('board', 'write', 'content'));
|
||||
$array_page_names = run_replace('url_clean_page_names', array('board', 'write'));
|
||||
|
||||
if( stripos(preg_replace('/^https?:/i', '', $string_url), preg_replace('/^https?:/i', '', G5_BBS_URL)) === false || ! in_array($page_name, $array_page_names) ){ //게시판이 아니면 리턴
|
||||
return run_replace('false_short_url_clean', $string_url, $url, $page_name, $array_page_names);
|
||||
if( strpos($string_url, G5_BBS_URL) === false || ! in_array($page_name, $array_page_names) ){ //게시판이 아니면 리턴
|
||||
return $string_url;
|
||||
}
|
||||
|
||||
$return_url = '';
|
||||
parse_str($url['query'], $vars);
|
||||
|
||||
/*
|
||||
$qstring = parse_str($url['query'], $vars);
|
||||
|
||||
// 예) Array ( [scheme] => http [host] => sir.kr [path] => /bbs/board.php [query] => wr_id=1110870&bo_table=cm_free&cpage=1 [fragment] => c_1110946 )
|
||||
foreach($vars as $k => $v) { $page_name .= "/".$v; }
|
||||
*/
|
||||
//while(list($k,$v) = each($vars)) $page_name .= "/".$v;
|
||||
|
||||
if( $page_name === 'write' ){
|
||||
$vars['action'] = 'write';
|
||||
$allow_param_keys = array('bo_table'=>'', 'action'=>'');
|
||||
} else if( $page_name === 'content' ){
|
||||
$vars['action'] = 'content';
|
||||
$allow_param_keys = array('action'=>'', 'co_id'=>'');
|
||||
} else {
|
||||
} else {
|
||||
$allow_param_keys = array('bo_table'=>'', 'wr_id'=>'');
|
||||
}
|
||||
|
||||
@@ -139,7 +134,7 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
|
||||
foreach( $allow_param_keys as $key=>$v ){
|
||||
if( !isset($vars[$key]) || empty($vars[$key]) ) continue;
|
||||
|
||||
$add = '';
|
||||
$s[$key] = $vars[$key];
|
||||
}
|
||||
|
||||
@@ -148,7 +143,7 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
|
||||
if( $get_write['wr_seo_title'] ){
|
||||
unset($s['wr_id']);
|
||||
$s['wr_seo_title'] = urlencode($get_write['wr_seo_title']).'/';
|
||||
$s['wr_seo_title'] = $get_write['wr_seo_title'].'/';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,7 +153,7 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
|
||||
if( isset($url['host']) ){
|
||||
|
||||
$array_file_paths = run_replace('url_clean_page_paths', array('/'.G5_BBS_DIR.'/board.php', '/'.G5_BBS_DIR.'/write.php', '/'.G5_BBS_DIR.'/content.php'));
|
||||
$array_file_paths = run_replace('url_clean_page_paths', array('/'.G5_BBS_DIR.'/board.php', '/'.G5_BBS_DIR.'/write.php'));
|
||||
|
||||
$str_path = isset($url['path']) ? $url['path'] : '';
|
||||
$http = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https://' : 'http://';
|
||||
@@ -175,8 +170,8 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
if( $add_qry ){
|
||||
$add_param .= $add_param ? '&'.$add_qry : '?'.$add_qry;
|
||||
}
|
||||
|
||||
foreach($s as $k => $v) { $return_url .= '/'.$v; }
|
||||
|
||||
while(list($k,$v) = each($s)) $return_url .= '/'.$v;
|
||||
|
||||
return $host.$return_url.$add_param.$fragment;
|
||||
}
|
||||
@@ -185,12 +180,7 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
}
|
||||
|
||||
function correct_goto_url($url){
|
||||
|
||||
if( substr($url, -1) !== '/' ){
|
||||
return $url.'/';
|
||||
}
|
||||
|
||||
return $url;
|
||||
return $url.'/';
|
||||
}
|
||||
|
||||
function generate_seo_title($string, $wordLimit=G5_SEO_TITEL_WORD_CUT){
|
||||
@@ -229,8 +219,7 @@ function exist_seo_url($type, $seo_title, $write_table, $sql_id=0){
|
||||
global $g5;
|
||||
|
||||
$exists_title = '';
|
||||
$sql_id = preg_replace('/[^a-z0-9_\-]/i', '', $sql_id);
|
||||
// 영카트 상품코드의 경우 - 하이픈이 들어가야 함
|
||||
$sql_id = preg_replace('/[^a-z0-9_]/i', '', $sql_id);
|
||||
|
||||
if( $type === 'bbs' ){
|
||||
$sql = "select wr_seo_title FROM {$write_table} WHERE wr_seo_title = '".sql_real_escape_string($seo_title)."' AND wr_id <> '$sql_id' limit 1";
|
||||
|
||||
+19
-11
@@ -38,32 +38,40 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
<?php echo outlogin('basic'); // 외부 로그인 ?>
|
||||
<ul id="gnb_1dul">
|
||||
<?php
|
||||
$menu_datas = get_menu_db(1, true);
|
||||
$i = 0;
|
||||
foreach( $menu_datas as $row ){
|
||||
if( empty($row) ) continue;
|
||||
$sql = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_mobile_use = '1'
|
||||
and length(me_code) = '2'
|
||||
order by me_order, me_id ";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
?>
|
||||
<li class="gnb_1dli">
|
||||
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
|
||||
<?php
|
||||
$k = 0;
|
||||
foreach( (array) $row['sub'] as $row2 ){
|
||||
if( empty($row2) ) continue;
|
||||
$sql2 = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_mobile_use = '1'
|
||||
and length(me_code) = '4'
|
||||
and substring(me_code, 1, 2) = '{$row['me_code']}'
|
||||
order by me_order, me_id ";
|
||||
$result2 = sql_query($sql2);
|
||||
|
||||
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
|
||||
if($k == 0)
|
||||
echo '<button type="button" class="btn_gnb_op"><span class="sound_only">하위분류</span></button><ul class="gnb_2dul">'.PHP_EOL;
|
||||
?>
|
||||
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><span></span><?php echo $row2['me_name'] ?></a></li>
|
||||
<?php
|
||||
$k++;
|
||||
} //end foreach $row2
|
||||
}
|
||||
|
||||
if($k > 0)
|
||||
echo '</ul>'.PHP_EOL;
|
||||
?>
|
||||
</li>
|
||||
<?php
|
||||
$i++;
|
||||
} //end foreach $row
|
||||
}
|
||||
|
||||
if ($i == 0) { ?>
|
||||
<li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하세요.<?php } ?></li>
|
||||
|
||||
@@ -75,11 +75,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php } ?>
|
||||
|
||||
<div class="bo_cnt">
|
||||
<?php if ($list[$i]['is_notice'] || ($is_category && $list[$i]['ca_name'])) { ?>
|
||||
<div class="bo_cate_ico">
|
||||
<?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon">공지</strong><?php } ?>
|
||||
<?php if ($list[$i]['is_notice']) { ?>
|
||||
<div>
|
||||
<strong class="notice_icon">공지</strong>
|
||||
<?php if ($is_category && $list[$i]['ca_name']) { ?>
|
||||
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name']; ?></a>
|
||||
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
@@ -108,7 +108,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<div class="bo_info">
|
||||
<span class="sound_only">작성자</span><?php echo $list[$i]['name'] ?>
|
||||
<span class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
|
||||
<span class="bo_view"><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($list[$i]['wr_hit']) ?><span class="sound_only">회</span></span>
|
||||
<span class="bo_view"><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($view['wr_hit']) ?><span class="sound_only">회</span></span>
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?><?php } ?>
|
||||
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?><?php } ?>
|
||||
</div>
|
||||
|
||||
@@ -110,7 +110,6 @@
|
||||
#bo_v_sns li span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
|
||||
.bo_cate_link {display:inline-block;background:#e2eaf6;padding:0 5px;line-height:20px;border-radius:5px;font-weight:bold;font-size:11px;color:#3ca1ff !important;text-decoration:none;/*font-size:0.92em*/} /* 글제목줄 분류스타일 */
|
||||
.bo_cate_ico {margin-bottom:5px}
|
||||
.bo_cnt {display:block;width:100%;font-size:1.083em;font-weight:bold;line-height:1.4em}
|
||||
.bo_cnt i {color:#8d96c2;font-size:12px}
|
||||
.bo_cnt .fa-heart {color:#ff0000}
|
||||
@@ -299,7 +298,7 @@
|
||||
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w .bo_vc_secret {display:block}
|
||||
|
||||
#bo_vc_send_sns {display:block;margin-bottom:10px}
|
||||
#bo_vc_send_sns {display:block;float:left}
|
||||
#bo_vc_sns {display:block;margin:0;padding:0;list-style:none;zoom:1}
|
||||
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_vc_sns li {float:left;margin:0 5px 0 0}
|
||||
|
||||
@@ -20,8 +20,6 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
// if (strstr($list[$i]['wr_option'], "secret"))
|
||||
// $str = $str;
|
||||
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
|
||||
$c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
?>
|
||||
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>>
|
||||
<div class="comment_inner">
|
||||
@@ -69,6 +67,8 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
</p>
|
||||
|
||||
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
|
||||
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
|
||||
|
||||
if($w == 'cu') {
|
||||
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
|
||||
$cmt = sql_fetch($sql);
|
||||
@@ -76,6 +76,9 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
$cmt['wr_content'] = '';
|
||||
$c_wr_content = $cmt['wr_content'];
|
||||
}
|
||||
|
||||
$c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
@@ -76,7 +76,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($is_email) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_email" class="sound_only">이메일</label>
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" email" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@
|
||||
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w .bo_vc_secret {display:block}
|
||||
|
||||
#bo_vc_send_sns {display:block;margin-bottom:10px}
|
||||
#bo_vc_send_sns {display:block;float:left}
|
||||
#bo_vc_sns {display:block;margin:0;padding:0;list-style:none;zoom:1}
|
||||
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_vc_sns li {float:left;margin:0 5px 0 0}
|
||||
|
||||
@@ -20,8 +20,6 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
// if (strstr($list[$i]['wr_option'], "secret"))
|
||||
// $str = $str;
|
||||
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
|
||||
$c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
?>
|
||||
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>>
|
||||
<div class="comment_inner">
|
||||
@@ -69,6 +67,8 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
</p>
|
||||
|
||||
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
|
||||
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
|
||||
|
||||
if($w == 'cu') {
|
||||
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
|
||||
$cmt = sql_fetch($sql);
|
||||
@@ -76,6 +76,9 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
$cmt['wr_content'] = '';
|
||||
$c_wr_content = $cmt['wr_content'];
|
||||
}
|
||||
|
||||
$c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
@@ -76,7 +76,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($is_email) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_email" class="sound_only">이메일</label>
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" email" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -5,5 +5,4 @@
|
||||
.ctt_admin {margin:0 5px;text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0}
|
||||
#ctt_con img{max-width:100%;height:auto}
|
||||
.ctt_img {text-align:center}
|
||||
@@ -98,27 +98,21 @@ echo '<div id="faq_thtml">'.conv_content($fm['fm_mobile_tail_html'], 1).'</div>'
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
<script>
|
||||
jQuery(function() {
|
||||
$(function() {
|
||||
$(".closer_btn").on("click", function() {
|
||||
$(this).closest(".con_inner").slideToggle('slow', function() {
|
||||
var $h3 = $(this).closest("li").find("h3");
|
||||
|
||||
$("#faq_con li h3").removeClass("faq_li_open");
|
||||
if($(this).is(":visible")) {
|
||||
$h3.addClass("faq_li_open");
|
||||
}
|
||||
});
|
||||
$(this).closest(".con_inner").slideToggle();
|
||||
});
|
||||
});
|
||||
|
||||
function faq_open(el)
|
||||
{
|
||||
var $con = $(el).closest("li").find(".con_inner"),
|
||||
$h3 = $(el).closest("li").find("h3");
|
||||
$("h3").on("click", function() {
|
||||
$(this).addClass("faq_li_open");
|
||||
});
|
||||
var $con = $(el).closest("li").find(".con_inner");
|
||||
|
||||
if($con.is(":visible")) {
|
||||
$con.slideUp();
|
||||
$h3.removeClass("faq_li_open");
|
||||
} else {
|
||||
$("#faq_con .con_inner:visible").css("display", "none");
|
||||
|
||||
@@ -126,9 +120,6 @@ function faq_open(el)
|
||||
function() {
|
||||
// 이미지 리사이즈
|
||||
$con.viewimageresize2();
|
||||
$("#faq_con li h3").removeClass("faq_li_open");
|
||||
|
||||
$h3.addClass("faq_li_open");
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,43 +1,6 @@
|
||||
jQuery(function($){
|
||||
$(document).ready(function(){
|
||||
|
||||
$(".owl-carousel-wrap .sv_member").off('click').off('focusin');
|
||||
|
||||
if ($.fn.tooltipster) {
|
||||
var $member_menu_tip = $('.owl-carousel-wrap .sv_member').tooltipster({
|
||||
theme: 'tooltipster-sir',
|
||||
trigger: 'custom',
|
||||
contentAsHTML: true,
|
||||
interactive: true,
|
||||
distance: 5,
|
||||
position:'bottom',
|
||||
coord: {
|
||||
left: 20,
|
||||
bottom: 0
|
||||
},
|
||||
triggerOpen: {
|
||||
click: true,
|
||||
tap: true // For touch device
|
||||
},
|
||||
triggerClose: {
|
||||
click: true,
|
||||
scroll: true,
|
||||
tap: true
|
||||
},
|
||||
functionBefore: function(instance, helper) {
|
||||
var content = $(helper.origin).parent().find('.sv')[0].outerHTML;
|
||||
instance.content(content);
|
||||
},
|
||||
functionReady : function(instance, helper) {
|
||||
$(helper.tooltip).find(".tooltipster-arrow").css({left:16});
|
||||
},
|
||||
functionPosition: function(instance, helper, position){
|
||||
position.coord.left += 7;
|
||||
return position;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var carousels = [],
|
||||
is_loop = true;
|
||||
|
||||
@@ -75,16 +38,6 @@ jQuery(function($){
|
||||
owl_show_page(event);
|
||||
},
|
||||
});
|
||||
|
||||
carousels['sel' + index].on('changed.owl.carousel', function(event) {
|
||||
|
||||
if ($.fn.tooltipster) {
|
||||
var instances = $.tooltipster.instances();
|
||||
$.each(instances, function(i, instance){
|
||||
instance.close();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$this.on("click", ".lt_page_next", function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -3,17 +3,14 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
add_javascript('<script src="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.js"></script>', 10);
|
||||
add_javascript('<script src="'.$latest_skin_url.'/latest.carousel.js"></script>', 11);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.css">', 10);
|
||||
|
||||
add_javascript('<script src="'.G5_JS_URL.'/tooltipster/tooltipster.bundle.min.js"></script>', 11);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/tooltipster/tooltipster.bundle.min.css">', 11);
|
||||
add_javascript('<script src="'.$latest_skin_url.'/latest.carousel.js?v2"></script>', 12);
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css?v2">', 1);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
$thumb_width = 138;
|
||||
$thumb_height = 80;
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$list_count = count($list);
|
||||
$divisor_count = 4;
|
||||
$start_page_num = $list_count ? '1' : '0';
|
||||
$is_show_next_prev = ($list_count > 4) ? 1 : 0;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
.lt .lt_date {color:#828282}
|
||||
.lt .latest-sel{margin-top:1px}
|
||||
|
||||
.lt .lt_more {position:absolute;top:15px;right:15px;color:#3a8afd;background:#fff;border:1px solid #d1d7e5;font-size:0.925em;border-radius:3px;padding:4px 5px;z-index:1}
|
||||
.lt .lt_more {position:absolute;top:15px;right:15px;color:#3a8afd;background:#fff;border:1px solid #d1d7e5;font-size:0.925em;border-radius:3px;padding:4px 5px}
|
||||
.lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}
|
||||
|
||||
.lt .profile_img img {border-radius:50%;vertical-align:top}
|
||||
@@ -30,13 +30,7 @@
|
||||
.lt .comment_icon {background:url('./img/icon_comment.png') no-repeat 50% 50%;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px}
|
||||
.lt .empty_li {text-align:center;padding:40px 0;color:#777}
|
||||
|
||||
.lt .owl-carousel .owl-item .profile_img img{width:auto;display:inline}
|
||||
|
||||
.tooltipster-content .sv a{display:block;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb}
|
||||
.tooltipster-content .sv a:hover{background:#000;color:#fff}
|
||||
.tooltipster-sidetip.tooltipster-sir .tooltipster-content{padding:0}
|
||||
.tooltipster-sidetip.tooltipster-sir .tooltipster-box{border:0 none;background:#333;border-radius:0}
|
||||
.tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-border, .tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#333}
|
||||
.lt .owl-carousel .owl-item .profile_img img{width:auto}
|
||||
|
||||
.lt_page {background:#fff;text-align:center;padding:10px 15px;line-height:25px;border-bottom:1px solid #e5ecee}
|
||||
.lt_page button {display:inline-block;background:#fff;width:25px;height:25px;border:1px solid #dbdee6;text-align:center;color:#cdcdce}
|
||||
|
||||
@@ -3,14 +3,14 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
|
||||
<div class="cm_lt">
|
||||
<h2 class="cm_lt_title"><a href="<?php echo get_pretty_url($bo_table); ?>">최신댓글</a></h2>
|
||||
<ul>
|
||||
<?php
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
$count = count($list);
|
||||
for ($i=0; $i<$count; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<span class="cm_lt_nick"><?php echo get_member_profile_img($member['mb_id']); ?></span>
|
||||
@@ -24,7 +24,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
<?php
|
||||
}
|
||||
|
||||
if($list_count ==0)
|
||||
if($i ==0)
|
||||
echo '<li class="empty_li">게시물이 없습니다.</li>'.PHP_EOL;
|
||||
?>
|
||||
</ul>
|
||||
|
||||
@@ -4,13 +4,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
|
||||
<div class="notice ft_cnt">
|
||||
<h2><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
|
||||
<ul>
|
||||
<?php for ($i=0; $i<$list_count; $i++) { ?>
|
||||
<?php for ($i=0; $i<count($list); $i++) { ?>
|
||||
<li>
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> ";
|
||||
@@ -36,7 +35,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
@@ -35,7 +35,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<a href="<?php echo $list[$i]['view_href'] ?>"><?php echo $memo_preview; ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php /* 쪽지 읽은 시간 echo $list[$i]['read_datetime']; */ ?>
|
||||
<?php// 쪽지 읽은 시간 echo $list[$i]['read_datetime'] ?>
|
||||
<a href="<?php echo $list[$i]['del_href'] ?>" onclick="del(this.href); return false;" class="memo_del"><i class="fa fa-trash-o" aria-hidden="true"></i> <span class="sound_only">삭제</span></a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
@@ -22,7 +22,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<li>
|
||||
<label for="me_recv_mb_id" class="sound_only">받는 회원아이디<strong>필수</strong></label>
|
||||
|
||||
<input type="text" name="me_recv_mb_id" value="<?php echo $me_recv_mb_id; ?>" id="me_recv_mb_id" required class="frm_input full_input required" size="47" placeholder="받는 회원아이디">
|
||||
<input type="text" name="me_recv_mb_id" value="<?php echo $me_recv_mb_id; ?>" id="me_recv_mb_id" required class="frm_input full_input required" size="47" placeholder="받는 회원닉네임">
|
||||
<span class="frm_info">여러 회원에게 보낼때는 컴마(,)로 구분하세요.
|
||||
<?php if ($config['cf_memo_send_point']) { ?><br>쪽지 보낼때 회원당 <?php echo number_format($config['cf_memo_send_point']); ?>점의 포인트를 차감합니다.<?php } ?>
|
||||
</span>
|
||||
|
||||
@@ -39,7 +39,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<li class="memo_view_nick"><?php echo $nick ?></li>
|
||||
<li class="memo_view_date"><span class="sound_only"><?php echo $kind_date ?>시간</span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $memo['me_send_datetime'] ?></li>
|
||||
<li class="memo_op_btn list_btn"><a href="<?php echo $list_link ?>" class="btn_b01 btn"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li>
|
||||
<li class="memo_op_btn del_btn"><a href="<?php echo $del_link; ?>" onclick="del(this.href); return false;" class="memo_del btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i> <span class="sound_only">삭제</span></a></li>
|
||||
<li class="memo_op_btn del_btn"><a href="<?php echo $list[$i]['del_href'] ?>" onclick="del(this.href); return false;" class="memo_del btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i> <span class="sound_only">삭제</span></a></li>
|
||||
</ul>
|
||||
<div class="memo_btn">
|
||||
<?php if($prev_link) { ?>
|
||||
|
||||
@@ -46,7 +46,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$new_skin_url.'/style.css">', 0);
|
||||
$wr_subject = get_text(cut_str($list[$i]['wr_subject'], 80));
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo get_pretty_url($list[$i]['bo_table']); ?>" class="new_board"><?php echo $bo_subject ?></a>
|
||||
<a href="./board.php?bo_table=<?php echo $list[$i]['bo_table'] ?>" class="new_board"><?php echo $bo_subject ?></a>
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="new_tit"><?php echo $list[$i]['comment'] ?><?php echo $wr_subject ?></a>
|
||||
<div class="new_info">
|
||||
<span class="sound_only">작성자</span><?php echo $list[$i]['name'] ?>
|
||||
|
||||
@@ -151,7 +151,7 @@ if(!$view['qa_type']) {
|
||||
</a>
|
||||
</div>
|
||||
<div class="li_info">
|
||||
<span class="li_stat <?php echo ($rel_list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '답변완료' : '답변대기'); ?></span>
|
||||
<span class="li_stat <?php echo ($list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '답변완료' : '답변대기'); ?></span>
|
||||
<span class="li_date"><?php echo $rel_list[$i]['date']; ?></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -4,7 +4,6 @@ www.youtube(?:-nocookie)?.com/
|
||||
serviceapi.rmcnmv.naver.com/
|
||||
videofarm.daum.net/
|
||||
player.vimeo.com/
|
||||
www.google.com/
|
||||
maps.google.com/
|
||||
play.afreeca.com/
|
||||
v.nate.com/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
<?
|
||||
// 캡챠 세션값과 비교하여 맞는지? 틀린지? 결과값을 출력합니다.
|
||||
include_once("_common.php");
|
||||
//header("Content-Type: text/html; charset=$g4[charset]");
|
||||
|
||||
$count = (int)get_session("ss_captcha_count");
|
||||
if ($count >= 5) { // 설정값 이상이면 자동등록방지 입력 문자가 맞아도 오류 처리
|
||||
|
||||
+10
-10
@@ -21,15 +21,15 @@ require('./hpcert.config.php');
|
||||
**************************************************************************/
|
||||
|
||||
/* 공통 리턴 항목 */
|
||||
//$idcfMbrComCd = $_REQUEST['idcf_mbr_com_cd']; // 고객사코드
|
||||
//$idcfMbrComCd = $_POST['idcf_mbr_com_cd']; // 고객사코드
|
||||
$idcfMbrComCd = $memId;
|
||||
$hsCertSvcTxSeqno = $_REQUEST['hs_cert_svc_tx_seqno']; // 거래번호
|
||||
$rqstSiteNm = $_REQUEST['rqst_site_nm']; // 접속도메인
|
||||
$hsCertRqstCausCd = $_REQUEST['hs_cert_rqst_caus_cd']; // 인증요청사유코드 2byte (00:회원가입, 01:성인인증, 02:회원정보수정, 03:비밀번호찾기, 04:상품구매, 99:기타)
|
||||
$hsCertSvcTxSeqno = $_POST['hs_cert_svc_tx_seqno']; // 거래번호
|
||||
$rqstSiteNm = $_POST['rqst_site_nm']; // 접속도메인
|
||||
$hsCertRqstCausCd = $_POST['hs_cert_rqst_caus_cd']; // 인증요청사유코드 2byte (00:회원가입, 01:성인인증, 02:회원정보수정, 03:비밀번호찾기, 04:상품구매, 99:기타)
|
||||
|
||||
$resultCd = $_REQUEST['result_cd']; // 결과코드
|
||||
$resultMsg = $_REQUEST['result_msg']; // 결과메세지
|
||||
$certDtTm = $_REQUEST['cert_dt_tm']; // 인증일시
|
||||
$resultCd = $_POST['result_cd']; // 결과코드
|
||||
$resultMsg = $_POST['result_msg']; // 결과메세지
|
||||
$certDtTm = $_POST['cert_dt_tm']; // 인증일시
|
||||
|
||||
if($resultCd != 'B000') {
|
||||
alert_close('휴대폰 본인확인 중 오류가 발생했습니다. 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
|
||||
@@ -38,15 +38,15 @@ if($resultCd != 'B000') {
|
||||
/**************************************************************************
|
||||
* 모듈 호출 ; 생년월일 본인 확인서비스 결과 데이터를 복호화한다.
|
||||
**************************************************************************/
|
||||
$encInfo = $_REQUEST['encInfo'];
|
||||
$encInfo = $_POST['encInfo'];
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $encInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 공개키
|
||||
$WEBPUBKEY = trim($_REQUEST['WEBPUBKEY']);
|
||||
$WEBPUBKEY = trim($_POST['WEBPUBKEY']);
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 서명값
|
||||
$WEBSIGNATURE = trim($_REQUEST['WEBSIGNATURE']);
|
||||
$WEBSIGNATURE = trim($_POST['WEBSIGNATURE']);
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBSIGNATURE, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
// ########################################################################
|
||||
|
||||
@@ -14,15 +14,15 @@ foreach($check_arrays as $key){
|
||||
require('./ipin.config.php');
|
||||
|
||||
//아이핀팝업에서 조회한 PERSONALINFO이다.
|
||||
@$encPsnlInfo = $_REQUEST["encPsnlInfo"];
|
||||
@$encPsnlInfo = $_POST["encPsnlInfo"];
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $encPsnlInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 공개키
|
||||
@$WEBPUBKEY = trim($_REQUEST["WEBPUBKEY"]);
|
||||
@$WEBPUBKEY = trim($_POST["WEBPUBKEY"]);
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 서명값
|
||||
@$WEBSIGNATURE = trim($_REQUEST["WEBSIGNATURE"]);
|
||||
@$WEBSIGNATURE = trim($_POST["WEBSIGNATURE"]);
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBSIGNATURE, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//아이핀 서버와 통신을 위한 키파일 생성
|
||||
|
||||
@@ -26,7 +26,7 @@ class Hybrid_Providers_Kakao extends Hybrid_Provider_Model_OAuth2
|
||||
parent::initialize();
|
||||
|
||||
// Provider API end-points
|
||||
$this->api->api_base_url = "https://kapi.kakao.com/v2/";
|
||||
$this->api->api_base_url = "https://kapi.kakao.com/v1/";
|
||||
$this->api->authorize_url = "https://kauth.kakao.com/oauth/authorize";
|
||||
$this->api->token_url = "https://kauth.kakao.com/oauth/token";
|
||||
|
||||
@@ -72,8 +72,7 @@ class Hybrid_Providers_Kakao extends Hybrid_Provider_Model_OAuth2
|
||||
*/
|
||||
function getUserProfile()
|
||||
{
|
||||
//$params = array('property_keys'=>'kaccount_email'); // v1 parameter
|
||||
$params = array('property_keys'=>array('kakao_account.email')); // v2 parameter
|
||||
$params = array('property_keys'=>'kaccount_email');
|
||||
|
||||
$this->api->decode_json = false;
|
||||
$this->api->curl_header = array( 'Authorization: Bearer ' . $this->api->access_token );
|
||||
@@ -87,9 +86,7 @@ class Hybrid_Providers_Kakao extends Hybrid_Provider_Model_OAuth2
|
||||
$this->user->profile->identifier = @ $data->id;
|
||||
$this->user->profile->displayName = @ $data->properties->nickname;
|
||||
$this->user->profile->photoURL = @ $data->properties->thumbnail_image;
|
||||
//$email = @ $data->properties->kaccount_email; // v1 version
|
||||
|
||||
$email = @ $data->kakao_account->email; // v2 version
|
||||
$email = @ $data->kaccount_email;
|
||||
|
||||
if( $email ){
|
||||
$this->user->profile->email = $email;
|
||||
|
||||
@@ -53,7 +53,6 @@ if( ! isset($mb_password) || ! $mb_password ){
|
||||
|
||||
}
|
||||
|
||||
if ($msg = valid_mb_id($mb_id)) alert($msg, "", true, true);
|
||||
if ($msg = empty_mb_name($mb_name)) alert($msg, "", true, true);
|
||||
if ($msg = empty_mb_nick($mb_nick)) alert($msg, "", true, true);
|
||||
if ($msg = empty_mb_email($mb_email)) alert($msg, "", true, true);
|
||||
@@ -69,10 +68,6 @@ if ($msg = exist_mb_id($mb_id)) alert($msg);
|
||||
if ($msg = exist_mb_nick($mb_nick, $mb_id)) alert($msg, "", true, true);
|
||||
if ($msg = exist_mb_email($mb_email, $mb_id)) alert($msg, "", true, true);
|
||||
|
||||
if( $mb = get_member($mb_id) ){
|
||||
alert("이미 등록된 회원이 존재합니다.", G5_URL);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'mb_id' => $mb_id,
|
||||
'mb_password' => get_encrypt_string($mb_password),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user