Merge branch 'master' of github.com:gnuboard/g5

This commit is contained in:
minsupkr
2020-11-16 10:21:21 +09:00
33 changed files with 116 additions and 134 deletions

View File

@ -1183,7 +1183,7 @@ include_once('_rewrite_config_form.php');
<tr> <tr>
<th scope="row"><label for="cf_kakao_rest_key">카카오 REST API 키</label></th> <th scope="row"><label for="cf_kakao_rest_key">카카오 REST API 키</label></th>
<td> <td>
<input type="text" name="cf_kakao_rest_key" value="<?php echo $config['cf_kakao_rest_key'] ?>" id="cf_kakao_rest_key" class="frm_input" size="40"> <a href="https://developers.kakao.com/apps/new" target="_blank" class="btn_frmline">앱 등록하기</a> <input type="text" name="cf_kakao_rest_key" value="<?php echo $config['cf_kakao_rest_key'] ?>" id="cf_kakao_rest_key" class="frm_input" size="40"> <a href="https://developers.kakao.com/product/kakaoLogin" target="_blank" class="btn_frmline">앱 등록하기</a>
</td> </td>
<th scope="row"><label for="cf_kakao_client_secret">카카오 Client Secret</label></th> <th scope="row"><label for="cf_kakao_client_secret">카카오 Client Secret</label></th>
<td> <td>

View File

@ -126,7 +126,7 @@
/* 휴대폰번호 파일 */ /* 휴대폰번호 파일 */
#sms5_fileup_frm {margin:0 0 10px;padding:0 0;border-bottom:1px solid #e9e9e9} #sms5_fileup_frm {margin:0 0 10px;padding:0 0;border-bottom:1px solid #e9e9e9}
#sms5_fileup_frm div {padding:5px 0;;border-bottom:1px solid #f4f4f4} #sms5_fileup_frm div {padding:5px 0;border-bottom:1px solid #f4f4f4}
#sms5_fileup_frm div.sch_last {margin:0;border:0} #sms5_fileup_frm div.sch_last {margin:0;border:0}
#sms5_fileup_frm strong {display:inline-block;width:80px} #sms5_fileup_frm strong {display:inline-block;width:80px}
#sms5_fileup_frm strong.sch_long {width:160px} #sms5_fileup_frm strong.sch_long {width:160px}

View File

@ -225,36 +225,36 @@ $config = get_config(true);
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다. // 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) { if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
// Chrome 80 버전부터 아래 이슈 대응 // Chrome 80 버전부터 아래 이슈 대응
// https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss // https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss
if(!function_exists('session_start_samesite')) { if(!function_exists('session_start_samesite')) {
function session_start_samesite($options = array()) function session_start_samesite($options = array())
{ {
global $g5; global $g5;
$res = @session_start($options); $res = @session_start($options);
// IE 브라우저 또는 엣지브라우저 또는 IOS 모바일과 http환경에서는 secure; SameSite=None을 설정하지 않습니다. // IE 브라우저 또는 엣지브라우저 또는 IOS 모바일과 http환경에서는 secure; SameSite=None을 설정하지 않습니다.
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){ if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
return $res; return $res;
} }
$headers = headers_list(); $headers = headers_list();
krsort($headers); krsort($headers);
foreach ($headers as $header) { foreach ($headers as $header) {
if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue; if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None'; $header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
header($header, false); header($header, false);
$g5['session_cookie_samesite'] = 'none'; $g5['session_cookie_samesite'] = 'none';
break; break;
} }
return $res; return $res;
} }
} }
session_start_samesite(); session_start_samesite();
} else { } else {
@session_start(); @session_start();
} }
//============================================================================== //==============================================================================

View File

@ -5,7 +5,7 @@
********************/ ********************/
define('G5_VERSION', '그누보드5'); define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.4.2.9'); define('G5_GNUBOARD_VER', '5.4.3');
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음 // 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
define('_GNUBOARD_', true); define('_GNUBOARD_', true);

View File

@ -80,7 +80,7 @@ border:1px solid #558ab7 !important;
#logo {float:left;padding:30px 0 0} #logo {float:left;padding:30px 0 0}
.hd_sch_wr {float:left;padding:30px 0;;width:445px;margin-left:65px} .hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} #hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden} #hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff} #hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}

View File

