Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de9ba8db5b | ||
|
|
a18cd9d971 | ||
|
|
4ae4bea8e5 | ||
|
|
54e5c1b838 | ||
|
|
68a3d59a57 | ||
|
|
afc8adf737 | ||
|
|
02b085b4be | ||
|
|
765889f67f | ||
|
|
d980c4683d | ||
|
|
75b3e34696 | ||
|
|
10d3847c8d | ||
|
|
424d29a77c | ||
|
|
b6c6644acb | ||
|
|
1fa690cb2c | ||
|
|
ff2e30cd59 | ||
|
|
90ff96c581 | ||
|
|
1cdb1b9397 | ||
|
|
0832f72914 | ||
|
|
4f2e891e62 | ||
|
|
dd8e7d8e30 | ||
|
|
5102e87649 | ||
|
|
ed1d882091 | ||
|
|
26a8d29b38 | ||
|
|
c0a92fdf0f | ||
|
|
714c55485d | ||
|
|
c5ca99cd20 | ||
|
|
e9439c87d1 | ||
|
|
9093603494 | ||
|
|
dff5c711e1 | ||
|
|
e3e6d31c10 | ||
|
|
2e3f53ed8a | ||
|
|
5f27233b00 | ||
|
|
d8746de966 | ||
|
|
8737c67448 | ||
|
|
f1f639070d | ||
|
|
d015f63301 | ||
|
|
0e2cb366e6 | ||
|
|
bf13cf82ee | ||
|
|
94d04817c7 | ||
|
|
1971be3186 | ||
|
|
df9891e68b | ||
|
|
d19cfdc722 | ||
|
|
158a7f50d8 | ||
|
|
2ff4306cc6 | ||
|
|
2f9bb48342 | ||
|
|
69c839ef0f | ||
|
|
5353f75284 | ||
|
|
5ba1e37f04 | ||
|
|
4648b49711 | ||
|
|
cf3a4e9e95 | ||
|
|
fc4b095fa1 | ||
|
|
12eabe4930 | ||
|
|
3e04f1403f | ||
|
|
dd7bd68e72 | ||
|
|
ccf8a27713 | ||
|
|
94a8cc3eb6 | ||
|
|
63822016d5 |
+28
-1
@@ -77,9 +77,15 @@ if (!isset($board['bo_mobile_subject'])) {
|
||||
}
|
||||
|
||||
if (!isset($board['bo_use_captcha'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_captcha` TINYINT NOT NULL DEFAULT '0' AFTER `bo_use_sns` ");
|
||||
sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_captcha` TINYINT NOT NULL DEFAULT '0' AFTER `bo_use_sns` ", false);
|
||||
}
|
||||
|
||||
if (!isset($board['bo_select_editor'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_select_editor` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bo_use_dhtml_editor` ", false);
|
||||
}
|
||||
|
||||
run_event('adm_board_form_before', $board, $w);
|
||||
|
||||
$required = "";
|
||||
$readonly = "";
|
||||
$sound_only = "";
|
||||
@@ -482,6 +488,27 @@ $pg_anchor = '<ul class="anchor">
|
||||
<label for="chk_all_use_dhtml_editor">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_select_editor">게시판 에디터 선택</label></th>
|
||||
<td>
|
||||
<?php echo help('게시판에 사용할 에디터를 설정합니다. 스킨에 따라 적용되지 않을 수 있습니다.') ?>
|
||||
<select name="bo_select_editor" id="bo_select_editor">
|
||||
<?php
|
||||
$arr = get_skin_dir('', G5_EDITOR_PATH);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">기본환경설정의 에디터 사용</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($board['bo_select_editor'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_select_editor" value="1" id="chk_grp_select_editor">
|
||||
<label for="chk_grp_select_editor">그룹적용</label>
|
||||
<input type="checkbox" name="chk_all_select_editor" value="1" id="chk_all_select_editor">
|
||||
<label for="chk_all_select_editor">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_use_rss_view">RSS 보이기 사용</label></th>
|
||||
<td>
|
||||
|
||||
@@ -114,6 +114,7 @@ $sql_common = " gr_id = '{$gr_id}',
|
||||
bo_use_file_content = '{$_POST['bo_use_file_content']}',
|
||||
bo_use_secret = '{$_POST['bo_use_secret']}',
|
||||
bo_use_dhtml_editor = '{$_POST['bo_use_dhtml_editor']}',
|
||||
bo_select_editor = '{$_POST['bo_select_editor']}',
|
||||
bo_use_rss_view = '{$_POST['bo_use_rss_view']}',
|
||||
bo_use_good = '{$_POST['bo_use_good']}',
|
||||
bo_use_nogood = '{$_POST['bo_use_nogood']}',
|
||||
@@ -301,6 +302,7 @@ if (is_checked('chk_grp_use_sideview')) $grp_fields .= " , bo_use_sidevi
|
||||
if (is_checked('chk_grp_use_file_content')) $grp_fields .= " , bo_use_file_content = '{$bo_use_file_content}' ";
|
||||
if (is_checked('chk_grp_use_secret')) $grp_fields .= " , bo_use_secret = '{$bo_use_secret}' ";
|
||||
if (is_checked('chk_grp_use_dhtml_editor')) $grp_fields .= " , bo_use_dhtml_editor = '{$bo_use_dhtml_editor}' ";
|
||||
if (is_checked('chk_grp_select_editor')) $grp_fields .= " , bo_select_editor = '{$bo_select_editor}' ";
|
||||
if (is_checked('chk_grp_use_rss_view')) $grp_fields .= " , bo_use_rss_view = '{$bo_use_rss_view}' ";
|
||||
if (is_checked('chk_grp_use_good')) $grp_fields .= " , bo_use_good = '{$bo_use_good}' ";
|
||||
if (is_checked('chk_grp_use_nogood')) $grp_fields .= " , bo_use_nogood = '{$bo_use_nogood}' ";
|
||||
@@ -390,6 +392,7 @@ if (is_checked('chk_all_use_sideview')) $all_fields .= " , bo_use_sidevi
|
||||
if (is_checked('chk_all_use_file_content')) $all_fields .= " , bo_use_file_content = '{$bo_use_file_content}' ";
|
||||
if (is_checked('chk_all_use_secret')) $all_fields .= " , bo_use_secret = '{$bo_use_secret}' ";
|
||||
if (is_checked('chk_all_use_dhtml_editor')) $all_fields .= " , bo_use_dhtml_editor = '{$bo_use_dhtml_editor}' ";
|
||||
if (is_checked('chk_all_select_editor')) $all_fields .= " , bo_select_editor = '{$bo_select_editor}' ";
|
||||
if (is_checked('chk_all_use_rss_view')) $all_fields .= " , bo_use_rss_view = '{$bo_use_rss_view}' ";
|
||||
if (is_checked('chk_all_use_good')) $all_fields .= " , bo_use_good = '{$bo_use_good}' ";
|
||||
if (is_checked('chk_all_use_nogood')) $all_fields .= " , bo_use_nogood = '{$bo_use_nogood}' ";
|
||||
|
||||
@@ -69,5 +69,7 @@ if ($w == '') {
|
||||
alert('제대로 된 값이 넘어오지 않았습니다.');
|
||||
}
|
||||
|
||||
run_event('admin_boardgroup_form_update', $gr_id, $w);
|
||||
|
||||
goto_url('./boardgroup_form.php?w=u&gr_id='.$gr_id.'&'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -10,19 +10,23 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$count = count($_POST['chk']);
|
||||
$post_chk = isset($_POST['chk']) ? (array) $_POST['chk'] : array();
|
||||
$post_group_id = isset($_POST['group_id']) ? (array) $_POST['group_id'] : array();
|
||||
$act_button = isset($_POST['act_button']) ? $_POST['act_button'] : '';
|
||||
|
||||
$count = count($post_chk);
|
||||
|
||||
if(!$count)
|
||||
alert($_POST['act_button'].'할 게시판그룹을 1개이상 선택해 주세요.');
|
||||
alert($act_button.'할 게시판그룹을 1개이상 선택해 주세요.');
|
||||
|
||||
for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$k = $_POST['chk'][$i];
|
||||
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $_POST['group_id'][$k]);
|
||||
$k = $post_chk[$i];
|
||||
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $post_group_id[$k]);
|
||||
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'][$k])) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags(clean_xss_attributes($_POST['gr_admin'][$k])) : '';
|
||||
|
||||
if($_POST['act_button'] == '선택수정') {
|
||||
if($act_button == '선택수정') {
|
||||
$sql = " update {$g5['group_table']}
|
||||
set gr_subject = '{$gr_subject}',
|
||||
gr_device = '".sql_real_escape_string($_POST['gr_device'][$k])."',
|
||||
@@ -33,7 +37,7 @@ for ($i=0; $i<$count; $i++)
|
||||
if ($is_admin != 'super')
|
||||
$sql .= " and gr_admin = '{$gr_admin}' ";
|
||||
sql_query($sql);
|
||||
} else if($_POST['act_button'] == '선택삭제') {
|
||||
} else if($act_button == '선택삭제') {
|
||||
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where gr_id = '$gr_id' ");
|
||||
if ($row['cnt'])
|
||||
alert("이 그룹에 속한 게시판이 존재하여 게시판 그룹을 삭제할 수 없습니다.\\n\\n이 그룹에 속한 게시판을 먼저 삭제하여 주십시오.", './board_list.php?sfl=gr_id&stx='.$gr_id);
|
||||
@@ -46,5 +50,7 @@ for ($i=0; $i<$count; $i++)
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_boardgroup_list_update', $act_button, $chk, $post_group_id, $qstr);
|
||||
|
||||
goto_url('./boardgroup_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
+23
-3
@@ -1129,7 +1129,7 @@ include_once('_rewrite_config_form.php');
|
||||
<label for="check_social_payco">페이코 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>페이코 CallbackURL</h3>
|
||||
<p><?php echo get_social_callbackurl('payco'); ?></p>
|
||||
<p><?php echo get_social_callbackurl('payco', false, true); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -1157,7 +1157,7 @@ include_once('_rewrite_config_form.php');
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_twitter_key">트위터 컨슈머 Key</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_twitter_key" value="<?php echo $config['cf_twitter_key'] ?>" id="cf_twitter_key" class="frm_input" size="40"> <a href="https://dev.twitter.com/apps" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
<input type="text" name="cf_twitter_key" value="<?php echo $config['cf_twitter_key'] ?>" id="cf_twitter_key" class="frm_input" size="40"> <a href="https://developer.twitter.com/en/apps" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_twitter_secret">트위터 컨슈머 Secret</label></th>
|
||||
<td>
|
||||
@@ -1183,7 +1183,7 @@ include_once('_rewrite_config_form.php');
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_kakao_rest_key">카카오 REST API 키</label></th>
|
||||
<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>
|
||||
<th scope="row"><label for="cf_kakao_client_secret">카카오 Client Secret</label></th>
|
||||
<td>
|
||||
@@ -1434,6 +1434,26 @@ $(function(){
|
||||
|
||||
function fconfigform_submit(f)
|
||||
{
|
||||
var current_user_ip = "<?php echo $_SERVER['REMOTE_ADDR']; ?>";
|
||||
var cf_intercept_ip_val = f.cf_intercept_ip.value;
|
||||
|
||||
if( cf_intercept_ip_val && current_user_ip ){
|
||||
var cf_intercept_ips = cf_intercept_ip_val.split("\n");
|
||||
|
||||
for(var i=0; i < cf_intercept_ips.length; i++){
|
||||
if ( cf_intercept_ips[i].trim() ) {
|
||||
cf_intercept_ips[i] = cf_intercept_ips[i].replace(".", "\.");
|
||||
cf_intercept_ips[i] = cf_intercept_ips[i].replace("+", "[0-9\.]+");
|
||||
|
||||
var re = new RegExp(cf_intercept_ips[i]);
|
||||
if ( re.test(current_user_ip) ){
|
||||
alert("현재 접속 IP : "+ current_user_ip +" 가 차단될수 있기 때문에, 다른 IP를 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
f.action = "./config_form_update.php";
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,24 @@ foreach( $check_keys as $key ){
|
||||
|
||||
$_POST['cf_icode_server_port'] = isset($_POST['cf_icode_server_port']) ? preg_replace('/[^0-9]/', '', $_POST['cf_icode_server_port']) : '7295';
|
||||
|
||||
if(isset($_POST['cf_intercept_ip']) && $_POST['cf_intercept_ip']){
|
||||
|
||||
$pattern = explode("\n", trim($_POST['cf_intercept_ip']));
|
||||
for ($i=0; $i<count($pattern); $i++) {
|
||||
$pattern[$i] = trim($pattern[$i]);
|
||||
if (empty($pattern[$i]))
|
||||
continue;
|
||||
|
||||
$pattern[$i] = str_replace(".", "\.", $pattern[$i]);
|
||||
$pattern[$i] = str_replace("+", "[0-9\.]+", $pattern[$i]);
|
||||
$pat = "/^{$pattern[$i]}$/";
|
||||
|
||||
if( preg_match($pat, $_SERVER['REMOTE_ADDR']) ){
|
||||
alert("현재 접속 IP : ".$_SERVER['REMOTE_ADDR']." 가 차단될수 있기 때문에, 다른 IP를 입력해 주세요.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$sql = " update {$g5['config_table']}
|
||||
set cf_title = '{$_POST['cf_title']}',
|
||||
cf_admin = '{$_POST['cf_admin']}',
|
||||
|
||||
+44
-42
@@ -13,16 +13,16 @@ legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-inde
|
||||
label, input, button, select, img {vertical-align:middle}
|
||||
input, button {margin:0;padding:0;font-family:'Malgun Gothic',"맑은 고딕",AppleGothic,Dotum,"돋움", sans-serif;font-size:1em}
|
||||
button,input[type="submit"] {cursor:pointer}
|
||||
textarea, select {font-family:'Malgun Gothic',"맑은 고딕",AppleGothic,Dotum,"돋움", sans-serif;;font-size:1em}
|
||||
textarea, select {font-family:'Malgun Gothic',"맑은 고딕",AppleGothic,Dotum,"돋움", sans-serif;font-size:1em}
|
||||
select {margin:0}
|
||||
p {margin:0;padding:0;word-break:break-all}
|
||||
pre {overflow-x:scroll;font-size:1.1em}
|
||||
a:link, a:visited {color:#000;text-decoration:none}
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
h2{font-size: 1.083em;font-weight: bold;margin:10px 0}
|
||||
@@ -39,12 +39,12 @@ h2{font-size: 1.083em;font-weight: bold;margin:10px 0}
|
||||
#tnb{float:right;padding:10px}
|
||||
#tnb ul:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#tnb li{float:left;position:relative;margin-left:3px}
|
||||
#tnb a{color:#fff;;padding:0 10px;display:block;line-height:30px;}
|
||||
#tnb a{color:#fff;padding:0 10px;display:block;line-height:30px;}
|
||||
#tnb .tnb_service{border-radius:3px;background:#4e5eb7;color:#fff;padding:0 10px;text-align:left;height:30px;line-height:30px;}
|
||||
#tnb .tnb_service:hover{background:#5969c3}
|
||||
#tnb button{width:100px;;border:0;border-radius:3px;background:#4e5eb7;color:#fff;padding:0 30px 0 10px;text-align:left;height:30px;position:relative;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;}
|
||||
#tnb button span{display:block;text-indent:-999px;overflow:hidden;width:30px;border-radius:3px;height:30px;position:absolute;top:0;right:0;background:url(../img/op_btn.png) 50% 50% no-repeat #5969c3}
|
||||
#tnb button:hover {background:#5969c3}
|
||||
#tnb button{width:100px;border:0;border-radius:3px;background:#4e5eb7;color:#fff;padding:0 30px 0 10px;text-align:left;height:30px;position:relative;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;}
|
||||
#tnb button span{display:block;text-indent:-999px;overflow:hidden;width:30px;border-radius:3px;height:30px;position:absolute;top:0;right:0;background:url(../img/op_btn.png) 50% 50% no-repeat #5969c3}
|
||||
#tnb button:hover {background:#5969c3}
|
||||
#tnb .tnb_mb_area{display:none;background:#5e6dc2;width:100px;position:absolute;padding:5px;margin-top:1px;}
|
||||
#tnb .tnb_mb_area a{padding:0}
|
||||
#tnb .tnb_mb_area li{float:none;}
|
||||
@@ -75,9 +75,9 @@ h2{font-size: 1.083em;font-weight: bold;margin:10px 0}
|
||||
#gnb .on .btn_op.menu-900{background:url(../img/menu-4.png) 50% 50% no-repeat #fff}
|
||||
#gnb .gnb_li button:hover{background-color:#f3f3f3}
|
||||
#gnb .gnb_oparea{display:none;position:absolute;top:0;left:50px;background:#fff;height:100%;width:170px;padding:20px;border-right:1px solid #dbdbdb;
|
||||
-webkit-box-shadow: 2px 0 2px rgba(150,150,150,100.1);
|
||||
-moz-box-shadow: 2px 0 2px rgba(150,150,150,0.1);
|
||||
box-shadow: 2px 0 2px rgba(150,150,150,0.1);}
|
||||
-webkit-box-shadow: 2px 0 2px rgba(150,150,150,100.1);
|
||||
-moz-box-shadow: 2px 0 2px rgba(150,150,150,0.1);
|
||||
box-shadow: 2px 0 2px rgba(150,150,150,0.1);}
|
||||
#gnb .on .gnb_oparea{display:block}
|
||||
#gnb .gnb_oparea h3{margin-bottom:10px;line-height:18px;font-size:1.17em}
|
||||
#gnb .gnb_oparea li{line-height:28px}
|
||||
@@ -181,10 +181,10 @@ a.btn_submit{background:#ff4081;color:#fff}
|
||||
.btn_add01 button {margin:0}
|
||||
|
||||
|
||||
.td_mng a.btn,.td_mng a{display:inline-block;height:26px;line-height:26px;border:0;;border-radius:3px;padding:0 8px;margin:1px;font-weight:normal}
|
||||
.td_mng button,.td_mng button.btn{height:26px;border:0;border-radius:3px;padding:0 8px;margin:1px;border:0;;font-weight:normal}
|
||||
.btn{height:30px;border:0;;border-radius:5px;padding:0 10px;font-weight:bold;font-size:1.09em;vertical-align:middle}
|
||||
a.btn{display:inline-block;height:30px;line-height:30px;border:0;;border-radius:5px;padding:0 10px;font-weight:bold;font-size:1.09em;;vertical-align:middle}
|
||||
.td_mng a.btn, .td_mng a{display:inline-block;height:26px;line-height:26px;border:0;border-radius:3px;padding:0 8px;margin:1px;font-weight:normal}
|
||||
.td_mng button, .td_mng button.btn{height:26px;border:0;border-radius:3px;padding:0 8px;margin:1px;font-weight:normal}
|
||||
.btn{height:30px;border:0;border-radius:5px;padding:0 10px;font-weight:bold;font-size:1.09em;vertical-align:middle}
|
||||
a.btn{display:inline-block;height:30px;line-height:30px;border:0;border-radius:5px;padding:0 10px;font-weight:bold;font-size:1.09em;vertical-align:middle}
|
||||
.btn_submit{background:#ff4081;color:#fff}
|
||||
a.btn_submit{background:#ff4081;color:#fff}
|
||||
.btn_submit:hover{background:#ff1464}
|
||||
@@ -195,19 +195,21 @@ a.btn_submit{background:#ff4081;color:#fff}
|
||||
.btn_03,a.btn_03{background:#3f51b5;color:#fff;}
|
||||
|
||||
.btn_frmline{display:inline-block;background:#9eacc6;color:#fff;height:35px;border:0;border-radius:5px;padding:0 10px}
|
||||
a.btn_frmline{display:inline-block;background:#9eacc6;color:#fff;height:35px;line-height:33px;border-radius:5px;padding:0 10px;text-decoration:none !important}
|
||||
a.btn_frmline{display:inline-block;background:#9eacc6;color:#fff;height:35px;line-height:33px;border-radius:5px;padding:0 10px;text-decoration:none !important}
|
||||
.btn_ov01{display:inline-block;line-height:30px;height:30px;font-size:0.92em;vertical-align:top}
|
||||
.btn_ov01:after{display:block;visibility:hidden;clear :both;content:""}
|
||||
.btn_ov01 .ov_txt{float:left;background:#9eacc6;color:#fff;border-radius:5px 0 0 5px;padding:0 5px}
|
||||
.btn_ov01 .ov_num{float:left;background:#ededed;color:#666;border-radius:0 5px 5px 0;padding:0 5px}
|
||||
a.btn_ov02,a.ov_listall{display:inline-block;line-height:30px;height:30px;font-size:0.92em;background:#565e8c;color:#fff;vertical-align:top;border-radius:5px;padding:0 7px }
|
||||
a.btn_ov02:hover,a.ov_listall:hover{background:#3f51b5}
|
||||
|
||||
.local_ov01.local_ov [data-tooltip-text]:hover {position:relative}
|
||||
.local_ov01.local_ov [data-tooltip-text]:hover:after{line-height:20px;background-color:#000;background-color:rgba(0,0,0,0.8);-webkit-box-shadow:0 0 3px 1px rgba(50,50,50,0.4);-moz-box-shadow:0 0 3px 1px rgba(50,50,50,0.4);box-shadow:0 0 3px 1px rgba(50,50,50,0.4);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;color:#FFF;font-size:11px;content:attr(data-tooltip-text);white-space: pre;margin-bottom:10px;top:130%;left:0;padding:7px 12px;position:absolute;max-width:500px;word-wrap:break-word;z-index:9999}
|
||||
|
||||
/*form*/
|
||||
.sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
|
||||
.frm_input{height:35px;line-height:32px;border:1px solid #d5d5d5;}
|
||||
.frm_input_full{width:100%}
|
||||
.required{background:url('../img/wrest.gif') top right no-repeat #fff !important}
|
||||
.required{background:url('../img/wrest.gif') top right no-repeat #fff !important}
|
||||
select{height:35px;line-height:32px;border:1px solid #d5d5d5;}
|
||||
textarea{width:100%;border:1px solid #d5d5d5;min-height:80px}
|
||||
legend {position:absolute;width:0;height:0;font-size:0;line-height:0;text-indent:-9999em;border:0;overflow:hidden}
|
||||
@@ -232,7 +234,7 @@ legend {position:absolute;width:0;height:0;font-size:0;line-height:0;text-indent
|
||||
.color_st03{background:#b668d0;color:#fff;display:inline-block;padding:0 3px;font-size:0.92em;line-height:18px}
|
||||
.color_st04{background:#ffa700;color:#fff;display:inline-block;padding:0 3px;font-size:0.92em;line-height:18px}
|
||||
.color_st05{background:#688fef;color:#fff;display:inline-block;padding:0 3px;font-size:0.92em;line-height:18px}
|
||||
.color_st06{;color:#ff0000;border:1px solid #ff0000;display:inline-block;padding:0 3px;font-size:0.92em;line-height:18px}
|
||||
.color_st06{color:#ff0000;border:1px solid #ff0000;display:inline-block;padding:0 3px;font-size:0.92em;line-height:18px}
|
||||
|
||||
/* 폼 안내글 */
|
||||
.frm_info {display:block;padding:0 0 5px;color:#5b747e}
|
||||
@@ -242,7 +244,7 @@ legend {position:absolute;width:0;height:0;font-size:0;line-height:0;text-indent
|
||||
.anchor:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.anchor li{float:left;margin-left:-1px;list-style:none}
|
||||
.anchor a {display:inline-block;padding:5px 10px;border:1px solid #c8ced1;background:#d6dde1;text-decoration:none}
|
||||
.anchor .selected{background:#3f51b5}
|
||||
.anchor .selected{background:#3f51b5}
|
||||
|
||||
|
||||
|
||||
@@ -261,22 +263,22 @@ border-bottom: 5px solid black;}
|
||||
|
||||
/* 페이지 내 검색 */
|
||||
.local_sch{}
|
||||
.local_sch:after ,.local_sch div:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
.local_sch .btn_sch{width:30px;height:30px;border:0;padding:0;float:left;background:url(../img/sch_btn.png) no-repeat 50% 50%;border:1px solid #dcdcdc;border-left:0;text-indent:-999px;overflow:hidden}
|
||||
.local_sch .btn_sch2{width:35px;height:35px;border:0;padding:0;background:url(../img/sch_btn.png) no-repeat 50% 50% #eee;border:1px solid #dcdcdc;text-indent:-999px;overflow:hidden}
|
||||
.local_sch:after, .local_sch div:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
.local_sch .btn_sch{width:30px;height:30px;border:1px solid #dcdcdc;border-left:0;padding:0;float:left;background:url(../img/sch_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden}
|
||||
.local_sch .btn_sch2{width:35px;height:35px;border:1px solid #dcdcdc;padding:0;background:url(../img/sch_btn.png) no-repeat 50% 50% #eee;text-indent:-999px;overflow:hidden}
|
||||
|
||||
.local_sch .sch_input{height:30px;border:1px solid #dcdcdc;border-right:0;;padding:0 5px;float:left;}
|
||||
.local_sch .sch_input{height:30px;border:1px solid #dcdcdc;border-right:0;padding:0 5px;float:left;}
|
||||
.local_sch select{height:30px;margin-right:3px;border:1px solid #dcdcdc}
|
||||
.local_sch01{margin: 10px 0;}
|
||||
.local_sch02{}
|
||||
.local_sch01 .frm_input{height:30px;border:1px solid #dcdcdc;padding:0 5px;}
|
||||
.local_sch01 .btn_submit{width:30px;height:30px;border:0;padding:0;background:url(../img/sch_btn.png) no-repeat 50% 50% #eee;border:1px solid #dcdcdc;text-indent:-999px;overflow:hidden}
|
||||
.local_sch03{;padding:5px 15px;background:#e9ebf9;margin:10px 0}
|
||||
.local_sch01 .btn_submit{width:30px;height:30px;padding:0;background:url(../img/sch_btn.png) no-repeat 50% 50% #eee;border:1px solid #dcdcdc;text-indent:-999px;overflow:hidden}
|
||||
.local_sch03{padding:5px 15px;background:#e9ebf9;margin:10px 0}
|
||||
.local_sch div{margin:5px 0;}
|
||||
.local_sch03 strong{display:inline-block;width:70px;}
|
||||
.local_sch03 label{margin-right:5px;display:inline-block}
|
||||
.local_sch03 label{margin-right:5px;display:inline-block}
|
||||
.local_sch03 button{height:30px;padding:0 5px;border:0;background:#9eacc6;color:#fff;}
|
||||
.local_sch03 .btn_submit{height:30px;padding:0 5px;border:0;;color:#fff;}
|
||||
.local_sch03 .btn_submit{height:30px;padding:0 5px;border:0;color:#fff;}
|
||||
.local_sch03 .frm_input{height:30px;border:1px solid #dcdcdc;padding:0 5px;}
|
||||
/* 페이지 내 실행 */
|
||||
.local_cmd {min-width:960px}
|
||||
@@ -303,7 +305,7 @@ border-bottom: 5px solid black;}
|
||||
/* 페이지 내 카운트 */
|
||||
.local_ov {min-width:960px}
|
||||
|
||||
.local_ov01 {position:relative;;margin: 10px 0;}
|
||||
.local_ov01 {position:relative;margin: 10px 0;}
|
||||
.local_ov01 .ov_a {display:inline-block;margin:0 0 0 5px;padding:0 0 0 10px;border-left:1px solid #ccc;color:#ff3061}
|
||||
|
||||
|
||||
@@ -624,7 +626,7 @@ td.td_grpset {width:160px;border-left:1px solid #e9ecee;text-align:center}
|
||||
-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);
|
||||
box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
.sv_wrap .sv:before{content: "";position: absolute;top: -6px;left: 15px;width: 0;height: 0;border-style: solid;border-width: 0 6px 6px 6px;border-color: transparent transparent #333 transparent;}
|
||||
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb }
|
||||
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb }
|
||||
.sv_wrap .sv a:hover{background:#000;color:#fff}
|
||||
.sv_member{color:#333}
|
||||
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
|
||||
@@ -708,15 +710,15 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
/* 캡챠 */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
/*테마*/
|
||||
.theme_p{margin:0 0 10px }
|
||||
#theme_list{padding:0;margin:0;list-style:none; width: 1000px;position:relative}
|
||||
#theme_list{padding:0;margin:0;list-style:none; width: 1000px;position:relative}
|
||||
#theme_list:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_list li{margin:10px 10px 10px 0;float:left}
|
||||
#theme_list li:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
@@ -724,34 +726,34 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
#theme_list li .tmli_if>img{width:300px;height:225px;}
|
||||
#theme_list li .tmli_if:hover>img{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter: alpha(opacity=50);-moz-opacity:0.5;-khtml-opacity: 0.5;opacity: 0.5;}
|
||||
#theme_list li .tmli_tit{position:relative; border-top: 1px solid #d1dee2; background: #e5ecef;}
|
||||
#theme_list li .tmli_tit p{height:40px;line-height:40px;padding:0 10px 0;font-weight:bold;text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
|
||||
#theme_list li .tmli_tit p{height:40px;line-height:40px;padding:0 10px 0;font-weight:bold;text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
|
||||
#theme_list li .tmli_tit button.tmli_dt{position:absolute;top:8px;right:10px;padding:5px;background:#111;color:#fff;display:none;border:none}
|
||||
#theme_list li .tmli_if:hover button.tmli_dt{display:block}
|
||||
#theme_list li .theme_sl{float:left;border:none;margin-top:5px;padding:0 5px;height:26px;background:#999;color:#fff}
|
||||
#theme_list li .theme_sl:hover{background:#ff3061}
|
||||
#theme_list li .theme_deactive{margin-left:4px}
|
||||
#theme_list li .theme_sl_use{background:#ff3061;line-height:26px}
|
||||
#theme_list li .theme_pr{float:right;margin-top:5px;padding:0 5px;height:26px;line-height:24px; border: 1px solid #ccc; background: #fafafa; }
|
||||
#theme_list li .theme_preview{ float: right; margin-top: 5px; padding:0 5px;height:26px; border: 1px solid #ccc; background: #fafafa; margin-right:3px}
|
||||
#theme_list li .theme_pr{float:right;margin-top:5px;padding:0 5px;height:26px;line-height:24px; border: 1px solid #ccc; background: #fafafa; }
|
||||
#theme_list li .theme_preview{ float: right; margin-top: 5px; padding:0 5px;height:26px; border: 1px solid #ccc; background: #fafafa; margin-right:3px}
|
||||
|
||||
|
||||
#theme_detail{position:fixed;top:50%;height:540px;width:900px;margin-top:-271px;background:#fff;background:#f3f3f3;border:1px solid #000;
|
||||
-webkit-box-shadow: 1px 2px 5px rgba(150,150,150,100.5);
|
||||
-moz-box-shadow: 1px 2px 5px rgba(150,150,150,0.5);
|
||||
box-shadow: 1px 2px 5px rgba(150,150,150,0.5);z-index:1000}
|
||||
-webkit-box-shadow: 1px 2px 5px rgba(150,150,150,100.5);
|
||||
-moz-box-shadow: 1px 2px 5px rgba(150,150,150,0.5);
|
||||
box-shadow: 1px 2px 5px rgba(150,150,150,0.5);z-index:1000}
|
||||
#theme_detail:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_detail h2{font-size:1.25em;background:#fff;padding:0 15px;line-height:40px;border-bottom:1px solid #d8d8d8;margin:0}
|
||||
.theme_dt_img{float:left;padding:20px}
|
||||
.theme_dt_img img{border:1px solid #aaa;}
|
||||
.theme_dt_if{float:left;width:235px;padding:20px 0}
|
||||
.theme_dt_if table{width:100%;border-collapse:collapse;;margin:15px 0 0 ;font-size:0.92em}
|
||||
.theme_dt_if table{width:100%;border-collapse:collapse;margin:15px 0 0 ;font-size:0.92em}
|
||||
.theme_dt_if table th{padding:5px;background:#fff;border-bottom:1px solid #f3f3f3;vertical-align:top;color:#3f51b5}
|
||||
.theme_dt_if table td{padding:5px;background:#fff;border-bottom:1px solid #f3f3f3;line-height:1.56em}
|
||||
.theme_dt_if table td a{text-decoration:underline}
|
||||
.theme_dt_if p{line-height:1.5em}
|
||||
.if_p_bg{display:inline-block;width:20px;height:1px ;background:#000;margin:30px 0 10px}
|
||||
#theme_detail .theme_dt_btn{position:absolute;top:0px;right:0px;background:#fff;}
|
||||
#theme_detail .theme_dt_btn .close_btn{background:url('../img/close.png') 50% 50% no-repeat;width:40px;height:40px;overflow:hidden;border:0;text-indent:-99999px;border-left:1px solid #d8d8d8}
|
||||
#theme_detail .theme_dt_btn .close_btn{border:0;border-left:1px solid #d8d8d8;background:url('../img/close.png') 50% 50% no-repeat;width:40px;height:40px;overflow:hidden;text-indent:-99999px}
|
||||
|
||||
#theme_detail .theme_dt_btn .close_btn:hover{background-color:#eceffc}
|
||||
#theme_detail .theme_dt_btn .btn_03{line-height:28px;display:inline-block;vertical-align:top;margin-top:6px;padding:0 6px;border-radius:5px}
|
||||
|
||||
+3
-3
@@ -243,7 +243,8 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
$icon_file = G5_DATA_PATH.'/member/'.$mb_dir.'/'.get_mb_icon_name($mb['mb_id']).'.gif';
|
||||
if (file_exists($icon_file)) {
|
||||
$icon_url = str_replace(G5_DATA_PATH, G5_DATA_URL, $icon_file);
|
||||
echo '<img src="'.$icon_url.'" alt="">';
|
||||
$icon_filemtile = (defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME) ? '?'.filemtime($icon_file) : '';
|
||||
echo '<img src="'.$icon_url.$icon_filemtile.'" alt="">';
|
||||
echo '<input type="checkbox" id="del_mb_icon" name="del_mb_icon" value="1">삭제';
|
||||
}
|
||||
?>
|
||||
@@ -258,8 +259,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
$mb_dir = substr($mb['mb_id'],0,2);
|
||||
$icon_file = G5_DATA_PATH.'/member_image/'.$mb_dir.'/'.get_mb_icon_name($mb['mb_id']).'.gif';
|
||||
if (file_exists($icon_file)) {
|
||||
$icon_url = str_replace(G5_DATA_PATH, G5_DATA_URL, $icon_file);
|
||||
echo '<img src="'.$icon_url.'" alt="">';
|
||||
echo get_member_profile_img($mb['mb_id']);
|
||||
echo '<input type="checkbox" id="del_mb_img" name="del_mb_img" value="1">삭제';
|
||||
}
|
||||
?>
|
||||
|
||||
+2
-2
@@ -70,8 +70,8 @@ $colspan = 16;
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php echo $listall ?>
|
||||
<span class="btn_ov01"><span class="ov_txt">총회원수 </span><span class="ov_num"> <?php echo number_format($total_count) ?>명 </span></span>
|
||||
<a href="?sst=mb_intercept_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>" class="btn_ov01"> <span class="ov_txt">차단 </span><span class="ov_num"><?php echo number_format($intercept_count) ?>명</span></a>
|
||||
<a href="?sst=mb_leave_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>" class="btn_ov01"> <span class="ov_txt">탈퇴 </span><span class="ov_num"><?php echo number_format($leave_count) ?>명</span></a>
|
||||
<a href="?sst=mb_intercept_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>" class="btn_ov01" data-tooltip-text="차단된 순으로 정렬합니다.
전체 데이터를 출력합니다."> <span class="ov_txt">차단 </span><span class="ov_num"><?php echo number_format($intercept_count) ?>명</span></a>
|
||||
<a href="?sst=mb_leave_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>" class="btn_ov01" data-tooltip-text="탈퇴된 순으로 정렬합니다.
전체 데이터를 출력합니다."> <span class="ov_txt">탈퇴 </span><span class="ov_num"><?php echo number_format($leave_count) ?>명</span></a>
|
||||
</div>
|
||||
|
||||
<form id="fsearch" name="fsearch" class="local_sch01 local_sch" method="get">
|
||||
|
||||
@@ -68,5 +68,7 @@ for ($i=0; $i<$count; $i++)
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
run_event('admin_menu_list_update');
|
||||
|
||||
goto_url('./menu_list.php');
|
||||
?>
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
/* 휴대폰번호 파일 */
|
||||
#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 strong {display:inline-block;width:80px}
|
||||
#sms5_fileup_frm strong.sch_long {width:160px}
|
||||
|
||||
@@ -13,12 +13,12 @@ $g5['title'] = "휴대폰번호 관리";
|
||||
|
||||
if ($page < 1) $page = 1;
|
||||
|
||||
$bg_no = isset($bg_no) ? (int) $bg_no : 0;
|
||||
$bg_no = isset($bg_no) ? preg_replace('/[^0-9]/i', '', $bg_no) : '';
|
||||
$st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : '';
|
||||
|
||||
$sql_korean = $sql_group = $sql_search = $sql_no_hp = '';
|
||||
|
||||
if (is_numeric($bg_no))
|
||||
if (is_numeric($bg_no) && $bg_no)
|
||||
$sql_group = " and bg_no='$bg_no' ";
|
||||
else
|
||||
$sql_group = "";
|
||||
|
||||
+4
-2
@@ -100,7 +100,8 @@ if(preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $file['bf_source'])){
|
||||
}
|
||||
*/
|
||||
|
||||
$original = urlencode($file['bf_source']);
|
||||
//$original = urlencode($file['bf_source']);
|
||||
$original = rawurlencode($file['bf_source']);
|
||||
|
||||
@include_once($board_skin_path.'/download.tail.skin.php');
|
||||
|
||||
@@ -114,7 +115,8 @@ if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_
|
||||
} else if (preg_match("/Firefox/i", $_SERVER['HTTP_USER_AGENT'])){
|
||||
header("content-type: file/unknown");
|
||||
header("content-length: ".filesize($filepath));
|
||||
header("content-disposition: attachment; filename=\"".basename($file['bf_source'])."\"");
|
||||
//header("content-disposition: attachment; filename=\"".basename($file['bf_source'])."\"");
|
||||
header("content-disposition: attachment; filename=\"".$original."\"");
|
||||
header("content-description: php generated data");
|
||||
} else {
|
||||
header("content-type: file/unknown");
|
||||
|
||||
@@ -6,6 +6,8 @@ $g5['title'] = "로그인 검사";
|
||||
$mb_id = trim($_POST['mb_id']);
|
||||
$mb_password = trim($_POST['mb_password']);
|
||||
|
||||
run_event('member_login_check_before', $mb_id);
|
||||
|
||||
if (!$mb_id || !$mb_password)
|
||||
alert('회원아이디나 비밀번호가 공백이면 안됩니다.');
|
||||
|
||||
@@ -127,5 +129,22 @@ if(function_exists('social_login_success_after')){
|
||||
|
||||
run_event('member_login_check', $mb, $link, $is_social_login);
|
||||
|
||||
// 관리자로 로그인시 DATA 폴더의 쓰기 권한이 있는지 체크합니다. 쓰기 권한이 없으면 로그인을 못합니다.
|
||||
if( is_admin($mb['mb_id']) && is_dir(G5_DATA_PATH.'/tmp/') ){
|
||||
$tmp_data_file = G5_DATA_PATH.'/tmp/tmp-write-test-'.time();
|
||||
$tmp_data_check = @fopen($tmp_data_file, 'w');
|
||||
if($tmp_data_check){
|
||||
if(! @fwrite($tmp_data_check, G5_URL)){
|
||||
$tmp_data_check = false;
|
||||
}
|
||||
}
|
||||
@fclose($tmp_data_check);
|
||||
@unlink($tmp_data_file);
|
||||
|
||||
if(! $tmp_data_check){
|
||||
alert("data 폴더에 쓰기권한이 없거나 또는 웹하드 용량이 없는 경우\\n로그인을 못할수도 있으니, 용량 체크 및 쓰기 권한을 확인해 주세요.", $link);
|
||||
}
|
||||
}
|
||||
|
||||
goto_url($link);
|
||||
?>
|
||||
|
||||
@@ -20,7 +20,7 @@ run_event('memo_form_update_before', $recv_list);
|
||||
for ($i=0; $i<count($recv_list); $i++) {
|
||||
$row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
|
||||
if ($row) {
|
||||
if ($is_admin || ($row['mb_open'] && (!$row['mb_leave_date'] || !$row['mb_intercept_date']))) {
|
||||
if ($is_admin || ($row['mb_open'] && (!$row['mb_leave_date'] && !$row['mb_intercept_date']))) {
|
||||
$member_list['id'][] = $row['mb_id'];
|
||||
$member_list['nick'][] = $row['mb_nick'];
|
||||
} else {
|
||||
|
||||
+10
-2
@@ -27,6 +27,8 @@ $sql = " select distinct wr_num from $write_table where wr_id in ({$wr_id_list})
|
||||
$result = sql_query($sql);
|
||||
while ($row = sql_fetch_array($result))
|
||||
{
|
||||
$save[$cnt]['wr_contents'] = array();
|
||||
|
||||
$wr_num = $row['wr_num'];
|
||||
for ($i=0; $i<count($_POST['chk_bo_table']); $i++)
|
||||
{
|
||||
@@ -52,6 +54,8 @@ while ($row = sql_fetch_array($result))
|
||||
$result2 = sql_query($sql2);
|
||||
while ($row2 = sql_fetch_array($result2))
|
||||
{
|
||||
$save[$cnt]['wr_contents'][] = $row2['wr_content'];
|
||||
|
||||
$nick = cut_str($member['mb_nick'], $config['cf_cut_name']);
|
||||
if (!$row2['wr_is_comment'] && $config['cf_use_copy_log']) {
|
||||
if(strstr($row2['wr_option'], 'html')) {
|
||||
@@ -210,16 +214,20 @@ if ($sw == 'move')
|
||||
{
|
||||
if( isset($save[$i]['bf_file']) && $save[$i]['bf_file'] ){
|
||||
for ($k=0; $k<count($save[$i]['bf_file']); $k++) {
|
||||
$del_file = $save[$i]['bf_file'][$k];
|
||||
$del_file = run_replace('delete_file_path', clean_relative_paths($save[$i]['bf_file'][$k]), $save[$i]);
|
||||
|
||||
if ( is_file($del_file) && file_exists($del_file) ){
|
||||
@unlink($del_file);
|
||||
}
|
||||
|
||||
|
||||
// 썸네일 파일 삭제, 먼지손 님 코드 제안
|
||||
delete_board_thumbnail($bo_table, basename($save[$i]['bf_file'][$k]));
|
||||
}
|
||||
}
|
||||
|
||||
for ($k=0; $k<count($save[$i]['wr_contents']); $k++){
|
||||
delete_editor_thumbnail($save[$i]['wr_contents'][$k]);
|
||||
}
|
||||
|
||||
sql_query(" delete from $write_table where wr_parent = '{$save[$i]['wr_id']}' ");
|
||||
sql_query(" delete from {$g5['board_new_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
|
||||
|
||||
+2
-1
@@ -155,7 +155,8 @@ if(is_file($skin_file)) {
|
||||
|
||||
for ($i=1; $i<=2; $i++) {
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $view['qa_file'.$i])) {
|
||||
$view['img_file'][] = '<a href="'.G5_BBS_URL.'/view_image.php?fn='.urlencode('/data/qa/'.$view['qa_file'.$i]).'" target="_blank" class="view_image"><img src="'.G5_DATA_URL.'/qa/'.$view['qa_file'.$i].'"></a>';
|
||||
$attr_href = run_replace('thumb_view_image_href', G5_BBS_URL.'/view_image.php?fn='.urlencode('/'.G5_DATA_DIR.'/qa/'.$view['qa_file'.$i]), '/'.G5_DATA_DIR.'/qa/'.$view['qa_file'.$i], '', '', '', '');
|
||||
$view['img_file'][] = '<a href="'.$attr_href.'" target="_blank" class="view_image"><img src="'.G5_DATA_URL.'/qa/'.$view['qa_file'.$i].'"></a>';
|
||||
$view['img_count']++;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -131,11 +131,13 @@ include_once('./_head.php');
|
||||
|
||||
// 회원아이콘 경로
|
||||
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.get_mb_icon_name($member['mb_id']).'.gif';
|
||||
$mb_icon_url = G5_DATA_URL.'/member/'.substr($member['mb_id'],0,2).'/'.get_mb_icon_name($member['mb_id']).'.gif';
|
||||
$mb_icon_filemtile = (defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME && file_exists($mb_icon_path)) ? '?'.filemtime($mb_icon_path) : '';
|
||||
$mb_icon_url = G5_DATA_URL.'/member/'.substr($member['mb_id'],0,2).'/'.get_mb_icon_name($member['mb_id']).'.gif'.$mb_icon_filemtile;
|
||||
|
||||
// 회원이미지 경로
|
||||
$mb_img_path = G5_DATA_PATH.'/member_image/'.substr($member['mb_id'],0,2).'/'.get_mb_icon_name($member['mb_id']).'.gif';
|
||||
$mb_img_url = G5_DATA_URL.'/member_image/'.substr($member['mb_id'],0,2).'/'.get_mb_icon_name($member['mb_id']).'.gif';
|
||||
$mb_img_filemtile = (defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME && file_exists($mb_img_path)) ? '?'.filemtime($mb_img_path) : '';
|
||||
$mb_img_url = G5_DATA_URL.'/member_image/'.substr($member['mb_id'],0,2).'/'.get_mb_icon_name($member['mb_id']).'.gif'.$mb_img_filemtile;
|
||||
|
||||
$register_action_url = G5_HTTPS_BBS_URL.'/register_form_update.php';
|
||||
$req_nick = !isset($member['mb_nick_date']) || (isset($member['mb_nick_date']) && $member['mb_nick_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400)));
|
||||
|
||||
+1
-1
@@ -70,7 +70,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
|
||||
<item>
|
||||
<title><?php echo specialchars_replace($row['wr_subject']); ?></title>
|
||||
<link><?php echo specialchars_replace(get_pretty_url($bo_table, $wr_id)); ?></link>
|
||||
<link><?php echo specialchars_replace(get_pretty_url($bo_table, $row['wr_id'])); ?></link>
|
||||
<description><![CDATA[<?php echo $file ?><?php echo conv_content($row['wr_content'], $html) ?>]]></description>
|
||||
<dc:creator><?php echo specialchars_replace($row['wr_name']) ?></dc:creator>
|
||||
<?php
|
||||
|
||||
+35
-30
@@ -98,7 +98,7 @@ function sql_escape_string($str)
|
||||
// SQL Injection 등으로 부터 보호를 위해 sql_escape_string() 적용
|
||||
//------------------------------------------------------------------------------
|
||||
// magic_quotes_gpc 에 의한 backslashes 제거
|
||||
if (get_magic_quotes_gpc()) {
|
||||
if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
|
||||
$_POST = array_map_deep('stripslashes', $_POST);
|
||||
$_GET = array_map_deep('stripslashes', $_GET);
|
||||
$_COOKIE = array_map_deep('stripslashes', $_COOKIE);
|
||||
@@ -221,49 +221,45 @@ ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
|
||||
//------------------------------------------------------------------------------
|
||||
// 기본환경설정
|
||||
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
|
||||
$config = get_config();
|
||||
$config = get_config(true);
|
||||
|
||||
// 본인인증 또는 쇼핑몰 사용시에만 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())
|
||||
{
|
||||
// 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);
|
||||
|
||||
|
||||
$res = @session_start($options);
|
||||
|
||||
// IE 브라우저 또는 엣지브라우저 또는 IOS 모바일과 http환경에서는 secure; SameSite=None을 설정하지 않습니다.
|
||||
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
|
||||
return $res;
|
||||
}
|
||||
|
||||
$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);
|
||||
$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;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
session_start_samesite();
|
||||
session_start_samesite();
|
||||
} else {
|
||||
@session_start();
|
||||
@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'])
|
||||
define('G5_EDITOR_LIB', G5_EDITOR_PATH."/{$config['cf_editor']}/editor.lib.php");
|
||||
else
|
||||
define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");
|
||||
|
||||
define('G5_CAPTCHA_DIR', !empty($config['cf_captcha']) ? $config['cf_captcha'] : 'kcaptcha');
|
||||
define('G5_CAPTCHA_URL', G5_PLUGIN_URL.'/'.G5_CAPTCHA_DIR);
|
||||
@@ -446,7 +442,7 @@ if ($_SESSION['ss_mb_id']) { // 로그인중이라면
|
||||
$write = array();
|
||||
$write_table = "";
|
||||
if ($bo_table) {
|
||||
$board = get_board_db($bo_table);
|
||||
$board = get_board_db($bo_table, true);
|
||||
if ($board['bo_table']) {
|
||||
set_cookie("ck_bo_table", $board['bo_table'], 86400 * 1);
|
||||
$gr_id = $board['gr_id'];
|
||||
@@ -461,12 +457,22 @@ if ($bo_table) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 게시판에서
|
||||
if (isset($board['bo_select_editor']) && $board['bo_select_editor']){
|
||||
$config['cf_editor'] = $board['bo_select_editor'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($gr_id && !is_array($gr_id)) {
|
||||
$group = get_group($gr_id);
|
||||
$group = get_group($gr_id, true);
|
||||
}
|
||||
|
||||
if ($config['cf_editor']) {
|
||||
define('G5_EDITOR_LIB', G5_EDITOR_PATH."/{$config['cf_editor']}/editor.lib.php");
|
||||
} else {
|
||||
define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");
|
||||
}
|
||||
|
||||
// 회원, 비회원 구분
|
||||
$is_member = $is_guest = false;
|
||||
@@ -655,7 +661,6 @@ include_once(G5_BBS_PATH.'/visit_insert.inc.php');
|
||||
// 일정 기간이 지난 DB 데이터 삭제 및 최적화
|
||||
include_once(G5_BBS_PATH.'/db_table.optimize.php');
|
||||
|
||||
|
||||
// common.php 파일을 수정할 필요가 없도록 확장합니다.
|
||||
$extend_file = array();
|
||||
$tmp = dir(G5_EXTEND_PATH);
|
||||
|
||||
+3
-5
@@ -5,15 +5,13 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.4.2.7');
|
||||
define('G5_GNUBOARD_VER', '5.4.3.1');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
|
||||
if (PHP_VERSION >= '5.1.0') {
|
||||
//if (function_exists("date_default_timezone_set")) date_default_timezone_set("Asia/Seoul");
|
||||
date_default_timezone_set("Asia/Seoul");
|
||||
}
|
||||
// 기본 시간대 설정
|
||||
date_default_timezone_set("Asia/Seoul");
|
||||
|
||||
/********************
|
||||
경로 상수
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ border:1px solid #558ab7 !important;
|
||||
|
||||
#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 {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}
|
||||
|
||||
@@ -4,6 +4,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
// 유저 사이드뷰에서 아이콘 지정 안했을시 기본 no 프로필 이미지
|
||||
define('G5_NO_PROFILE_IMG', '<span class="profile_img"><img src="'.G5_IMG_URL.'/no_profile.gif" alt="no_profile" width="'.$config['cf_member_icon_width'].'" height="'.$config['cf_member_icon_height'].'"></span>');
|
||||
|
||||
define('G5_USE_MEMBER_IMAGE_FILETIME', TRUE);
|
||||
|
||||
// 썸네일 처리 방식, 비율유지 하지 않고 썸네일을 생성하려면 주석을 풀고 값은 false 입력합니다. ( true 또는 주석으로 된 경우에는 비율 유지합니다. )
|
||||
//define('G5_USE_THUMB_RATIO', false);
|
||||
?>
|
||||
@@ -47,6 +47,7 @@ CREATE TABLE IF NOT EXISTS `g5_board` (
|
||||
`bo_use_file_content` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`bo_use_secret` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`bo_use_dhtml_editor` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`bo_select_editor` varchar(50) NOT NULL DEFAULT '',
|
||||
`bo_use_rss_view` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`bo_use_good` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`bo_use_nogood` tinyint(4) NOT NULL DEFAULT '0',
|
||||
|
||||
+8
-30
@@ -165,33 +165,9 @@ function set_cookie(name, value, expirehours, domain)
|
||||
// 쿠키 얻음
|
||||
function get_cookie(name)
|
||||
{
|
||||
var find_sw = false;
|
||||
var start, end;
|
||||
var i = 0;
|
||||
|
||||
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 "";
|
||||
var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
|
||||
if (match) return unescape(match[2]);
|
||||
return "";
|
||||
}
|
||||
|
||||
// 쿠키 지움
|
||||
@@ -559,10 +535,12 @@ function font_resize(id, rmv_class, add_class, othis)
|
||||
{
|
||||
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_add_class", add_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);
|
||||
}
|
||||
|
||||
if(typeof othis !== "undefined"){
|
||||
$(othis).addClass('select').siblings().removeClass('select');
|
||||
|
||||
@@ -33,9 +33,9 @@ class FileCache
|
||||
*
|
||||
* @param string $id
|
||||
*/
|
||||
public function get($id)
|
||||
public function get($id, $expired_time=0)
|
||||
{
|
||||
$data = $this->_get($id);
|
||||
$data = $this->_get($id, $expired_time);
|
||||
return is_array($data) ? $data['data'] : FALSE;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class FileCache
|
||||
|
||||
}
|
||||
|
||||
protected function _get($id)
|
||||
protected function _get($id, $expired_time=0)
|
||||
{
|
||||
$cache_file_path = $this->get_cache_file_path($id);
|
||||
|
||||
@@ -68,20 +68,27 @@ class FileCache
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$server_time = defined('G5_SERVER_TIME') ? G5_SERVER_TIME : time();
|
||||
|
||||
try{
|
||||
$file_contents = file_get_contents($cache_file_path);
|
||||
$file_ex = explode("\n\n", $file_contents);
|
||||
$data = unserialize(base64_decode($file_ex[1]));
|
||||
} catch(Exception $e){
|
||||
$data = array('ttl'=>1, 'time'=>time() - 1000);
|
||||
$data = array('ttl'=>1, 'time'=> $server_time - 1000);
|
||||
}
|
||||
|
||||
if ($data['ttl'] > 0 && time() > $data['time'] + $data['ttl'])
|
||||
|
||||
if ($data['ttl'] > 0 && $server_time > $data['time'] + $data['ttl'])
|
||||
{
|
||||
unlink( $cache_file_path );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ($data['time'] && $expired_time && $data['time'] < ($server_time - $expired_time)){
|
||||
unlink( $cache_file_path );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -52,10 +52,10 @@ function g5_set_cache($key, $save_data, $ttl = null){
|
||||
}
|
||||
}
|
||||
|
||||
function g5_get_cache($key){
|
||||
function g5_get_cache($key, $expired_time=0){
|
||||
|
||||
if( $cache = get_cachemanage_instance() ){
|
||||
return $cache->get($key);
|
||||
return $cache->get($key, $expired_time);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
+27
-10
@@ -330,7 +330,7 @@ function get_file($bo_table, $wr_id)
|
||||
$file['count']++;
|
||||
}
|
||||
|
||||
return $file;
|
||||
return run_replace('get_files', $file, $bo_table, $wr_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -611,7 +611,7 @@ function html_purifier($html)
|
||||
//유튜브, 비메오 전체화면 가능하게 하기
|
||||
$config->set('Filter.Custom', array(new HTMLPurifier_Filter_Iframevideo()));
|
||||
$purifier = new HTMLPurifier($config);
|
||||
return $purifier->purify($html);
|
||||
return run_replace('html_purifier_result', $purifier->purify($html), $purifier, $html);
|
||||
}
|
||||
|
||||
|
||||
@@ -754,6 +754,7 @@ function get_group($gr_id, $is_cache=false)
|
||||
static $cache = array();
|
||||
|
||||
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $gr_id);
|
||||
$cache = run_replace('get_group_db_cache', $cache, $gr_id, $is_cache);
|
||||
$key = md5($gr_id);
|
||||
|
||||
if( $is_cache && isset($cache[$key]) ){
|
||||
@@ -773,7 +774,8 @@ function get_member($mb_id, $fields='*', $is_cache=false)
|
||||
{
|
||||
global $g5;
|
||||
|
||||
$mb_id = preg_replace("/[^0-9a-z_]+/i", "", $mb_id);
|
||||
if (preg_match("/[^0-9a-z_]+/i", $mb_id))
|
||||
return array();
|
||||
|
||||
static $cache = array();
|
||||
|
||||
@@ -1311,9 +1313,10 @@ function get_sideview($mb_id, $name='', $email='', $homepage='')
|
||||
$icon_file = G5_DATA_PATH.'/member/'.$mb_dir.'/'.get_mb_icon_name($mb_id).'.gif';
|
||||
|
||||
if (file_exists($icon_file)) {
|
||||
$icon_filemtile = (defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME) ? '?'.filemtime($icon_file) : '';
|
||||
$width = $config['cf_member_icon_width'];
|
||||
$height = $config['cf_member_icon_height'];
|
||||
$icon_file_url = G5_DATA_URL.'/member/'.$mb_dir.'/'.get_mb_icon_name($mb_id).'.gif';
|
||||
$icon_file_url = G5_DATA_URL.'/member/'.$mb_dir.'/'.get_mb_icon_name($mb_id).'.gif'.$icon_filemtile;
|
||||
$tmp_name .= '<span class="profile_img"><img src="'.$icon_file_url.'" width="'.$width.'" height="'.$height.'" alt=""></span>';
|
||||
|
||||
if ($config['cf_use_member_icon'] == 2) // 회원아이콘+이름
|
||||
@@ -1402,7 +1405,8 @@ function view_file_link($file, $width, $height, $content='')
|
||||
$attr = '';
|
||||
|
||||
if (preg_match("/\.({$config['cf_image_extension']})$/i", $file)) {
|
||||
$img = '<a href="'.G5_BBS_URL.'/view_image.php?bo_table='.$board['bo_table'].'&fn='.urlencode($file).'" target="_blank" class="view_image">';
|
||||
$attr_href = run_replace('thumb_view_image_href', G5_BBS_URL.'/view_image.php?bo_table='.$board['bo_table'].'&fn='.urlencode($file), $file, $board['bo_table'], $width, $height, $content);
|
||||
$img = '<a href="'.$attr_href.'" target="_blank" class="view_image">';
|
||||
$img .= '<img src="'.G5_DATA_URL.'/file/'.$board['bo_table'].'/'.urlencode($file).'" alt="'.$content.'" '.$attr.'>';
|
||||
$img .= '</a>';
|
||||
|
||||
@@ -1603,15 +1607,19 @@ function sql_query($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null)
|
||||
}
|
||||
}
|
||||
|
||||
$end_time = $is_debug ? get_microtime() : 0;
|
||||
|
||||
if($result && $is_debug) {
|
||||
// 여기에 실행한 sql문을 화면에 표시하는 로직 넣기
|
||||
$g5_debug['sql'][] = array(
|
||||
'sql' => $sql,
|
||||
'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;
|
||||
}
|
||||
|
||||
@@ -1648,6 +1656,8 @@ function sql_fetch_array($result)
|
||||
// 단, 결과 값은 스크립트(script) 실행부가 종료되면서 메모리에서 자동적으로 지워진다.
|
||||
function sql_free_result($result)
|
||||
{
|
||||
if(!is_resource($result)) return;
|
||||
|
||||
if(function_exists('mysqli_free_result') && G5_MYSQLI_USE)
|
||||
return mysqli_free_result($result);
|
||||
else
|
||||
@@ -2317,9 +2327,11 @@ function delete_editor_thumbnail($contents)
|
||||
{
|
||||
if(!$contents)
|
||||
return;
|
||||
|
||||
run_event('delete_editor_thumbnail_before', $contents);
|
||||
|
||||
// $contents 중 img 태그 추출
|
||||
$matchs = get_editor_image($contents);
|
||||
$matchs = get_editor_image($contents, false);
|
||||
|
||||
if(!$matchs)
|
||||
return;
|
||||
@@ -2327,8 +2339,8 @@ function delete_editor_thumbnail($contents)
|
||||
for($i=0; $i<count($matchs[1]); $i++) {
|
||||
// 이미지 path 구함
|
||||
$imgurl = @parse_url($matchs[1][$i]);
|
||||
$srcfile = $_SERVER['DOCUMENT_ROOT'].$imgurl['path'];
|
||||
|
||||
$srcfile = dirname(G5_PATH).$imgurl['path'];
|
||||
if(! preg_match('/(\.jpe?g|\.gif|\.png)$/i', $srcfile)) continue;
|
||||
$filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
|
||||
$filepath = dirname($srcfile);
|
||||
$files = glob($filepath.'/thumb-'.$filename.'*');
|
||||
@@ -2337,6 +2349,8 @@ function delete_editor_thumbnail($contents)
|
||||
unlink($filename);
|
||||
}
|
||||
}
|
||||
|
||||
run_event('delete_editor_thumbnail_after', $contents, $matchs);
|
||||
}
|
||||
|
||||
// 1:1문의 첨부파일 썸네일 삭제
|
||||
@@ -3598,6 +3612,9 @@ function get_member_profile_img($mb_id='', $width='', $height='', $alt='profile_
|
||||
} else {
|
||||
$member_img = G5_DATA_PATH.'/member_image/'.substr($mb_id,0,2).'/'.get_mb_icon_name($mb_id).'.gif';
|
||||
if (is_file($member_img)) {
|
||||
if(defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME) {
|
||||
$member_img .= '?'.filemtime($member_img);
|
||||
}
|
||||
$member_cache[$mb_id] = $src = str_replace(G5_DATA_PATH, G5_DATA_URL, $member_img);
|
||||
}
|
||||
}
|
||||
@@ -3802,7 +3819,7 @@ function is_include_path_check($path='', $is_input='')
|
||||
if( preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', $replace_path) ){
|
||||
return false;
|
||||
}
|
||||
if( preg_match('/'.G5_PLUGIN_DIR.'\//i', $replace_path) && (preg_match('/'.G5_OKNAME_DIR.'\//i', $replace_path) || preg_match('/'.G5_KCPCERT_DIR.'\//i', $replace_path) || preg_match('/'.G5_LGXPAY_DIR.'\//i', $replace_path)) ){
|
||||
if( preg_match('/'.G5_PLUGIN_DIR.'\//i', $replace_path) && (preg_match('/'.G5_OKNAME_DIR.'\//i', $replace_path) || preg_match('/'.G5_KCPCERT_DIR.'\//i', $replace_path) || preg_match('/'.G5_LGXPAY_DIR.'\//i', $replace_path)) || (preg_match('/search\.skin\.php/i', $replace_path) ) ){
|
||||
return false;
|
||||
}
|
||||
if( substr_count($replace_path, './') > 5 ){
|
||||
|
||||
@@ -70,11 +70,10 @@ function get_board_db($bo_table, $is_cache=false){
|
||||
|
||||
static $cache = array();
|
||||
|
||||
$bo_table = preg_replace('/[^a-z0-9_]/i', '', $bo_table);
|
||||
$cache = run_replace('get_board_db_cache', $cache, $bo_table, $is_cache);
|
||||
|
||||
$key = md5($bo_table);
|
||||
|
||||
$bo_table = preg_replace('/[^a-z0-9_]/i', '', $bo_table);
|
||||
if( $is_cache && isset($cache[$key]) ){
|
||||
return $cache[$key];
|
||||
}
|
||||
|
||||
@@ -56,8 +56,8 @@ class LMS {
|
||||
}
|
||||
|
||||
function Init() {
|
||||
$this->Data = ""; // 발송하기 위한 패킷내용이 배열로 들어간다.
|
||||
$this->Result = ""; // 발송결과값이 배열로 들어간다.
|
||||
$this->Data = array(); // 발송하기 위한 패킷내용이 배열로 들어간다.
|
||||
$this->Result = array(); // 발송결과값이 배열로 들어간다.
|
||||
}
|
||||
|
||||
function Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate="", $nCount) {
|
||||
|
||||
@@ -67,8 +67,8 @@ class SMS {
|
||||
}
|
||||
|
||||
function Init() {
|
||||
$this->Data = "";
|
||||
$this->Result = "";
|
||||
$this->Data = array();
|
||||
$this->Result = array();
|
||||
}
|
||||
|
||||
function Add($dest, $callBack, $Caller, $msg, $rsvTime="") {
|
||||
@@ -237,6 +237,7 @@ class SMS {
|
||||
fclose($fp);
|
||||
}
|
||||
$this->Data=array();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
+4
-2
@@ -9,6 +9,8 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=
|
||||
global $g5;
|
||||
|
||||
if (!$skin_dir) $skin_dir = 'basic';
|
||||
|
||||
$time_unit = 3600; // 1시간으로 고정
|
||||
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
@@ -35,7 +37,7 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=
|
||||
|
||||
if(G5_USE_CACHE) {
|
||||
$cache_file_name = "latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}-".g5_cache_secret_key();
|
||||
$caches = g5_get_cache($cache_file_name);
|
||||
$caches = g5_get_cache($cache_file_name, $time_unit * $cache_time);
|
||||
$cache_list = isset($caches['list']) ? $caches['list'] : array();
|
||||
g5_latest_cache_data($bo_table, $cache_list);
|
||||
}
|
||||
@@ -90,7 +92,7 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=
|
||||
'bo_subject' => sql_escape_string($bo_subject),
|
||||
);
|
||||
|
||||
g5_set_cache($cache_file_name, $caches, 3600 * $cache_time);
|
||||
g5_set_cache($cache_file_name, $caches, $time_unit * $cache_time);
|
||||
}
|
||||
} else {
|
||||
$list = $cache_list;
|
||||
|
||||
@@ -86,7 +86,7 @@ function exist_mb_nick($reg_mb_nick, $reg_mb_id)
|
||||
function reserve_mb_nick($reg_mb_nick)
|
||||
{
|
||||
global $config;
|
||||
if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']))
|
||||
if (preg_match("/[\,]?".preg_quote($reg_mb_nick)."/i", $config['cf_prohibit_id']))
|
||||
return "이미 예약된 단어로 사용할 수 없는 닉네임 입니다.";
|
||||
else
|
||||
return "";
|
||||
|
||||
+33
-9
@@ -110,6 +110,8 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
for($i=0; $i<count($matches[1]); $i++) {
|
||||
|
||||
$img = $matches[1][$i];
|
||||
$img_tag = isset($matches[0][$i]) ? $matches[0][$i] : '';
|
||||
|
||||
preg_match("/src=[\'\"]?([^>\'\"]+[^>\'\"]+)/i", $img, $m);
|
||||
$src = $m[1];
|
||||
preg_match("/style=[\"\']?([^\"\'>]+)/i", $img, $m);
|
||||
@@ -161,16 +163,22 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
}
|
||||
}
|
||||
|
||||
// 원본 width가 thumb_width보다 작다면
|
||||
if($size[0] <= $thumb_width)
|
||||
continue;
|
||||
|
||||
// Animated GIF 체크
|
||||
$is_animated = false;
|
||||
if($size[2] == 1) {
|
||||
$is_animated = is_animated_gif($srcfile);
|
||||
|
||||
if($replace_content = run_replace('thumbnail_is_animated_gif_content', '', $contents, $srcfile, $is_animated, $img_tag, $data_path, $size)){
|
||||
|
||||
$contents = $replace_content;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// 원본 width가 thumb_width보다 작다면
|
||||
if($size[0] <= $thumb_width)
|
||||
continue;
|
||||
|
||||
// 썸네일 높이
|
||||
$thumb_height = round(($thumb_width * $size[1]) / $size[0]);
|
||||
$filename = basename($srcfile);
|
||||
@@ -190,12 +198,12 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
} else {
|
||||
$thumb_tag = '<img src="'.G5_URL.str_replace($filename, $thumb_file, $data_path).'" alt="'.$alt.'"/>';
|
||||
}
|
||||
|
||||
|
||||
// $img_tag에 editor 경로가 있으면 원본보기 링크 추가
|
||||
$img_tag = $matches[0][$i];
|
||||
if(strpos($img_tag, G5_DATA_DIR.'/'.G5_EDITOR_DIR) && preg_match("/\.({$config['cf_image_extension']})$/i", $filename)) {
|
||||
$imgurl = str_replace(G5_URL, "", $src);
|
||||
$thumb_tag = '<a href="'.G5_BBS_URL.'/view_image.php?fn='.urlencode($imgurl).'" target="_blank" class="view_image">'.$thumb_tag.'</a>';
|
||||
$attr_href = run_replace('thumb_view_image_href', G5_BBS_URL.'/view_image.php?fn='.urlencode($imgurl), $filename, '', $width, $height, $alt);
|
||||
$thumb_tag = '<a href="'.$attr_href.'" target="_blank" class="view_image">'.$thumb_tag.'</a>';
|
||||
}
|
||||
|
||||
$contents = str_replace($img_tag, $thumb_tag, $contents);
|
||||
@@ -687,8 +695,19 @@ and the roundoff errors in the Gaussian blur process, are welcome.
|
||||
}
|
||||
|
||||
function is_animated_gif($filename) {
|
||||
if(!($fh = @fopen($filename, 'rb')))
|
||||
|
||||
static $cache = array();
|
||||
$key = md5($filename);
|
||||
|
||||
if( isset($cache[$key]) ){
|
||||
return $cache[$key];
|
||||
}
|
||||
|
||||
if(!($fh = @fopen($filename, 'rb'))){
|
||||
$cache[$key] = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
$count = 0;
|
||||
// 출처 : http://www.php.net/manual/en/function.imagecreatefromgif.php#104473
|
||||
// an animated gif contains multiple "frames", with each frame having a
|
||||
@@ -705,6 +724,11 @@ function is_animated_gif($filename) {
|
||||
}
|
||||
|
||||
fclose($fh);
|
||||
return $count > 1;
|
||||
|
||||
$cache[$key] = ($count > 1) ? true : false;
|
||||
|
||||
run_event('is_animated_gif_after', $filename, $cache[$key]);
|
||||
|
||||
return $cache[$key];
|
||||
}
|
||||
?>
|
||||
+45
-45
@@ -16,13 +16,13 @@ function get_pretty_url($folder, $no='', $query_string='', $action='')
|
||||
return $url;
|
||||
}
|
||||
|
||||
// use shortten url
|
||||
if($config['cf_bbs_rewrite']) {
|
||||
|
||||
// use shortten url
|
||||
if($config['cf_bbs_rewrite']) {
|
||||
|
||||
$segments[0] = G5_URL;
|
||||
|
||||
if( $folder === 'content' && $no ){ // 내용관리
|
||||
|
||||
|
||||
$segments[1] = $folder;
|
||||
|
||||
if( $config['cf_bbs_rewrite'] > 1 ){
|
||||
@@ -36,32 +36,32 @@ function get_pretty_url($folder, $no='', $query_string='', $action='')
|
||||
|
||||
} else if(in_array($folder, $boards)) { // 게시판
|
||||
|
||||
$segments[1] = $folder;
|
||||
$segments[1] = $folder;
|
||||
|
||||
if($no) {
|
||||
if($no) {
|
||||
|
||||
if( $config['cf_bbs_rewrite'] > 1 ){
|
||||
|
||||
$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);
|
||||
$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);
|
||||
|
||||
} else {
|
||||
$segments[2] = urlencode($no);
|
||||
}
|
||||
|
||||
} else if($action) {
|
||||
} else if($action) {
|
||||
$segments[2] = urlencode($action);
|
||||
}
|
||||
|
||||
} else {
|
||||
} else {
|
||||
$segments[1] = $folder;
|
||||
if($no) {
|
||||
$no_array = explode("=", $no);
|
||||
$no_value = end($no_array);
|
||||
if($no) {
|
||||
$no_array = explode("=", $no);
|
||||
$no_value = end($no_array);
|
||||
$segments[2] = urlencode($no_value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($query_string) {
|
||||
// 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
|
||||
if(in_array($folder, $boards)) {
|
||||
$url = G5_BBS_URL. '/board.php?bo_table='. $folder;
|
||||
if($no) {
|
||||
$url .= '&wr_id='. $no;
|
||||
}
|
||||
if($query_string) {
|
||||
} else { // don't use shortten url
|
||||
if(in_array($folder, $boards)) {
|
||||
$url = G5_BBS_URL. '/board.php?bo_table='. $folder;
|
||||
if($no) {
|
||||
$url .= '&wr_id='. $no;
|
||||
}
|
||||
if($query_string) {
|
||||
if(substr($query_string, 0, 1) !== '&') {
|
||||
$url .= '&';
|
||||
}
|
||||
|
||||
$url .= $query_string;
|
||||
}
|
||||
} else {
|
||||
$url = G5_BBS_URL. '/'.$folder.'.php';
|
||||
$url .= $query_string;
|
||||
}
|
||||
} else {
|
||||
$url = G5_BBS_URL. '/'.$folder.'.php';
|
||||
if($no) {
|
||||
$url .= ($folder === 'content') ? '?co_id='. $no : '?'. $no;
|
||||
}
|
||||
$url .= ($folder === 'content') ? '?co_id='. $no : '?'. $no;
|
||||
}
|
||||
if($query_string) {
|
||||
$url .= ($no ? '?' : '&'). $query_string;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$segments[0] = $url;
|
||||
}
|
||||
}
|
||||
|
||||
return implode('/', $segments).$add_query;
|
||||
return implode('/', $segments).$add_query;
|
||||
}
|
||||
|
||||
function short_url_clean($string_url, $add_qry=''){
|
||||
@@ -110,7 +110,7 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
$string_url = str_replace('&', '&', $string_url);
|
||||
$url=parse_url($string_url);
|
||||
$page_name = basename($url['path'],".php");
|
||||
|
||||
|
||||
$array_page_names = run_replace('url_clean_page_names', array('board', 'write', 'content'));
|
||||
|
||||
if( stripos(preg_replace('/^https?:/i', '', $string_url), preg_replace('/^https?:/i', '', G5_BBS_URL)) === false || ! in_array($page_name, $array_page_names) ){ //게시판이 아니면 리턴
|
||||
@@ -119,19 +119,19 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
|
||||
$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 )
|
||||
foreach($vars as $k => $v) { $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 if( $page_name === 'content' ){
|
||||
$vars['action'] = 'content';
|
||||
$allow_param_keys = array('action'=>'', 'co_id'=>'');
|
||||
} else {
|
||||
$vars['action'] = 'content';
|
||||
$allow_param_keys = array('action'=>'', 'co_id'=>'');
|
||||
} else {
|
||||
$allow_param_keys = array('bo_table'=>'', 'wr_id'=>'');
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
|
||||
if( $config['cf_bbs_rewrite'] > 1 && $page_name === 'board' && (isset($s['wr_id']) && $s['wr_id']) && (isset($s['bo_table']) && $s['bo_table']) ){
|
||||
$get_write = get_write( get_write_table_name($s['bo_table']), $s['wr_id'], true);
|
||||
|
||||
|
||||
if( $get_write['wr_seo_title'] ){
|
||||
unset($s['wr_id']);
|
||||
$s['wr_seo_title'] = urlencode($get_write['wr_seo_title']).'/';
|
||||
@@ -175,8 +175,8 @@ function short_url_clean($string_url, $add_qry=''){
|
||||
if( $add_qry ){
|
||||
$add_param .= $add_param ? '&'.$add_qry : '?'.$add_qry;
|
||||
}
|
||||
|
||||
foreach($s as $k => $v) { $return_url .= '/'.$v; }
|
||||
|
||||
foreach($s as $k => $v) { $return_url .= '/'.$v; }
|
||||
|
||||
return $host.$return_url.$add_param.$fragment;
|
||||
}
|
||||
|
||||
@@ -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-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 .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}
|
||||
@@ -77,7 +77,7 @@
|
||||
.bo_fx {margin-bottom:5px;padding:0 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.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_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 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 .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}
|
||||
|
||||
.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_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_info {padding:15px 0;color:#8e8e8e;line-height:20px}
|
||||
|
||||
@@ -159,7 +159,7 @@ jQuery(function($){
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -99,7 +99,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
$img_content = '<span class="no_img"><i class="fa fa-picture-o" aria-hidden="true"></i></span>';
|
||||
}
|
||||
|
||||
echo $img_content;
|
||||
echo run_replace('thumb_image_tag', $img_content, $thumb);
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
.bo_fx {margin-bottom:5px;padding:0 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.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_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 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 .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}
|
||||
|
||||
.view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0}
|
||||
@@ -158,7 +158,7 @@
|
||||
#bo_gall .gall_li_wr {position:relative;}
|
||||
#bo_gall .gall_li_chk {display:inline-block;position:absolute;top:10px;left:10px}
|
||||
#bo_gall .gall_li:nth-child(2n+1) {clear:both}
|
||||
#bo_gall .gall_li .gall_img img{width:100%;height:auto}
|
||||
#bo_gall .gall_li .gall_img img, #bo_gall .gall_li .gall_img video{width:100%;height:auto}
|
||||
#bo_gall .gall_li .gall_img .no_img,
|
||||
#bo_gall .gall_li .gall_notice {display:block;background:#eaeaea;color:#d0d0d0;font-size:3em;text-align:center;padding:25% 0}
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
#bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold}
|
||||
|
||||
#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_info {padding:15px 0;color:#8e8e8e;line-height:20px}
|
||||
|
||||
@@ -161,7 +161,7 @@ jQuery(function($){
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -38,7 +38,7 @@ $is_show_next_prev = ($list_count > 4) ? 1 : 0;
|
||||
//echo $list[$i]['icon_reply']." ";
|
||||
|
||||
if( $img_content ){
|
||||
echo "<a href=\"".$list[$i]['href']."\" class=\"lt_thumb\">".$img_content."</a> ";
|
||||
echo "<a href=\"".$list[$i]['href']."\" class=\"lt_thumb\">".run_replace('thumb_image_tag', $img_content, $thumb)."</a> ";
|
||||
}
|
||||
|
||||
echo "<a href=\"".$list[$i]['href']."\" class=\"lt_tit\">";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
.lt ul li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.lt ul li:hover a.lt_tit {color:#3a8afd}
|
||||
.lt .lt_thumb {display:inline-block;float:left;margin-right:10px}
|
||||
.lt .lt_thumb img {width:138px;height:auto;overflow:hidden}
|
||||
.lt .lt_thumb img, .lt .lt_thumb video{width:138px;height:auto;overflow:hidden}
|
||||
.lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px}
|
||||
.lt .lt_info {display:inline-block;position:relative;line-height:20px;color:#828282;font-size:0.925em;vertical-align:top}
|
||||
.lt .lt_date {color:#828282}
|
||||
@@ -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 .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-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}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 820 B |
@@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
|
||||
$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">
|
||||
@@ -41,7 +41,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
<span class="txt"><i> Sign in with Google</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
|
||||
@@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
|
||||
$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">
|
||||
@@ -41,7 +41,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
<span class="txt"><i> Sign in with Google</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
|
||||
@@ -15,7 +15,7 @@ if( G5_SOCIAL_USE_POPUP ) {
|
||||
}
|
||||
|
||||
// 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 class="login-sns sns-wrap-32 sns-wrap-over" id="sns_register">
|
||||
@@ -42,7 +42,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
<span class="txt"><i> Sign in with Google</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
|
||||
@@ -8,7 +8,7 @@ if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지
|
||||
// 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-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);
|
||||
|
||||
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
|
||||
|
||||
@@ -9,7 +9,7 @@ $socials = social_get_provider_service_name('', 'all');
|
||||
|
||||
$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>
|
||||
|
||||
@@ -65,12 +65,13 @@
|
||||
/*로그인 */
|
||||
#sns_login {border:0;margin-top:15px;padding:0; border-top:1px solid #edeaea}
|
||||
#sns_login h3 {padding:0;font-weight:bold;color:#888;text-align:center}
|
||||
#sns_login .sns-icon {display:block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px}
|
||||
#sns_login .sns-icon {position:relative;display:block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px}
|
||||
#sns_login .sns-naver {background-color:#1fc800;background-position:5px 5px;border-bottom:1px solid #1ea505}
|
||||
#sns_login .sns-kakao {background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a}
|
||||
#sns_login .sns-kakao {color:#3c1e1e}
|
||||
#sns_login .sns-facebook {background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
|
||||
#sns_login .sns-google {background-color:#db4a3a;background-position:5px 5px;border-bottom:1px solid #c03121}
|
||||
#sns_login .sns-google {background-color:#4285F4;background-position:5px 5px;border-bottom:1px solid #3567c6}
|
||||
#sns_login .sns-google .ico {position:absolute;top:3px;left:3px;width:33px;height:33px;background:url('./img/sns_gp_s.png') no-repeat center center;background-color:#fff;background-size:28px 28px!important;border-radius:2px}
|
||||
#sns_login .sns-twitter {background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
|
||||
#sns_login .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
|
||||
#sns_login .txt {text-align:left;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold}
|
||||
@@ -80,13 +81,14 @@
|
||||
#sns_register h2 {font-size:1.167em;text-align:left;padding:15px 20px;border-bottom:1px solid #dbdbdb}
|
||||
#sns_register .sns-wrap:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#sns_register .sns-wrap {display:inline-block;padding:20px;vertical-align:top;margin:0}
|
||||
#sns_register .sns-icon {display:inline-block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px;float:left}
|
||||
#sns_register .sns-icon {position:relative;display:inline-block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px;float:left}
|
||||
#sns_register .sns-icon:nth-child(3n+1) {clear:both}
|
||||
#sns_register .sns-naver {background-color:#1fc800;background-position:5px 5px;border-bottom:1px solid #1ea505}
|
||||
#sns_register .sns-kakao {background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a}
|
||||
#sns_register .sns-kakao {color:#3c1e1e}
|
||||
#sns_register .sns-facebook {background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
|
||||
#sns_register .sns-google {background-color:#db4a3a;background-position:5px 5px;border-bottom:1px solid #c03121}
|
||||
#sns_register .sns-google {background-color:#4285F4;background-position:5px 5px;border-bottom:1px solid #3567c6}
|
||||
#sns_register .sns-google .ico {position:absolute;top:3px;left:3px;width:33px;height:33px;background:url('./img/sns_gp_s.png') no-repeat center center;background-color:#fff;background-size:28px 28px!important;border-radius:2px}
|
||||
#sns_register .sns-twitter {background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
|
||||
#sns_register .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
|
||||
#sns_register .txt {display:block;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);font-weight:bold}
|
||||
|
||||
@@ -118,13 +118,30 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/debugbar/style.cs
|
||||
$is_print = $rowspan;
|
||||
|
||||
foreach($datas as $data){
|
||||
|
||||
$print_function = '';
|
||||
|
||||
if( $data['function'] && is_array($data['function']) ){
|
||||
foreach( (array) $data['function'] as $key=>$fn_name ){
|
||||
$str_delimiter = '';
|
||||
if($key) $str_delimiter = ' :: ';
|
||||
|
||||
if( is_object($fn_name) ){
|
||||
$fn_name = get_class($fn_name);
|
||||
}
|
||||
|
||||
$print_function .= $str_delimiter.(string) $fn_name;
|
||||
}
|
||||
} else {
|
||||
$print_function = $data['function'];
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<?php if ($is_print){ ?>
|
||||
<td scope="row" data-label="event_tag" <?php echo $rowspan; ?>><?php echo $tag.' <span class="hook_count">('.$count.')</span>'; ?></td>
|
||||
<?php } ?>
|
||||
<td data-label="event_function">
|
||||
<?php echo $data['function']; ?>
|
||||
<?php echo $print_function; ?>
|
||||
</td>
|
||||
<td data-label="인수의 수"><?php echo $data['arguments']; ?></td>
|
||||
<td data-label="우선 순위"><?php echo $data['priority']; ?></td>
|
||||
@@ -194,13 +211,30 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/debugbar/style.cs
|
||||
$is_print = $rowspan;
|
||||
|
||||
foreach($datas as $data){
|
||||
|
||||
$print_function = '';
|
||||
|
||||
if( $data['function'] && is_array($data['function']) ){
|
||||
foreach( (array) $data['function'] as $key=>$fn_name ){
|
||||
$str_delimiter = '';
|
||||
if($key) $str_delimiter = ' :: ';
|
||||
|
||||
if( is_object($fn_name) ){
|
||||
$fn_name = get_class($fn_name);
|
||||
}
|
||||
|
||||
$print_function .= $str_delimiter.(string) $fn_name;
|
||||
}
|
||||
} else {
|
||||
$print_function = $data['function'];
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<?php if ($is_print){ ?>
|
||||
<td scope="row" data-label="replace_tag" <?php echo $rowspan; ?>><?php echo $tag.' <span class="hook_count">('.$count.')</span>'; ?></td>
|
||||
<?php } ?>
|
||||
<td data-label="replace_function">
|
||||
<?php echo $data['function']; ?>
|
||||
<?php echo $print_function; ?>
|
||||
</td>
|
||||
<td data-label="인수의 수"><?php echo $data['arguments']; ?></td>
|
||||
<td data-label="우선 순위"><?php echo $data['priority']; ?></td>
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
<?php
|
||||
include_once("_common.php");
|
||||
|
||||
if( strpos($config['cf_editor'], 'cheditor5') === false ){
|
||||
exit;
|
||||
}
|
||||
|
||||
define("CHE_UPLOAD_IMG_CHECK", 1); // 이미지 파일을 썸네일 할수 있는지 여부를 체크합니다. ( 해당 파일이 이미지 파일인지 체크합니다. 1이면 사용, 0이면 사용 안함 )
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -34,8 +30,14 @@ define("SAVE_DIR", $data_dir);
|
||||
define("SAVE_URL", $data_url);
|
||||
|
||||
function che_get_user_id() {
|
||||
@session_start();
|
||||
return session_id();
|
||||
global $member;
|
||||
|
||||
if(session_id() == '') {
|
||||
@session_start();
|
||||
}
|
||||
|
||||
$add_str = (isset($member['mb_id']) && $member['mb_id']) ? $member['mb_id'] : '';
|
||||
return session_id().$add_str;
|
||||
}
|
||||
|
||||
function che_get_file_passname(){
|
||||
|
||||
@@ -215,14 +215,20 @@ class UploadHandler
|
||||
substr($_SERVER['SCRIPT_NAME'],0, strrpos($_SERVER['SCRIPT_NAME'], '/'));
|
||||
}
|
||||
|
||||
protected function get_user_id() {
|
||||
@session_start();
|
||||
return session_id();
|
||||
protected function get_user_id($is_add=true) {
|
||||
global $member;
|
||||
|
||||
if(session_id() == '') {
|
||||
@session_start();
|
||||
}
|
||||
|
||||
$add_str = ($is_add && isset($member['mb_id']) && $member['mb_id']) ? $member['mb_id'] : '';
|
||||
return session_id().$add_str;
|
||||
}
|
||||
|
||||
protected function get_user_path() {
|
||||
if ($this->options['user_dirs']) {
|
||||
return $this->get_user_id().'/';
|
||||
return $this->get_user_id(false).'/';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -50,13 +50,13 @@ class KCAPTCHA{
|
||||
$transparent = (imagecolorat($font, $i, 0) >> 24) == 127;
|
||||
|
||||
if(!$reading_symbol && !$transparent){
|
||||
$font_metrics[$alphabet{$symbol}]=array('start'=>$i);
|
||||
$font_metrics[$alphabet[$symbol]]=array('start'=>$i);
|
||||
$reading_symbol=true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if($reading_symbol && $transparent){
|
||||
$font_metrics[$alphabet{$symbol}]['end']=$i;
|
||||
$font_metrics[$alphabet[$symbol]]['end']=$i;
|
||||
$reading_symbol=false;
|
||||
$symbol++;
|
||||
continue;
|
||||
@@ -75,7 +75,7 @@ class KCAPTCHA{
|
||||
$odd=mt_rand(0,1);
|
||||
if($odd==0) $odd=-1;
|
||||
for($i=0;$i<$length;$i++){
|
||||
$m=$font_metrics[$this->keystring{$i}];
|
||||
$m=$font_metrics[$this->keystring[$i]];
|
||||
|
||||
$y=(($i%2)*$fluctuation_amplitude - $fluctuation_amplitude/2)*$odd
|
||||
+ mt_rand(-round($fluctuation_amplitude/3), round($fluctuation_amplitude/3))
|
||||
|
||||
@@ -19,7 +19,7 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2 {
|
||||
* default permissions
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public $scope = "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.profile.emails.read https://www.google.com/m8/feeds/";
|
||||
public $scope = "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.google.com/m8/feeds/";
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
@@ -72,35 +72,22 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2 {
|
||||
// refresh tokens if needed
|
||||
$this->refreshToken();
|
||||
|
||||
// ask google api for user infos
|
||||
if (strpos($this->scope, '/auth/plus.profile.emails.read') !== false) {
|
||||
$verified = $this->api->api("https://www.googleapis.com/plus/v1/people/me");
|
||||
|
||||
if (!isset($verified->id) || isset($verified->error))
|
||||
$verified = new stdClass();
|
||||
} else {
|
||||
$verified = $this->api->api("https://www.googleapis.com/plus/v1/people/me/openIdConnect");
|
||||
|
||||
if (!isset($verified->sub) || isset($verified->error))
|
||||
$verified = new stdClass();
|
||||
}
|
||||
|
||||
$response = $this->api->api("https://www.googleapis.com/plus/v1/people/me");
|
||||
if (!isset($response->id) || isset($response->error)) {
|
||||
$response = $this->api->api("https://www.googleapis.com/oauth2/v3/userinfo");
|
||||
if (!isset($response->sub) || isset($response->error)) {
|
||||
throw new Exception("User profile request failed! {$this->providerId} returned an invalid response:" . Hybrid_Logger::dumpData( $response ), 6);
|
||||
}
|
||||
|
||||
$this->user->profile->identifier = (property_exists($verified, 'id')) ? $verified->id : ((property_exists($response, 'id')) ? $response->id : "");
|
||||
$this->user->profile->firstName = (property_exists($response, 'name')) ? $response->name->givenName : "";
|
||||
$this->user->profile->lastName = (property_exists($response, 'name')) ? $response->name->familyName : "";
|
||||
$this->user->profile->displayName = (property_exists($response, 'displayName')) ? $response->displayName : "";
|
||||
$this->user->profile->photoURL = (property_exists($response, 'image')) ? ((property_exists($response->image, 'url')) ? substr($response->image->url, 0, -2) . "200" : '') : '';
|
||||
$this->user->profile->profileURL = (property_exists($response, 'url')) ? $response->url : "";
|
||||
$this->user->profile->description = (property_exists($response, 'aboutMe')) ? $response->aboutMe : "";
|
||||
$this->user->profile->identifier = (property_exists($response, 'sub')) ? $response->sub : "";
|
||||
$this->user->profile->firstName = (property_exists($response, 'given_name')) ? $response->given_name : "";
|
||||
$this->user->profile->lastName = (property_exists($response, 'family_name')) ? $response->family_name : "";
|
||||
$this->user->profile->displayName = (property_exists($response, 'name')) ? $response->name : "";
|
||||
$this->user->profile->photoURL = (property_exists($response, 'picture')) ? $response->picture : "";
|
||||
$this->user->profile->profileURL = (property_exists($response, 'profile')) ? $response->profile : "";
|
||||
$this->user->profile->gender = (property_exists($response, 'gender')) ? $response->gender : "";
|
||||
$this->user->profile->language = (property_exists($response, 'locale')) ? $response->locale : ((property_exists($verified, 'locale')) ? $verified->locale : "");
|
||||
$this->user->profile->email = (property_exists($response, 'email')) ? $response->email : ((property_exists($verified, 'email')) ? $verified->email : "");
|
||||
$this->user->profile->emailVerified = (property_exists($verified, 'email')) ? $verified->email : "";
|
||||
$this->user->profile->language = (property_exists($response, 'locale')) ? $response->locale : "";
|
||||
$this->user->profile->email = (property_exists($response, 'email')) ? $response->email : "";
|
||||
$this->user->profile->emailVerified = (property_exists($response, 'email_verified')) ? ($response->email_verified === true || $response->email_verified === 1 ? $response->email : "") : "";
|
||||
|
||||
if (property_exists($response, 'emails')) {
|
||||
if (count($response->emails) == 1) {
|
||||
$this->user->profile->email = $response->emails[0]->value;
|
||||
@@ -125,69 +112,6 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2 {
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->user->profile->phone = (property_exists($response, 'phone')) ? $response->phone : "";
|
||||
$this->user->profile->country = (property_exists($response, 'country')) ? $response->country : "";
|
||||
$this->user->profile->region = (property_exists($response, 'region')) ? $response->region : "";
|
||||
$this->user->profile->zip = (property_exists($response, 'zip')) ? $response->zip : "";
|
||||
if (property_exists($response, 'placesLived')) {
|
||||
$this->user->profile->city = "";
|
||||
$this->user->profile->address = "";
|
||||
foreach ($response->placesLived as $c) {
|
||||
if (property_exists($c, 'primary')) {
|
||||
if ($c->primary == true) {
|
||||
$this->user->profile->address = $c->value;
|
||||
$this->user->profile->city = $c->value;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (property_exists($c, 'value')) {
|
||||
$this->user->profile->address = $c->value;
|
||||
$this->user->profile->city = $c->value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// google API returns multiple urls, but a "website" only if it is verified
|
||||
// see http://support.google.com/plus/answer/1713826?hl=en
|
||||
if (property_exists($response, 'urls')) {
|
||||
foreach ($response->urls as $u) {
|
||||
if (property_exists($u, 'primary') && $u->primary == true)
|
||||
$this->user->profile->webSiteURL = $u->value;
|
||||
}
|
||||
} else {
|
||||
$this->user->profile->webSiteURL = '';
|
||||
}
|
||||
// google API returns age ranges min and/or max as of https://developers.google.com/+/web/api/rest/latest/people#resource
|
||||
if (property_exists($response, 'ageRange')) {
|
||||
if (property_exists($response->ageRange, 'min') && property_exists($response->ageRange, 'max')) {
|
||||
$this->user->profile->age = $response->ageRange->min . ' - ' . $response->ageRange->max;
|
||||
} else {
|
||||
if (property_exists($response->ageRange, 'min')) {
|
||||
$this->user->profile->age = '>= ' . $response->ageRange->min;
|
||||
} else {
|
||||
if (property_exists($response->ageRange, 'max')) {
|
||||
$this->user->profile->age = '<= ' . $response->ageRange->max;
|
||||
} else {
|
||||
$this->user->profile->age = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->user->profile->age = '';
|
||||
}
|
||||
// google API returns birthdays only if a user set 'show in my account'
|
||||
if (property_exists($response, 'birthday')) {
|
||||
list($birthday_year, $birthday_month, $birthday_day) = explode('-', $response->birthday);
|
||||
|
||||
$this->user->profile->birthDay = (int) $birthday_day;
|
||||
$this->user->profile->birthMonth = (int) $birthday_month;
|
||||
$this->user->profile->birthYear = (int) $birthday_year;
|
||||
} else {
|
||||
$this->user->profile->birthDay = 0;
|
||||
$this->user->profile->birthMonth = 0;
|
||||
$this->user->profile->birthYear = 0;
|
||||
}
|
||||
|
||||
$this->user->profile->sid = get_social_convert_id( $this->user->profile->identifier, $this->providerId );
|
||||
|
||||
|
||||
@@ -13,35 +13,35 @@
|
||||
*/
|
||||
class Hybrid_Providers_Payco extends Hybrid_Provider_Model_OAuth2 {
|
||||
|
||||
private $idNo;
|
||||
private $idNo;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function initialize() {
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function initialize() {
|
||||
|
||||
parent::initialize();
|
||||
|
||||
// Provider API end-points
|
||||
// Provider API end-points
|
||||
$this->api->api_base_url = 'https://id.payco.com/oauth2.0/';
|
||||
$this->api->authorize_url = 'https://id.payco.com/oauth2.0/authorize';
|
||||
$this->api->token_url = 'https://id.payco.com/oauth2.0/token';
|
||||
$this->api->token_info = 'https://apis3.krp.toastoven.net/payco/friends/getIdNoByFriendsToken.json';
|
||||
$this->api->profile_url = 'https://apis3.krp.toastoven.net/payco/friends/getMemberProfileByFriendsToken.json';
|
||||
$this->api->profile_url = 'https://apis-payco.krp.toastoven.net/payco/friends/find_member_v2.json';
|
||||
|
||||
if (!$this->config["keys"]["id"] || !$this->config["keys"]["secret"]) {
|
||||
throw new Exception("Your application id and secret are required in order to connect to {$this->providerId}.", 4);
|
||||
}
|
||||
if (!$this->config["keys"]["id"] || !$this->config["keys"]["secret"]) {
|
||||
throw new Exception("Your application id and secret are required in order to connect to {$this->providerId}.", 4);
|
||||
}
|
||||
|
||||
// redirect uri mismatches when authenticating with Payco.
|
||||
if (isset($this->config['redirect_uri']) && !empty($this->config['redirect_uri'])) {
|
||||
$this->api->redirect_uri = $this->config['redirect_uri'];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function loginBegin() {
|
||||
// redirect uri mismatches when authenticating with Payco.
|
||||
if (isset($this->config['redirect_uri']) && !empty($this->config['redirect_uri'])) {
|
||||
$this->api->redirect_uri = $this->config['redirect_uri'];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function loginBegin() {
|
||||
|
||||
$token = md5(uniqid(mt_rand(), true));
|
||||
Hybrid_Auth::storage()->set('payco_auth_token', $token);
|
||||
@@ -59,16 +59,16 @@ class Hybrid_Providers_Payco extends Hybrid_Provider_Model_OAuth2 {
|
||||
|
||||
exit;
|
||||
|
||||
}
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function loginFinish() {
|
||||
}
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function loginFinish() {
|
||||
|
||||
// in case we get error_reason=user_denied&error=access_denied
|
||||
if (isset($_REQUEST['error']) && $_REQUEST['error'] == "access_denied") {
|
||||
throw new Exception("Authentication failed! The user denied your request.", 5);
|
||||
}
|
||||
// in case we get error_reason=user_denied&error=access_denied
|
||||
if (isset($_REQUEST['error']) && $_REQUEST['error'] == "access_denied") {
|
||||
throw new Exception("Authentication failed! The user denied your request.", 5);
|
||||
}
|
||||
|
||||
// try to authenicate user
|
||||
$code = (array_key_exists('code', $_REQUEST)) ? $_REQUEST['code'] : "";
|
||||
@@ -91,7 +91,7 @@ class Hybrid_Providers_Payco extends Hybrid_Provider_Model_OAuth2 {
|
||||
|
||||
$this->setUserConnected();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function check_valid_access_token(){
|
||||
|
||||
@@ -121,33 +121,33 @@ class Hybrid_Providers_Payco extends Hybrid_Provider_Model_OAuth2 {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function logout() {
|
||||
parent::logout();
|
||||
}
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
function logout() {
|
||||
parent::logout();
|
||||
}
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
||||
/**
|
||||
* set propper headers
|
||||
*/
|
||||
function getUserProfile() {
|
||||
function getUserProfile() {
|
||||
|
||||
$data = null;
|
||||
|
||||
// request user profile
|
||||
try {
|
||||
|
||||
// request user profile
|
||||
try {
|
||||
|
||||
if( $this->check_valid_access_token() ){
|
||||
$params = array(
|
||||
'body' => array(
|
||||
'client_id'=>$this->api->client_id,
|
||||
'access_token'=>$this->api->access_token,
|
||||
'MemberProfile'=>'idNo,id,name',
|
||||
'idNo'=>$this->idNo,
|
||||
'client_id'=>$this->api->client_id,
|
||||
'access_token'=>$this->api->access_token,
|
||||
'MemberProfile'=>'idNo,id,name',
|
||||
'idNo'=>$this->idNo,
|
||||
),
|
||||
);
|
||||
|
||||
@@ -161,52 +161,62 @@ class Hybrid_Providers_Payco extends Hybrid_Provider_Model_OAuth2 {
|
||||
$response = $this->api->api( $this->api->profile_url, 'POST', $params );
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new Exception("User profile request failed! {$this->providerId} returned an error: {$e->getMessage()}", 6, $e);
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new Exception("User profile request failed! {$this->providerId} returned an error: {$e->getMessage()}", 6, $e);
|
||||
}
|
||||
|
||||
if( ! is_object($response) || property_exists($response, 'error_code') ){
|
||||
$this->logout();
|
||||
|
||||
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
||||
}
|
||||
|
||||
$data = array();
|
||||
|
||||
if( is_object($response) ){
|
||||
$result = json_decode(json_encode($response), true);
|
||||
$data = $result['memberProfile'];
|
||||
|
||||
// 성공이면
|
||||
if(isset($result['header']) && isset($result['header']['isSuccessful']) && $result['header']['isSuccessful']){
|
||||
$data = $result['data']['member'];
|
||||
}
|
||||
}
|
||||
|
||||
// if the provider identifier is not received, we assume the auth has failed
|
||||
if (!isset($data["id"])) {
|
||||
// if the provider identifier is not received, we assume the auth has failed
|
||||
if (!isset($data["idNo"])) {
|
||||
$this->logout();
|
||||
throw new Exception("User profile request failed! {$this->providerId} api returned an invalid response: " . Hybrid_Logger::dumpData( $data ), 6);
|
||||
}
|
||||
throw new Exception("User profile request failed! {$this->providerId} api returned an invalid response: " . Hybrid_Logger::dumpData( $data ), 6);
|
||||
}
|
||||
|
||||
# store the user profile.
|
||||
$this->user->profile->identifier = (array_key_exists('idNo', $data)) ? $data['idNo'] : "";
|
||||
$this->user->profile->username = (array_key_exists('name', $data)) ? $data['name'] : "";
|
||||
$this->user->profile->displayName = (array_key_exists('name', $data)) ? $data['name'] : "";
|
||||
# store the user profile.
|
||||
$this->user->profile->identifier = (array_key_exists('idNo', $data)) ? $data['idNo'] : "";
|
||||
$this->user->profile->username = (array_key_exists('name', $data)) ? $data['name'] : "";
|
||||
$this->user->profile->displayName = (array_key_exists('name', $data)) ? $data['name'] : "";
|
||||
$this->user->profile->age = (array_key_exists('ageGroup', $data)) ? $data['ageGroup'] : "";
|
||||
$this->user->profile->hp = (array_key_exists('mobile', $data)) ? $data['mobile'] : "";
|
||||
|
||||
include_once(G5_LIB_PATH.'/register.lib.php');
|
||||
|
||||
$payco_no = substr(base_convert($this->user->profile->identifier, 16, 36), 0, 16);
|
||||
$email = (array_key_exists('id', $data)) ? $data['id'] : "";
|
||||
//$email = (array_key_exists('id', $data)) ? $data['id'] : "";
|
||||
|
||||
$this->user->profile->gender = (array_key_exists('sexCode', $data)) ? $data['sexCode'] : "";
|
||||
$email = (array_key_exists('email', $data)) ? $data['email'] : "";
|
||||
|
||||
$this->user->profile->email = ! valid_mb_email($email) ? $email : "";
|
||||
$this->user->profile->emailVerified = ! valid_mb_email($email) ? $email : "";
|
||||
//$this->user->profile->gender = (array_key_exists('sexCode', $data)) ? $data['sexCode'] : "";
|
||||
|
||||
$this->user->profile->gender = (array_key_exists('genderCode', $data)) ? strtolower($data['genderCode']) : "";
|
||||
$this->user->profile->email = ! valid_mb_email($email) ? $email : "";
|
||||
$this->user->profile->emailVerified = ! valid_mb_email($email) ? $email : "";
|
||||
|
||||
|
||||
if (array_key_exists('birthdayMMdd', $data)) {
|
||||
$this->user->profile->birthMonth = substr($data['birthdayMMdd'], 0, 2);
|
||||
$this->user->profile->birthDay = substr($data['birthdayMMdd'], 2, 4);
|
||||
}
|
||||
if (array_key_exists('birthdayMMdd', $data)) {
|
||||
$this->user->profile->birthMonth = substr($data['birthdayMMdd'], 0, 2);
|
||||
$this->user->profile->birthDay = substr($data['birthdayMMdd'], 2, 4);
|
||||
}
|
||||
|
||||
$this->user->profile->sid = get_social_convert_id( $this->user->profile->identifier, $this->providerId );
|
||||
|
||||
return $this->user->profile;
|
||||
} //end function getUserProfile
|
||||
return $this->user->profile;
|
||||
} //end function getUserProfile
|
||||
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
/* !
|
||||
* HybridAuth
|
||||
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
||||
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
||||
* https://hybridauth.sourceforge.net | https://github.com/hybridauth/hybridauth
|
||||
* (c) 2009-2012, HybridAuth authors | https://hybridauth.sourceforge.net/licenses.html
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -127,7 +127,7 @@ class Hybrid_Providers_Twitter extends Hybrid_Provider_Model_OAuth1 {
|
||||
$this->user->profile->description = (property_exists($response, 'description')) ? $response->description : "";
|
||||
$this->user->profile->firstName = (property_exists($response, 'name')) ? $response->name : "";
|
||||
$this->user->profile->photoURL = (property_exists($response, 'profile_image_url')) ? (str_replace('_normal', '', $response->profile_image_url)) : "";
|
||||
$this->user->profile->profileURL = (property_exists($response, 'screen_name')) ? ("http://twitter.com/" . $response->screen_name) : "";
|
||||
$this->user->profile->profileURL = (property_exists($response, 'screen_name')) ? ("https://twitter.com/" . $response->screen_name) : "";
|
||||
$this->user->profile->webSiteURL = (property_exists($response, 'url')) ? $response->url : "";
|
||||
$this->user->profile->region = (property_exists($response, 'location')) ? $response->location : "";
|
||||
if($includeEmail) $this->user->profile->email = (property_exists($response, 'email')) ? $response->email : "";
|
||||
@@ -174,7 +174,7 @@ class Hybrid_Providers_Twitter extends Hybrid_Provider_Model_OAuth1 {
|
||||
|
||||
$uc->identifier = (property_exists($item, 'id')) ? $item->id : "";
|
||||
$uc->displayName = (property_exists($item, 'name')) ? $item->name : "";
|
||||
$uc->profileURL = (property_exists($item, 'screen_name')) ? ("http://twitter.com/" . $item->screen_name) : "";
|
||||
$uc->profileURL = (property_exists($item, 'screen_name')) ? ("https://twitter.com/" . $item->screen_name) : "";
|
||||
$uc->photoURL = (property_exists($item, 'profile_image_url')) ? $item->profile_image_url : "";
|
||||
$uc->description = (property_exists($item, 'description')) ? $item->description : "";
|
||||
|
||||
@@ -254,7 +254,7 @@ class Hybrid_Providers_Twitter extends Hybrid_Provider_Model_OAuth1 {
|
||||
|
||||
$ua->user->identifier = (property_exists($item->user, 'id')) ? $item->user->id : "";
|
||||
$ua->user->displayName = (property_exists($item->user, 'name')) ? $item->user->name : "";
|
||||
$ua->user->profileURL = (property_exists($item->user, 'screen_name')) ? ("http://twitter.com/" . $item->user->screen_name) : "";
|
||||
$ua->user->profileURL = (property_exists($item->user, 'screen_name')) ? ("https://twitter.com/" . $item->user->screen_name) : "";
|
||||
$ua->user->photoURL = (property_exists($item->user, 'profile_image_url')) ? $item->user->profile_image_url : "";
|
||||
|
||||
$activities[] = $ua;
|
||||
|
||||
@@ -44,11 +44,11 @@ function get_social_convert_id($identifier, $service)
|
||||
return strtolower($service).'_'.hash('adler32', md5($identifier));
|
||||
}
|
||||
|
||||
function get_social_callbackurl($provider, $no_domain=false){
|
||||
function get_social_callbackurl($provider, $no_domain=false, $no_params=false){
|
||||
|
||||
$base_url = G5_SOCIAL_LOGIN_BASE_URL;
|
||||
|
||||
if ( $provider === 'twitter' ){
|
||||
if ( $provider === 'twitter' || ($provider === 'payco' && $no_params) ){
|
||||
return $base_url;
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ function social_extends_get_keys($provider){
|
||||
"keys" => array("id" => $config['cf_facebook_appid'], "secret" => $config['cf_facebook_secret']),
|
||||
"display" => "popup",
|
||||
"redirect_uri" => get_social_callbackurl('facebook'),
|
||||
"scope" => array('email'), // optional
|
||||
"scope" => 'email', // optional
|
||||
"trustForwarded" => false
|
||||
);
|
||||
|
||||
@@ -332,9 +332,12 @@ function social_extends_get_keys($provider){
|
||||
"keys" => array("id" => $config['cf_google_clientid'],
|
||||
"secret" => $config['cf_google_secret']),
|
||||
"redirect_uri" => get_social_callbackurl('google'),
|
||||
"scope" => "https://www.googleapis.com/auth/userinfo.profile "."https://www.googleapis.com/auth/userinfo.email",
|
||||
/*
|
||||
"scope" => "https://www.googleapis.com/auth/plus.login ". // optional
|
||||
"https://www.googleapis.com/auth/plus.me ". // optional
|
||||
"https://www.googleapis.com/auth/plus.profile.emails.read", // optional
|
||||
*/
|
||||
//"access_type" => "offline", // optional
|
||||
//"approval_prompt" => "force", // optional
|
||||
);
|
||||
|
||||
@@ -1,89 +1,5 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_list a.btn_b01 {}
|
||||
#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {}
|
||||
#bo_list a.btn_b02 {}
|
||||
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {}
|
||||
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
|
||||
#bo_w button.btn_submit {}
|
||||
#bo_w fieldset .btn_submit {}
|
||||
#bo_w .btn_cancel {font-size:1.167em;border-radius:3px}
|
||||
#bo_w button.btn_cancel {}
|
||||
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
|
||||
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
#bo_w button.btn_frmline {}
|
||||
|
||||
/* 기본 테이블 */
|
||||
/* 목록 테이블 */
|
||||
#bo_list .tbl_head01 {}
|
||||
#bo_list .tbl_head01 caption {}
|
||||
#bo_list .tbl_head01 thead th {}
|
||||
#bo_list .tbl_head01 thead a {}
|
||||
#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_list .tbl_head01 tfoot th {}
|
||||
#bo_list .tbl_head01 tfoot td {}
|
||||
#bo_list .tbl_head01 tbody th {}
|
||||
#bo_list .tbl_head01 td {}
|
||||
#bo_list .tbl_head01 a {}
|
||||
#bo_list td.empty_table {}
|
||||
#bo_list tbody .even td {background:#fbfbfb}
|
||||
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_info {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
/* 필수입력 */
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
#bo_w .cke_sc {}
|
||||
#bo_w button.btn_cke_sc {}
|
||||
#bo_w .cke_sc_def {}
|
||||
#bo_w .cke_sc_def dl {}
|
||||
#bo_w .cke_sc_def dl:after {}
|
||||
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
|
||||
#bo_w .cke_sc_def dt {}
|
||||
#bo_w .cke_sc_def dd {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_list {position:relative;margin-bottom:20px}
|
||||
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
@@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -37,24 +37,24 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
</div>
|
||||
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<li>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
</li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<ul class="more_opt is_list_btn">
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<ul class="more_opt is_list_btn">
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
|
||||
@@ -62,9 +62,9 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<div id="gall_allchk" class="all_chk chk_box">
|
||||
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 </b> 전체선택
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 </b> 전체선택
|
||||
</label>
|
||||
</div>
|
||||
<?php } ?>
|
||||
@@ -84,43 +84,45 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
if( $wr_id && $wr_id == $list[$i]['wr_id'] ){
|
||||
$classes[] = 'gall_now';
|
||||
}
|
||||
|
||||
$line_height_style = ($board['bo_gallery_height'] > 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : '';
|
||||
?>
|
||||
<li class="<?php echo implode(' ', $classes); ?>">
|
||||
<div class="gall_box">
|
||||
<div class="gall_chk chk_box">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
|
||||
<?php } ?>
|
||||
<span class="sound_only">
|
||||
<?php
|
||||
if ($wr_id == $list[$i]['wr_id'])
|
||||
echo "<span class=\"bo_current\">열람중</span>";
|
||||
else
|
||||
echo $list[$i]['num'];
|
||||
?>
|
||||
</span>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
|
||||
<?php } ?>
|
||||
<span class="sound_only">
|
||||
<?php
|
||||
if ($wr_id == $list[$i]['wr_id'])
|
||||
echo "<span class=\"bo_current\">열람중</span>";
|
||||
else
|
||||
echo $list[$i]['num'];
|
||||
?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="gall_con">
|
||||
<div class="gall_img">
|
||||
<div class="gall_img" style="<?php if ($board['bo_gallery_height'] > 0) echo 'height:'.$board['bo_gallery_height'].'px;max-height:'.$board['bo_gallery_height'].'px'; ?>">
|
||||
<a href="<?php echo $list[$i]['href'] ?>">
|
||||
<?php
|
||||
if ($list[$i]['is_notice']) { // 공지사항 ?>
|
||||
<span class="is_notice">공지</span>
|
||||
<span class="is_notice" style="<?php echo $line_height_style; ?>">공지</span>
|
||||
<?php } else {
|
||||
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);
|
||||
|
||||
if($thumb['src']) {
|
||||
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" >';
|
||||
} else {
|
||||
$img_content = '<span class="no_image">no image</span>';
|
||||
$img_content = '<span class="no_image" style="'.$line_height_style.'">no image</span>';
|
||||
}
|
||||
|
||||
echo $img_content;
|
||||
echo run_replace('thumb_image_tag', $img_content, $thumb);
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
@@ -132,7 +134,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="bo_tit">
|
||||
|
||||
<?php // echo $list[$i]['icon_reply']; ?>
|
||||
<!-- 갤러리 댓글기능 사용시 주석을 제거하세요. -->
|
||||
<!-- 갤러리 댓글기능 사용시 주석을 제거하세요. -->
|
||||
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php
|
||||
@@ -142,19 +144,19 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
//if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);
|
||||
//if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);
|
||||
if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);
|
||||
?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt"><?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt"><?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
</a>
|
||||
<span class="bo_cnt"><?php echo utf8_strcut(strip_tags($list[$i]['wr_content']), 68, '..'); ?></span>
|
||||
</div>
|
||||
|
||||
<div class="gall_info">
|
||||
<span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?>
|
||||
<span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?>
|
||||
<span class="gall_date"><span class="sound_only">작성일 </span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
|
||||
<span class="gall_view"><span class="sound_only">조회 </span><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></span>
|
||||
<span class="gall_view"><span class="sound_only">조회 </span><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></span>
|
||||
</div>
|
||||
<div class="gall_option">
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?>
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?>
|
||||
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?></strong><?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -163,26 +165,26 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { echo "<li class=\"empty_list\">게시물이 없습니다.</li>"; } ?>
|
||||
</ul>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<?php if ($list_href || $is_checkbox || $write_href) { ?>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<?php if ($list_href || $is_checkbox || $write_href) { ?>
|
||||
<div class="bo_fx">
|
||||
<?php if ($list_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
</ul>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
|
||||
<!-- 게시판 검색 시작 { -->
|
||||
<div class="bo_sch_wrap">
|
||||
<div class="bo_sch_wrap">
|
||||
<fieldset class="bo_sch">
|
||||
<h3>검색</h3>
|
||||
<form name="fsearch" method="get">
|
||||
|
||||
@@ -1,77 +1,5 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_gall a.btn_b01 {}
|
||||
#bo_gall a.btn_b01:focus, #bo_gall a.btn_b01:hover {}
|
||||
#bo_gall a.btn_b02 {}
|
||||
#bo_gall a.btn_b02:focus, #bo_gall a.btn_b02:hover {}
|
||||
#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_gall a.btn_admin:focus, #bo_gall .btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
|
||||
#bo_w button.btn_submit {}
|
||||
#bo_w fieldset .btn_submit {}
|
||||
#bo_w .btn_cancel {font-size:1.167em;border-radius:3px}
|
||||
#bo_w button.btn_cancel {}
|
||||
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
|
||||
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
#bo_w button.btn_frmline {}
|
||||
|
||||
/* 기본 테이블 */
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_info {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
/* 필수입력 */
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
#bo_w .cke_sc {}
|
||||
#bo_w button.btn_cke_sc {}
|
||||
#bo_w .cke_sc_def {}
|
||||
#bo_w .cke_sc_def dl {}
|
||||
#bo_w .cke_sc_def dl:after {}
|
||||
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
|
||||
#bo_w .cke_sc_def dt {}
|
||||
#bo_w .cke_sc_def dd {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_cate {margin:25px 0}
|
||||
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
@@ -124,10 +52,10 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
|
||||
#bo_gall .gall_now .gall_text_href a {color:#ff3061}
|
||||
|
||||
#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}
|
||||
#bo_gall .gall_img {border-bottom:1px solid #eee;text-align:center;height:200px;max-height:200px;overflow:hidden}
|
||||
#bo_gall .gall_img {border-bottom:1px solid #eee;text-align:center;overflow:hidden}
|
||||
#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice {display:block}
|
||||
#bo_gall .gall_img img {max-width:100%;height:auto !important}
|
||||
#bo_gall .gall_img span {display:inline-block;background:#eaeaea;text-align:center;line-height:200px;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}
|
||||
#bo_gall .gall_img img, #bo_gall .gall_img video {max-width:100%;height:auto !important}
|
||||
#bo_gall .gall_img span {display:inline-block;background:#eaeaea;text-align:center;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}
|
||||
|
||||
#bo_gall .gall_text_href {margin:10px 0}
|
||||
#bo_gall .gall_text_href a {font-weight:bold}
|
||||
|
||||
@@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -25,7 +25,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
|
||||
?>
|
||||
<li class="gallery_li">
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php echo $img_content; ?></a>
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php echo run_replace('thumb_image_tag', $img_content, $thumb); ?></a>
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";
|
||||
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
.pic_lt li {float:left;width:25%;padding:0 10px}
|
||||
.pic_lt li.gallery_li:nth-child(4n+1) {clear: both!important}
|
||||
.pic_lt li .lt_img {margin:5px 0;display:block}
|
||||
.pic_lt li .lt_img img {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 .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 .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}
|
||||
|
||||
@@ -27,7 +27,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$thumb['alt'] = '이미지가 없습니다.';
|
||||
}
|
||||
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
|
||||
$img_link_html = '<a href="'.$list[$i]['href'].'" class="lt_img" >'.$img_content.'</a>';
|
||||
$img_link_html = '<a href="'.$list[$i]['href'].'" class="lt_img" >'.run_replace('thumb_image_tag', $img_content, $thumb).'</a>';
|
||||
}
|
||||
?>
|
||||
<li>
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
.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 .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 img {width:100%;height:auto}
|
||||
.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 .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-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 .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}
|
||||
|
||||
@@ -189,7 +189,7 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
|
||||
<?php if ($w == 'u' && file_exists($mb_icon_path)) { ?>
|
||||
<img src="<?php echo $mb_icon_url ?>" alt="회원아이콘">
|
||||
<input type="checkbox" name="del_mb_icon" value="1" id="del_mb_icon">
|
||||
<label for="del_mb_icon">삭제</label>
|
||||
<label for="del_mb_icon" class="inline">삭제</label>
|
||||
<?php } ?>
|
||||
|
||||
</li>
|
||||
@@ -208,7 +208,7 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
|
||||
<?php if ($w == 'u' && file_exists($mb_img_path)) { ?>
|
||||
<img src="<?php echo $mb_img_url ?>" alt="회원이미지">
|
||||
<input type="checkbox" name="del_mb_img" value="1" id="del_mb_img">
|
||||
<label for="del_mb_img">삭제</label>
|
||||
<label for="del_mb_img" class="inline">삭제</label>
|
||||
<?php } ?>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
.register_form_inner {background:#f7f7f7;border:1px solid #dde7e9;border-radius:3px}
|
||||
.register_form_inner ul {padding:20px}
|
||||
.register_form_inner label {display:block;margin-bottom:10px;line-height:24px}
|
||||
.register_form_inner label.inline {display:inline}
|
||||
|
||||
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
|
||||
#fregisterform .frm_address {margin:5px 0 0}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 820 B |
@@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
|
||||
$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">
|
||||
@@ -41,7 +41,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
<span class="txt"><i> Sign in with Google</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
|
||||
@@ -14,7 +14,7 @@ if( G5_SOCIAL_USE_POPUP ) {
|
||||
$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">
|
||||
@@ -41,7 +41,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
<span class="txt"><i> Sign in with Google</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
|
||||
@@ -15,7 +15,7 @@ if( G5_SOCIAL_USE_POPUP ) {
|
||||
}
|
||||
|
||||
// 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>
|
||||
|
||||
@@ -43,7 +43,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+로 회원가입하기</span>
|
||||
<span class="txt">Sign in with Google</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
|
||||
@@ -8,7 +8,7 @@ if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지
|
||||
// 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-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);
|
||||
|
||||
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
|
||||
|
||||
@@ -9,7 +9,7 @@ $socials = social_get_provider_service_name('', 'all');
|
||||
|
||||
$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>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
.sns-wrap-reg .sns-naver {border-color:#18a400;background:#2db400}
|
||||
.sns-wrap-reg .sns-naver .ico {background-position:-29px 0; }
|
||||
.sns-wrap-reg .sns-google {border-color:#ca2c19;background:#dd5443}
|
||||
.sns-wrap-reg .sns-google {border-color:#ca2c19;background:#4285F4}
|
||||
.sns-wrap-reg .sns-google .ico {background-position:-58px 0}
|
||||
.sns-wrap-reg .sns-facebook {border-color:#2e5393;background:#3a5897}
|
||||
.sns-wrap-reg .sns-facebook .ico {background-position:0 0 }
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/* SNS by COLOR */
|
||||
.sns-wrap-over .sns-naver {background:url('./img/sns_naver_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-google {background:url('./img/sns_gp_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-google {}
|
||||
.sns-wrap-over .sns-facebook {background:url('./img/sns_fb_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-twitter {background:url('./img/sns_twitter_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-payco {background:url('./img/sns_payco_s.png') no-repeat}
|
||||
@@ -67,12 +67,13 @@
|
||||
/*로그인 */
|
||||
#sns_login {border:0;margin-top:15px;border-top:1px solid #edeaea}
|
||||
#sns_login h3 {padding:10px 0 0;text-align:left;font-weight:bold}
|
||||
#sns_login .sns-icon {display:block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px}
|
||||
#sns_login .sns-icon {position:relative;display:block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px}
|
||||
#sns_login .sns-naver {background-color:#1fc800;background-position:5px 5px;border-bottom:1px solid #1ea505}
|
||||
#sns_login .sns-kakao {background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a}
|
||||
#sns_login .sns-kakao {color:#3c1e1e}
|
||||
#sns_login .sns-facebook {background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
|
||||
#sns_login .sns-google {background-color:#db4a3a;background-position:5px 5px;border-bottom:1px solid #c03121}
|
||||
#sns_login .sns-google {background-color:#4285F4;background-position:5px 5px;border-bottom:1px solid #3567c6;letter-spacing:-0.5px}
|
||||
#sns_login .sns-google .ico {position:absolute;top:3px;left:3px;width:33px;height:33px;background:url('./img/sns_gp_s.png') no-repeat center center;background-color:#fff;background-size:28px 28px!important;border-radius:2px}
|
||||
#sns_login .sns-twitter {background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
|
||||
#sns_login .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
|
||||
#sns_login .txt {text-align:left;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold}
|
||||
@@ -88,7 +89,8 @@
|
||||
#sns_register .sns-naver {background-color:#1fc800;background-position:0 0}
|
||||
#sns_register .sns-kakao {background-color:#ffeb00;background-position:0 0}
|
||||
#sns_register .sns-facebook {background-color:#3b579d;background-position:0 0}
|
||||
#sns_register .sns-google {background-color:#db4a3a;background-position:0 0}
|
||||
#sns_register .sns-google {background-color:#fff;background-position:0 0;border-radius:2px;border:1px solid #999}
|
||||
#sns_register .sns-google .ico {background:url('./img/sns_gp_s.png') no-repeat;height:30px}
|
||||
#sns_register .sns-twitter {background-color:#1ea1f2;background-position:0 0}
|
||||
#sns_register .sns-payco {background-color:#df0b00;background-position:0 0}
|
||||
#sns_register .txt {position:absolute;line-height:0;font-size:0;vertical-align:middle;overflow:hidden}
|
||||
|
||||
@@ -80,7 +80,7 @@ border:1px solid #558ab7 !important;
|
||||
|
||||
#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 {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}
|
||||
|
||||
@@ -159,7 +159,7 @@ jQuery(function($){
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -99,7 +99,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
$img_content = '<span class="no_img"><i class="fa fa-picture-o" aria-hidden="true"></i></span>';
|
||||
}
|
||||
|
||||
echo $img_content;
|
||||
echo run_replace('thumb_image_tag', $img_content, $thumb);
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
#bo_gall .gall_li_wr {position:relative;}
|
||||
#bo_gall .gall_li_chk {display:inline-block;position:absolute;top:10px;left:10px}
|
||||
#bo_gall .gall_li:nth-child(2n+1) {clear:both}
|
||||
#bo_gall .gall_li .gall_img img{width:100%;height:auto}
|
||||
#bo_gall .gall_li .gall_img img, #bo_gall .gall_li .gall_img video{width:100%;height:auto}
|
||||
#bo_gall .gall_li .gall_img .no_img,
|
||||
#bo_gall .gall_li .gall_notice {display:block;background:#eaeaea;color:#d0d0d0;font-size:3em;text-align:center;padding:25% 0}
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ jQuery(function($){
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -38,7 +38,7 @@ $is_show_next_prev = ($list_count > 4) ? 1 : 0;
|
||||
//echo $list[$i]['icon_reply']." ";
|
||||
|
||||
if( $img_content ){
|
||||
echo "<a href=\"".$list[$i]['href']."\" class=\"lt_thumb\">".$img_content."</a> ";
|
||||
echo "<a href=\"".$list[$i]['href']."\" class=\"lt_thumb\">".run_replace('thumb_image_tag', $img_content, $thumb)."</a> ";
|
||||
}
|
||||
|
||||
echo "<a href=\"".$list[$i]['href']."\" class=\"lt_tit\">";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
.lt ul li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.lt ul li:hover a.lt_tit {color:#3a8afd}
|
||||
.lt .lt_thumb {display:inline-block;float:left;margin-right:10px}
|
||||
.lt .lt_thumb img {width:138px;height:auto;overflow:hidden}
|
||||
.lt .lt_thumb img, .lt .lt_thumb video {width:138px !important;height:auto;overflow:hidden}
|
||||
.lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px}
|
||||
.lt .lt_info {display:inline-block;position:relative;line-height:20px;color:#828282;font-size:0.925em;vertical-align:top}
|
||||
.lt .lt_date {color:#828282}
|
||||
|
||||
@@ -1,89 +1,5 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_list a.btn_b01 {}
|
||||
#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {}
|
||||
#bo_list a.btn_b02 {}
|
||||
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {}
|
||||
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
|
||||
#bo_w button.btn_submit {}
|
||||
#bo_w fieldset .btn_submit {}
|
||||
#bo_w .btn_cancel {font-size:1.167em;border-radius:3px}
|
||||
#bo_w button.btn_cancel {}
|
||||
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
|
||||
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
#bo_w button.btn_frmline {}
|
||||
|
||||
/* 기본 테이블 */
|
||||
/* 목록 테이블 */
|
||||
#bo_list .tbl_head01 {}
|
||||
#bo_list .tbl_head01 caption {}
|
||||
#bo_list .tbl_head01 thead th {}
|
||||
#bo_list .tbl_head01 thead a {}
|
||||
#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_list .tbl_head01 tfoot th {}
|
||||
#bo_list .tbl_head01 tfoot td {}
|
||||
#bo_list .tbl_head01 tbody th {}
|
||||
#bo_list .tbl_head01 td {}
|
||||
#bo_list .tbl_head01 a {}
|
||||
#bo_list td.empty_table {}
|
||||
#bo_list tbody .even td {background:#fbfbfb}
|
||||
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_info {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
/* 필수입력 */
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
#bo_w .cke_sc {}
|
||||
#bo_w button.btn_cke_sc {}
|
||||
#bo_w .cke_sc_def {}
|
||||
#bo_w .cke_sc_def dl {}
|
||||
#bo_w .cke_sc_def dl:after {}
|
||||
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
|
||||
#bo_w .cke_sc_def dt {}
|
||||
#bo_w .cke_sc_def dd {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_list {position:relative;margin-bottom:20px}
|
||||
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
@@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -6,7 +6,6 @@ include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
|
||||
<!-- 게시판 목록 시작 { -->
|
||||
<div id="bo_gall" style="width:<?php echo $width; ?>">
|
||||
|
||||
@@ -37,24 +36,24 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
</div>
|
||||
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<li>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
</li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<ul class="more_opt is_list_btn">
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<ul class="more_opt is_list_btn">
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
|
||||
@@ -62,9 +61,9 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<div id="gall_allchk" class="all_chk chk_box">
|
||||
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 </b> 전체선택
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 </b> 전체선택
|
||||
</label>
|
||||
</div>
|
||||
<?php } ?>
|
||||
@@ -84,43 +83,45 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
if( $wr_id && $wr_id == $list[$i]['wr_id'] ){
|
||||
$classes[] = 'gall_now';
|
||||
}
|
||||
|
||||
$line_height_style = ($board['bo_gallery_height'] > 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : '';
|
||||
?>
|
||||
<li class="<?php echo implode(' ', $classes); ?>">
|
||||
<div class="gall_box">
|
||||
<div class="gall_chk chk_box">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
|
||||
<?php } ?>
|
||||
<span class="sound_only">
|
||||
<?php
|
||||
if ($wr_id == $list[$i]['wr_id'])
|
||||
echo "<span class=\"bo_current\">열람중</span>";
|
||||
else
|
||||
echo $list[$i]['num'];
|
||||
?>
|
||||
</span>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
|
||||
<?php } ?>
|
||||
<span class="sound_only">
|
||||
<?php
|
||||
if ($wr_id == $list[$i]['wr_id'])
|
||||
echo "<span class=\"bo_current\">열람중</span>";
|
||||
else
|
||||
echo $list[$i]['num'];
|
||||
?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="gall_con">
|
||||
<div class="gall_img">
|
||||
<div class="gall_img" style="<?php if ($board['bo_gallery_height'] > 0) echo 'height:'.$board['bo_gallery_height'].'px;max-height:'.$board['bo_gallery_height'].'px'; ?>">
|
||||
<a href="<?php echo $list[$i]['href'] ?>">
|
||||
<?php
|
||||
if ($list[$i]['is_notice']) { // 공지사항 ?>
|
||||
<span class="is_notice">공지</span>
|
||||
<span class="is_notice" style="<?php echo $line_height_style; ?>">공지</span>
|
||||
<?php } else {
|
||||
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);
|
||||
|
||||
if($thumb['src']) {
|
||||
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" >';
|
||||
} else {
|
||||
$img_content = '<span class="no_image">no image</span>';
|
||||
$img_content = '<span class="no_image" style="'.$line_height_style.'">no image</span>';
|
||||
}
|
||||
|
||||
echo $img_content;
|
||||
echo run_replace('thumb_image_tag', $img_content, $thumb);
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
@@ -132,8 +133,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="bo_tit">
|
||||
|
||||
<?php // echo $list[$i]['icon_reply']; ?>
|
||||
<!-- 갤러리 댓글기능 사용시 주석을 제거하세요. -->
|
||||
|
||||
<!-- 갤러리 댓글기능 사용시 주석을 제거하세요. -->
|
||||
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
@@ -142,19 +143,19 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
//if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);
|
||||
//if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);
|
||||
if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);
|
||||
?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt"><?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt"><?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
</a>
|
||||
<span class="bo_cnt"><?php echo utf8_strcut(strip_tags($list[$i]['wr_content']), 68, '..'); ?></span>
|
||||
</div>
|
||||
|
||||
<div class="gall_info">
|
||||
<span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?>
|
||||
<span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?>
|
||||
<span class="gall_date"><span class="sound_only">작성일 </span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
|
||||
<span class="gall_view"><span class="sound_only">조회 </span><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></span>
|
||||
<span class="gall_view"><span class="sound_only">조회 </span><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></span>
|
||||
</div>
|
||||
<div class="gall_option">
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?>
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?>
|
||||
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?></strong><?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -163,26 +164,26 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { echo "<li class=\"empty_list\">게시물이 없습니다.</li>"; } ?>
|
||||
</ul>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<?php if ($list_href || $is_checkbox || $write_href) { ?>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<?php if ($list_href || $is_checkbox || $write_href) { ?>
|
||||
<div class="bo_fx">
|
||||
<?php if ($list_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
</ul>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
|
||||
<!-- 게시판 검색 시작 { -->
|
||||
<div class="bo_sch_wrap">
|
||||
<div class="bo_sch_wrap">
|
||||
<fieldset class="bo_sch">
|
||||
<h3>검색</h3>
|
||||
<form name="fsearch" method="get">
|
||||
|
||||
@@ -1,77 +1,5 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_gall a.btn_b01 {}
|
||||
#bo_gall a.btn_b01:focus, #bo_gall a.btn_b01:hover {}
|
||||
#bo_gall a.btn_b02 {}
|
||||
#bo_gall a.btn_b02:focus, #bo_gall a.btn_b02:hover {}
|
||||
#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_gall a.btn_admin:focus, #bo_gall .btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
|
||||
#bo_w button.btn_submit {}
|
||||
#bo_w fieldset .btn_submit {}
|
||||
#bo_w .btn_cancel {font-size:1.167em;border-radius:3px}
|
||||
#bo_w button.btn_cancel {}
|
||||
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
|
||||
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
#bo_w button.btn_frmline {}
|
||||
|
||||
/* 기본 테이블 */
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_info {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
/* 필수입력 */
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
#bo_w .cke_sc {}
|
||||
#bo_w button.btn_cke_sc {}
|
||||
#bo_w .cke_sc_def {}
|
||||
#bo_w .cke_sc_def dl {}
|
||||
#bo_w .cke_sc_def dl:after {}
|
||||
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
|
||||
#bo_w .cke_sc_def dt {}
|
||||
#bo_w .cke_sc_def dd {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_cate {margin:25px 0}
|
||||
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
@@ -124,10 +52,10 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
|
||||
#bo_gall .gall_now .gall_text_href a {color:#ff3061}
|
||||
|
||||
#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}
|
||||
#bo_gall .gall_img {border-bottom:1px solid #eee;text-align:center;height:200px;max-height:200px;overflow:hidden}
|
||||
#bo_gall .gall_img {border-bottom:1px solid #eee;text-align:center;overflow:hidden}
|
||||
#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice {display:block}
|
||||
#bo_gall .gall_img img {max-width:100%;height:auto !important}
|
||||
#bo_gall .gall_img span {display:inline-block;background:#eaeaea;text-align:center;line-height:200px;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}
|
||||
#bo_gall .gall_img img, #bo_gall .gall_img video {max-width:100%;height:auto !important}
|
||||
#bo_gall .gall_img span {display:inline-block;background:#eaeaea;text-align:center;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}
|
||||
|
||||
#bo_gall .gall_text_href {margin:10px 0}
|
||||
#bo_gall .gall_text_href a {font-weight:bold}
|
||||
|
||||
@@ -176,7 +176,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -25,7 +25,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
|
||||
?>
|
||||
<li class="galley_li">
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php echo $img_content; ?></a>
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php echo run_replace('thumb_image_tag', $img_content, $thumb); ?></a>
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
.pic_lt li {float:left;width:25%;padding:0 10px}
|
||||
.pic_lt li.galley_li:nth-child(4n+1) {clear: both!important}
|
||||
.pic_lt li .lt_img {margin:5px 0;display:block}
|
||||
.pic_lt li .lt_img img {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 .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}
|
||||
|
||||
@@ -27,7 +27,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$thumb['alt'] = '이미지가 없습니다.';
|
||||
}
|
||||
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
|
||||
$img_link_html = '<a href="'.$list[$i]['href'].'" class="lt_img" >'.$img_content.'</a>';
|
||||
$img_link_html = '<a href="'.$list[$i]['href'].'" class="lt_img" >'.run_replace('thumb_image_tag', $img_content, $thumb).'</a>';
|
||||
}
|
||||
?>
|
||||
<li>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
.pic_li_lt li {border-bottom:1px solid #e5ecee;margin-bottom:10px}
|
||||
.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 img {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 .fa-heart {color:#ff0000}
|
||||
|
||||
@@ -188,7 +188,7 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
|
||||
<?php if ($w == 'u' && file_exists($mb_icon_path)) { ?>
|
||||
<img src="<?php echo $mb_icon_url ?>" alt="회원아이콘">
|
||||
<input type="checkbox" name="del_mb_icon" value="1" id="del_mb_icon">
|
||||
<label for="del_mb_icon">삭제</label>
|
||||
<label for="del_mb_icon" class="inline">삭제</label>
|
||||
<?php } ?>
|
||||
|
||||
</li>
|
||||
@@ -207,7 +207,7 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
|
||||
<?php if ($w == 'u' && file_exists($mb_img_path)) { ?>
|
||||
<img src="<?php echo $mb_img_url ?>" alt="회원이미지">
|
||||
<input type="checkbox" name="del_mb_img" value="1" id="del_mb_img">
|
||||
<label for="del_mb_img">삭제</label>
|
||||
<label for="del_mb_img" class="inline">삭제</label>
|
||||
<?php } ?>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
.register_form_inner {background:#f7f7f7;border:1px solid #dde7e9;border-radius:3px}
|
||||
.register_form_inner ul {padding:20px}
|
||||
.register_form_inner label {display:block;margin-bottom:10px;line-height:24px}
|
||||
.register_form_inner label.inline {display:inline}
|
||||
|
||||
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
|
||||
#fregisterform .frm_address {margin:5px 0 0}
|
||||
|
||||
Reference in New Issue
Block a user