Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1600f63dee | ||
|
|
fa9aa8da19 | ||
|
|
85e075a5c6 | ||
|
|
1e7d17fd68 | ||
|
|
6ccb8905a0 | ||
|
|
ebac40312f | ||
|
|
3c0cde3fe2 | ||
|
|
3cf0546711 | ||
|
|
120d8cf564 | ||
|
|
992d3d93f4 | ||
|
|
30e0b93ecf | ||
|
|
2581bdba9b | ||
|
|
d982361541 | ||
|
|
e82ebd7ada | ||
|
|
2d1af9a3b2 | ||
|
|
da29b6d0bb | ||
|
|
4493674762 | ||
|
|
2e0b99f65c | ||
|
|
cc5eb6e520 | ||
|
|
b855bbfb96 | ||
|
|
93753162be | ||
|
|
726863de44 | ||
|
|
69ec7348b8 | ||
|
|
d8521d4543 | ||
|
|
e6eab2d040 | ||
|
|
2ad151c0dd | ||
|
|
4c17f79783 | ||
|
|
e329192586 | ||
|
|
f96c3558e8 | ||
|
|
f2a1af5f46 | ||
|
|
aec86e4360 | ||
|
|
6a934c7a36 | ||
|
|
ccfe419bbd | ||
|
|
4b0969d244 | ||
|
|
a5e5531471 | ||
|
|
5a3c2b628d | ||
|
|
b5152b62e8 | ||
|
|
de59f07a66 | ||
|
|
32e024f52e | ||
|
|
ffc43056b4 | ||
|
|
6016db4a95 | ||
|
|
30f6f09372 | ||
|
|
d10a1667c7 | ||
|
|
d560892a80 | ||
|
|
4e11c1fc1f | ||
|
|
54c69dcf35 | ||
|
|
7ccf17b479 | ||
|
|
0e2dbb6145 | ||
|
|
83b85b5d66 | ||
|
|
f68ba794ec | ||
|
|
76c1bde119 | ||
|
|
312fc5daf3 | ||
|
|
080370323a | ||
|
|
c419e2751f | ||
|
|
6977e9d4b5 | ||
|
|
e3ed8a1af3 | ||
|
|
22aad37bfb | ||
|
|
f230dc3522 | ||
|
|
58878593dc | ||
|
|
863f6011ac | ||
|
|
cee88a0f6f | ||
|
|
27b1a5d8f8 | ||
|
|
7d494115b3 | ||
|
|
0954beced9 | ||
|
|
2534921446 |
+1
-1
@@ -108,7 +108,7 @@ function get_ajax_token()
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(document).on("click", "form input:submit", function() {
|
||||
$(document).on("click", "form input:submit, form button:submit", function() {
|
||||
var f = this.form;
|
||||
var token = get_ajax_token();
|
||||
|
||||
|
||||
@@ -76,12 +76,12 @@ $f = @fopen($file, 'w');
|
||||
// 분류에 & 나 = 는 사용이 불가하므로 2바이트로 바꾼다.
|
||||
$src_char = array('&', '=');
|
||||
$dst_char = array('&', '〓');
|
||||
$bo_category_list = str_replace($src_char, $dst_char, $bo_category_list);
|
||||
$bo_category_list = isset($_POST['bo_category_list']) ? str_replace($src_char, $dst_char, $_POST['bo_category_list']) : '';
|
||||
//https://github.com/gnuboard/gnuboard5/commit/f5f4925d4eb28ba1af728e1065fc2bdd9ce1da58 에 따른 조치
|
||||
$str_bo_category_list = isset($_POST['bo_category_list']) ? preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $_POST['bo_category_list']) : '';
|
||||
$str_bo_category_list = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $bo_category_list);
|
||||
|
||||
$_POST['bo_subject'] = strip_tags($_POST['bo_subject']);
|
||||
$_POST['bo_mobile_subject'] = strip_tags($_POST['bo_mobile_subject']);
|
||||
$_POST['bo_subject'] = strip_tags(clean_xss_attributes($_POST['bo_subject']));
|
||||
$_POST['bo_mobile_subject'] = strip_tags(clean_xss_attributes($_POST['bo_mobile_subject']));
|
||||
|
||||
$sql_common = " gr_id = '{$gr_id}',
|
||||
bo_subject = '{$_POST['bo_subject']}',
|
||||
@@ -289,7 +289,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 = '{$bo_category_list}' ";
|
||||
$grp_fields .= " , bo_category_list = '{$str_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}' ";
|
||||
@@ -378,7 +378,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 = '{$bo_category_list}' ";
|
||||
$all_fields .= " , bo_category_list = '{$str_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($_POST['bo_subject'][$k]) : '';
|
||||
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags(clean_xss_attributes($_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($_POST['gr_subject']) : '';
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_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 $row['gr_subject'] ?> 그룹</label>
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo get_text($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 get_pretty_url(G5_GROUP_DIR, $row['gr_id']); ?>"><?php echo $row['gr_id'] ?></a></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_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 $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 get_sanitize_input($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 $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?>
|
||||
<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']); ?>
|
||||
<?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($_POST['gr_subject'][$k]) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags($_POST['gr_admin'][$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])) : '';
|
||||
|
||||
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 get_pretty_url(G5_GROUP_DIR, $row['gr_id']); ?>"><?php echo $row['gr_id'] ?></a></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_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 $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 get_sanitize_input($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($_POST['cf_title']);
|
||||
$_POST['cf_title'] = strip_tags(clean_xss_attributes($_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($co_subject);
|
||||
$co_subject = strip_tags(clean_xss_attributes($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;
|
||||
|
||||
@@ -147,6 +147,22 @@ 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' ";
|
||||
|
||||
@@ -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($fm_subject);
|
||||
$fm_subject = strip_tags(clean_xss_attributes($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 $ma['ma_subject'] ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
<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>
|
||||
</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($_POST['ma_subject']) : '';
|
||||
$ma_subject = isset($_POST['ma_subject']) ? strip_tags(clean_xss_attributes($_POST['ma_subject'])) : '';
|
||||
|
||||
if ($w == '')
|
||||
{
|
||||
|
||||
@@ -52,7 +52,7 @@ if($sql) {
|
||||
<?php }
|
||||
switch($type) {
|
||||
case 'group':
|
||||
$link = get_pretty_url(G5_GROUP_DIR, $row['id']);
|
||||
$link = G5_BBS_URL.'/group.php?gr_id='.$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($_POST['me_link'][$i], 1) : '';
|
||||
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes($_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($_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(clean_xss_attributes($_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($_POST['nw_subject']) : '';
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags(clean_xss_attributes($_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($_POST['mb_id']);
|
||||
$po_point = strip_tags($_POST['po_point']);
|
||||
$po_content = strip_tags($_POST['po_content']);
|
||||
$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']));
|
||||
$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 $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 get_sanitize_input($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($value);
|
||||
$_POST[$key] = strip_tags(clean_xss_attributes($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 $qaconfig['qa_title'] ?>" id="qa_title" required class="required frm_input" size="40">
|
||||
<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">
|
||||
<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 $qaconfig['qa_category'] ?>" id="qa_category" required class="required frm_input" size="70">
|
||||
<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">
|
||||
</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 $qaconfig['qa_send_number'] ?>" id="qa_send_number" class="frm_input" size="30">
|
||||
<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">
|
||||
</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 $qaconfig['qa_admin_hp'] ?>" id="qa_admin_hp" class="frm_input" size="30">
|
||||
<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">
|
||||
</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 $qaconfig['qa_admin_email'] ?>" id="qa_admin_email" class="frm_input" size="50">
|
||||
<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">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -12,6 +12,12 @@ $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));
|
||||
|
||||
@@ -50,8 +56,6 @@ if( $qa_include_tail && ! is_include_path_check($qa_include_tail, 1) ){
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
$_POST['qa_title'] = strip_tags($_POST['qa_title']);
|
||||
|
||||
$sql = " update {$g5['qa_config_table']}
|
||||
set qa_title = '{$_POST['qa_title']}',
|
||||
qa_category = '{$_POST['qa_category']}',
|
||||
|
||||
@@ -4,8 +4,8 @@ include_once("./_common.php");
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$fo_name = isset($fo_name) ? strip_tags($fo_name) : '';
|
||||
$fo_content = isset($fo_content) ? strip_tags($fo_content) : '';
|
||||
$fo_name = isset($fo_name) ? strip_tags(clean_xss_attributes($fo_name)) : '';
|
||||
$fo_content = isset($fo_content) ? strip_tags(clean_xss_attributes($fo_content)) : '';
|
||||
|
||||
$g5['title'] = "이모티콘 업데이트";
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ 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'] .= '수정';
|
||||
@@ -48,7 +50,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 $write['fo_name']?>" class="frm_input required" size="70"></td>
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">메세지</th>
|
||||
|
||||
@@ -53,6 +53,7 @@ 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,6 +16,8 @@ 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
|
||||
@@ -127,9 +129,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($bg_no, $no_group['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($no_group['bg_no'], $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($bg_no, $group[$i]['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($group[$i]['bg_no'], $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 $group[$i]['bg_name']?> </option>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"> <?php echo get_sanitize_input($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 $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 get_sanitize_input($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($_POST['bg_name'][$k]);
|
||||
$bg_name = strip_tags(clean_xss_attributes($_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='$bg_name'");
|
||||
$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)."'");
|
||||
if ($res)
|
||||
alert('같은 그룹명이 존재합니다.');
|
||||
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."' where bg_no='$bg_no'");
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".sql_real_escape_string($bg_name)."' where bg_no='$bg_no'");
|
||||
}
|
||||
}
|
||||
else if ($w == 'de') // 그룹삭제
|
||||
@@ -63,7 +63,7 @@ else if ($w == 'em') // 비우기
|
||||
}
|
||||
else // 등록
|
||||
{
|
||||
$bg_name = strip_tags($bg_name);
|
||||
$bg_name = strip_tags(clean_xss_attributes($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='".addslashes($bg_name)."'");
|
||||
sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='$bg_name'");
|
||||
}
|
||||
|
||||
goto_url('./num_group.php');
|
||||
|
||||
@@ -7,6 +7,8 @@ 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 = array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width');
|
||||
$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);
|
||||
$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 = 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');
|
||||
$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);
|
||||
|
||||
$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 = array('cf_member_skin', 'cf_mobile_member_skin');
|
||||
$keys = run_replace('theme_config_load_keys', array('cf_member_skin', 'cf_mobile_member_skin'), $type);
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
|
||||
@@ -68,5 +68,7 @@ if($_POST['set_default_skin'] == 1) {
|
||||
}
|
||||
}
|
||||
|
||||
run_event('adm_theme_update', $theme, $_POST['set_default_skin']);
|
||||
|
||||
die('');
|
||||
?>
|
||||
@@ -88,5 +88,5 @@ delete_cache_latest($bo_table);
|
||||
|
||||
run_event('bbs_delete_comment', $comment_id, $board);
|
||||
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'&page='.$page. $qstr);
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'&page='.$page. $qstr));
|
||||
?>
|
||||
|
||||
@@ -83,6 +83,8 @@ 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);
|
||||
}
|
||||
@@ -147,6 +149,8 @@ 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);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,8 @@ 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;
|
||||
}
|
||||
|
||||
// 실시간 쪽지 알림 기능
|
||||
@@ -93,16 +94,14 @@ 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);
|
||||
run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url, $_POST['me_memo']);
|
||||
|
||||
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);
|
||||
|
||||
exit;
|
||||
run_event('memo_form_update_failed', $member_list, $redirect_url, $_POST['me_memo']);
|
||||
|
||||
alert("회원아이디 오류 같습니다.", $redirect_url, false);
|
||||
}
|
||||
|
||||
+6
-3
@@ -31,14 +31,17 @@ 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,24 +8,25 @@ 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 = $_POST['bo_table'][$k];
|
||||
$wr_id = $_POST['wr_id'][$k];
|
||||
$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;
|
||||
|
||||
$save_bo_table[] = $bo_table;
|
||||
$save_bo_table[$i] = $bo_table;
|
||||
$save_wr_id[$i] = $wr_id;
|
||||
|
||||
$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' ");
|
||||
|
||||
$sql = " select * from $write_table where wr_id = '$wr_id' ";
|
||||
$write = sql_fetch($sql);
|
||||
$write = get_write($write_table, $wr_id);
|
||||
if (!$write) continue;
|
||||
|
||||
// 원글 삭제
|
||||
@@ -138,12 +139,11 @@ 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);
|
||||
run_event('bbs_new_delete', $chk_bn_id, $save_bo_table, $save_wr_id);
|
||||
|
||||
goto_url("new.php?sfl=$sfl&stx=$stx&page=$page");
|
||||
?>
|
||||
@@ -14,6 +14,7 @@ $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') {
|
||||
|
||||
@@ -20,6 +20,8 @@ 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']));
|
||||
|
||||
@@ -85,9 +87,7 @@ if ($w == 'c') // 댓글 입력
|
||||
// 댓글 답변
|
||||
if ($comment_id)
|
||||
{
|
||||
$sql = " select wr_id, wr_parent, wr_comment, wr_comment_reply from $write_table
|
||||
where wr_id = '$comment_id' ";
|
||||
$reply_array = sql_fetch($sql);
|
||||
$reply_array = get_write($write_table, $comment_id, true);
|
||||
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);
|
||||
run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url, $comment_id, $reply_array);
|
||||
|
||||
goto_url($redirect_url);
|
||||
?>
|
||||
|
||||
+35
-4
@@ -216,10 +216,6 @@ 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();
|
||||
//==============================================================================
|
||||
|
||||
|
||||
//==============================================================================
|
||||
// 공용 변수
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -227,6 +223,41 @@ 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.0.6');
|
||||
define('G5_GNUBOARD_VER', '5.4.2');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
|
||||
+4
-3
@@ -104,7 +104,8 @@ 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;z-index:3}
|
||||
#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_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}
|
||||
@@ -157,10 +158,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 {z-index:2;margin:0 auto;height:100%;zoom:1}
|
||||
#container_wr {margin:0 auto;height:100%;zoom:1}
|
||||
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
|
||||
|
||||
#container {z-index:1;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
|
||||
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;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;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;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);
|
||||
-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) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) {
|
||||
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) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) {
|
||||
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', '191110');
|
||||
define('G5_CSS_VER', '191110');
|
||||
define('G5_JS_VER', '191202');
|
||||
define('G5_CSS_VER', '191202');
|
||||
?>
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
run_event('pre_head');
|
||||
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/head.php');
|
||||
return;
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
|
||||
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');
|
||||
|
||||
@@ -24,7 +24,9 @@ include_once(G5_PATH.'/head.php');
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest('pic_list', 'free', 4, 23);
|
||||
echo latest('pic_list', 'free', 4, 23); // 최소설치시 자동생성되는 자유게시판
|
||||
echo latest('pic_list', 'qa', 4, 23); // 최소설치시 자동생성되는 질문답변게시판
|
||||
echo latest('pic_list', 'notice', 4, 23); // 최소설치시 자동생성되는 공지사항게시판
|
||||
?>
|
||||
</div>
|
||||
<div class="latest_wr">
|
||||
@@ -33,7 +35,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>
|
||||
|
||||
@@ -0,0 +1,388 @@
|
||||
/* 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
+17
-4
@@ -116,6 +116,19 @@ 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 버전별 차이를 없애기 위한 방법
|
||||
@@ -2461,7 +2474,7 @@ function add_stylesheet($stylesheet, $order=0)
|
||||
{
|
||||
global $html_process;
|
||||
|
||||
if(trim($stylesheet))
|
||||
if(trim($stylesheet) && method_exists($html_process, 'merge_stylesheet') )
|
||||
$html_process->merge_stylesheet($stylesheet, $order);
|
||||
}
|
||||
|
||||
@@ -2469,7 +2482,7 @@ function add_javascript($javascript, $order=0)
|
||||
{
|
||||
global $html_process;
|
||||
|
||||
if(trim($javascript))
|
||||
if(trim($javascript) && method_exists($html_process, 'merge_javascript') )
|
||||
$html_process->merge_javascript($javascript, $order);
|
||||
}
|
||||
|
||||
@@ -3184,7 +3197,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) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($hash) === G5_MYSQL_PASSWORD_LENGTH || strlen($hash) === 16)) {
|
||||
if( sql_password($pass) === $hash ){
|
||||
|
||||
if( ! isset($mb['mb_password2']) ){
|
||||
@@ -3548,7 +3561,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', $foo, $tmp );
|
||||
preg_match( '/src="([^"]*)"/i', $no_profile_img, $tmp );
|
||||
$no_profile_cache = $src = isset($tmp[1]) ? $tmp[1] : G5_IMG_URL.'/no_profile.gif';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,6 +50,8 @@ 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']} ";
|
||||
@@ -327,7 +329,7 @@ function get_db_create_replace($sql_str){
|
||||
function get_class_encrypt(){
|
||||
static $cache;
|
||||
|
||||
if( $cache && is_object($obj) ){
|
||||
if( $cache && is_object($cache) ){
|
||||
return $cache;
|
||||
}
|
||||
|
||||
|
||||
+16
-10
@@ -111,22 +111,27 @@ 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'));
|
||||
$array_page_names = run_replace('url_clean_page_names', array('board', 'write', 'content'));
|
||||
|
||||
if( strpos($string_url, G5_BBS_URL) === false || ! in_array($page_name, $array_page_names) ){ //게시판이 아니면 리턴
|
||||
return $string_url;
|
||||
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);
|
||||
}
|
||||
|
||||
$return_url = '';
|
||||
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 )
|
||||
//while(list($k,$v) = each($vars)) $page_name .= "/".$v;
|
||||
foreach($vars as $k => $v) { $page_name .= "/".$v; }
|
||||
*/
|
||||
|
||||
if( $page_name === 'write' ){
|
||||
$vars['action'] = 'write';
|
||||
$allow_param_keys = array('bo_table'=>'', 'action'=>'');
|
||||
} else {
|
||||
} else if( $page_name === 'content' ){
|
||||
$vars['action'] = 'content';
|
||||
$allow_param_keys = array('action'=>'', 'co_id'=>'');
|
||||
} else {
|
||||
$allow_param_keys = array('bo_table'=>'', 'wr_id'=>'');
|
||||
}
|
||||
|
||||
@@ -153,7 +158,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'));
|
||||
$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'));
|
||||
|
||||
$str_path = isset($url['path']) ? $url['path'] : '';
|
||||
$http = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https://' : 'http://';
|
||||
@@ -170,8 +175,8 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
if( $add_qry ){
|
||||
$add_param .= $add_param ? '&'.$add_qry : '?'.$add_qry;
|
||||
}
|
||||
|
||||
while(list($k,$v) = each($s)) $return_url .= '/'.$v;
|
||||
|
||||
foreach($s as $k => $v) { $return_url .= '/'.$v; }
|
||||
|
||||
return $host.$return_url.$add_param.$fragment;
|
||||
}
|
||||
@@ -224,7 +229,8 @@ 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";
|
||||
|
||||
@@ -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']) { ?>
|
||||
<div>
|
||||
<strong class="notice_icon">공지</strong>
|
||||
<?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 ($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 } ?>
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
#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}
|
||||
|
||||
@@ -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" email" maxlength="100" placeholder="이메일">
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -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" email" maxlength="100" placeholder="이메일">
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -5,4 +5,5 @@
|
||||
.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,21 +98,27 @@ 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>
|
||||
$(function() {
|
||||
jQuery(function() {
|
||||
$(".closer_btn").on("click", function() {
|
||||
$(this).closest(".con_inner").slideToggle();
|
||||
$(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");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function faq_open(el)
|
||||
{
|
||||
$("h3").on("click", function() {
|
||||
$(this).addClass("faq_li_open");
|
||||
});
|
||||
var $con = $(el).closest("li").find(".con_inner");
|
||||
var $con = $(el).closest("li").find(".con_inner"),
|
||||
$h3 = $(el).closest("li").find("h3");
|
||||
|
||||
if($con.is(":visible")) {
|
||||
$con.slideUp();
|
||||
$h3.removeClass("faq_li_open");
|
||||
} else {
|
||||
$("#faq_con .con_inner:visible").css("display", "none");
|
||||
|
||||
@@ -120,6 +126,9 @@ function faq_open(el)
|
||||
function() {
|
||||
// 이미지 리사이즈
|
||||
$con.viewimageresize2();
|
||||
$("#faq_con li h3").removeClass("faq_li_open");
|
||||
|
||||
$h3.addClass("faq_li_open");
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,43 @@
|
||||
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;
|
||||
|
||||
@@ -38,6 +75,16 @@ 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,14 +3,17 @@ 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">', 0);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css?v2">', 1);
|
||||
$thumb_width = 138;
|
||||
$thumb_height = 80;
|
||||
$list_count = count($list);
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$divisor_count = 4;
|
||||
$start_page_num = $list_count ? '1' : '0';
|
||||
$is_show_next_prev = ($list_count > 4) ? 1 : 0;
|
||||
|
||||
@@ -30,7 +30,13 @@
|
||||
.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}
|
||||
.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_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
|
||||
$count = count($list);
|
||||
for ($i=0; $i<$count; $i++) {
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<span class="cm_lt_nick"><?php echo get_member_profile_img($member['mb_id']); ?></span>
|
||||
@@ -24,7 +24,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">',
|
||||
<?php
|
||||
}
|
||||
|
||||
if($i ==0)
|
||||
if($list_count ==0)
|
||||
echo '<li class="empty_li">게시물이 없습니다.</li>'.PHP_EOL;
|
||||
?>
|
||||
</ul>
|
||||
|
||||
@@ -4,12 +4,13 @@ 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<count($list); $i++) { ?>
|
||||
<?php for ($i=0; $i<$list_count; $i++) { ?>
|
||||
<li>
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> ";
|
||||
@@ -35,7 +36,7 @@ add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
|
||||
?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<?php if ($list_count == 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 $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>
|
||||
<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>
|
||||
</ul>
|
||||
<div class="memo_btn">
|
||||
<?php if($prev_link) { ?>
|
||||
|
||||
@@ -151,7 +151,7 @@ if(!$view['qa_type']) {
|
||||
</a>
|
||||
</div>
|
||||
<div class="li_info">
|
||||
<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_stat <?php echo ($rel_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,6 +4,7 @@ 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,7 +1,6 @@
|
||||
<?
|
||||
<?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 = $_POST['idcf_mbr_com_cd']; // 고객사코드
|
||||
//$idcfMbrComCd = $_REQUEST['idcf_mbr_com_cd']; // 고객사코드
|
||||
$idcfMbrComCd = $memId;
|
||||
$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:기타)
|
||||
$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:기타)
|
||||
|
||||
$resultCd = $_POST['result_cd']; // 결과코드
|
||||
$resultMsg = $_POST['result_msg']; // 결과메세지
|
||||
$certDtTm = $_POST['cert_dt_tm']; // 인증일시
|
||||
$resultCd = $_REQUEST['result_cd']; // 결과코드
|
||||
$resultMsg = $_REQUEST['result_msg']; // 결과메세지
|
||||
$certDtTm = $_REQUEST['cert_dt_tm']; // 인증일시
|
||||
|
||||
if($resultCd != 'B000') {
|
||||
alert_close('휴대폰 본인확인 중 오류가 발생했습니다. 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
|
||||
@@ -38,15 +38,15 @@ if($resultCd != 'B000') {
|
||||
/**************************************************************************
|
||||
* 모듈 호출 ; 생년월일 본인 확인서비스 결과 데이터를 복호화한다.
|
||||
**************************************************************************/
|
||||
$encInfo = $_POST['encInfo'];
|
||||
$encInfo = $_REQUEST['encInfo'];
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $encInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 공개키
|
||||
$WEBPUBKEY = trim($_POST['WEBPUBKEY']);
|
||||
$WEBPUBKEY = trim($_REQUEST['WEBPUBKEY']);
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 서명값
|
||||
$WEBSIGNATURE = trim($_POST['WEBSIGNATURE']);
|
||||
$WEBSIGNATURE = trim($_REQUEST['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 = $_POST["encPsnlInfo"];
|
||||
@$encPsnlInfo = $_REQUEST["encPsnlInfo"];
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $encPsnlInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 공개키
|
||||
@$WEBPUBKEY = trim($_POST["WEBPUBKEY"]);
|
||||
@$WEBPUBKEY = trim($_REQUEST["WEBPUBKEY"]);
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 서명값
|
||||
@$WEBSIGNATURE = trim($_POST["WEBSIGNATURE"]);
|
||||
@$WEBSIGNATURE = trim($_REQUEST["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/v1/";
|
||||
$this->api->api_base_url = "https://kapi.kakao.com/v2/";
|
||||
$this->api->authorize_url = "https://kauth.kakao.com/oauth/authorize";
|
||||
$this->api->token_url = "https://kauth.kakao.com/oauth/token";
|
||||
|
||||
@@ -72,7 +72,8 @@ class Hybrid_Providers_Kakao extends Hybrid_Provider_Model_OAuth2
|
||||
*/
|
||||
function getUserProfile()
|
||||
{
|
||||
$params = array('property_keys'=>'kaccount_email');
|
||||
//$params = array('property_keys'=>'kaccount_email'); // v1 parameter
|
||||
$params = array('property_keys'=>array('kakao_account.email')); // v2 parameter
|
||||
|
||||
$this->api->decode_json = false;
|
||||
$this->api->curl_header = array( 'Authorization: Bearer ' . $this->api->access_token );
|
||||
@@ -86,7 +87,9 @@ 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->kaccount_email;
|
||||
//$email = @ $data->properties->kaccount_email; // v1 version
|
||||
|
||||
$email = @ $data->kakao_account->email; // v2 version
|
||||
|
||||
if( $email ){
|
||||
$this->user->profile->email = $email;
|
||||
|
||||
@@ -120,7 +120,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php } ?>
|
||||
<?php if ($nogood_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i><span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i><span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<b id="bo_v_act_nogood"></b>
|
||||
</span>
|
||||
<?php } ?>
|
||||
|
||||
@@ -120,7 +120,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php } ?>
|
||||
<?php if ($nogood_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i><span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i><span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<b id="bo_v_act_nogood"></b>
|
||||
</span>
|
||||
<?php } ?>
|
||||
|
||||
@@ -110,21 +110,27 @@ if ($admin_href)
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
jQuery(function() {
|
||||
$(".closer_btn").on("click", function() {
|
||||
$(this).closest(".con_inner").slideToggle();
|
||||
$(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");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function faq_open(el)
|
||||
{
|
||||
$("h3").on("click", function() {
|
||||
$(this).addClass("faq_li_open");
|
||||
});
|
||||
var $con = $(el).closest("li").find(".con_inner");
|
||||
var $con = $(el).closest("li").find(".con_inner"),
|
||||
$h3 = $(el).closest("li").find("h3");
|
||||
|
||||
if($con.is(":visible")) {
|
||||
$con.slideUp();
|
||||
$h3.removeClass("faq_li_open");
|
||||
} else {
|
||||
$("#faq_con .con_inner:visible").css("display", "none");
|
||||
|
||||
@@ -132,6 +138,9 @@ function faq_open(el)
|
||||
function() {
|
||||
// 이미지 리사이즈
|
||||
$con.viewimageresize2();
|
||||
$("#faq_con li h3").removeClass("faq_li_open");
|
||||
|
||||
$h3.addClass("faq_li_open");
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,12 +3,13 @@ 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="lat">
|
||||
<h2 class="lat_title"><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
|
||||
<ul>
|
||||
<?php for ($i=0; $i<count($list); $i++) { ?>
|
||||
<?php for ($i=0; $i<$list_count; $i++) { ?>
|
||||
<li class="basic_li">
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";
|
||||
@@ -40,7 +41,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">',
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
.lat li .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
.lat li .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
|
||||
.lat .profile_img img{border-radius:50%}
|
||||
|
||||
.lt_info {padding:10px 0}
|
||||
.lt_info .lt_nick {}
|
||||
.lt_info .lt_date {color:#888}
|
||||
|
||||
@@ -4,12 +4,13 @@ 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<count($list); $i++) { ?>
|
||||
<?php for ($i=0; $i<$list_count; $i++) { ?>
|
||||
<li>
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> ";
|
||||
@@ -35,7 +36,7 @@ add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
|
||||
?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
@@ -6,13 +6,14 @@ include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
$thumb_width = 210;
|
||||
$thumb_height = 150;
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
|
||||
<div class="pic_lt">
|
||||
<h2 class="lat_title"><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
|
||||
<ul>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
|
||||
|
||||
if($thumb['src']) {
|
||||
@@ -56,7 +57,7 @@ $thumb_height = 150;
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
.pic_lt li .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
.pic_lt li .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
|
||||
.pic_lt .profile_img img{border-radius:50%}
|
||||
|
||||
.lt_info {padding:10px 0}
|
||||
.lt_info .lt_nick {}
|
||||
|
||||
@@ -6,13 +6,14 @@ include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
$thumb_width = 297;
|
||||
$thumb_height = 212;
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
|
||||
<div class="pic_li_lt">
|
||||
<h2 class="lat_title"><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
|
||||
<ul>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
|
||||
$img_link_html = '';
|
||||
|
||||
@@ -63,7 +64,7 @@ $thumb_height = 212;
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
.pic_li_lt li .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
.pic_li_lt li .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
|
||||
.pic_li_lt .profile_img img{border-radius:50%}
|
||||
|
||||
.lt_info {padding:10px 0}
|
||||
.lt_info .lt_nick {}
|
||||
.lt_info .lt_date {color:#888}
|
||||
|
||||
@@ -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 $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>
|
||||
<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>
|
||||
</ul>
|
||||
<div class="memo_btn">
|
||||
<?php if($prev_link) { ?>
|
||||
|
||||
@@ -53,7 +53,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<div class="tbl_frm01 tbl_wrap register_form_inner">
|
||||
<h2>개인정보 입력</h2>
|
||||
<ul>
|
||||
<li class="half_input left_input margin_input">
|
||||
<li>
|
||||
<label for="reg_mb_name">이름<strong class="sound_only">필수</strong></label>
|
||||
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" size="10" placeholder="이름">
|
||||
<?php
|
||||
@@ -84,7 +84,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php if ($req_nick) { ?>
|
||||
<li class="half_input left_input">
|
||||
<li>
|
||||
<label for="reg_mb_nick">
|
||||
닉네임<strong class="sound_only">필수</strong>
|
||||
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
|
||||
@@ -98,15 +98,17 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<?php } ?>
|
||||
|
||||
<li>
|
||||
<label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label>
|
||||
<label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong>
|
||||
|
||||
<?php if ($config['cf_use_email_certify']) { ?>
|
||||
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
|
||||
<span class="tooltip">이미지 크기는 가
|
||||
<span class="tooltip">
|
||||
<?php if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
|
||||
<?php if ($w=='u') { echo "E-mail 주소를 변경하시면 다시 인증하셔야 합니다."; } ?>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</label>
|
||||
|
||||
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
|
||||
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">
|
||||
|
||||
@@ -119,14 +121,14 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="half_input left_input margin_input">
|
||||
<li>
|
||||
<?php if ($config['cf_use_tel']) { ?>
|
||||
|
||||
<label for="reg_mb_tel">전화번호<?php if ($config['cf_req_tel']) { ?><strong class="sound_only">필수</strong><?php } ?></label>
|
||||
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" <?php echo $config['cf_req_tel']?"required":""; ?> class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" maxlength="20" placeholder="전화번호">
|
||||
<?php } ?>
|
||||
</li>
|
||||
<li class="half_input left_input">
|
||||
<li>
|
||||
<?php if ($config['cf_use_hp'] || $config['cf_cert_hp']) { ?>
|
||||
<label for="reg_mb_hp">휴대폰번호<?php if ($config['cf_req_hp']) { ?><strong class="sound_only">필수</strong><?php } ?></label>
|
||||
|
||||
@@ -468,11 +470,11 @@ function fregisterform_submit(f)
|
||||
return true;
|
||||
}
|
||||
|
||||
$(function(){
|
||||
jQuery(function($){
|
||||
//tooltip
|
||||
$(".tooltip_icon").click(function(){
|
||||
$(this).next(".tooltip").fadeIn(400);
|
||||
}).mouseout(function(){
|
||||
$(document).on("click", ".tooltip_icon", function(e){
|
||||
$(this).next(".tooltip").fadeIn(400).css("display","inline-block");
|
||||
}).on("mouseout", ".tooltip_icon", function(e){
|
||||
$(this).next(".tooltip").fadeOut();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -231,6 +231,7 @@
|
||||
#memo_list .memo_datetime {font-size:0.92em;color:#888d92}
|
||||
#memo_list .memo_del {position:absolute;right:15px;top:15px;padding:10px;color:#c7c9cb;font-size:1.4em}
|
||||
#memo_list .memo_cnt {margin-top:5px;font-weight:normal;display:inline-block;font-size:1.2em}
|
||||
#memo_list .pg_wrap {margin-top:10px;width:100%;float:inherit;text-align:center}
|
||||
|
||||
#memo_view_contents {margin-bottom:20px;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
|
||||
#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
.ol form {padding:20px}
|
||||
.ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */
|
||||
.ol a.btn_admin:focus, .ol a.btn_admin:hover {text-decoration:none}
|
||||
.ol .login-sns{padding-bottom:0px}
|
||||
|
||||
#ol_before {}
|
||||
#ol_before:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
@@ -163,7 +163,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_date"><?php echo $rel_list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class="<?php echo ($list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '<i class="fa fa-check-circle" aria-hidden="true"></i> 답변완료' : '<i class="fa fa-times-circle" aria-hidden="true"></i> 답변대기'); ?></span></td>
|
||||
<td class="td_stat"><span class="<?php echo ($rel_list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '<i class="fa fa-check-circle" aria-hidden="true"></i> 답변완료' : '<i class="fa fa-times-circle" aria-hidden="true"></i> 답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
@@ -105,7 +105,9 @@ add_stylesheet('<link rel="stylesheet" href="'.$search_skin_url.'/style.css">',
|
||||
$k=0;
|
||||
for ($idx=$table_index, $k=0; $idx<count($search_table) && $k<$rows; $idx++) {
|
||||
?>
|
||||
<div class="search_board_result">
|
||||
<h2><a href="<?php echo get_pretty_url($search_table[$idx], '', $search_query); ?>"><?php echo $bo_subject[$idx] ?> 게시판 내 결과</a></h2>
|
||||
<a href="<?php echo get_pretty_url($search_table[$idx], '', $search_query); ?>" class="sch_more">더보기</a>
|
||||
<ul>
|
||||
<?php
|
||||
for ($i=0; $i<count($list[$idx]) && $k<$rows; $i++, $k++) {
|
||||
@@ -134,8 +136,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$search_skin_url.'/style.css">',
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<a href="<?php echo get_pretty_url($search_table[$idx], '', $search_query); ?>" class="sch_more">더보기</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } //end for?>
|
||||
<?php if ($stx && $board_count) { ?></section><?php } ?>
|
||||
|
||||
<?php echo $write_pages ?>
|
||||
|
||||
@@ -49,8 +49,9 @@ transition:all 0.1s ease-in-out}
|
||||
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
|
||||
|
||||
.sch_res_list {position:relative;margin-bottom:10px}
|
||||
.sch_res_list .search_board_result{position:relative}
|
||||
.sch_res_list h2 {margin:0 0 15px;font-size:1.2em}
|
||||
.sch_res_list ul {margin:0;padding:0;list-style:none;border-top:1px solid #ececec}
|
||||
.sch_res_list ul {margin:0 0 20px 0;padding:0;list-style:none;border-top:1px solid #ececec}
|
||||
.sch_res_list li {border-bottom:1px solid #ececec;background:#fff;position:relative}
|
||||
.sch_res_list .sch_tit {display:block;padding:20px 0 10px}
|
||||
.sch_res_list .pop_a {display:inline-block;background:#e8eeef;color:#6f777f;border-radius:50%;text-align:center;width:26px;height:26px;line-height:26px}
|
||||
@@ -60,4 +61,4 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
|
||||
.sch_res_list .sch_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.sch_res_list .profile_img img {border-radius:50%}
|
||||
.sch_res_list .sch_datetime {margin-left:5px}
|
||||
.sch_more {position:absolute;right:0;top:0;text-align:right;margin:10px 0 30px;color:#3a8afd}
|
||||
.sch_more {position:absolute;right:0;top:5px;text-align:right;font-weight:normal;color:#3a8afd}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
.bg-warning3 {background:#fff8dc;border:1px solid #f1e4b2}
|
||||
|
||||
/* SNS LOGIN */
|
||||
.login-sns {margin-top:5px;border:1px solid #dde7e9;border-bottom:1px solid #dde7e9;clear:both;background:#fff}
|
||||
.login-sns {padding-bottom:10px;margin-top:5px;border:1px solid #dde7e9;border-bottom:1px solid #dde7e9;clear:both;background:#fff}
|
||||
.login-sns h3 {padding-top:10px;text-align:center;color:#777;font-weight:normal}
|
||||
.sns-wrap {margin:10px 0 0;text-align:center}
|
||||
.sns-icon {display:inline-block;vertical-align:middle;text-decoration:none}
|
||||
|
||||
@@ -104,7 +104,8 @@ 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;z-index:3}
|
||||
#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_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}
|
||||
@@ -157,10 +158,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 {z-index:2;margin:0 auto;height:100%;zoom:1}
|
||||
#container_wr {margin:0 auto;height:100%;zoom:1}
|
||||
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
|
||||
|
||||
#container {z-index:1;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
|
||||
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;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}
|
||||
|
||||
@@ -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;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;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);
|
||||
-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;
|
||||
|
||||
@@ -106,6 +106,7 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
<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 값 설정용
|
||||
$i = 0;
|
||||
foreach( $menu_datas as $row ){
|
||||
if( empty($row) ) continue;
|
||||
|
||||
@@ -17,7 +17,9 @@ include_once(G5_THEME_PATH.'/head.php');
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest('theme/pic_list', 'free', 4, 23);
|
||||
echo latest('theme/pic_list', 'free', 4, 23); // 최소설치시 자동생성되는 자유게시판
|
||||
echo latest('theme/pic_list', 'qa', 4, 23); // 최소설치시 자동생성되는 질문답변게시판
|
||||
echo latest('theme/pic_list', 'notice', 4, 23); // 최소설치시 자동생성되는 공지사항게시판
|
||||
?>
|
||||
</div>
|
||||
<div class="latest_wr">
|
||||
@@ -26,7 +28,7 @@ include_once(G5_THEME_PATH.'/head.php');
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest('theme/pic_block', 'gallery', 4, 23);
|
||||
echo latest('theme/pic_block', 'gallery', 4, 23); // 최소설치시 자동생성되는 갤러리게시판
|
||||
?>
|
||||
<!-- } 사진 최신글2 끝 -->
|
||||
</div>
|
||||
|
||||
@@ -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']) { ?>
|
||||
<div>
|
||||
<strong class="notice_icon">공지</strong>
|
||||
<?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 ($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 } ?>
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
#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}
|
||||
|
||||
@@ -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" email" maxlength="100" placeholder="이메일">
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -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" email" maxlength="100" placeholder="이메일">
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user