@ -165,33 +165,9 @@ function set_cookie(name, value, expirehours, domain)
// 쿠키 얻음 // 쿠키 얻음
function get_cookie(name) function get_cookie(name)
{ {
var find_sw = false; var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
var start, end; if (match) return unescape(match[2]);
var i = 0; return "";
for (i=0; i<= document.cookie.length; i++)
{
start = i;
end = start + name.length;
if(document.cookie.substring(start, end) == name)
{
find_sw = true
break
}
}
if (find_sw == true)
{
start = end + 1;
end = document.cookie.indexOf(";", start);
if(end < start)
end = document.cookie.length;
return unescape(document.cookie.substring(start, end));
}
return "";
} }
// 쿠키 지움 // 쿠키 지움
@ -559,10 +535,12 @@ function font_resize(id, rmv_class, add_class, othis)
{ {
var $el = $("#"+id); var $el = $("#"+id);
$el.removeClass(rmv_class).addClass(add_class); if((typeof rmv_class !== "undefined" && rmv_class) || (typeof add_class !== "undefined" && add_class)){
$el.removeClass(rmv_class).addClass(add_class);
set_cookie("ck_font_resize_rmv_class", rmv_class, 1, g5_cookie_domain); set_cookie("ck_font_resize_rmv_class", rmv_class, 1, g5_cookie_domain);
set_cookie("ck_font_resize_add_class", add_class, 1, g5_cookie_domain); set_cookie("ck_font_resize_add_class", add_class, 1, g5_cookie_domain);
}
if(typeof othis !== "undefined"){ if(typeof othis !== "undefined"){
$(othis).addClass('select').siblings().removeClass('select'); $(othis).addClass('select').siblings().removeClass('select');

View File

@ -1606,15 +1606,19 @@ function sql_query($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null)
} }
} }
$end_time = $is_debug ? get_microtime() : 0;
if($result && $is_debug) { if($result && $is_debug) {
// 여기에 실행한 sql문을 화면에 표시하는 로직 넣기 // 여기에 실행한 sql문을 화면에 표시하는 로직 넣기
$g5_debug['sql'][] = array( $g5_debug['sql'][] = array(
'sql' => $sql, 'sql' => $sql,
'start_time' => $start_time, 'start_time' => $start_time,
'end_time' => get_microtime(), 'end_time' => $end_time,
); );
} }
run_event('sql_query_after', $result, $sql, $start_time, $end_time);
return $result; return $result;
} }

View File

@ -16,8 +16,8 @@ function get_pretty_url($folder, $no='', $query_string='', $action='')
return $url; return $url;
} }
// use shortten url // use shortten url
if($config['cf_bbs_rewrite']) { if($config['cf_bbs_rewrite']) {
$segments[0] = G5_URL; $segments[0] = G5_URL;
@ -36,32 +36,32 @@ function get_pretty_url($folder, $no='', $query_string='', $action='')
} else if(in_array($folder, $boards)) { // 게시판 } else if(in_array($folder, $boards)) { // 게시판
$segments[1] = $folder; $segments[1] = $folder;
if($no) { if($no) {
if( $config['cf_bbs_rewrite'] > 1 ){ if( $config['cf_bbs_rewrite'] > 1 ){
$get_write = get_write( $g5['write_prefix'].$folder, $no , true); $get_write = get_write( $g5['write_prefix'].$folder, $no , true);
$segments[2] = $get_write['wr_seo_title'] ? urlencode($get_write['wr_seo_title']).'/' : urlencode($no); $segments[2] = $get_write['wr_seo_title'] ? urlencode($get_write['wr_seo_title']).'/' : urlencode($no);
} else { } else {
$segments[2] = urlencode($no); $segments[2] = urlencode($no);
} }
} else if($action) { } else if($action) {
$segments[2] = urlencode($action); $segments[2] = urlencode($action);
} }
} else { } else {
$segments[1] = $folder; $segments[1] = $folder;
if($no) { if($no) {
$no_array = explode("=", $no); $no_array = explode("=", $no);
$no_value = end($no_array); $no_value = end($no_array);
$segments[2] = urlencode($no_value); $segments[2] = urlencode($no_value);
} }
} }
if($query_string) { if($query_string) {
// If the first character of the query string is '&', replace it with '?'. // If the first character of the query string is '&', replace it with '?'.
@ -72,33 +72,33 @@ function get_pretty_url($folder, $no='', $query_string='', $action='')
} }
} }
} else { // don't use shortten url } else { // don't use shortten url
if(in_array($folder, $boards)) { if(in_array($folder, $boards)) {
$url = G5_BBS_URL. '/board.php?bo_table='. $folder; $url = G5_BBS_URL. '/board.php?bo_table='. $folder;
if($no) { if($no) {
$url .= '&amp;wr_id='. $no; $url .= '&amp;wr_id='. $no;
} }
if($query_string) { if($query_string) {
if(substr($query_string, 0, 1) !== '&') { if(substr($query_string, 0, 1) !== '&') {
$url .= '&amp;'; $url .= '&amp;';
} }
$url .= $query_string; $url .= $query_string;
} }
} else { } else {
$url = G5_BBS_URL. '/'.$folder.'.php'; $url = G5_BBS_URL. '/'.$folder.'.php';
if($no) { if($no) {
$url .= ($folder === 'content') ? '?co_id='. $no : '?'. $no; $url .= ($folder === 'content') ? '?co_id='. $no : '?'. $no;
} }
if($query_string) { if($query_string) {
$url .= ($no ? '?' : '&amp;'). $query_string; $url .= ($no ? '?' : '&amp;'). $query_string;
} }
} }
$segments[0] = $url; $segments[0] = $url;
} }
return implode('/', $segments).$add_query; return implode('/', $segments).$add_query;
} }
function short_url_clean($string_url, $add_qry=''){ function short_url_clean($string_url, $add_qry=''){
@ -120,18 +120,18 @@ function short_url_clean($string_url, $add_qry=''){
$return_url = ''; $return_url = '';
parse_str($url['query'], $vars); 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 ) // 예) Array ( [scheme] => http [host] => sir.kr [path] => /bbs/board.php [query] => wr_id=1110870&bo_table=cm_free&cpage=1 [fragment] => c_1110946 )
foreach($vars as $k => $v) { $page_name .= "/".$v; } foreach($vars as $k => $v) { $page_name .= "/".$v; }
*/ */
if( $page_name === 'write' ){ if( $page_name === 'write' ){
$vars['action'] = 'write'; $vars['action'] = 'write';
$allow_param_keys = array('bo_table'=>'', 'action'=>''); $allow_param_keys = array('bo_table'=>'', 'action'=>'');
} else if( $page_name === 'content' ){ } else if( $page_name === 'content' ){
$vars['action'] = 'content'; $vars['action'] = 'content';
$allow_param_keys = array('action'=>'', 'co_id'=>''); $allow_param_keys = array('action'=>'', 'co_id'=>'');
} else { } else {
$allow_param_keys = array('bo_table'=>'', 'wr_id'=>''); $allow_param_keys = array('bo_table'=>'', 'wr_id'=>'');
} }
@ -176,7 +176,7 @@ function short_url_clean($string_url, $add_qry=''){
$add_param .= $add_param ? '&amp;'.$add_qry : '?'.$add_qry; $add_param .= $add_param ? '&amp;'.$add_qry : '?'.$add_qry;
} }
foreach($s as $k => $v) { $return_url .= '/'.$v; } foreach($s as $k => $v) { $return_url .= '/'.$v; }
return $host.$return_url.$add_param.$fragment; return $host.$return_url.$add_param.$fragment;
} }

View File

@ -44,7 +44,7 @@
#bo_list .bo_subject .fa-link {width:16px;line-height:16px;background:#edd3fd;color:#b451fd;text-align:center;font-size:10px;border-radius:2px;vertical-align:baseline} #bo_list .bo_subject .fa-link {width:16px;line-height:16px;background:#edd3fd;color:#b451fd;text-align:center;font-size:10px;border-radius:2px;vertical-align:baseline}
#bo_list .bo_subject .fa-heart {color:#ff0000;text-align:center;font-size:10px;border-radius:2px} #bo_list .bo_subject .fa-heart {color:#ff0000;text-align:center;font-size:10px;border-radius:2px}
#bo_list .bo_subject .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin:0 4px;font-weight:bold;vertical-align:middle} #bo_list .bo_subject .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin:0 4px;font-weight:bold;vertical-align:middle}
#bo_list .bo_subject .fa-lock {display:inline-block;line-height:16px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:baseline} #bo_list .bo_subject .fa-lock {display:inline-block;line-height:16px;width:16px;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:baseline}
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} #bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
@ -77,7 +77,7 @@
.bo_fx {margin-bottom:5px;padding:0 10px} .bo_fx {margin-bottom:5px;padding:0 10px}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} .bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none} .bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {margin:10px;text-align:center;padding:10px;text-align:center;background:#e3e7ec;color:#8b8b8b;border-radius:3px} #bo_list_total {margin:10px;padding:10px;text-align:center;background:#e3e7ec;color:#8b8b8b;border-radius:3px}
.btn_bo_user > li {float:left;text-align:center;margin-left:5px} .btn_bo_user > li {float:left;text-align:center;margin-left:5px}
.btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle} .btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle}
@ -142,7 +142,7 @@
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} #bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} #bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%} #bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px} #bo_sch .sch_input {height:38px;border:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px} #bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
.view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0} .view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0}
@ -165,7 +165,7 @@
#bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold} #bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold}
#bo_v_title {} #bo_v_title {}
.bo_v_cate {display:inline-block;background:#e2eaf6;color:#3a8afd;border-radius:13px;line-height:20px;border-radius:5px;padding:0 5px;font-weight:bold} .bo_v_cate {display:inline-block;background:#e2eaf6;color:#3a8afd;line-height:20px;border-radius:5px;padding:0 5px;font-weight:bold}
.bo_v_tit {display:block;font-size:1.5em;margin:10px 0 0} .bo_v_tit {display:block;font-size:1.5em;margin:10px 0 0}
#bo_v_info {padding:15px 0;color:#8e8e8e;line-height:20px} #bo_v_info {padding:15px 0;color:#8e8e8e;line-height:20px}

View File

@ -159,7 +159,7 @@ jQuery(function($){
</section> </section>
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -66,7 +66,7 @@
.bo_fx {margin-bottom:5px;padding:0 10px} .bo_fx {margin-bottom:5px;padding:0 10px}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} .bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none} .bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {margin:10px;text-align:center;padding:10px;text-align:center;background:#e3e7ec;color:#8b8b8b;border-radius:3px} #bo_list_total {margin:10px;text-align:center;padding:10px;background:#e3e7ec;color:#8b8b8b;border-radius:3px}
.btn_bo_user > li {float:left;text-align:center;margin-left:5px} .btn_bo_user > li {float:left;text-align:center;margin-left:5px}
.btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle} .btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle}
@ -108,7 +108,7 @@
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} #bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} #bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%} #bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px} #bo_sch .sch_input {height:38px;border:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px} #bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
.view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0} .view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0}
@ -197,7 +197,7 @@
#bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold} #bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold}
#bo_v_title {} #bo_v_title {}
.bo_v_cate {display:inline-block;background:#e2eaf6;color:#3a8afd;border-radius:13px;line-height:20px;border-radius:5px;padding:0 5px;font-weight:bold} .bo_v_cate {display:inline-block;background:#e2eaf6;color:#3a8afd;line-height:20px;border-radius:5px;padding:0 5px;font-weight:bold}
.bo_v_tit {display:block;font-size:1.5em;margin:10px 0 0} .bo_v_tit {display:block;font-size:1.5em;margin:10px 0 0}
#bo_v_info {padding:15px 0;color:#8e8e8e;line-height:20px} #bo_v_info {padding:15px 0;color:#8e8e8e;line-height:20px}

View File

@ -161,7 +161,7 @@ jQuery(function($){
</section> </section>
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -19,7 +19,7 @@
.lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} .lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}
.lt .profile_img img {border-radius:50%;vertical-align:top} .lt .profile_img img {border-radius:50%;vertical-align:top}
.lt li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} .lt li .fa-lock {display:inline-block;line-height:14px;width:16px;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
.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} .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}
.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} .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}
.lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} .lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}

View File

@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php'; $self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
} }
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_login"> <div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_login">

View File

@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php'; $self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
} }
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_outlogin"> <div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_outlogin">

View File

@ -15,7 +15,7 @@ if( G5_SOCIAL_USE_POPUP ) {
} }
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<div> <div>
<div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_register"> <div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_register">

View File

@ -8,7 +8,7 @@ if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">', 11); add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">', 11);
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-default-theme.css">', 12); add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-default-theme.css">', 12);
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 13); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 13);
add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10); add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : ''; $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';

View File

@ -9,7 +9,7 @@ $socials = social_get_provider_service_name('', 'all');
$session_id = session_id(); $session_id = session_id();
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<li> <li>

View File

@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<!-- } 첨부파일 끝 --> <!-- } 첨부파일 끝 -->
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -67,7 +67,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
#bo_gall .profile_img img {border-radius:50%} #bo_gall .profile_img img {border-radius:50%}
#bo_gall .bo_tit .fa-download {width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} #bo_gall .bo_tit .fa-download {width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle}
#bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} #bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal}
#bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} #bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;}
#bo_gall .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.825em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:baseline} #bo_gall .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.825em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:baseline}
#bo_gall .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius:2px;vertical-align:middle;margin-right:2px} #bo_gall .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius:2px;vertical-align:middle;margin-right:2px}
#bo_gall .bo_tit .fa-lock {display:inline-block;line-height:16px;color:#999;text-align:center;vertical-align:middle} #bo_gall .bo_tit .fa-lock {display:inline-block;line-height:16px;color:#999;text-align:center;vertical-align:middle}
@ -122,12 +122,12 @@ box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#bo_gall li.empty_list {padding:85px 0;text-align:center} #bo_gall li.empty_list {padding:85px 0;text-align:center}
.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} .bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} .bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px;}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} .bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} .bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red} .bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block} .bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); .bo_sch select {width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); .bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);

View File

@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<!-- } 첨부파일 끝 --> <!-- } 첨부파일 끝 -->
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -15,7 +15,7 @@
.pic_lt li .lt_img img, .pic_lt li .lt_img video {width:100%;height:auto} .pic_lt li .lt_img img, .pic_lt li .lt_img video {width:100%;height:auto}
.pic_lt li a:hover {color:#a22121} .pic_lt li a:hover {color:#a22121}
.pic_lt li .fa-heart {color:#ff0000} .pic_lt li .fa-heart {color:#ff0000}
.pic_lt li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} .pic_lt li .fa-lock {display:inline-block;line-height:14px;width:16px;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
.pic_lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} .pic_lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
.pic_lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} .pic_lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}
.pic_lt li .fa-caret-right {color:#bbb} .pic_lt li .fa-caret-right {color:#bbb}

View File

@ -11,12 +11,12 @@
.pic_li_lt ul:after {display:block;visibility:hidden;clear:both;content:""} .pic_li_lt ul:after {display:block;visibility:hidden;clear:both;content:""}
.pic_li_lt li {border-bottom:1px solid #e5ecee;margin-bottom:10px} .pic_li_lt li {border-bottom:1px solid #e5ecee;margin-bottom:10px}
.pic_li_lt li .lt_img {display:none} .pic_li_lt li .lt_img {display:none}
.pic_li_lt li:first-child .lt_img {display:block;margin:0 0 10px;display:block} .pic_li_lt li:first-child .lt_img {display:block;margin:0 0 10px;}
.pic_li_lt li:first-child .lt_img img, .pic_li_lt li .lt_img video {width:100%;height:auto} .pic_li_lt li:first-child .lt_img img, .pic_li_lt li .lt_img video {width:100%;height:auto}
.pic_li_lt li .pic_li_tit {font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle} .pic_li_lt li .pic_li_tit {font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle}
.pic_li_lt li .fa-heart {color:#ff0000} .pic_li_lt li .fa-heart {color:#ff0000}
.pic_li_lt li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} .pic_li_lt li .fa-lock {display:inline-block;line-height:14px;width:16px;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
.pic_li_lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} .pic_li_lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
.pic_li_lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} .pic_li_lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}
.pic_li_lt li .fa-caret-right {color:#bbb} .pic_li_lt li .fa-caret-right {color:#bbb}

View File

@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php'; $self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
} }
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<div id="sns_login" class="login-sns sns-wrap-32 sns-wrap-over"> <div id="sns_login" class="login-sns sns-wrap-32 sns-wrap-over">

View File

@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php'; $self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
} }
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_outlogin"> <div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_outlogin">

View File

@ -15,7 +15,7 @@ if( G5_SOCIAL_USE_POPUP ) {
} }
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<div> <div>

View File

@ -8,7 +8,7 @@ if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">', 11); add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">', 11);
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-default-theme.css">', 12); add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-default-theme.css">', 12);
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 13); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 13);
add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10); add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : ''; $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';

View File

@ -9,7 +9,7 @@ $socials = social_get_provider_service_name('', 'all');
$session_id = session_id(); $session_id = session_id();
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 10);
?> ?>
<li> <li>

View File

@ -80,7 +80,7 @@ border:1px solid #558ab7 !important;
#logo {float:left;padding:30px 0 0} #logo {float:left;padding:30px 0 0}
.hd_sch_wr {float:left;padding:30px 0;;width:445px;margin-left:65px} .hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} #hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden} #hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff} #hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}

View File

@ -159,7 +159,7 @@ jQuery(function($){
</section> </section>
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -161,7 +161,7 @@ jQuery(function($){
</section> </section>
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<!-- } 첨부파일 끝 --> <!-- } 첨부파일 끝 -->
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>

View File

@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<!-- } 첨부파일 끝 --> <!-- } 첨부파일 끝 -->
<?php } ?> <?php } ?>
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?> <?php if(isset($view['link']) && array_filter($view['link'])) { ?>
<!-- 관련링크 시작 { --> <!-- 관련링크 시작 { -->
<section id="bo_v_link"> <section id="bo_v_link">
<h2>관련링크</h2> <h2>관련링크</h2>