Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1600f63dee | ||
|
|
fa9aa8da19 | ||
|
|
85e075a5c6 | ||
|
|
1e7d17fd68 | ||
|
|
6ccb8905a0 | ||
|
|
ebac40312f | ||
|
|
3c0cde3fe2 | ||
|
|
3cf0546711 | ||
|
|
120d8cf564 | ||
|
|
992d3d93f4 | ||
|
|
30e0b93ecf | ||
|
|
2581bdba9b | ||
|
|
d982361541 | ||
|
|
e82ebd7ada | ||
|
|
2d1af9a3b2 | ||
|
|
da29b6d0bb | ||
|
|
4493674762 | ||
|
|
2e0b99f65c | ||
|
|
cc5eb6e520 | ||
|
|
b855bbfb96 | ||
|
|
93753162be | ||
|
|
726863de44 | ||
|
|
69ec7348b8 | ||
|
|
d8521d4543 | ||
|
|
e6eab2d040 | ||
|
|
2ad151c0dd | ||
|
|
4c17f79783 | ||
|
|
e329192586 | ||
|
|
f96c3558e8 | ||
|
|
f2a1af5f46 | ||
|
|
aec86e4360 | ||
|
|
6a934c7a36 | ||
|
|
ccfe419bbd | ||
|
|
4b0969d244 | ||
|
|
a5e5531471 | ||
|
|
5a3c2b628d | ||
|
|
b5152b62e8 | ||
|
|
de59f07a66 | ||
|
|
32e024f52e | ||
|
|
ffc43056b4 | ||
|
|
6016db4a95 | ||
|
|
30f6f09372 | ||
|
|
d10a1667c7 | ||
|
|
d560892a80 | ||
|
|
4e11c1fc1f | ||
|
|
54c69dcf35 | ||
|
|
7ccf17b479 | ||
|
|
0e2dbb6145 | ||
|
|
83b85b5d66 | ||
|
|
f68ba794ec | ||
|
|
76c1bde119 | ||
|
|
312fc5daf3 | ||
|
|
080370323a | ||
|
|
c419e2751f | ||
|
|
6977e9d4b5 | ||
|
|
e3ed8a1af3 | ||
|
|
22aad37bfb | ||
|
|
f230dc3522 | ||
|
|
58878593dc | ||
|
|
863f6011ac | ||
|
|
cee88a0f6f | ||
|
|
27b1a5d8f8 | ||
|
|
7d494115b3 | ||
|
|
0954beced9 | ||
|
|
2534921446 | ||
|
|
831219e2c2 | ||
|
|
ae729f1525 | ||
|
|
4d4064c40d | ||
|
|
e8abeb47e8 | ||
|
|
5fdd38e1ce | ||
|
|
82cdd90edc | ||
|
|
54b1356ab1 | ||
|
|
7ae3d6b00d | ||
|
|
da963964a9 | ||
|
|
7e7d73d394 | ||
|
|
2549172969 | ||
|
|
3fb9c2c15f | ||
|
|
0329cc9f9c | ||
|
|
a77a6ffafa | ||
|
|
15b2e73e73 | ||
|
|
0e00f05014 | ||
|
|
b2858b65ee | ||
|
|
a82f61ae2a | ||
|
|
5be739934b | ||
|
|
02d816154b | ||
|
|
0bae2cf182 | ||
|
|
a196c91ed5 | ||
|
|
c24f37421b | ||
|
|
74a8e668e5 | ||
|
|
f6a8b1bacf | ||
|
|
8958f138f4 | ||
|
|
af8494e18f | ||
|
|
b0fd1e7486 | ||
|
|
bf8efdf2ab | ||
|
|
632ca4c79a | ||
|
|
ea9825be61 | ||
|
|
fbe2021a38 | ||
|
|
5ba5836ecb | ||
|
|
a90a38f096 | ||
|
|
bc68c4bc70 | ||
|
|
7d8e2e4fdd | ||
|
|
f9dd7644cc | ||
|
|
28d079e83f | ||
|
|
54401165e8 | ||
|
|
b99efb8fc8 | ||
|
|
ad102421cb | ||
|
|
9be00683d9 | ||
|
|
e76f36a1be | ||
|
|
70b62a6c6a | ||
|
|
61b3fe4ebd | ||
|
|
30a93dbef7 | ||
|
|
b6956bd6fd | ||
|
|
7a4b7e23c5 | ||
|
|
b34a7610f5 | ||
|
|
0d19b01229 | ||
|
|
2b2d558c87 | ||
|
|
94f25f73fa | ||
|
|
5bd16c0e77 | ||
|
|
7bb40dd882 | ||
|
|
bb99c050b6 | ||
|
|
31cdf10011 | ||
|
|
02c29c137c | ||
|
|
e9afe3fdae | ||
|
|
ce9517885b | ||
|
|
6a41d655de | ||
|
|
c2a4a39ea0 | ||
|
|
b8759e4acd | ||
|
|
e6a3df6f08 | ||
|
|
617dfbf0e2 | ||
|
|
e4c9bf5ba4 | ||
|
|
910091b6c6 | ||
|
|
92b8ce3a89 | ||
|
|
8a276fc073 | ||
|
|
baa2e890ba | ||
|
|
a9f4aee93f | ||
|
|
144926774d | ||
|
|
435da08a02 | ||
|
|
945c060b67 | ||
|
|
83fd4bf68a | ||
|
|
f11c4531e9 | ||
|
|
f36c24e5d0 | ||
|
|
23a91b346d | ||
|
|
8eb465d26f | ||
|
|
6ff06d4609 | ||
|
|
c817b1edb7 | ||
|
|
f7c6a52f6d | ||
|
|
3e343bdf66 | ||
|
|
e131563c8f | ||
|
|
0094cc9afe | ||
|
|
5fde923aa0 | ||
|
|
1e3a4f2657 | ||
|
|
0693fde962 | ||
|
|
7fb5f92200 | ||
|
|
50c8207fed | ||
|
|
6dbfa73461 | ||
|
|
76ecc6efe8 | ||
|
|
f4b0737178 | ||
|
|
e99c7a81db | ||
|
|
ce0a6dc3af | ||
|
|
f3e428ea1e | ||
|
|
9b422b38c5 | ||
|
|
f6056b2d37 | ||
|
|
a560fc353c | ||
|
|
e2c67e854f | ||
|
|
3e7617e825 | ||
|
|
4515f11169 | ||
|
|
ec32f64bc4 | ||
|
|
15bd8b9632 | ||
|
|
ef013e0827 | ||
|
|
b3773217e9 | ||
|
|
70f6d92e87 | ||
|
|
042695af55 | ||
|
|
85f9523b30 | ||
|
|
8c1d6266af | ||
|
|
30009dba6f | ||
|
|
24e7e8823e | ||
|
|
42fb4b71a6 | ||
|
|
f0134b610b | ||
|
|
c2cf34392a | ||
|
|
20dc859436 | ||
|
|
f5ec4d60c0 | ||
|
|
de00b4e9d3 | ||
|
|
8c67945c64 | ||
|
|
e5889df761 | ||
|
|
624e3d74a6 | ||
|
|
30815f71e0 | ||
|
|
949a73b468 | ||
|
|
24d57cdd4b | ||
|
|
191f3d2f97 | ||
|
|
4973714e2f | ||
|
|
70bfeefb3b | ||
|
|
e8b83f3a33 | ||
|
|
c6bdc172ee | ||
|
|
c3cf74f0c5 | ||
|
|
52db203ecd | ||
|
|
6e05353f31 | ||
|
|
7f6a9a090a | ||
|
|
1825830c3d | ||
|
|
3047e09f88 | ||
|
|
990af076af | ||
|
|
b1f0342921 | ||
|
|
63f9e4c8df | ||
|
|
6b43e67c40 | ||
|
|
9a870506ab | ||
|
|
008ae978dd | ||
|
|
20b1d8c7e5 | ||
|
|
1e011ba56d | ||
|
|
a73e48c3e2 | ||
|
|
e9fd9f03fd | ||
|
|
4913da0a1d | ||
|
|
18ef4b0767 | ||
|
|
d0e368fe2a | ||
|
|
5185f0c12a | ||
|
|
f5f4925d4e | ||
|
|
bd3fd20630 | ||
|
|
6797c85480 | ||
|
|
2c9ff2bb52 | ||
|
|
cc2b5c246d | ||
|
|
c337bfdf88 | ||
|
|
cb5603008a | ||
|
|
9d147b5e6c | ||
|
|
aabc82ee6c | ||
|
|
40aff270cd | ||
|
|
851a21a3c1 | ||
|
|
d5b7dd165d | ||
|
|
beb7a86f2a | ||
|
|
a6327afac4 | ||
|
|
30305d78dc | ||
|
|
bb1fd4d3ab | ||
|
|
a75e00f9e0 | ||
|
|
ad67fca323 | ||
|
|
614dce643c | ||
|
|
c0cd45cc18 | ||
|
|
f3e7dbbb43 | ||
|
|
5247359e39 | ||
|
|
4ed4938cf1 | ||
|
|
158d9040d2 | ||
|
|
aebfc70b10 | ||
|
|
69ca119b10 | ||
|
|
be15f890c9 | ||
|
|
bc71241846 | ||
|
|
4bcce2696c | ||
|
|
7083bb0899 | ||
|
|
c7b1d0ee96 | ||
|
|
ba52e4ab6f | ||
|
|
e47156ede6 | ||
|
|
36ef8e6447 | ||
|
|
eb154efa24 | ||
|
|
9bf15fdf32 | ||
|
|
353a0d9409 | ||
|
|
0535b6d26a | ||
|
|
1fe4684537 | ||
|
|
0803de998b | ||
|
|
273983c87c | ||
|
|
94cc7639a9 | ||
|
|
84009dc16c | ||
|
|
82c12f6d98 | ||
|
|
6beff3a333 | ||
|
|
d49200c99e | ||
|
|
faed6ac09a | ||
|
|
9256a5618b | ||
|
|
a52858fc6d | ||
|
|
2ccc407397 | ||
|
|
d5bd57cdfa | ||
|
|
3bbbe96319 | ||
|
|
78169b372c | ||
|
|
a79a926221 | ||
|
|
f72ea8774e | ||
|
|
3c9b72d17a | ||
|
|
8821583e8f | ||
|
|
6e90622328 | ||
|
|
d5aca5ab93 | ||
|
|
7110ccc12f | ||
|
|
330e656544 | ||
|
|
18fc8ec6d1 | ||
|
|
01a31bb18f | ||
|
|
2705b9312c | ||
|
|
9fd14cfc17 | ||
|
|
a6a2183c7d | ||
|
|
4b9369599c | ||
|
|
b477c2e720 | ||
|
|
7ef2029a31 | ||
|
|
1cd8d590b2 | ||
|
|
82a55c96a5 | ||
|
|
489c859d3e | ||
|
|
d5db75a4c9 | ||
|
|
db2ef39126 | ||
|
|
87adbf0f8d | ||
|
|
244b8ae819 | ||
|
|
7ea9d2e1d2 | ||
|
|
7dc293a147 | ||
|
|
097903d0ce | ||
|
|
37b0fa5788 | ||
|
|
ad78efcdaa | ||
|
|
352deb6133 | ||
|
|
1355c7ef57 | ||
|
|
3fa9aec9f2 | ||
|
|
4c083b6471 | ||
|
|
916cd86330 | ||
|
|
5a37e8243d | ||
|
|
e891791f86 | ||
|
|
59468d1312 | ||
|
|
43fae4ed50 | ||
|
|
fdc93c1c2d | ||
|
|
79d7a690f4 | ||
|
|
0742c5f81b | ||
|
|
d5e6a07dda | ||
|
|
e84a1c8c98 | ||
|
|
2579323ddf | ||
|
|
2658dde159 | ||
|
|
d9b8d31225 | ||
|
|
4d8500be02 | ||
|
|
288da7f9e1 | ||
|
|
41aac91146 | ||
|
|
a949c32b4c | ||
|
|
dc06aed164 | ||
|
|
6518b22854 | ||
|
|
c8a69b054e | ||
|
|
cd50ef5d48 | ||
|
|
7983affa68 | ||
|
|
0243dabe20 |
@@ -6,4 +6,6 @@ include_once(G5_ADMIN_PATH.'/admin.lib.php');
|
||||
if( isset($token) ){
|
||||
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
|
||||
}
|
||||
|
||||
run_event('admin_common');
|
||||
?>
|
||||
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
$is_use_apache = (stripos($_SERVER['SERVER_SOFTWARE'], 'apache') !== false);
|
||||
|
||||
$is_use_nginx = (stripos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false);
|
||||
|
||||
$is_use_iis = !$is_use_apache && (stripos($_SERVER['SERVER_SOFTWARE'], 'microsoft-iis') !== false);
|
||||
|
||||
$is_write_file = false;
|
||||
$is_apache_need_rules = false;
|
||||
$is_apache_rewrite = false;
|
||||
|
||||
if( !($is_use_apache || $is_use_nginx || $is_use_iis) ){ // 셋다 아니면 다 출력시킨다.
|
||||
$is_use_apache = true;
|
||||
$is_use_nginx = true;
|
||||
}
|
||||
|
||||
if ( $is_use_nginx ){
|
||||
$is_write_file = false;
|
||||
}
|
||||
|
||||
if ( $is_use_apache ){
|
||||
$is_write_file = (is_writable(G5_PATH) || (file_exists(G5_PATH.'/.htaccess') && is_writable(G5_PATH.'/.htaccess'))) ? true : false;
|
||||
$is_apache_need_rules = check_need_rewrite_rules();
|
||||
$is_apache_rewrite = function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules());
|
||||
}
|
||||
|
||||
$get_path_url = parse_url( G5_URL );
|
||||
|
||||
$base_path = isset($get_path_url['path']) ? $get_path_url['path'].'/' : '/';
|
||||
|
||||
// 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_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
|
||||
?>
|
||||
<section id="anc_cf_url">
|
||||
<h2 class="h2_frm">짧은 주소 설정</h2>
|
||||
<?php echo $pg_anchor ?>
|
||||
<div class="local_desc02 local_desc">
|
||||
<p>
|
||||
게시판과 컨텐츠 페이지에 짧은 URL 을 사용합니다. <a href="https://sir.kr/manual/g5/286" class="btn btn_03" target="_blank" style="margin-left:10px">설정 관련 메뉴얼 보기</a>
|
||||
<?php if( $is_use_apache && ! $is_use_nginx ){ ?>
|
||||
<?php if( ! $is_apache_rewrite ){ ?>
|
||||
<br><strong>Apache 서버인 경우 rewrite_module 이 비활성화 되어 있으면 짧은 주소를 사용할수 없습니다.</strong>
|
||||
<?php } else if( ! $is_write_file && $is_apache_need_rules ) { // apache인 경우 ?>
|
||||
<br><strong>짧은 주소 사용시 아래 Apache 설정 코드를 참고하여 설정해 주세요.</strong>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="server_config_views">
|
||||
<?php if ( $is_use_apache ){ ?>
|
||||
<button type="button" data-remodal-target="modal_apache" class="btn btn_03">Apache 설정 코드 보기</button>
|
||||
<?php } ?>
|
||||
<?php if ( $is_use_nginx ) { ?>
|
||||
<button type="button" data-remodal-target="modal_nginx" class="btn btn_03">Nginx 설정 코드 보기</button>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<caption>짧은주소 설정</caption>
|
||||
<colgroup>
|
||||
<col class="grid_4">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<?php
|
||||
$short_url_arrs = array(
|
||||
'0'=>array('label'=>'사용안함', 'url'=>G5_URL.'/board.php?bo_table=free&wr_id=123'),
|
||||
'1'=>array('label'=>'숫자', 'url'=>G5_URL.'/free/123'),
|
||||
'2'=>array('label'=>'글 이름', 'url'=>G5_URL.'/free/안녕하세요/'),
|
||||
);
|
||||
foreach($short_url_arrs as $k=>$v){
|
||||
$checked = ((int) $config['cf_bbs_rewrite'] === (int) $k) ? 'checked' : '';
|
||||
?>
|
||||
<tr>
|
||||
<td><input name="cf_bbs_rewrite" id="cf_bbs_rewrite_<?php echo $k; ?>" type="radio" value="<?php echo $k; ?>" <?php echo $checked;?> ><label for="cf_bbs_rewrite_<?php echo $k; ?>" class="rules_label"><?php echo $v['label']; ?></label></td>
|
||||
<td><?php echo $v['url']; ?></td>
|
||||
</tr>
|
||||
<?php } //end foreach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="server_rewrite_info">
|
||||
<div class="is_rewrite remodal" data-remodal-id="modal_apache" role="dialog" aria-labelledby="modalApache" aria-describedby="modal1Desc">
|
||||
|
||||
<button type="button" class="connect-close" data-remodal-action="close">
|
||||
<i class="fa fa-close"></i>
|
||||
<span class="txt">닫기</span>
|
||||
</button>
|
||||
|
||||
<h4 class="copy_title">.htaccess 파일에 적용할 코드입니다.
|
||||
<?php if( ! $is_apache_rewrite ) { ?>
|
||||
<br><span class="info-warning">Apache 서버인 경우 rewrite_module 이 비활성화 되어 있으면 짧은 주소를 사용할수 없습니다.</span>
|
||||
<?php } else if ( ! $is_write_file && $is_apache_need_rules ) { ?>
|
||||
<br><span class="info-warning">자동으로 .htaccess 파일을 수정 할수 있는 권한이 없습니다.<br>.htaccess 파일이 없다면 생성 후에, 아래 코드가 없으면 코드를 복사하여 붙여넣기 해 주세요.</span>
|
||||
<?php } else if ( ! $is_apache_need_rules ){ ?>
|
||||
<br><span class="info-success">정상적으로 적용된 상태입니다.</span>
|
||||
<?php } ?>
|
||||
</h4>
|
||||
<textarea readonly="readonly" rows="10"><?php echo get_mod_rewrite_rules(true); ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="is_rewrite remodal" data-remodal-id="modal_nginx" role="dialog" aria-labelledby="modalNginx" aria-describedby="modal2Desc">
|
||||
|
||||
<button type="button" class="connect-close" data-remodal-action="close">
|
||||
<i class="fa fa-close"></i>
|
||||
<span class="txt">닫기</span>
|
||||
</button>
|
||||
<h4 class="copy_title">아래 코드를 복사하여 nginx 설정 파일에 적용해 주세요.</h4>
|
||||
<textarea readonly="readonly" rows="10"><?php echo get_nginx_conf_rules(true); ?></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
$begin_time = get_microtime();
|
||||
$g5_debug['php']['begin_time'] = $begin_time = get_microtime();
|
||||
|
||||
$files = glob(G5_ADMIN_PATH.'/css/admin_extend_*');
|
||||
if (is_array($files)) {
|
||||
@@ -101,7 +101,7 @@ function imageview(id, w, h)
|
||||
<h1><?php echo $config['cf_title'] ?></h1>
|
||||
<div id="hd_top">
|
||||
<button type="button" id="btn_gnb" class="btn_gnb_close <?php echo $adm_menu_cookie['btn_gnb'];?>">메뉴</button>
|
||||
<div id="logo"><a href="<?php echo G5_ADMIN_URL ?>"><img src="<?php echo G5_ADMIN_URL ?>/img/logo.png" alt="<?php echo $config['cf_title'] ?> 관리자"></a></div>
|
||||
<div id="logo"><a href="<?php echo correct_goto_url(G5_ADMIN_URL); ?>"><img src="<?php echo G5_ADMIN_URL ?>/img/logo.png" alt="<?php echo $config['cf_title'] ?> 관리자"></a></div>
|
||||
|
||||
<div id="tnb">
|
||||
<ul>
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@ function get_ajax_token()
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(document).on("click", "form input:submit", function() {
|
||||
$(document).on("click", "form input:submit, form button:submit", function() {
|
||||
var f = this.form;
|
||||
var token = get_ajax_token();
|
||||
|
||||
|
||||
+37
-1
@@ -486,10 +486,41 @@ function admin_check_xss_params($params){
|
||||
return;
|
||||
}
|
||||
|
||||
function admin_menu_find_by($call, $search_key){
|
||||
global $menu;
|
||||
|
||||
static $cache_menu = array();
|
||||
|
||||
if( empty($cache_menu) ){
|
||||
foreach( $menu as $k1=>$arr1 ){
|
||||
|
||||
if (empty($arr1) ) continue;
|
||||
foreach( $arr1 as $k2=>$arr2 ){
|
||||
if (empty($arr2) ) continue;
|
||||
|
||||
$menu_key = isset($arr2[3]) ? $arr2[3] : '';
|
||||
if (empty($menu_key) ) continue;
|
||||
|
||||
$cache_menu[$menu_key] = array(
|
||||
'sub_menu'=>$arr2[0],
|
||||
'title'=>$arr2[1],
|
||||
'link'=>$arr2[2],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( isset($cache_menu[$call]) && isset($cache_menu[$call][$search_key]) ){
|
||||
return$cache_menu[$call][$search_key];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
// 접근 권한 검사
|
||||
if (!$member['mb_id'])
|
||||
{
|
||||
alert('로그인 하십시오.', G5_BBS_URL.'/login.php?url=' . urlencode(G5_ADMIN_URL));
|
||||
alert('로그인 하십시오.', G5_BBS_URL.'/login.php?url=' . urlencode(correct_goto_url(G5_ADMIN_URL)));
|
||||
}
|
||||
else if ($is_admin != 'super')
|
||||
{
|
||||
@@ -541,6 +572,11 @@ foreach($menu_files as $file){
|
||||
}
|
||||
@ksort($amenu);
|
||||
|
||||
$amenu = run_replace('admin_amenu', $amenu);
|
||||
if( isset($menu) && $menu ){
|
||||
$menu = run_replace('admin_menu', $menu);
|
||||
}
|
||||
|
||||
$arr_query = array();
|
||||
if (isset($sst)) $arr_query[] = 'sst='.$sst;
|
||||
if (isset($sod)) $arr_query[] = 'sod='.$sod;
|
||||
|
||||
@@ -58,6 +58,19 @@ include_once(G5_PATH.'/head.sub.php');
|
||||
<script>
|
||||
function fboardcopy_check(f)
|
||||
{
|
||||
<?php
|
||||
if(!$w){
|
||||
$js_array = get_bo_table_banned_word();
|
||||
echo "var banned_array = ". json_encode($js_array) . ";\n";
|
||||
}
|
||||
?>
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.target_table.value, banned_array) !== -1 ){
|
||||
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (f.bo_table.value == f.target_table.value) {
|
||||
alert("원본 테이블명과 복사할 테이블명이 달라야 합니다.");
|
||||
return false;
|
||||
|
||||
@@ -15,6 +15,11 @@ if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) {
|
||||
alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)');
|
||||
}
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ( $w == '' && in_array($target_table, get_bo_table_banned_word()) ){
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
}
|
||||
|
||||
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' ");
|
||||
if ($row['cnt'])
|
||||
alert($target_table.'은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.');
|
||||
@@ -160,6 +165,8 @@ if ($copy_case == 'schema_data_both') {
|
||||
}
|
||||
}
|
||||
$d->close();
|
||||
|
||||
run_event('admin_board_copy_file', $bo_table, $target_table);
|
||||
|
||||
// 글복사
|
||||
$sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table ";
|
||||
@@ -181,6 +188,9 @@ if ($copy_case == 'schema_data_both') {
|
||||
|
||||
if (count($file_copy)) {
|
||||
for ($i=0; $i<count($file_copy); $i++) {
|
||||
|
||||
$file_copy[$i] = run_replace('admin_copy_update_file', $file_copy[$i], $file_copy[$i]['bf_file'], $bo_table, $target_table);
|
||||
|
||||
$sql = " insert into {$g5['board_file_table']}
|
||||
set bo_table = '$target_table',
|
||||
wr_id = '{$file_copy[$i]['wr_id']}',
|
||||
@@ -189,11 +199,15 @@ if (count($file_copy)) {
|
||||
bf_file = '{$file_copy[$i]['bf_file']}',
|
||||
bf_download = '{$file_copy[$i]['bf_download']}',
|
||||
bf_content = '".addslashes($file_copy[$i]['bf_content'])."',
|
||||
bf_fileurl = '".addslashes($file_copy[$i]['bf_fileurl'])."',
|
||||
bf_thumburl = '".addslashes($file_copy[$i]['bf_thumburl'])."',
|
||||
bf_storage = '".addslashes($file_copy[$i]['bf_storage'])."',
|
||||
bf_filesize = '{$file_copy[$i]['bf_filesize']}',
|
||||
bf_width = '{$file_copy[$i]['bf_width']}',
|
||||
bf_height = '{$file_copy[$i]['bf_height']}',
|
||||
bf_type = '{$file_copy[$i]['bf_type']}',
|
||||
bf_datetime = '{$file_copy[$i]['bf_datetime']}' ";
|
||||
|
||||
sql_query($sql, false);
|
||||
}
|
||||
}
|
||||
|
||||
+32
-21
@@ -185,7 +185,7 @@ $pg_anchor = '<ul class="anchor">
|
||||
<?php if ($w == '') { ?>
|
||||
영문자, 숫자, _ 만 가능 (공백없이 20자 이내)
|
||||
<?php } else { ?>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $board['bo_table'] ?>" class="btn_frmline">게시판 바로가기</a>
|
||||
<a href="<?php echo get_pretty_url($board['bo_table']) ?>" class="btn_frmline">게시판 바로가기</a>
|
||||
<a href="./board_list.php?<?php echo $qstr;?>" class="btn_frmline">목록으로</a>
|
||||
<?php } ?>
|
||||
</td>
|
||||
@@ -1114,25 +1114,23 @@ $pg_anchor = '<ul class="anchor">
|
||||
<td>
|
||||
<?php echo help('리스트에서 기본으로 정렬에 사용할 필드를 선택합니다. "기본"으로 사용하지 않으시는 경우 속도가 느려질 수 있습니다.') ?>
|
||||
<select id="bo_sort_field" name="bo_sort_field">
|
||||
<option value="" <?php echo get_selected($board['bo_sort_field'], ""); ?>>wr_num, wr_reply : 기본</option>
|
||||
<option value="wr_datetime asc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime asc"); ?>>wr_datetime asc : 날짜 이전것 부터</option>
|
||||
<option value="wr_datetime desc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime desc"); ?>>wr_datetime desc : 날짜 최근것 부터</option>
|
||||
<option value="wr_hit asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_hit asc, wr_num, wr_reply"); ?>>wr_hit asc : 조회수 낮은것 부터</option>
|
||||
<option value="wr_hit desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_hit desc, wr_num, wr_reply"); ?>>wr_hit desc : 조회수 높은것 부터</option>
|
||||
<option value="wr_last asc" <?php echo get_selected($board['bo_sort_field'], "wr_last asc"); ?>>wr_last asc : 최근글 이전것 부터</option>
|
||||
<option value="wr_last desc" <?php echo get_selected($board['bo_sort_field'], "wr_last desc"); ?>>wr_last desc : 최근글 최근것 부터</option>
|
||||
<option value="wr_comment asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_comment asc, wr_num, wr_reply"); ?>>wr_comment asc : 댓글수 낮은것 부터</option>
|
||||
<option value="wr_comment desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_comment desc, wr_num, wr_reply"); ?>>wr_comment desc : 댓글수 높은것 부터</option>
|
||||
<option value="wr_good asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_good asc, wr_num, wr_reply"); ?>>wr_good asc : 추천수 낮은것 부터</option>
|
||||
<option value="wr_good desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_good desc, wr_num, wr_reply"); ?>>wr_good desc : 추천수 높은것 부터</option>
|
||||
<option value="wr_nogood asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_nogood asc, wr_num, wr_reply"); ?>>wr_nogood asc : 비추천수 낮은것 부터</option>
|
||||
<option value="wr_nogood desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_nogood desc, wr_num, wr_reply"); ?>>wr_nogood desc : 비추천수 높은것 부터</option>
|
||||
<option value="wr_subject asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_subject asc, wr_num, wr_reply"); ?>>wr_subject asc : 제목 오름차순</option>
|
||||
<option value="wr_subject desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_subject desc, wr_num, wr_reply"); ?>>wr_subject desc : 제목 내림차순</option>
|
||||
<option value="wr_name asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_name asc, wr_num, wr_reply"); ?>>wr_name asc : 글쓴이 오름차순</option>
|
||||
<option value="wr_name desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_name desc, wr_num, wr_reply"); ?>>wr_name desc : 글쓴이 내림차순</option>
|
||||
<option value="ca_name asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "ca_name asc, wr_num, wr_reply"); ?>>ca_name asc : 분류명 오름차순</option>
|
||||
<option value="ca_name desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "ca_name desc, wr_num, wr_reply"); ?>>ca_name desc : 분류명 내림차순</option>
|
||||
<?php foreach( get_board_sort_fields($board) as $v ){
|
||||
|
||||
$option_value = $order_by_str = $v[0];
|
||||
if( $v[0] === 'wr_num, wr_reply' ){
|
||||
$selected = (! $board['bo_sort_field']) ? 'selected="selected"' : '';
|
||||
$option_value = '';
|
||||
} else {
|
||||
$selected = ($board['bo_sort_field'] === $v[0]) ? 'selected="selected"' : '';
|
||||
}
|
||||
|
||||
if( $order_by_str !== 'wr_num, wr_reply' ){
|
||||
$tmp = explode(',', $v[0]);
|
||||
$order_by_str = $tmp[0];
|
||||
}
|
||||
|
||||
echo '<option value="'.$option_value.'" '.$selected.' >'.$order_by_str.' : '.$v[1].'</option>';
|
||||
} //end foreach ?>
|
||||
</select>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
@@ -1261,7 +1259,7 @@ $pg_anchor = '<ul class="anchor">
|
||||
<div class="btn_fixed_top">
|
||||
<?php if( $bo_table && $w ){ ?>
|
||||
<a href="./board_copy.php?bo_table=<?php echo $board['bo_table']; ?>" id="board_copy" target="win_board_copy" class=" btn_02 btn">게시판복사</a>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $board['bo_table']; ?>" class=" btn_02 btn">게시판 바로가기</a>
|
||||
<a href="<?php echo get_pretty_url($board['bo_table']); ?>" class=" btn_02 btn">게시판 바로가기</a>
|
||||
<a href="./board_thumbnail_delete.php?bo_table=<?php echo $board['bo_table'].'&'.$qstr;?>" onclick="return delete_confirm2('게시판 썸네일 파일을 삭제하시겠습니까?');" class="btn_02 btn">게시판 썸네일 삭제</a>
|
||||
<?php } ?>
|
||||
<input type="submit" value="확인" class="btn_submi btn btn_01" accesskey="s">
|
||||
@@ -1374,6 +1372,19 @@ jQuery(function($){
|
||||
|
||||
function fboardform_submit(f)
|
||||
{
|
||||
<?php
|
||||
if(!$w){
|
||||
$js_array = get_bo_table_banned_word();
|
||||
echo "var banned_array = ". json_encode($js_array) . ";\n";
|
||||
}
|
||||
?>
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.bo_table.value, banned_array) !== -1 ){
|
||||
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php echo get_editor_js("bo_content_head"); ?>
|
||||
<?php echo get_editor_js("bo_content_tail"); ?>
|
||||
<?php echo get_editor_js("bo_mobile_content_head"); ?>
|
||||
|
||||
@@ -17,6 +17,11 @@ if (!$bo_table) { alert('게시판 TABLE명은 반드시 입력하세요.'); }
|
||||
if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); }
|
||||
if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); }
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ( $w == '' && in_array($bo_table, get_bo_table_banned_word()) ){
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
}
|
||||
|
||||
$bo_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_head, 0, 255));
|
||||
$bo_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_tail, 0, 255));
|
||||
|
||||
@@ -71,12 +76,12 @@ $f = @fopen($file, 'w');
|
||||
// 분류에 & 나 = 는 사용이 불가하므로 2바이트로 바꾼다.
|
||||
$src_char = array('&', '=');
|
||||
$dst_char = array('&', '〓');
|
||||
$bo_category_list = str_replace($src_char, $dst_char, $bo_category_list);
|
||||
$bo_category_list = isset($_POST['bo_category_list']) ? str_replace($src_char, $dst_char, $_POST['bo_category_list']) : '';
|
||||
//https://github.com/gnuboard/gnuboard5/commit/f5f4925d4eb28ba1af728e1065fc2bdd9ce1da58 에 따른 조치
|
||||
$str_bo_category_list = isset($_POST['bo_category_list']) ? preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $_POST['bo_category_list']) : '';
|
||||
$str_bo_category_list = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $bo_category_list);
|
||||
|
||||
$_POST['bo_subject'] = strip_tags($_POST['bo_subject']);
|
||||
$_POST['bo_mobile_subject'] = strip_tags($_POST['bo_mobile_subject']);
|
||||
$_POST['bo_subject'] = strip_tags(clean_xss_attributes($_POST['bo_subject']));
|
||||
$_POST['bo_mobile_subject'] = strip_tags(clean_xss_attributes($_POST['bo_mobile_subject']));
|
||||
|
||||
$sql_common = " gr_id = '{$gr_id}',
|
||||
bo_subject = '{$_POST['bo_subject']}',
|
||||
@@ -192,6 +197,8 @@ if ($w == '') {
|
||||
|
||||
// 게시판 테이블 생성
|
||||
$file = file('./sql_write.sql');
|
||||
$file = get_db_create_replace($file);
|
||||
|
||||
$sql = implode($file, "\n");
|
||||
|
||||
$create_table = $g5['write_prefix'] . $bo_table;
|
||||
@@ -282,7 +289,7 @@ if (is_checked('chk_grp_write_point')) $grp_fields .= " , bo_write_poin
|
||||
if (is_checked('chk_grp_comment_point')) $grp_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
|
||||
if (is_checked('chk_grp_download_point')) $grp_fields .= " , bo_download_point = '{$bo_download_point}' ";
|
||||
if (is_checked('chk_grp_category_list')) {
|
||||
$grp_fields .= " , bo_category_list = '{$bo_category_list}' ";
|
||||
$grp_fields .= " , bo_category_list = '{$str_bo_category_list}' ";
|
||||
$grp_fields .= " , bo_use_category = '{$bo_use_category}' ";
|
||||
}
|
||||
if (is_checked('chk_grp_use_sideview')) $grp_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
|
||||
@@ -371,7 +378,7 @@ if (is_checked('chk_all_write_point')) $all_fields .= " , bo_write_poin
|
||||
if (is_checked('chk_all_comment_point')) $all_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
|
||||
if (is_checked('chk_all_download_point')) $all_fields .= " , bo_download_point = '{$bo_download_point}' ";
|
||||
if (is_checked('chk_all_category_list')) {
|
||||
$all_fields .= " , bo_category_list = '{$bo_category_list}' ";
|
||||
$all_fields .= " , bo_category_list = '{$str_bo_category_list}' ";
|
||||
$all_fields .= " , bo_use_category = '{$bo_use_category}' ";
|
||||
}
|
||||
if (is_checked('chk_all_use_sideview')) $all_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
|
||||
@@ -444,5 +451,7 @@ delete_cache_latest($bo_table);
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
run_event('admin_board_form_update', $bo_table, $w);
|
||||
|
||||
goto_url("./board_form.php?w=u&bo_table={$bo_table}&{$qstr}");
|
||||
?>
|
||||
|
||||
+1
-1
@@ -131,7 +131,7 @@ $colspan = 15;
|
||||
</td>
|
||||
<td>
|
||||
<input type="hidden" name="board_table[<?php echo $i ?>]" value="<?php echo $row['bo_table'] ?>">
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>"><?php echo $row['bo_table'] ?></a>
|
||||
<a href="<?php echo get_pretty_url($row['bo_table']) ?>"><?php echo $row['bo_table'] ?></a>
|
||||
</td>
|
||||
<td>
|
||||
<label for="bo_skin_<?php echo $i; ?>" class="sound_only">스킨</label>
|
||||
|
||||
@@ -10,6 +10,10 @@ if (!count($_POST['chk'])) {
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$act_button = isset($_POST['act_button']) ? strip_tags($_POST['act_button']) : '';
|
||||
$chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? $_POST['chk'] : array();
|
||||
$board_table = (isset($_POST['board_table']) && is_array($_POST['board_table'])) ? $_POST['board_table'] : array();
|
||||
|
||||
if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
auth_check($auth[$sub_menu], 'w');
|
||||
@@ -29,7 +33,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
alert('최고관리자가 아닌 경우 다른 관리자의 게시판('.$board_table[$k].')은 수정이 불가합니다.');
|
||||
}
|
||||
|
||||
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags($_POST['bo_subject'][$k]) : '';
|
||||
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags(clean_xss_attributes($_POST['bo_subject'][$k])) : '';
|
||||
|
||||
$sql = " update {$g5['board_table']}
|
||||
set gr_id = '".sql_real_escape_string(strip_tags($_POST['gr_id'][$k]))."',
|
||||
@@ -74,5 +78,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
}
|
||||
|
||||
run_event('admin_board_list_update', $act_button, $chk, $board_table, $qstr);
|
||||
|
||||
goto_url('./board_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -16,7 +16,7 @@ if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id']))
|
||||
|
||||
if (!$gr_subject) alert('그룹 제목을 입력하세요.');
|
||||
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags($_POST['gr_subject']) : '';
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'])) : '';
|
||||
|
||||
$sql_common = " gr_subject = '{$gr_subject}',
|
||||
gr_device = '{$_POST['gr_device']}',
|
||||
|
||||
@@ -124,7 +124,7 @@ $colspan = 10;
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_chk">
|
||||
<input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>">
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo get_text($row['gr_subject']); ?> 그룹</label>
|
||||
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
|
||||
</td>
|
||||
<td class="td_left"><a href="<?php echo G5_BBS_URL ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
@@ -135,9 +135,9 @@ $colspan = 10;
|
||||
<td class="td_mng td_input">
|
||||
<?php if ($is_admin == 'super'){ ?>
|
||||
<label for="gr_admin_<?php echo $i; ?>" class="sound_only">그룹관리자</label>
|
||||
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20">
|
||||
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20">
|
||||
<?php }else{ ?>
|
||||
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?>
|
||||
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>"><?php echo get_text($row['gr_admin']); ?>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td class="td_num"><a href="./board_list.php?sfl=a.gr_id&stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td>
|
||||
|
||||
@@ -19,8 +19,8 @@ for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$k = $_POST['chk'][$i];
|
||||
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $_POST['group_id'][$k]);
|
||||
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags($_POST['gr_subject'][$k]) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags($_POST['gr_admin'][$k]) : '';
|
||||
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'][$k])) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags(clean_xss_attributes($_POST['gr_admin'][$k])) : '';
|
||||
|
||||
if($_POST['act_button'] == '선택수정') {
|
||||
$sql = " update {$g5['group_table']}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ $sub_menu = "100510";
|
||||
include_once('./_common.php');
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
|
||||
alert('사용할 수 없는 기능입니다.', correct_goto_url(G5_ADMIN_URL));
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
@@ -3,7 +3,7 @@ $sub_menu = "100520";
|
||||
include_once('./_common.php');
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
|
||||
alert('사용할 수 없는 기능입니다.', correct_goto_url(G5_ADMIN_URL));
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
@@ -10,6 +10,8 @@ if(function_exists('social_log_file_delete')){
|
||||
social_log_file_delete();
|
||||
}
|
||||
|
||||
run_event('adm_cache_file_delete_before');
|
||||
|
||||
$g5['title'] = '캐시파일 일괄삭제';
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
@@ -31,6 +33,9 @@ $cnt=0;
|
||||
echo '<ul class="session_del">'.PHP_EOL;
|
||||
|
||||
$files = glob(G5_DATA_PATH.'/cache/latest-*');
|
||||
$content_files = glob(G5_DATA_PATH.'/cache/content-*');
|
||||
|
||||
$files = array_merge($files, $content_files);
|
||||
if (is_array($files)) {
|
||||
foreach ($files as $cache_file) {
|
||||
$cnt++;
|
||||
@@ -44,6 +49,8 @@ if (is_array($files)) {
|
||||
}
|
||||
}
|
||||
|
||||
run_event('adm_cache_file_delete');
|
||||
|
||||
echo '<li>완료됨</li></ul>'.PHP_EOL;
|
||||
echo '<div class="local_desc01 local_desc"><p><strong>최신글 캐시파일 '.$cnt.'건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL;
|
||||
?>
|
||||
|
||||
+23
-1
@@ -253,6 +253,24 @@ if(!sql_query(" DESC {$g5['social_profile_table']} ", false)) {
|
||||
) ", true);
|
||||
}
|
||||
|
||||
// 짧은 URL 주소를 사용 여부 필드 추가
|
||||
if (!isset($config['cf_bbs_rewrite'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
|
||||
}
|
||||
|
||||
// 읽지 않은 메모 수 칼럼 추가
|
||||
if(!isset($member['mb_memo_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_memo_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_call`", true);
|
||||
}
|
||||
|
||||
// 스크랩 읽은 수 추가
|
||||
if(!isset($member['mb_scrap_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
|
||||
}
|
||||
|
||||
if(!$config['cf_faq_skin']) $config['cf_faq_skin'] = "basic";
|
||||
if(!$config['cf_mobile_faq_skin']) $config['cf_mobile_faq_skin'] = "basic";
|
||||
|
||||
@@ -264,6 +282,7 @@ $pg_anchor = '<ul class="anchor">
|
||||
<li><a href="#anc_cf_board">게시판기본</a></li>
|
||||
<li><a href="#anc_cf_join">회원가입</a></li>
|
||||
<li><a href="#anc_cf_cert">본인확인</a></li>
|
||||
<li><a href="#anc_cf_url">짧은주소</a></li>
|
||||
<li><a href="#anc_cf_mail">기본메일환경</a></li>
|
||||
<li><a href="#anc_cf_article_mail">글작성메일</a></li>
|
||||
<li><a href="#anc_cf_join_mail">가입메일</a></li>
|
||||
@@ -302,7 +321,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_title">홈페이지 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td colspan="3"><input type="text" name="cf_title" value="<?php echo $config['cf_title'] ?>" id="cf_title" required class="required frm_input" size="40"></td>
|
||||
<td colspan="3"><input type="text" name="cf_title" value="<?php echo get_sanitize_input($config['cf_title']); ?>" id="cf_title" required class="required frm_input" size="40"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
|
||||
@@ -881,6 +900,9 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
include_once('_rewrite_config_form.php');
|
||||
?>
|
||||
|
||||
<section id="anc_cf_mail">
|
||||
<h2 class="h2_frm">기본 메일 환경 설정</h2>
|
||||
|
||||
@@ -26,7 +26,7 @@ if(!$_POST['cf_cert_use']) {
|
||||
|
||||
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
|
||||
|
||||
$_POST['cf_title'] = strip_tags($_POST['cf_title']);
|
||||
$_POST['cf_title'] = strip_tags(clean_xss_attributes($_POST['cf_title']));
|
||||
|
||||
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret');
|
||||
|
||||
@@ -69,6 +69,7 @@ $sql = " update {$g5['config_table']}
|
||||
cf_add_meta = '{$_POST['cf_add_meta']}',
|
||||
cf_syndi_token = '{$_POST['cf_syndi_token']}',
|
||||
cf_syndi_except = '{$_POST['cf_syndi_except']}',
|
||||
cf_bbs_rewrite = '{$_POST['cf_bbs_rewrite']}',
|
||||
cf_member_skin = '{$_POST['cf_member_skin']}',
|
||||
cf_use_homepage = '{$_POST['cf_use_homepage']}',
|
||||
cf_req_homepage = '{$_POST['cf_req_homepage']}',
|
||||
@@ -187,5 +188,13 @@ sql_query($sql);
|
||||
|
||||
//sql_query(" OPTIMIZE TABLE `$g5[config_table]` ");
|
||||
|
||||
if( isset($_POST['cf_bbs_rewrite']) ){
|
||||
g5_delete_all_cache();
|
||||
}
|
||||
|
||||
run_event('admin_config_form_update');
|
||||
|
||||
update_rewrite_rules();
|
||||
|
||||
goto_url('./config_form.php', false);
|
||||
?>
|
||||
+1
-1
@@ -78,7 +78,7 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<td>
|
||||
<?php echo help('20자 이내의 영문자, 숫자, _ 만 가능합니다.'); ?>
|
||||
<input type="text" value="<?php echo $co['co_id']; ?>" name="co_id" id ="co_id" required <?php echo $readonly; ?> class="required <?php echo $readonly; ?> frm_input" size="20" maxlength="20">
|
||||
<?php if ($w == 'u') { ?><a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $co_id; ?>" class="btn_frmline">내용확인</a><?php } ?>
|
||||
<?php if ($w == 'u') { ?><a href="<?php echo get_pretty_url('content', $co_id); ?>" class="btn_frmline">내용확인</a><?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -21,7 +21,7 @@ if ($w == "" || $w == "u")
|
||||
}
|
||||
|
||||
$co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id);
|
||||
$co_subject = strip_tags($co_subject);
|
||||
$co_subject = strip_tags(clean_xss_attributes($co_subject));
|
||||
$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255));
|
||||
$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255));
|
||||
$co_tag_filter_use = isset($_POST['co_tag_filter_use']) ? (int) $_POST['co_tag_filter_use'] : 1;
|
||||
@@ -71,6 +71,8 @@ if( $co_include_tail && ! is_include_path_check($co_include_tail, 1) ){
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
$co_seo_title = exist_seo_title_recursive('content', generate_seo_title($co_subject), $g5['content_table'], $co_id);
|
||||
|
||||
$sql_common = " co_include_head = '$co_include_head',
|
||||
co_include_tail = '$co_include_tail',
|
||||
co_html = '$co_html',
|
||||
@@ -78,6 +80,7 @@ $sql_common = " co_include_head = '$co_include_head',
|
||||
co_subject = '$co_subject',
|
||||
co_content = '$co_content',
|
||||
co_mobile_content = '$co_mobile_content',
|
||||
co_seo_title = '$co_seo_title',
|
||||
co_skin = '$co_skin',
|
||||
co_mobile_skin = '$co_mobile_skin' ";
|
||||
|
||||
@@ -111,6 +114,8 @@ else if ($w == "d")
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
g5_delete_cache_by_prefix('content-'.$co_id.'-');
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if ($_FILES['co_himg']['name'])
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ $result = sql_query($sql);
|
||||
<td class="td_left"><?php echo htmlspecialchars2($row['co_subject']); ?></td>
|
||||
<td class="td_mng td_mng_l">
|
||||
<a href="./contentform.php?w=u&co_id=<?php echo $row['co_id']; ?>" class="btn btn_03"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>수정</a>
|
||||
<a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $row['co_id']; ?>" class="btn btn_02"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span> 보기</a>
|
||||
<a href="<?php echo get_pretty_url('content', $row['co_id']); ?>" class="btn btn_02"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span> 보기</a>
|
||||
<a href="./contentformupdate.php?w=d&co_id=<?php echo $row['co_id']; ?>" onclick="return delete_confirm(this);" class="btn btn_02"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>삭제</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
+14
-1
@@ -27,6 +27,7 @@ a:link, a:visited {color:#000;text-decoration:none}
|
||||
|
||||
h2{font-size: 1.083em;font-weight: bold;margin:10px 0}
|
||||
|
||||
#wrapper {min-height:480px}
|
||||
/* 레이아웃 */
|
||||
#hd h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#hd_top{position:fixed;top:0;left:0;width:100%;height:50px;background:#3f51b5;z-index:1000}
|
||||
@@ -515,8 +516,20 @@ td.td_grpset {width:160px;border-left:1px solid #e9ecee;text-align:center}
|
||||
/* 환경설정 */
|
||||
.cf_cert_hide {display:none}
|
||||
|
||||
.server_config_views {margin-bottom:10px}
|
||||
.rules_label {margin-left:5px;vertical-align:middle}
|
||||
|
||||
.is_rewrite .connect-close {position:absolute;top:10px;right:10px;margin:0;padding:0;width:30px;height:30px;border:0;background:transparent;color:#383838;cursor:pointer;font-size:15px}
|
||||
.is_rewrite .connect-close:hover {color:#ff5191}
|
||||
.is_rewrite .connect-close .fa {margin:0 0 0 1px}
|
||||
.is_rewrite .connect-close .txt {position:absolute;line-height:0;font-size:0;overflow:hidden}
|
||||
.is_rewrite textarea{width:99%;min-height:260px}
|
||||
.is_rewrite .copy_title{margin-top:15px;margin-bottom:10px;font-weight:bold;text-align:left}
|
||||
.is_rewrite .info-success{color:#155724}
|
||||
.is_rewrite .info-warning{color:#856404}
|
||||
|
||||
/* 관리권한설정 */
|
||||
#add_admin fieldset {margin-top:20px}
|
||||
#add_admin fieldset {margin-top:20px;overflow:auto;padding:2px 6px;line-height:1.4;resize:vertical}
|
||||
|
||||
/* 메일 테스트 */
|
||||
|
||||
|
||||
@@ -74,6 +74,111 @@ if( isset($g5['social_profile_table']) && !sql_query(" DESC {$g5['social_profile
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 게시판 짧은 주소
|
||||
$sql = " select bo_table from {$g5['board_table']} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
while ($row = sql_fetch_array($result)) {
|
||||
$write_table = $g5['write_prefix'] . $row['bo_table']; // 게시판 테이블 전체이름
|
||||
|
||||
$sql = " SHOW COLUMNS FROM {$write_table} LIKE 'wr_seo_title' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ){
|
||||
sql_query("ALTER TABLE `{$write_table}`
|
||||
ADD `wr_seo_title` varchar(200) NOT NULL DEFAULT '' AFTER `wr_content`,
|
||||
ADD INDEX `wr_seo_title` (`wr_seo_title`);
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
}
|
||||
|
||||
// 내용 관리 짧은 주소
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['content_table']}` LIKE 'co_seo_title' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ){
|
||||
sql_query("ALTER TABLE `{$g5['content_table']}`
|
||||
ADD `co_seo_title` varchar(200) NOT NULL DEFAULT '' AFTER `co_content`,
|
||||
ADD INDEX `co_seo_title` (`co_seo_title`);
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
$sql = "select * from {$g5['content_table']} limit 100 ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
while ($row = sql_fetch_array($result)) {
|
||||
|
||||
if( ! $row['co_seo_title']){
|
||||
|
||||
$co_seo_title = exist_seo_title_recursive('content', generate_seo_title($row['co_subject']), $g5['content_table'], $row['co_id']);
|
||||
|
||||
$sql = " update {$g5['content_table']}
|
||||
set co_seo_title = '$co_seo_title'
|
||||
where co_id = '{$row['co_id']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 메모 테이블
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['memo_table']}` LIKE 'me_send_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ){
|
||||
sql_query("ALTER TABLE `{$g5['memo_table']}`
|
||||
ADD `me_send_id` INT(11) NOT NULL DEFAULT '0',
|
||||
ADD `me_type` ENUM('send','recv') NOT NULL DEFAULT 'recv',
|
||||
ADD `me_send_ip` VARCHAR(100) NOT NULL DEFAULT '',
|
||||
CHANGE COLUMN `me_id` `me_id` INT(11) NOT NULL AUTO_INCREMENT;
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 읽지 않은 메모 수 칼럼
|
||||
if(!isset($member['mb_memo_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_memo_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_call`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 스크랩 읽은 수 추가
|
||||
if(!isset($member['mb_scrap_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 짧은 URL 주소를 사용 여부 필드 추가
|
||||
if (!isset($config['cf_bbs_rewrite'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 파일테이블에 추가 칼럼
|
||||
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['board_file_table']}` LIKE 'bf_fileurl' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_file_table']}`
|
||||
ADD COLUMN `bf_fileurl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_content`,
|
||||
ADD COLUMN `bf_thumburl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_fileurl`,
|
||||
ADD COLUMN `bf_storage` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bf_thumburl`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
$is_check = run_replace('admin_dbupgrade', $is_check);
|
||||
|
||||
$db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.<br>현재 DB 업그레이드가 완료된 상태입니다.';
|
||||
?>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ check_admin_token();
|
||||
if ($fm_himg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_h");
|
||||
if ($fm_timg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_t");
|
||||
|
||||
$fm_subject = strip_tags($fm_subject);
|
||||
$fm_subject = strip_tags(clean_xss_attributes($fm_subject));
|
||||
|
||||
$sql_common = " set fm_subject = '$fm_subject',
|
||||
fm_head_html = '$fm_head_html',
|
||||
|
||||
+3
-3
@@ -212,8 +212,8 @@ $colspan = 5;
|
||||
|
||||
<tr>
|
||||
<td class="td_category"><a href="<?php echo G5_BBS_URL ?>/new.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo cut_str($row['gr_subject'],10) ?></a></td>
|
||||
<td class="td_category"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>"><?php echo cut_str($row['bo_subject'],20) ?></a></td>
|
||||
<td><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>&wr_id=<?php echo $row2['wr_id'] ?><?php echo $comment_link ?>"><?php echo $comment ?><?php echo conv_subject($row2['wr_subject'], 100) ?></a></td>
|
||||
<td class="td_category"><a href="<?php echo get_pretty_url($row['bo_table']) ?>"><?php echo cut_str($row['bo_subject'],20) ?></a></td>
|
||||
<td><a href="<?php echo get_pretty_url($row['bo_table'], $row2['wr_id']); ?><?php echo $comment_link ?>"><?php echo $comment ?><?php echo conv_subject($row2['wr_subject'], 100) ?></a></td>
|
||||
<td class="td_mbname"><div><?php echo $name ?></div></td>
|
||||
<td class="td_datetime"><?php echo $datetime ?></td>
|
||||
</tr>
|
||||
@@ -283,7 +283,7 @@ $colspan = 7;
|
||||
$link1 = $link2 = "";
|
||||
if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table'])
|
||||
{
|
||||
$link1 = '<a href="'.G5_BBS_URL.'/board.php?bo_table='.$row['po_rel_table'].'&wr_id='.$row['po_rel_id'].'" target="_blank">';
|
||||
$link1 = '<a href="'.get_pretty_url($row['po_rel_table'], $row['po_rel_id']).'" target="_blank">';
|
||||
$link2 = '</a>';
|
||||
}
|
||||
?>
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ include_once('./admin.head.php');
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="ma_subject">메일 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="ma_subject" value="<?php echo $ma['ma_subject'] ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
<td><input type="text" name="ma_subject" value="<?php echo get_sanitize_input($ma['ma_subject']); ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="ma_content">메일 내용<strong class="sound_only">필수</strong></label></th>
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ auth_check($auth[$sub_menu], 'w');
|
||||
check_admin_token();
|
||||
|
||||
$ma_id = isset($_POST['ma_id']) ? (int) $_POST['ma_id'] : 0;
|
||||
$ma_subject = isset($_POST['ma_subject']) ? strip_tags($_POST['ma_subject']) : '';
|
||||
$ma_subject = isset($_POST['ma_subject']) ? strip_tags(clean_xss_attributes($_POST['ma_subject'])) : '';
|
||||
|
||||
if ($w == '')
|
||||
{
|
||||
|
||||
+8
-5
@@ -240,9 +240,9 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<input type="file" name="mb_icon" id="mb_icon">
|
||||
<?php
|
||||
$mb_dir = substr($mb['mb_id'],0,2);
|
||||
$icon_file = G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb['mb_id'].'.gif';
|
||||
$icon_file = G5_DATA_PATH.'/member/'.$mb_dir.'/'.get_mb_icon_name($mb['mb_id']).'.gif';
|
||||
if (file_exists($icon_file)) {
|
||||
$icon_url = G5_DATA_URL.'/member/'.$mb_dir.'/'.$mb['mb_id'].'.gif';
|
||||
$icon_url = str_replace(G5_DATA_PATH, G5_DATA_URL, $icon_file);
|
||||
echo '<img src="'.$icon_url.'" alt="">';
|
||||
echo '<input type="checkbox" id="del_mb_icon" name="del_mb_icon" value="1">삭제';
|
||||
}
|
||||
@@ -256,9 +256,9 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<input type="file" name="mb_img" id="mb_img">
|
||||
<?php
|
||||
$mb_dir = substr($mb['mb_id'],0,2);
|
||||
$icon_file = G5_DATA_PATH.'/member_image/'.$mb_dir.'/'.$mb['mb_id'].'.gif';
|
||||
$icon_file = G5_DATA_PATH.'/member_image/'.$mb_dir.'/'.get_mb_icon_name($mb['mb_id']).'.gif';
|
||||
if (file_exists($icon_file)) {
|
||||
$icon_url = G5_DATA_URL.'/member_image/'.$mb_dir.'/'.$mb['mb_id'].'.gif';
|
||||
$icon_url = str_replace(G5_DATA_PATH, G5_DATA_URL, $icon_file);
|
||||
echo '<img src="'.$icon_url.'" alt="">';
|
||||
echo '<input type="checkbox" id="del_mb_img" name="del_mb_img" value="1">삭제';
|
||||
}
|
||||
@@ -441,6 +441,8 @@ this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }">
|
||||
<?php
|
||||
} //end if
|
||||
} //end if
|
||||
|
||||
run_event('admin_member_form_add', $mb, $w, 'table');
|
||||
?>
|
||||
|
||||
<?php for ($i=1; $i<=10; $i++) { ?>
|
||||
@@ -476,7 +478,8 @@ function fmember_submit(f)
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
run_event('admin_member_form_after', $mb, $w);
|
||||
|
||||
include_once('./admin.tail.php');
|
||||
?>
|
||||
|
||||
@@ -143,13 +143,13 @@ else
|
||||
if( $w == '' || $w == 'u' ){
|
||||
|
||||
$mb_dir = substr($mb_id,0,2);
|
||||
$mb_icon_img = get_mb_icon_name($mb_id).'.gif';
|
||||
|
||||
// 회원 아이콘 삭제
|
||||
if ($del_mb_icon)
|
||||
@unlink(G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_id.'.gif');
|
||||
@unlink(G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_icon_img);
|
||||
|
||||
$image_regex = "/(\.(gif|jpe?g|png))$/i";
|
||||
$mb_icon_img = $mb_id.'.gif';
|
||||
|
||||
// 아이콘 업로드
|
||||
if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
|
||||
@@ -236,5 +236,7 @@ if( $w == '' || $w == 'u' ){
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_member_form_update', $w, $mb_id);
|
||||
|
||||
goto_url('./member_form.php?'.$qstr.'&w=u&mb_id='.$mb_id, false);
|
||||
?>
|
||||
@@ -12,6 +12,8 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$mb_datas = array();
|
||||
|
||||
if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
for ($i=0; $i<count($_POST['chk']); $i++)
|
||||
@@ -19,7 +21,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
|
||||
$mb = get_member($_POST['mb_id'][$k]);
|
||||
$mb_datas[] = $mb = get_member($_POST['mb_id'][$k]);
|
||||
|
||||
if (!$mb['mb_id']) {
|
||||
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n';
|
||||
@@ -53,7 +55,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
|
||||
$mb = get_member($_POST['mb_id'][$k]);
|
||||
$mb_datas[] = $mb = get_member($_POST['mb_id'][$k]);
|
||||
|
||||
if (!$mb['mb_id']) {
|
||||
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n';
|
||||
@@ -74,5 +76,7 @@ if ($msg)
|
||||
//echo '<script> alert("'.$msg.'"); </script>';
|
||||
alert($msg);
|
||||
|
||||
run_event('admin_member_list_update', $_POST['act_button'], $mb_datas);
|
||||
|
||||
goto_url('./member_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -55,10 +55,10 @@ if($sql) {
|
||||
$link = G5_BBS_URL.'/group.php?gr_id='.$row['id'];
|
||||
break;
|
||||
case 'board':
|
||||
$link = G5_BBS_URL.'/board.php?bo_table='.$row['id'];
|
||||
$link = get_pretty_url($row['id']);
|
||||
break;
|
||||
case 'content':
|
||||
$link = G5_BBS_URL.'/content.php?co_id='.$row['id'];
|
||||
$link = get_pretty_url(G5_CONTENT_DIR, $row['id']);
|
||||
break;
|
||||
default:
|
||||
$link = '';
|
||||
|
||||
@@ -21,11 +21,11 @@ for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$_POST = array_map_deep('trim', $_POST);
|
||||
|
||||
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags($_POST['me_link'][$i], 1) : '';
|
||||
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes($_POST['me_link'][$i], 1)) : '';
|
||||
|
||||
$code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : '';
|
||||
$me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : '';
|
||||
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags($_POST['me_link'][$i]);
|
||||
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags(clean_xss_attributes($_POST['me_link'][$i]));
|
||||
|
||||
if(!$code || !$me_name || !$me_link)
|
||||
continue;
|
||||
|
||||
@@ -12,7 +12,7 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags($_POST['nw_subject']) : '';
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags(clean_xss_attributes($_POST['nw_subject'])) : '';
|
||||
|
||||
$sql_common = " nw_device = '{$_POST['nw_device']}',
|
||||
nw_begin_time = '{$_POST['nw_begin_time']}',
|
||||
|
||||
+1
-1
@@ -131,7 +131,7 @@ else
|
||||
|
||||
$link1 = $link2 = '';
|
||||
if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table']) {
|
||||
$link1 = '<a href="'.G5_BBS_URL.'/board.php?bo_table='.$row['po_rel_table'].'&wr_id='.$row['po_rel_id'].'" target="_blank">';
|
||||
$link1 = '<a href="'.get_pretty_url($row['po_rel_table'], $row['po_rel_id']).'" target="_blank">';
|
||||
$link2 = '</a>';
|
||||
}
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$mb_id = strip_tags($_POST['mb_id']);
|
||||
$po_point = strip_tags($_POST['po_point']);
|
||||
$po_content = strip_tags($_POST['po_content']);
|
||||
$mb_id = strip_tags(clean_xss_attributes($_POST['mb_id']));
|
||||
$po_point = strip_tags(clean_xss_attributes($_POST['po_point']));
|
||||
$po_content = strip_tags(clean_xss_attributes($_POST['po_content']));
|
||||
$expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']);
|
||||
|
||||
$mb = get_member($mb_id);
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ include_once('./admin.head.php');
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="po_subject">투표 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="po_subject" value="<?php echo $po['po_subject'] ?>" id="po_subject" required class="required frm_input" size="80" maxlength="125"></td>
|
||||
<td><input type="text" name="po_subject" value="<?php echo get_sanitize_input($po['po_subject']); ?>" id="po_subject" required class="required frm_input" size="80" maxlength="125"></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -40,7 +40,7 @@ foreach( $_POST as $key=>$value ){
|
||||
if( empty($value) ) continue;
|
||||
|
||||
if( in_array($key, $check_keys) ) {
|
||||
$_POST[$key] = strip_tags($value);
|
||||
$_POST[$key] = strip_tags(clean_xss_attributes($value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -133,7 +133,7 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_title">타이틀<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<input type="text" name="qa_title" value="<?php echo $qaconfig['qa_title'] ?>" id="qa_title" required class="required frm_input" size="40">
|
||||
<input type="text" name="qa_title" value="<?php echo get_sanitize_input($qaconfig['qa_title']); ?>" id="qa_title" required class="required frm_input" size="40">
|
||||
<a href="<?php echo G5_BBS_URL; ?>/qalist.php" class="btn_frmline">1:1문의 바로가기</a>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -141,7 +141,7 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<th scope="row"><label for="qa_category">분류<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<?php echo help('분류와 분류 사이는 | 로 구분하세요. (예: 질문|답변) 첫자로 #은 입력하지 마세요. (예: #질문|#답변 [X])') ?>
|
||||
<input type="text" name="qa_category" value="<?php echo $qaconfig['qa_category'] ?>" id="qa_category" required class="required frm_input" size="70">
|
||||
<input type="text" name="qa_category" value="<?php echo get_sanitize_input($qaconfig['qa_category']); ?>" id="qa_category" required class="required frm_input" size="70">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -184,21 +184,21 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<th scope="row"><label for="qa_send_number">SMS 발신번호</label></th>
|
||||
<td>
|
||||
<?php echo help('SMS 알림 전송시 발신번호로 사용됩니다.'); ?>
|
||||
<input type="text" name="qa_send_number" value="<?php echo $qaconfig['qa_send_number'] ?>" id="qa_send_number" class="frm_input" size="30">
|
||||
<input type="text" name="qa_send_number" value="<?php echo get_sanitize_input($qaconfig['qa_send_number']); ?>" id="qa_send_number" class="frm_input" size="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_admin_hp">관리자 휴대폰번호</label></th>
|
||||
<td>
|
||||
<?php echo help('관리자 휴대폰번호를 입력하시면 문의글 등록시 등록하신 번호로 SMS 알림이 전송됩니다.<br>SMS 알림을 사용하지 않으시면 알림이 전송되지 않습니다.'); ?>
|
||||
<input type="text" name="qa_admin_hp" value="<?php echo $qaconfig['qa_admin_hp'] ?>" id="qa_admin_hp" class="frm_input" size="30">
|
||||
<input type="text" name="qa_admin_hp" value="<?php echo get_sanitize_input($qaconfig['qa_admin_hp']); ?>" id="qa_admin_hp" class="frm_input" size="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_admin_email">관리자 이메일</label></th>
|
||||
<td>
|
||||
<?php echo help('관리자 이메일을 입력하시면 문의글 등록시 등록하신 이메일로 알림이 전송됩니다.'); ?>
|
||||
<input type="text" name="qa_admin_email" value="<?php echo $qaconfig['qa_admin_email'] ?>" id="qa_admin_email" class="frm_input" size="50">
|
||||
<input type="text" name="qa_admin_email" value="<?php echo get_sanitize_input($qaconfig['qa_admin_email']); ?>" id="qa_admin_email" class="frm_input" size="50">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -12,6 +12,12 @@ $error_msg = '';
|
||||
|
||||
$qaconfig = get_qa_config();
|
||||
|
||||
$check_keys = array('qa_title', 'qa_category', 'qa_skin', 'qa_mobile_skin', 'qa_use_email', 'qa_req_email', 'qa_use_hp', 'qa_req_hp', 'qa_use_sms', 'qa_send_number', 'qa_admin_hp', 'qa_admin_email', 'qa_subject_len', 'qa_mobile_subject_len', 'qa_page_rows', 'qa_mobile_page_rows', 'qa_image_width', 'qa_upload_size');
|
||||
|
||||
foreach($check_keys as $key){
|
||||
$$key = $_POST[$key] = isset($_POST[$key]) ? strip_tags(clean_xss_attributes($_POST[$key])) : '';
|
||||
}
|
||||
|
||||
$qa_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_head, 0, 255));
|
||||
$qa_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_tail, 0, 255));
|
||||
|
||||
@@ -50,8 +56,6 @@ if( $qa_include_tail && ! is_include_path_check($qa_include_tail, 1) ){
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
$_POST['qa_title'] = strip_tags($_POST['qa_title']);
|
||||
|
||||
$sql = " update {$g5['qa_config_table']}
|
||||
set qa_title = '{$_POST['qa_title']}',
|
||||
qa_category = '{$_POST['qa_category']}',
|
||||
|
||||
@@ -4,8 +4,8 @@ include_once("./_common.php");
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$fo_name = isset($fo_name) ? strip_tags($fo_name) : '';
|
||||
$fo_content = isset($fo_content) ? strip_tags($fo_content) : '';
|
||||
$fo_name = isset($fo_name) ? strip_tags(clean_xss_attributes($fo_name)) : '';
|
||||
$fo_content = isset($fo_content) ? strip_tags(clean_xss_attributes($fo_content)) : '';
|
||||
|
||||
$g5['title'] = "이모티콘 업데이트";
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$g5['title'] = "이모티콘 ";
|
||||
|
||||
$fg_no = isset($fg_no) ? (int) $fg_no : '';
|
||||
|
||||
if ($w == 'u' && is_numeric($fo_no)) {
|
||||
$write = sql_fetch("select * from {$g5['sms5_form_table']} where fo_no='$fo_no'");
|
||||
$g5['title'] .= '수정';
|
||||
@@ -48,7 +50,7 @@ include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="fo_name">제목<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td><input type="text" name="fo_name" id="fo_name" required value="<?php echo $write['fo_name']?>" class="frm_input required" size="70"></td>
|
||||
<td><input type="text" name="fo_name" id="fo_name" required value="<?php echo get_sanitize_input($write['fo_name']); ?>" class="frm_input required" size="70"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">메세지</th>
|
||||
|
||||
@@ -53,6 +53,7 @@ eval("\$file = \"$file\";");
|
||||
$f = explode(";", $file);
|
||||
for ($i=0; $i<count($f); $i++) {
|
||||
if (trim($f[$i]) == "") continue;
|
||||
$f[$i] = get_db_create_replace($f[$i]);
|
||||
sql_query($f[$i]) or die(mysqli_error());
|
||||
}
|
||||
// 테이블 생성 ------------------------------------
|
||||
|
||||
@@ -16,6 +16,8 @@ if ($page < 1) $page = 1;
|
||||
$bg_no = isset($bg_no) ? (int) $bg_no : 0;
|
||||
$st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : '';
|
||||
|
||||
$sql_korean = $sql_group = $sql_search = $sql_no_hp = '';
|
||||
|
||||
if (is_numeric($bg_no))
|
||||
$sql_group = " and bg_no='$bg_no' ";
|
||||
else
|
||||
@@ -127,9 +129,9 @@ function no_hp_click(val)
|
||||
<label for="bg_no" class="sound_only">그룹명</label>
|
||||
<select name="bg_no" id="bg_no" onchange="location.href='<?php echo $_SERVER['SCRIPT_NAME']?>?bg_no='+this.value;">
|
||||
<option value=""<?php echo get_selected('', $bg_no); ?>> 전체 </option>
|
||||
<option value="<?php echo $no_group['bg_no']?>"<?php echo get_selected($bg_no, $no_group['bg_no']); ?>> <?php echo $no_group['bg_name']?> (<?php echo number_format($no_group['bg_count'])?> 명) </option>
|
||||
<option value="<?php echo $no_group['bg_no']?>"<?php echo get_selected($no_group['bg_no'], $bg_no); ?>> <?php echo $no_group['bg_name']?> (<?php echo number_format($no_group['bg_count'])?> 명) </option>
|
||||
<?php for($i=0; $i<count($group); $i++) {?>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"<?php echo get_selected($bg_no, $group[$i]['bg_no']);?>> <?php echo $group[$i]['bg_name']?> (<?php echo number_format($group[$i]['bg_count'])?> 명) </option>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"<?php echo get_selected($group[$i]['bg_no'], $bg_no);?>> <?php echo $group[$i]['bg_name']?> (<?php echo number_format($group[$i]['bg_count'])?> 명) </option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<input type="checkbox" name="no_hp" id="no_hp" <?php echo $no_hp_checked?> onclick="no_hp_click(this.checked)">
|
||||
|
||||
@@ -129,7 +129,7 @@ function num_group_submit(f)
|
||||
<select name="select_bg_no_999" id="select_bg_no_999" onchange="move(<?php echo $no_group['bg_no']?>, '<?php echo $no_group['bg_name']?>', this);" >
|
||||
<option value=""></option>
|
||||
<?php for ($i=0; $i<count($group); $i++) { ?>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"> <?php echo $group[$i]['bg_name']?> </option>
|
||||
<option value="<?php echo $group[$i]['bg_no']?>"> <?php echo get_sanitize_input($group[$i]['bg_name']); ?> </option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</td>
|
||||
@@ -150,7 +150,7 @@ function num_group_submit(f)
|
||||
</td>
|
||||
<td>
|
||||
<label for="bg_name_<?php echo $i; ?>" class="sound_only">그룹명</label>
|
||||
<input type="text" name="bg_name[<?php echo $i; ?>]" value="<?php echo $group[$i]['bg_name']?>" id="bg_name_<?php echo $i; ?>" class="frm_input">
|
||||
<input type="text" name="bg_name[<?php echo $i; ?>]" value="<?php echo get_sanitize_input($group[$i]['bg_name']); ?>" id="bg_name_<?php echo $i; ?>" class="frm_input">
|
||||
</td>
|
||||
<td class="td_num"><?php echo number_format($group[$i]['bg_count'])?></td>
|
||||
<td class="td_num"><?php echo number_format($group[$i]['bg_member'])?></td>
|
||||
|
||||
@@ -11,7 +11,7 @@ if ($w == 'u') // 업데이트
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
$bg_no = (int) $_POST['bg_no'][$k];
|
||||
$bg_name = strip_tags($_POST['bg_name'][$k]);
|
||||
$bg_name = strip_tags(clean_xss_attributes($_POST['bg_name'][$k]));
|
||||
|
||||
if (!is_numeric($bg_no))
|
||||
alert('그룹 고유번호가 없습니다.');
|
||||
@@ -23,11 +23,11 @@ if ($w == 'u') // 업데이트
|
||||
if (!strlen(trim($bg_name)))
|
||||
alert('그룹명을 입력해주세요');
|
||||
|
||||
$res = sql_fetch("select bg_name from {$g5['sms5_book_group_table']} where bg_no<>'$bg_no' and bg_name='$bg_name'");
|
||||
$res = sql_fetch("select bg_name from {$g5['sms5_book_group_table']} where bg_no<>'$bg_no' and bg_name='".sql_real_escape_string($bg_name)."'");
|
||||
if ($res)
|
||||
alert('같은 그룹명이 존재합니다.');
|
||||
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."' where bg_no='$bg_no'");
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".sql_real_escape_string($bg_name)."' where bg_no='$bg_no'");
|
||||
}
|
||||
}
|
||||
else if ($w == 'de') // 그룹삭제
|
||||
@@ -63,7 +63,7 @@ else if ($w == 'em') // 비우기
|
||||
}
|
||||
else // 등록
|
||||
{
|
||||
$bg_name = strip_tags($bg_name);
|
||||
$bg_name = strip_tags(clean_xss_attributes($bg_name));
|
||||
|
||||
if (!strlen(trim($bg_name)))
|
||||
alert('그룹명을 입력해주세요');
|
||||
@@ -72,7 +72,7 @@ else // 등록
|
||||
if ($res)
|
||||
alert('같은 그룹명이 존재합니다.');
|
||||
|
||||
sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."'");
|
||||
sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='$bg_name'");
|
||||
}
|
||||
|
||||
goto_url('./num_group.php');
|
||||
|
||||
@@ -7,6 +7,8 @@ while ($res = sql_fetch_array($qry)) array_push($group, $res);
|
||||
|
||||
$res = sql_fetch("select count(*) as cnt from `{$g5['sms5_form_table']}` where fg_no=0");
|
||||
$no_count = $res['cnt'];
|
||||
|
||||
$fg_no = isset($fg_no) ? (int) $fg_no : '';
|
||||
?>
|
||||
|
||||
<form name="emo_frm">
|
||||
|
||||
@@ -10,6 +10,7 @@ CREATE TABLE `__TABLE_NAME__` (
|
||||
`wr_option` set('html1','html2','secret','mail') NOT NULL,
|
||||
`wr_subject` varchar(255) NOT NULL,
|
||||
`wr_content` text NOT NULL,
|
||||
`wr_seo_title` varchar(255) NOT NULL DEFAULT '',
|
||||
`wr_link1` text NOT NULL,
|
||||
`wr_link2` text NOT NULL,
|
||||
`wr_link1_hit` int(11) NOT NULL DEFAULT '0',
|
||||
@@ -39,6 +40,7 @@ CREATE TABLE `__TABLE_NAME__` (
|
||||
`wr_9` varchar(255) NOT NULL,
|
||||
`wr_10` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`wr_id`),
|
||||
KEY `wr_seo_title` (`wr_seo_title`),
|
||||
KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
|
||||
KEY `wr_is_comment` (`wr_is_comment`,`wr_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
@@ -29,7 +29,7 @@ if(!in_array($type, $arr_type)) {
|
||||
}
|
||||
|
||||
if($type == 'board') {
|
||||
$keys = array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width');
|
||||
$keys = run_replace('theme_config_load_keys', array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width'), $type);
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
$i = 0;
|
||||
@@ -43,7 +43,7 @@ if($type == 'board') {
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 게시판 이미지 설정이 없습니다.';
|
||||
} else if($type == 'conf_skin') {
|
||||
$keys = array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin');
|
||||
$keys = run_replace('theme_config_load_keys', array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin'), $type);
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
@@ -58,7 +58,7 @@ if($type == 'board') {
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 기본환경 스킨 설정이 없습니다.';
|
||||
} else if($type == 'conf_member') {
|
||||
$keys = array('cf_member_skin', 'cf_mobile_member_skin');
|
||||
$keys = run_replace('theme_config_load_keys', array('cf_member_skin', 'cf_mobile_member_skin'), $type);
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
|
||||
@@ -68,5 +68,7 @@ if($_POST['set_default_skin'] == 1) {
|
||||
}
|
||||
}
|
||||
|
||||
run_event('adm_theme_update', $theme, $_POST['set_default_skin']);
|
||||
|
||||
die('');
|
||||
?>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$call = isset($_REQUEST['call']) ? strtolower(preg_replace('/[^a-z0-9_]/i', '', $_REQUEST['call'])) : '';
|
||||
|
||||
if( ! $call ){
|
||||
return;
|
||||
}
|
||||
|
||||
if( ! $is_admin ){
|
||||
$sql = " select count(*) as cnt from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ( ! $row['cnt']) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_request_handler_'.$call, $arr_query, $token);
|
||||
|
||||
$sub_menu = admin_menu_find_by($call, 'sub_menu');
|
||||
$g5['title'] = admin_menu_find_by($call, 'title');
|
||||
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
run_event('admin_get_page_'.$call, $arr_query, $token);
|
||||
|
||||
include_once ('./admin.tail.php');
|
||||
?>
|
||||
+12
-12
@@ -6,27 +6,27 @@ check_demo();
|
||||
|
||||
auth_check($auth[$sub_menu], 'r');
|
||||
|
||||
$g5['title'] = '글,댓글 현황';
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
// http://www.jqplot.com/
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 0);
|
||||
add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 0);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 1);
|
||||
add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 1);
|
||||
|
||||
if (!($graph == 'line' || $graph == 'bar'))
|
||||
$graph = 'line';
|
||||
|
||||
if ($graph == 'bar') {
|
||||
// 바 타입으로 사용하는 코드입니다.
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 0);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 1);
|
||||
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 1);
|
||||
}
|
||||
|
||||
$g5['title'] = '글,댓글 현황';
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
$period_array = array(
|
||||
'오늘'=>array('시간', 0),
|
||||
'어제'=>array('시간', 0),
|
||||
|
||||
+10
-10
@@ -8,7 +8,7 @@ if (!$board['bo_table']) {
|
||||
check_device($board['bo_device']);
|
||||
|
||||
if (isset($write['wr_is_comment']) && $write['wr_is_comment']) {
|
||||
goto_url('./board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'#c_'.$wr_id);
|
||||
goto_url(get_pretty_url($bo_table, $write['wr_parent'], '#c_'.$wr_id));
|
||||
}
|
||||
|
||||
if (!$bo_table) {
|
||||
@@ -19,18 +19,18 @@ if (!$bo_table) {
|
||||
$g5['board_title'] = ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']);
|
||||
|
||||
// wr_id 값이 있으면 글읽기
|
||||
if (isset($wr_id) && $wr_id) {
|
||||
if ((isset($wr_id) && $wr_id) || (isset($wr_seo_title) && $wr_seo_title)) {
|
||||
// 글이 없을 경우 해당 게시판 목록으로 이동
|
||||
if (!$write['wr_id']) {
|
||||
$msg = '글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.';
|
||||
alert($msg, './board.php?bo_table='.$bo_table);
|
||||
alert($msg, get_pretty_url($bo_table));
|
||||
}
|
||||
|
||||
// 그룹접근 사용
|
||||
if (isset($group['gr_use_access']) && $group['gr_use_access']) {
|
||||
if ($is_guest) {
|
||||
$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
|
||||
alert($msg, './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr));
|
||||
alert($msg, G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
|
||||
// 그룹관리자 이상이라면 통과
|
||||
@@ -51,14 +51,14 @@ if (isset($wr_id) && $wr_id) {
|
||||
if ($is_member)
|
||||
alert('글을 읽을 권한이 없습니다.', G5_URL);
|
||||
else
|
||||
alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr));
|
||||
alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
|
||||
// 본인확인을 사용한다면
|
||||
if ($config['cf_cert_use'] && !$is_admin) {
|
||||
// 인증된 회원만 가능
|
||||
if ($board['bo_use_cert'] != '' && $is_guest) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr));
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
|
||||
@@ -108,7 +108,7 @@ if (isset($wr_id) && $wr_id) {
|
||||
// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
|
||||
//if ("$bo_table|$write['wr_num']" != get_session("ss_secret"))
|
||||
if (!get_session($ss_name))
|
||||
goto_url('./password.php?w=s&bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);
|
||||
goto_url(G5_BBS_URL.'/password.php?w=s&bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);
|
||||
}
|
||||
|
||||
set_session($ss_name, TRUE);
|
||||
@@ -144,14 +144,14 @@ if (isset($wr_id) && $wr_id) {
|
||||
if ($member['mb_id'])
|
||||
alert('목록을 볼 권한이 없습니다.', G5_URL);
|
||||
else
|
||||
alert('목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&':'')));
|
||||
alert('목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&':'')));
|
||||
}
|
||||
|
||||
// 본인확인을 사용한다면
|
||||
if ($config['cf_cert_use'] && !$is_admin) {
|
||||
// 인증된 회원만 가능
|
||||
if ($board['bo_use_cert'] != '' && $is_guest) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr));
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
|
||||
@@ -189,7 +189,7 @@ $ip = "";
|
||||
$is_ip_view = $board['bo_use_ip_view'];
|
||||
if ($is_admin) {
|
||||
$is_ip_view = true;
|
||||
if (array_key_exists('wr_ip', $write)) {
|
||||
if ($write && array_key_exists('wr_ip', $write)) {
|
||||
$ip = $write['wr_ip'];
|
||||
}
|
||||
} else {
|
||||
|
||||
+12
-3
@@ -8,14 +8,23 @@ if( !isset($g5['content_table']) ){
|
||||
die('<meta charset="utf-8">관리자 모드에서 게시판관리->내용 관리를 먼저 확인해 주세요.');
|
||||
}
|
||||
|
||||
// 내용
|
||||
if($co_seo_title){
|
||||
$co = get_content_by_field($g5['content_table'], 'content', 'co_seo_title', generate_seo_title($co_seo_title));
|
||||
$co_id = $co['co_id'];
|
||||
} else {
|
||||
$co = get_content_db($co_id);
|
||||
}
|
||||
|
||||
if( ! (isset($co['co_seo_title']) && $co['co_seo_title']) && $co['co_id'] ){
|
||||
seo_title_update($g5['content_table'], $co['co_id'], 'content');
|
||||
}
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_MOBILE_PATH.'/content.php');
|
||||
return;
|
||||
}
|
||||
|
||||
// 내용
|
||||
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$co = sql_fetch($sql);
|
||||
if (!$co['co_id'])
|
||||
alert('등록된 내용이 없습니다.');
|
||||
|
||||
|
||||
+9
-3
@@ -30,7 +30,7 @@ else if ($is_admin == 'group') { // 그룹관리자
|
||||
alert('자신의 글이 아니므로 삭제할 수 없습니다.');
|
||||
} else {
|
||||
if ($write['mb_id'])
|
||||
alert('로그인 후 삭제하세요.', './login.php?url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
||||
alert('로그인 후 삭제하세요.', G5_BBS_URL.'/login.php?url='.urlencode(get_pretty_url($bo_table, $wr_id)));
|
||||
else if (!check_password($wr_password, $write['wr_password']))
|
||||
alert('비밀번호가 틀리므로 삭제할 수 없습니다.');
|
||||
}
|
||||
@@ -80,7 +80,11 @@ while ($row = sql_fetch_array($result))
|
||||
$sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ";
|
||||
$result2 = sql_query($sql2);
|
||||
while ($row2 = sql_fetch_array($result2)) {
|
||||
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row2['bf_file']));
|
||||
|
||||
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row2['bf_file']), $row2);
|
||||
if( file_exists($delete_file) ){
|
||||
@unlink($delete_file);
|
||||
}
|
||||
// 썸네일삭제
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) {
|
||||
delete_board_thumbnail($bo_table, $row2['bf_file']);
|
||||
@@ -134,5 +138,7 @@ if ($count_write > 0 || $count_comment > 0)
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&page='.$page.$qstr);
|
||||
run_event('bbs_delete', $write, $board);
|
||||
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&page='.$page.$qstr));
|
||||
?>
|
||||
|
||||
+7
-2
@@ -98,7 +98,10 @@ for ($i=$chk_count-1; $i>=0; $i--)
|
||||
$result2 = sql_query($sql2);
|
||||
while ($row2 = sql_fetch_array($result2)) {
|
||||
// 파일삭제
|
||||
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file']));
|
||||
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file']), $row2);
|
||||
if( file_exists($delete_file) ){
|
||||
@unlink($delete_file);
|
||||
}
|
||||
|
||||
// 썸네일삭제
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) {
|
||||
@@ -156,5 +159,7 @@ if ($count_write > 0 || $count_comment > 0)
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&page='.$page.$qstr);
|
||||
run_event('bbs_delete_all', $tmp_array, $board);
|
||||
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&page='.$page.$qstr));
|
||||
?>
|
||||
|
||||
@@ -86,5 +86,7 @@ sql_query(" delete from {$g5['board_new_table']} where bo_table = '{$bo_table}'
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'&page='.$page. $qstr);
|
||||
run_event('bbs_delete_comment', $comment_id, $board);
|
||||
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$write['wr_parent'].'&page='.$page. $qstr));
|
||||
?>
|
||||
|
||||
+9
-4
@@ -15,9 +15,9 @@ if (!get_session('ss_view_'.$bo_table.'_'.$wr_id))
|
||||
|
||||
// 다운로드 차감일 때 비회원은 다운로드 불가
|
||||
if($board['bo_download_point'] < 0 && $is_guest)
|
||||
alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
||||
alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id)));
|
||||
|
||||
$sql = " select bf_source, bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
|
||||
$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
|
||||
$file = sql_fetch($sql);
|
||||
if (!$file['bf_file'])
|
||||
alert_close('파일 정보가 존재하지 않습니다.');
|
||||
@@ -42,13 +42,16 @@ if ($member['mb_level'] < $board['bo_download_level']) {
|
||||
if ($member['mb_id'])
|
||||
alert($alert_msg);
|
||||
else
|
||||
alert($alert_msg.'\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
||||
alert($alert_msg.'\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id)));
|
||||
}
|
||||
|
||||
$filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file'];
|
||||
$filepath = addslashes($filepath);
|
||||
if (!is_file($filepath) || !file_exists($filepath))
|
||||
$file_exist_check = (!is_file($filepath) || !file_exists($filepath)) ? false : true;
|
||||
|
||||
if ( false === run_replace('download_file_exist_check', $file_exist_check, $file) ){
|
||||
alert('파일이 존재하지 않습니다.');
|
||||
}
|
||||
|
||||
// 사용자 코드 실행
|
||||
@include_once($board_skin_path.'/download.skin.php');
|
||||
@@ -101,6 +104,8 @@ $original = urlencode($file['bf_source']);
|
||||
|
||||
@include_once($board_skin_path.'/download.tail.skin.php');
|
||||
|
||||
run_event('download_file_header', $file, $file_exist_check);
|
||||
|
||||
if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) {
|
||||
header("content-type: doesn/matter");
|
||||
header("content-length: ".filesize("$filepath"));
|
||||
|
||||
@@ -8,6 +8,8 @@ if (!$config['cf_email_use'])
|
||||
if (!$is_member && $config['cf_formmail_is_member'])
|
||||
alert_close('회원만 이용하실 수 있습니다.');
|
||||
|
||||
$mb_id = isset($mb_id) ? get_search_string($mb_id) : '';
|
||||
|
||||
if ($is_member && !$member['mb_open'] && $is_admin != "super" && $member['mb_id'] != $mb_id)
|
||||
alert_close('자신의 정보를 공개하지 않으면 다른분에게 메일을 보낼 수 없습니다.\\n\\n정보공개 설정은 회원정보수정에서 하실 수 있습니다.');
|
||||
|
||||
|
||||
+11
-3
@@ -1,10 +1,12 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
run_event('bbs_good_before', $bo_table, $wr_id, $good);
|
||||
|
||||
@include_once($board_skin_path.'/good.head.skin.php');
|
||||
|
||||
// 자바스크립트 사용가능할 때
|
||||
if($_POST['js'] == "on") {
|
||||
if(isset($_POST['js']) && $_POST['js'] === "on") {
|
||||
$error = $count = "";
|
||||
|
||||
function print_result($error, $count)
|
||||
@@ -81,6 +83,8 @@ if($_POST['js'] == "on") {
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
$count = $row['count'];
|
||||
|
||||
run_event('bbs_increase_good_json', $bo_table, $wr_id, $good);
|
||||
|
||||
print_result($error, $count);
|
||||
}
|
||||
@@ -90,7 +94,7 @@ if($_POST['js'] == "on") {
|
||||
|
||||
if (!$is_member)
|
||||
{
|
||||
$href = './login.php?'.$qstr.'&url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
$href = G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id));
|
||||
|
||||
alert('회원만 가능합니다.', $href);
|
||||
}
|
||||
@@ -144,12 +148,16 @@ if($_POST['js'] == "on") {
|
||||
else
|
||||
$status = '비추천';
|
||||
|
||||
$href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
$href = get_pretty_url($bo_table, $wr_id);
|
||||
|
||||
run_event('bbs_increase_good_html', $bo_table, $wr_id, $good, $href);
|
||||
|
||||
alert("이 글을 $status 하셨습니다.", '', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
run_event('bbs_good_after', $bo_table, $wr_id, $good);
|
||||
|
||||
@include_once($board_skin_path.'/good.tail.skin.php');
|
||||
?>
|
||||
+19
-12
@@ -6,7 +6,7 @@ $is_category = false;
|
||||
$category_option = '';
|
||||
if ($board['bo_use_category']) {
|
||||
$is_category = true;
|
||||
$category_href = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
|
||||
$category_href = get_pretty_url($bo_table);
|
||||
|
||||
$category_option .= '<li><a href="'.$category_href.'"';
|
||||
if ($sca=='')
|
||||
@@ -17,7 +17,7 @@ if ($board['bo_use_category']) {
|
||||
for ($i=0; $i<count($categories); $i++) {
|
||||
$category = trim($categories[$i]);
|
||||
if ($category=='') continue;
|
||||
$category_option .= '<li><a href="'.($category_href."&sca=".urlencode($category)).'"';
|
||||
$category_option .= '<li><a href="'.(get_pretty_url($bo_table,'','sca='.urlencode($category))).'"';
|
||||
$category_msg = '';
|
||||
if ($category==$sca) { // 현재 선택된 카테고리라면
|
||||
$category_option .= ' id="bo_cate_on"';
|
||||
@@ -153,10 +153,15 @@ if (!$sst) {
|
||||
$sod = "";
|
||||
}
|
||||
} else {
|
||||
// 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
|
||||
// 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
|
||||
// $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
|
||||
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
|
||||
$board_sort_fields = get_board_sort_fields($board, 1);
|
||||
if (!$sod && array_key_exists($sst, $board_sort_fields)) {
|
||||
$sst = $board_sort_fields[$sst];
|
||||
} else {
|
||||
// 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
|
||||
// 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
|
||||
// $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
|
||||
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
|
||||
}
|
||||
}
|
||||
|
||||
if(!$sst)
|
||||
@@ -200,13 +205,15 @@ if($page_rows > 0) {
|
||||
}
|
||||
}
|
||||
|
||||
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table='.$bo_table.$qstr.'&page=');
|
||||
g5_latest_cache_data($board['bo_table'], $list);
|
||||
|
||||
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, get_pretty_url($bo_table, '', $qstr.'&page='));
|
||||
|
||||
$list_href = '';
|
||||
$prev_part_href = '';
|
||||
$next_part_href = '';
|
||||
if ($is_search_bbs) {
|
||||
$list_href = './board.php?bo_table='.$bo_table;
|
||||
$list_href = get_pretty_url($bo_table);
|
||||
|
||||
$patterns = array('#&page=[0-9]*#', '#&spt=[0-9\-]*#');
|
||||
|
||||
@@ -214,14 +221,14 @@ if ($is_search_bbs) {
|
||||
$prev_spt = $spt - $config['cf_search_part'];
|
||||
if (isset($min_spt) && $prev_spt >= $min_spt) {
|
||||
$qstr1 = preg_replace($patterns, '', $qstr);
|
||||
$prev_part_href = './board.php?bo_table='.$bo_table.$qstr1.'&spt='.$prev_spt.'&page=1';
|
||||
$prev_part_href = get_pretty_url($bo_table,0,$qstr1.'&spt='.$prev_spt.'&page=1');
|
||||
$write_pages = page_insertbefore($write_pages, '<a href="'.$prev_part_href.'" class="pg_page pg_prev">이전검색</a>');
|
||||
}
|
||||
|
||||
$next_spt = $spt + $config['cf_search_part'];
|
||||
if ($next_spt < 0) {
|
||||
$qstr1 = preg_replace($patterns, '', $qstr);
|
||||
$next_part_href = './board.php?bo_table='.$bo_table.$qstr1.'&spt='.$next_spt.'&page=1';
|
||||
$next_part_href = get_pretty_url($bo_table,0,$qstr1.'&spt='.$next_spt.'&page=1');
|
||||
$write_pages = page_insertafter($write_pages, '<a href="'.$next_part_href.'" class="pg_page pg_end">다음검색</a>');
|
||||
}
|
||||
}
|
||||
@@ -229,7 +236,7 @@ if ($is_search_bbs) {
|
||||
|
||||
$write_href = '';
|
||||
if ($member['mb_level'] >= $board['bo_write_level']) {
|
||||
$write_href = './write.php?bo_table='.$bo_table;
|
||||
$write_href = short_url_clean(G5_BBS_URL.'/write.php?bo_table='.$bo_table);
|
||||
}
|
||||
|
||||
$nobr_begin = $nobr_end = "";
|
||||
@@ -241,7 +248,7 @@ if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
|
||||
// RSS 보기 사용에 체크가 되어 있어야 RSS 보기 가능 061106
|
||||
$rss_href = '';
|
||||
if ($board['bo_use_rss_view']) {
|
||||
$rss_href = './rss.php?bo_table='.$bo_table;
|
||||
$rss_href = G5_BBS_URL.'/rss.php?bo_table='.$bo_table;
|
||||
}
|
||||
|
||||
$stx = get_text(stripslashes($stx));
|
||||
|
||||
@@ -31,5 +31,7 @@ if (!file_exists($login_file))
|
||||
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
|
||||
run_event('member_login_tail', $login_url, $login_action_url, $member_skin_path, $url);
|
||||
|
||||
include_once('./_tail.sub.php');
|
||||
?>
|
||||
|
||||
+10
-1
@@ -29,7 +29,10 @@ if(function_exists('social_is_login_check')){
|
||||
// 가입된 회원이 아니다. 비밀번호가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
|
||||
// 회원아이디를 입력해 보고 맞으면 또 비밀번호를 입력해보는 경우를 방지하기 위해서입니다.
|
||||
// 불법사용자의 경우 회원아이디가 틀린지, 비밀번호가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
|
||||
if (!$is_social_password_check && (!$mb['mb_id'] || !check_password($mb_password, $mb['mb_password'])) ) {
|
||||
if (!$is_social_password_check && (!$mb['mb_id'] || !login_password_check($mb, $mb_password, $mb['mb_password'])) ) {
|
||||
|
||||
run_event('password_is_wrong', 'login', $mb);
|
||||
|
||||
alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
|
||||
}
|
||||
|
||||
@@ -51,6 +54,8 @@ if ( is_use_email_certify() && !preg_match("/[1-9]/", $mb['mb_email_certify']))
|
||||
confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL.'/register_email.php?mb_id='.$mb_id.'&ckey='.$ckey);
|
||||
}
|
||||
|
||||
run_event('login_session_before', $mb, $is_social_login);
|
||||
|
||||
@include_once($member_skin_path.'/login_check.skin.php');
|
||||
|
||||
// 회원아이디 세션 생성
|
||||
@@ -100,6 +105,8 @@ if ($url) {
|
||||
$post_check_keys[] = 'provider';
|
||||
}
|
||||
|
||||
$post_check_keys = run_replace('login_check_post_check_keys', $post_check_keys, $link, $is_social_login);
|
||||
|
||||
foreach($_POST as $key=>$value) {
|
||||
if ($key && !in_array($key, $post_check_keys)) {
|
||||
$link .= "$split$key=$value";
|
||||
@@ -118,5 +125,7 @@ if(function_exists('social_login_success_after')){
|
||||
social_login_session_clear(1);
|
||||
}
|
||||
|
||||
run_event('member_login_check', $mb, $link, $is_social_login);
|
||||
|
||||
goto_url($link);
|
||||
?>
|
||||
|
||||
+3
-1
@@ -29,10 +29,12 @@ if ($url) {
|
||||
|
||||
$link = $url;
|
||||
} else if ($bo_table) {
|
||||
$link = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
|
||||
$link = get_pretty_url($bo_table);
|
||||
} else {
|
||||
$link = G5_URL;
|
||||
}
|
||||
|
||||
run_event('member_logout', $link);
|
||||
|
||||
goto_url($link);
|
||||
?>
|
||||
|
||||
+8
-3
@@ -18,12 +18,15 @@ else if ($kind == 'send')
|
||||
else
|
||||
alert(''.$kind .'값을 넘겨주세요.');
|
||||
|
||||
$sql = " select count(*) as cnt from {$g5['memo_table']} where me_{$kind}_mb_id = '{$member['mb_id']}' ";
|
||||
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
|
||||
|
||||
run_event('memo_list', $kind, $unkind, $page);
|
||||
|
||||
$sql = " select count(*) as cnt from {$g5['memo_table']} where me_{$kind}_mb_id = '{$member['mb_id']}' and me_type = '$kind' ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$total_page = ceil($total_count / $config['cf_page_rows']); // 전체 페이지 계산
|
||||
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
|
||||
$from_record = ((int) $page - 1) * $config['cf_page_rows']; // 시작 열을 구함
|
||||
|
||||
if ($kind == 'recv')
|
||||
@@ -44,8 +47,9 @@ $list = array();
|
||||
$sql = " select a.*, b.mb_id, b.mb_nick, b.mb_email, b.mb_homepage
|
||||
from {$g5['memo_table']} a
|
||||
left join {$g5['member_table']} b on (a.me_{$unkind}_mb_id = b.mb_id)
|
||||
where a.me_{$kind}_mb_id = '{$member['mb_id']}'
|
||||
where a.me_{$kind}_mb_id = '{$member['mb_id']}' and a.me_type = '$kind'
|
||||
order by a.me_id desc limit $from_record, {$config['cf_page_rows']} ";
|
||||
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
{
|
||||
@@ -67,6 +71,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
|
||||
$send_datetime = substr($row['me_send_datetime'],2,14);
|
||||
|
||||
$list[$i]['mb_id'] = $mb_id;
|
||||
$list[$i]['name'] = $name;
|
||||
$list[$i]['send_datetime'] = $send_datetime;
|
||||
$list[$i]['read_datetime'] = $read_datetime;
|
||||
|
||||
+9
-4
@@ -15,6 +15,11 @@ $me_id = (int)$_REQUEST['me_id'];
|
||||
$sql = " select * from {$g5['memo_table']} where me_id = '{$me_id}' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
$sql = " delete from {$g5['memo_table']}
|
||||
where me_id = '{$me_id}'
|
||||
and (me_recv_mb_id = '{$member['mb_id']}' or me_send_mb_id = '{$member['mb_id']}') ";
|
||||
sql_query($sql);
|
||||
|
||||
if (!$row['me_read_datetime'][0]) // 메모 받기전이면
|
||||
{
|
||||
$sql = " update {$g5['member_table']}
|
||||
@@ -22,12 +27,12 @@ if (!$row['me_read_datetime'][0]) // 메모 받기전이면
|
||||
where mb_id = '{$row['me_recv_mb_id']}'
|
||||
and mb_memo_call = '{$row['me_send_mb_id']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
$sql = " update `{$g5['member_table']}` set mb_memo_cnt = '".get_memo_not_read($member['mb_id'])."' where mb_id = '{$member['mb_id']}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
$sql = " delete from {$g5['memo_table']}
|
||||
where me_id = '{$me_id}'
|
||||
and (me_recv_mb_id = '{$member['mb_id']}' or me_send_mb_id = '{$member['mb_id']}') ";
|
||||
sql_query($sql);
|
||||
run_event('memo_delete', $me_id, $row);
|
||||
|
||||
goto_url('./memo.php?kind='.$kind);
|
||||
?>
|
||||
|
||||
@@ -13,7 +13,10 @@ $recv_list = explode(',', trim($_POST['me_recv_mb_id']));
|
||||
$str_nick_list = '';
|
||||
$msg = '';
|
||||
$error_list = array();
|
||||
$member_list = array();
|
||||
$member_list = array('id'=>array(), 'nick'=>array());
|
||||
|
||||
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) {
|
||||
@@ -41,6 +44,10 @@ $error_msg = implode(",", $error_list);
|
||||
if ($error_msg && !$is_admin)
|
||||
alert("회원아이디 '{$error_msg}' 은(는) 존재(또는 정보공개)하지 않는 회원아이디 이거나 탈퇴, 접근차단된 회원아이디 입니다.\\n쪽지를 발송하지 않았습니다.");
|
||||
|
||||
if (! count($member_list['id'])){
|
||||
alert('해당 회원이 존재하지 않습니다.');
|
||||
}
|
||||
|
||||
if (!$is_admin) {
|
||||
if (count($member_list['id'])) {
|
||||
$point = (int)$config['cf_memo_send_point'] * count($member_list['id']);
|
||||
@@ -59,12 +66,22 @@ for ($i=0; $i<count($member_list['id']); $i++) {
|
||||
$recv_mb_id = $member_list['id'][$i];
|
||||
$recv_mb_nick = get_text($member_list['nick'][$i]);
|
||||
|
||||
// 쪽지 INSERT
|
||||
$sql = " insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime ) values ( '$me_id', '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00' ) ";
|
||||
// 받는 회원 쪽지 INSERT
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_type, me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00' , 'recv', '{$_SERVER['REMOTE_ADDR']}' ) ";
|
||||
|
||||
sql_query($sql);
|
||||
|
||||
if( $me_id = sql_insert_id() ){
|
||||
|
||||
// 보내는 회원 쪽지 INSERT
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_send_id, me_type , me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00', '$me_id', 'send', '{$_SERVER['REMOTE_ADDR']}' ) ";
|
||||
sql_query($sql);
|
||||
|
||||
$member_list['me_id'][$i] = $me_id;
|
||||
}
|
||||
|
||||
// 실시간 쪽지 알림 기능
|
||||
$sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}' where mb_id = '$recv_mb_id' ";
|
||||
$sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}', mb_memo_cnt = '".get_memo_not_read($recv_mb_id)."' where mb_id = '$recv_mb_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
if (!$is_admin) {
|
||||
@@ -73,9 +90,19 @@ for ($i=0; $i<count($member_list['id']); $i++) {
|
||||
}
|
||||
|
||||
if ($member_list) {
|
||||
|
||||
$redirect_url = G5_HTTP_BBS_URL."/memo.php?kind=send";
|
||||
$str_nick_list = implode(',', $member_list['nick']);
|
||||
alert($str_nick_list." 님께 쪽지를 전달하였습니다.", G5_HTTP_BBS_URL."/memo.php?kind=send", false);
|
||||
|
||||
run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url, $_POST['me_memo']);
|
||||
|
||||
alert($str_nick_list." 님께 쪽지를 전달하였습니다.", $redirect_url, false);
|
||||
} else {
|
||||
alert("회원아이디 오류 같습니다.", G5_HTTP_BBS_URL."/memo_form.php", false);
|
||||
|
||||
$redirect_url = G5_HTTP_BBS_URL."/memo_form.php";
|
||||
|
||||
run_event('memo_form_update_failed', $member_list, $redirect_url, $_POST['me_memo']);
|
||||
|
||||
alert("회원아이디 오류 같습니다.", $redirect_url, false);
|
||||
}
|
||||
?>
|
||||
+27
-24
@@ -13,10 +13,13 @@ if ($kind == 'recv')
|
||||
|
||||
$sql = " update {$g5['memo_table']}
|
||||
set me_read_datetime = '".G5_TIME_YMDHIS."'
|
||||
where me_id = '$me_id'
|
||||
where (me_id = '$me_id' or me_send_id = '$me_id' )
|
||||
and me_recv_mb_id = '{$member['mb_id']}'
|
||||
and me_read_datetime = '0000-00-00 00:00:00' ";
|
||||
sql_query($sql);
|
||||
|
||||
$sql = " update `{$g5['member_table']}` set mb_memo_cnt = '".get_memo_not_read($member['mb_id'])."' where mb_id = '{$member['mb_id']}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
else if ($kind == 'send')
|
||||
{
|
||||
@@ -28,40 +31,40 @@ else
|
||||
alert($kind.' 값을 넘겨주세요.');
|
||||
}
|
||||
|
||||
$g5['title'] = $t.' 쪽지 보기';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
$sql = " select * from {$g5['memo_table']}
|
||||
where me_id = '$me_id'
|
||||
and me_{$kind}_mb_id = '{$member['mb_id']}' ";
|
||||
$memo = sql_fetch($sql);
|
||||
|
||||
// 이전 쪽지
|
||||
$sql = " select * from {$g5['memo_table']}
|
||||
where me_id > '{$me_id}'
|
||||
and me_{$kind}_mb_id = '{$member['mb_id']}'
|
||||
order by me_id asc
|
||||
limit 1 ";
|
||||
$prev = sql_fetch($sql);
|
||||
if ($prev['me_id'])
|
||||
$prev_link = './memo_view.php?kind='.$kind.'&me_id='.$prev['me_id'];
|
||||
else
|
||||
//$prev_link = 'javascript:alert(\'쪽지의 처음입니다.\');';
|
||||
$prev_link = '';
|
||||
set_session('ss_memo_delete_token', $token = uniqid(time()));
|
||||
$del_link = 'memo_delete.php?me_id='.$memo['me_id'].'&token='.$token.'&kind='.$kind;
|
||||
|
||||
$g5['title'] = $t.' 쪽지 보기';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
// 이전 쪽지
|
||||
$sql = " select me.*, a.rownum from `{$g5['memo_table']}` as me inner join ( select me_id , (@rownum:=@rownum+1) as rownum from `{$g5['memo_table']}` as memo, (select @rownum:=0) tmp where me_{$kind}_mb_id = '{$member['mb_id']}' and memo.me_type = '$kind' order by me_id desc ) as a on a.me_id = me.me_id where me.me_id < '$me_id' and me.me_{$kind}_mb_id = '{$member['mb_id']}' and me.me_type = '$kind' order by me.me_id desc limit 1 ";
|
||||
|
||||
$prev = sql_fetch($sql);
|
||||
if ($prev['me_id']) {
|
||||
$prev_link = './memo_view.php?kind='.$kind.'&me_id='.$prev['me_id'];
|
||||
$prev['page'] = ceil( (int)$prev['rownum'] / $config['cf_page_rows']); // 이동할 페이지 계산
|
||||
if( (int)$prev['page'] > 0 ) $prev_link .= "&page=".$prev['page'];
|
||||
} else {
|
||||
$prev_link = '';
|
||||
}
|
||||
|
||||
// 다음 쪽지
|
||||
$sql = " select * from {$g5['memo_table']}
|
||||
where me_id < '{$me_id}'
|
||||
and me_{$kind}_mb_id = '{$member['mb_id']}'
|
||||
order by me_id desc
|
||||
limit 1 ";
|
||||
$sql = " select me.*, a.rownum from `{$g5['memo_table']}` as me inner join ( select me_id , (@rownum:=@rownum+1) as rownum from `{$g5['memo_table']}` as memo, (select @rownum:=0) tmp where me_{$kind}_mb_id = '{$member['mb_id']}' and memo.me_type = '$kind' order by me_id asc ) as a on a.me_id = me.me_id where me.me_id > '$me_id' and me.me_{$kind}_mb_id = '{$member['mb_id']}' and me.me_type = '$kind' order by me.me_id asc limit 1 ";
|
||||
|
||||
$next = sql_fetch($sql);
|
||||
if ($next['me_id'])
|
||||
if ($next['me_id']) {
|
||||
$next_link = './memo_view.php?kind='.$kind.'&me_id='.$next['me_id'];
|
||||
else
|
||||
//$next_link = 'javascript:alert(\'쪽지의 마지막입니다.\');';
|
||||
$next['page'] = ceil( (int)$next['rownum'] / $config['cf_page_rows']); // 이동할 페이지 계산
|
||||
if( (int)$next['page'] > 0 ) $next_link .= "&page=".$next['page'];
|
||||
} else {
|
||||
$next_link = '';
|
||||
}
|
||||
|
||||
$mb = get_member($memo['me_'.$unkind.'_mb_id']);
|
||||
|
||||
|
||||
@@ -156,5 +156,6 @@ function fboardmoveall_submit(f)
|
||||
</script>
|
||||
|
||||
<?php
|
||||
run_event('move_html_footer');
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
?>
|
||||
|
||||
+18
-4
@@ -126,8 +126,13 @@ while ($row = sql_fetch_array($result))
|
||||
// 원본파일을 복사하고 퍼미션을 변경
|
||||
// 제이프로님 코드제안 적용
|
||||
$copy_file_name = ($bo_table !== $move_bo_table) ? $row3['bf_file'] : $row2['wr_id'].'_copy_'.$insert_id.'_'.$row3['bf_file'];
|
||||
@copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name);
|
||||
@chmod($dst_dir.'/'.$copy_file_name, G5_FILE_PERMISSION);
|
||||
$is_exist_file = is_file($src_dir.'/'.$row3['bf_file']) && file_exists($src_dir.'/'.$row3['bf_file']);
|
||||
if( $is_exist_file ){
|
||||
@copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name);
|
||||
@chmod($dst_dir.'/'.$row3['bf_file'], G5_FILE_PERMISSION);
|
||||
}
|
||||
|
||||
$row3 = run_replace('bbs_move_update_file', $row3, $copy_file_name, $bo_table, $move_bo_table, $insert_id);
|
||||
}
|
||||
|
||||
$sql = " insert into {$g5['board_file_table']}
|
||||
@@ -138,6 +143,9 @@ while ($row = sql_fetch_array($result))
|
||||
bf_file = '$copy_file_name',
|
||||
bf_download = '{$row3['bf_download']}',
|
||||
bf_content = '".addslashes($row3['bf_content'])."',
|
||||
bf_fileurl = '".addslashes($row3['bf_fileurl'])."',
|
||||
bf_thumburl = '".addslashes($row3['bf_thumburl'])."',
|
||||
bf_storage = '".addslashes($row3['bf_storage'])."',
|
||||
bf_filesize = '{$row3['bf_filesize']}',
|
||||
bf_width = '{$row3['bf_width']}',
|
||||
bf_height = '{$row3['bf_height']}',
|
||||
@@ -200,7 +208,11 @@ if ($sw == 'move')
|
||||
{
|
||||
if( isset($save[$i]['bf_file']) && $save[$i]['bf_file'] ){
|
||||
for ($k=0; $k<count($save[$i]['bf_file']); $k++) {
|
||||
@unlink($save[$i]['bf_file'][$k]);
|
||||
$del_file = $save[$i]['bf_file'][$k];
|
||||
|
||||
if ( is_file($del_file) && file_exists($del_file) ){
|
||||
@unlink($del_file);
|
||||
}
|
||||
|
||||
// 썸네일 파일 삭제, 먼지손 님 코드 제안
|
||||
delete_board_thumbnail($bo_table, basename($save[$i]['bf_file'][$k]));
|
||||
@@ -215,9 +227,11 @@ if ($sw == 'move')
|
||||
}
|
||||
|
||||
$msg = '해당 게시물을 선택한 게시판으로 '.$act.' 하였습니다.';
|
||||
$opener_href = './board.php?bo_table='.$bo_table.'&page='.$page.'&'.$qstr;
|
||||
$opener_href = get_pretty_url($bo_table,'','&page='.$page.'&'.$qstr);
|
||||
$opener_href1 = str_replace('&', '&', $opener_href);
|
||||
|
||||
run_event('bbs_move_update', $bo_table, $chk_bo_table, $wr_id_list, $opener_href);
|
||||
|
||||
echo <<<HEREDOC
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<script>
|
||||
|
||||
+2
-2
@@ -99,7 +99,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$list[$i]['bo_table'] = $row['bo_table'];
|
||||
$list[$i]['name'] = $name;
|
||||
$list[$i]['comment'] = $comment;
|
||||
$list[$i]['href'] = './board.php?bo_table='.$row['bo_table'].'&wr_id='.$row2['wr_id'].$comment_link;
|
||||
$list[$i]['href'] = get_pretty_url($row['bo_table'], $row2['wr_id'], $comment_link);
|
||||
$list[$i]['datetime'] = $datetime;
|
||||
$list[$i]['datetime2'] = $datetime2;
|
||||
|
||||
@@ -113,4 +113,4 @@ $write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['c
|
||||
include_once($new_skin_path.'/new.skin.php');
|
||||
|
||||
include_once('./_tail.php');
|
||||
?>
|
||||
?>
|
||||
+8
-6
@@ -8,24 +8,25 @@ if ($is_admin != 'super')
|
||||
|
||||
$board = array();
|
||||
$save_bo_table = array();
|
||||
$save_wr_id = array();
|
||||
|
||||
for($i=0;$i<count($_POST['chk_bn_id']);$i++)
|
||||
{
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk_bn_id'][$i];
|
||||
|
||||
$bo_table = $_POST['bo_table'][$k];
|
||||
$wr_id = $_POST['wr_id'][$k];
|
||||
$bo_table = isset($_POST['bo_table'][$k]) ? preg_replace('/[^a-z0-9_]/i', '', $_POST['bo_table'][$k]) : '';
|
||||
$wr_id = isset($_POST['wr_id'][$k]) ? preg_replace('/[^0-9]/i', '', $_POST['wr_id'][$k]) : 0;
|
||||
|
||||
$save_bo_table[] = $bo_table;
|
||||
$save_bo_table[$i] = $bo_table;
|
||||
$save_wr_id[$i] = $wr_id;
|
||||
|
||||
$write_table = $g5['write_prefix'].$bo_table;
|
||||
|
||||
if ($board['bo_table'] != $bo_table)
|
||||
$board = sql_fetch(" select bo_subject, bo_write_point, bo_comment_point, bo_notice from {$g5['board_table']} where bo_table = '$bo_table' ");
|
||||
|
||||
$sql = " select * from $write_table where wr_id = '$wr_id' ";
|
||||
$write = sql_fetch($sql);
|
||||
$write = get_write($write_table, $wr_id);
|
||||
if (!$write) continue;
|
||||
|
||||
// 원글 삭제
|
||||
@@ -138,10 +139,11 @@ for($i=0;$i<count($_POST['chk_bn_id']);$i++)
|
||||
}
|
||||
}
|
||||
|
||||
$save_bo_table = array_unique($save_bo_table);
|
||||
foreach ($save_bo_table as $key=>$value) {
|
||||
delete_cache_latest($value);
|
||||
}
|
||||
|
||||
run_event('bbs_new_delete', $chk_bn_id, $save_bo_table, $save_wr_id);
|
||||
|
||||
goto_url("new.php?sfl=$sfl&stx=$stx&page=$page");
|
||||
?>
|
||||
+7
-7
@@ -6,35 +6,35 @@ $g5['title'] = '비밀번호 입력';
|
||||
switch ($w) {
|
||||
case 'u' :
|
||||
$action = G5_HTTP_BBS_URL.'/write.php';
|
||||
$return_url = G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
$return_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
break;
|
||||
case 'd' :
|
||||
set_session('ss_delete_token', $token = uniqid(time()));
|
||||
$action = https_url(G5_BBS_DIR).'/delete.php?token='.$token;
|
||||
$return_url = G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
$return_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
break;
|
||||
case 'x' :
|
||||
set_session('ss_delete_comment_'.$comment_id.'_token', $token = uniqid(time()));
|
||||
$action = https_url(G5_BBS_DIR).'/delete_comment.php?token='.$token;
|
||||
$row = sql_fetch(" select wr_parent from $write_table where wr_id = '$comment_id' ");
|
||||
$return_url = G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$row['wr_parent'];
|
||||
$return_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$row['wr_parent']);
|
||||
break;
|
||||
case 's' :
|
||||
// 비밀번호 창에서 로그인 하는 경우 관리자 또는 자신의 글이면 바로 글보기로 감
|
||||
if ($is_admin || ($member['mb_id'] == $write['mb_id'] && $write['mb_id']))
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
||||
else {
|
||||
$action = https_url(G5_BBS_DIR).'/password_check.php';
|
||||
$return_url = G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table;
|
||||
$return_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table);
|
||||
}
|
||||
break;
|
||||
case 'sc' :
|
||||
// 비밀번호 창에서 로그인 하는 경우 관리자 또는 자신의 글이면 바로 글보기로 감
|
||||
if ($is_admin || ($member['mb_id'] == $write['mb_id'] && $write['mb_id']))
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
||||
else {
|
||||
$action = https_url(G5_BBS_DIR).'/password_check.php';
|
||||
$return_url = G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
$return_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
}
|
||||
break;
|
||||
default :
|
||||
|
||||
+19
-3
@@ -6,8 +6,16 @@ if ($w == 's') {
|
||||
|
||||
$wr = get_write($write_table, $wr_id);
|
||||
|
||||
if (!check_password($wr_password, $wr['wr_password']))
|
||||
if( !$wr['wr_password'] && $wr['mb_id'] ){
|
||||
if ( $mb = get_member($wr['mb_id']) ){
|
||||
$wr['wr_password'] = $mb['mb_password'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!check_password($wr_password, $wr['wr_password'])) {
|
||||
run_event('password_is_wrong', 'bbs', $wr, $qstr);
|
||||
alert('비밀번호가 틀립니다.');
|
||||
}
|
||||
|
||||
// 세션에 아래 정보를 저장. 하위번호는 비밀번호없이 보아야 하기 때문임.
|
||||
//$ss_name = 'ss_secret.'_'.$bo_table.'_'.$wr_id';
|
||||
@@ -20,8 +28,16 @@ if ($w == 's') {
|
||||
|
||||
$wr = get_write($write_table, $wr_id);
|
||||
|
||||
if (!check_password($wr_password, $wr['wr_password']))
|
||||
if( !$wr['wr_password'] && $wr['mb_id'] ){
|
||||
if ( $mb = get_member($wr['mb_id']) ){
|
||||
$wr['wr_password'] = $mb['mb_password'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!check_password($wr_password, $wr['wr_password'])){
|
||||
run_event('password_is_wrong', 'bbs', $wr, $qstr);
|
||||
alert('비밀번호가 틀립니다.');
|
||||
}
|
||||
|
||||
// 세션에 아래 정보를 저장. 하위번호는 비밀번호없이 보아야 하기 때문임.
|
||||
$ss_name = 'ss_secret_comment_'.$bo_table.'_'.$wr['wr_id'];
|
||||
@@ -31,5 +47,5 @@ if ($w == 's') {
|
||||
} else
|
||||
alert('w 값이 제대로 넘어오지 않았습니다.');
|
||||
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?'.$qstr);
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?'.$qstr));
|
||||
?>
|
||||
|
||||
@@ -71,5 +71,7 @@ $content .= '</div>';
|
||||
|
||||
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb['mb_email'], $subject, $content, 1);
|
||||
|
||||
run_event('password_lost2_after', $mb, $mb_nonce, $mb_lost_certify);
|
||||
|
||||
alert_close($email.' 메일로 회원아이디와 비밀번호를 인증할 수 있는 메일이 발송 되었습니다.\\n\\n메일을 확인하여 주십시오.');
|
||||
?>
|
||||
|
||||
@@ -4,9 +4,11 @@ include_once('./_common.php');
|
||||
// 봇의 메일 링크 크롤링을 방지합니다.
|
||||
if(function_exists('check_mail_bot')){ check_mail_bot($_SERVER['REMOTE_ADDR']); }
|
||||
|
||||
run_event('password_lost_certify_before');
|
||||
|
||||
// 오류시 공히 Error 라고 처리하는 것은 회원정보가 있는지? 비밀번호가 틀린지? 를 알아보려는 해킹에 대비한것
|
||||
|
||||
$mb_no = trim($_GET['mb_no']);
|
||||
$mb_no = preg_replace('#[^0-9]#', '', trim($_GET['mb_no']));
|
||||
$mb_nonce = trim($_GET['mb_nonce']);
|
||||
|
||||
// 회원아이디가 아닌 회원고유번호로 회원정보를 구한다.
|
||||
@@ -22,6 +24,9 @@ sql_query(" update {$g5['member_table']} set mb_lost_certify = '' where mb_no =
|
||||
if ($mb_nonce === substr($mb['mb_lost_certify'], 0, 32)) {
|
||||
$new_password_hash = substr($mb['mb_lost_certify'], 33);
|
||||
sql_query(" update {$g5['member_table']} set mb_password = '$new_password_hash' where mb_no = '$mb_no' ");
|
||||
|
||||
run_event('password_lost_certify_after', $mb, $mb_nonce);
|
||||
|
||||
alert('비밀번호가 변경됐습니다.\\n\\n회원아이디와 변경된 비밀번호로 로그인 하시기 바랍니다.', G5_BBS_URL.'/login.php');
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -7,7 +7,10 @@ if (!$member['mb_id'])
|
||||
if (!$member['mb_open'] && $is_admin != 'super' && $member['mb_id'] != $mb_id)
|
||||
alert_close('자신의 정보를 공개하지 않으면 다른분의 정보를 조회할 수 없습니다.\\n\\n정보공개 설정은 회원정보수정에서 하실 수 있습니다.');
|
||||
|
||||
$mb_id = isset($mb_id) ? $mb_id : '';
|
||||
|
||||
$mb = get_member($mb_id);
|
||||
|
||||
if (!$mb['mb_id'])
|
||||
alert_close('회원정보가 존재하지 않습니다.\\n\\n탈퇴하였을 수 있습니다.');
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ $msg = array();
|
||||
|
||||
// 1:1문의 설정값
|
||||
$qaconfig = get_qa_config();
|
||||
$qa_id = isset($qa_id) ? (int) $qa_id : 0;
|
||||
|
||||
if(trim($qaconfig['qa_category'])) {
|
||||
if($w != 'a') {
|
||||
@@ -317,6 +318,8 @@ if($w == '' || $w == 'a' || $w == 'r') {
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
run_event('qawrite_update', $qa_id, $write, $w, $qaconfig);
|
||||
|
||||
// SMS 알림
|
||||
if($config['cf_sms_use'] == 'icode' && $qaconfig['qa_use_sms']) {
|
||||
if($config['cf_sms_type'] == 'LMS') {
|
||||
|
||||
+15
-8
@@ -3,6 +3,8 @@ include_once('./_common.php');
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
include_once(G5_LIB_PATH.'/register.lib.php');
|
||||
|
||||
run_event('register_form_before');
|
||||
|
||||
// 불법접근을 막도록 토큰생성
|
||||
$token = md5(uniqid(rand(), true));
|
||||
set_session("ss_token", $token);
|
||||
@@ -76,12 +78,14 @@ if ($w == "") {
|
||||
|
||||
if ($_POST['mb_password']) {
|
||||
// 수정된 정보를 업데이트후 되돌아 온것이라면 비밀번호가 암호화 된채로 넘어온것임
|
||||
if ($_POST['is_update'])
|
||||
if ($_POST['is_update']) {
|
||||
$tmp_password = $_POST['mb_password'];
|
||||
else
|
||||
$tmp_password = get_encrypt_string($_POST['mb_password']);
|
||||
$pass_check = ($member['mb_password'] === $tmp_password);
|
||||
} else {
|
||||
$pass_check = check_password($_POST['mb_password'], $member['mb_password']);
|
||||
}
|
||||
|
||||
if ($member['mb_password'] != $tmp_password)
|
||||
if (!$pass_check)
|
||||
alert('비밀번호가 틀립니다.');
|
||||
}
|
||||
|
||||
@@ -117,12 +121,12 @@ if ($w == "") {
|
||||
include_once('./_head.php');
|
||||
|
||||
// 회원아이콘 경로
|
||||
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
|
||||
$mb_icon_url = G5_DATA_URL.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
|
||||
$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_img_path = G5_DATA_PATH.'/member_image/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
|
||||
$mb_img_url = G5_DATA_URL.'/member_image/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
|
||||
$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';
|
||||
|
||||
$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)));
|
||||
@@ -137,5 +141,8 @@ if ($config['cf_use_addr'])
|
||||
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
|
||||
run_event('register_form_after', $w, $agree, $agree2);
|
||||
|
||||
include_once('./_tail.php');
|
||||
?>
|
||||
@@ -74,6 +74,8 @@ $mb_addr2 = clean_xss_tags($mb_addr2);
|
||||
$mb_addr3 = clean_xss_tags($mb_addr3);
|
||||
$mb_addr_jibeon = preg_match("/^(N|R)$/", $mb_addr_jibeon) ? $mb_addr_jibeon : '';
|
||||
|
||||
run_event('register_form_update_before', $mb_id, $w);
|
||||
|
||||
if ($w == '' || $w == 'u') {
|
||||
|
||||
if ($msg = empty_mb_id($mb_id)) alert($msg, "", true, true); // alert($msg, $url, $error, $post);
|
||||
@@ -146,6 +148,8 @@ if ($w == '' || $w == 'u') {
|
||||
$old_email = $member['mb_email'];
|
||||
}
|
||||
|
||||
run_event('register_form_update_valid', $w, $mb_id, $mb_nick, $mb_email);
|
||||
|
||||
if ($msg = exist_mb_nick($mb_nick, $mb_id)) alert($msg, "", true, true);
|
||||
if ($msg = exist_mb_email($mb_email, $mb_id)) alert($msg, "", true, true);
|
||||
}
|
||||
@@ -265,9 +269,13 @@ if ($w == '') {
|
||||
include_once ('./register_form_update_mail1.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
$content = run_replace('register_form_update_mail_mb_content', $content, $mb_id);
|
||||
|
||||
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
|
||||
|
||||
run_event('register_form_update_send_mb_mail', $config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content);
|
||||
|
||||
// 메일인증을 사용하는 경우 가입메일에 인증 url이 있으므로 인증메일을 다시 발송되지 않도록 함
|
||||
if($config['cf_use_email_certify'])
|
||||
$old_email = $mb_email;
|
||||
@@ -275,14 +283,18 @@ if ($w == '') {
|
||||
|
||||
// 최고관리자님께 메일 발송
|
||||
if ($config['cf_email_mb_super_admin']) {
|
||||
$subject = '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.';
|
||||
$subject = run_replace('register_form_update_mail_admin_subject', '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.', $mb_id, $mb_nick);
|
||||
|
||||
ob_start();
|
||||
include_once ('./register_form_update_mail2.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
$content = run_replace('register_form_update_mail_admin_content', $content, $mb_id);
|
||||
|
||||
mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);
|
||||
|
||||
run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content);
|
||||
}
|
||||
|
||||
// 메일인증 사용하지 않는 경우에만 로그인
|
||||
@@ -356,7 +368,7 @@ $mb_dir = G5_DATA_PATH.'/member/'.substr($mb_id,0,2);
|
||||
|
||||
// 아이콘 삭제
|
||||
if (isset($_POST['del_mb_icon'])) {
|
||||
@unlink($mb_dir.'/'.$mb_id.'.gif');
|
||||
@unlink($mb_dir.'/'.get_mb_icon_name($mb_id).'.gif');
|
||||
}
|
||||
|
||||
$msg = "";
|
||||
@@ -364,7 +376,7 @@ $msg = "";
|
||||
// 아이콘 업로드
|
||||
$mb_icon = '';
|
||||
$image_regex = "/(\.(gif|jpe?g|png))$/i";
|
||||
$mb_icon_img = $mb_id.'.gif';
|
||||
$mb_icon_img = get_mb_icon_name($mb_id).'.gif';
|
||||
|
||||
if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
|
||||
if (preg_match($image_regex, $_FILES['mb_icon']['name'])) {
|
||||
@@ -484,8 +496,12 @@ if ($config['cf_use_email_certify'] && $old_email != $mb_email) {
|
||||
include_once ('./register_form_update_mail3.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
$content = run_replace('register_form_update_mail_certify_content', $content, $mb_id);
|
||||
|
||||
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
|
||||
|
||||
run_event('register_form_update_send_certify_mail', $config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content);
|
||||
}
|
||||
|
||||
|
||||
@@ -501,6 +517,8 @@ unset($_SESSION['ss_cert_adult']);
|
||||
if ($msg)
|
||||
echo '<script>alert(\''.$msg.'\');</script>';
|
||||
|
||||
run_event('register_form_update_after', $mb_id, $w);
|
||||
|
||||
if ($w == '') {
|
||||
goto_url(G5_HTTP_BBS_URL.'/register_result.php');
|
||||
} else if ($w == 'u') {
|
||||
|
||||
+4
-4
@@ -47,8 +47,8 @@ echo '<?xml version="1.0" encoding="utf-8" ?>'."\n";
|
||||
?>
|
||||
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<channel>
|
||||
<title><?php echo specialchars_replace($config['cf_title'].' > '.$subj1.' > '.$subj2) ?></title>
|
||||
<link><?php echo specialchars_replace(G5_BBS_URL.'/board.php?bo_table='.$bo_table) ?></link>
|
||||
<title><?php echo specialchars_replace($config['cf_title'].' > '.$subj1.' > '.$subj2); ?></title>
|
||||
<link><?php echo specialchars_replace(get_pretty_url($bo_table)); ?></link>
|
||||
<description>테스트 버전 0.2 (2004-04-26)</description>
|
||||
<language>ko</language>
|
||||
|
||||
@@ -69,8 +69,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
?>
|
||||
|
||||
<item>
|
||||
<title><?php echo specialchars_replace($row['wr_subject']) ?></title>
|
||||
<link><?php echo specialchars_replace(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$row['wr_id']) ?></link>
|
||||
<title><?php echo specialchars_replace($row['wr_subject']); ?></title>
|
||||
<link><?php echo specialchars_replace(get_pretty_url($bo_table, $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
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$row3['wr_subject'] = '[글 없음]';
|
||||
|
||||
$list[$i]['num'] = $num;
|
||||
$list[$i]['opener_href'] = './board.php?bo_table='.$row['bo_table'];
|
||||
$list[$i]['opener_href_wr_id'] = './board.php?bo_table='.$row['bo_table'].'&wr_id='.$row['wr_id'];
|
||||
$list[$i]['opener_href'] = get_pretty_url($row['bo_table']);
|
||||
$list[$i]['opener_href_wr_id'] = get_pretty_url($row['bo_table'], $row['wr_id']);
|
||||
$list[$i]['bo_subject'] = $row2['bo_subject'];
|
||||
$list[$i]['subject'] = $subject;
|
||||
$list[$i]['del_href'] = './scrap_delete.php?ms_id='.$row['ms_id'].'&page='.$page;
|
||||
|
||||
@@ -7,5 +7,8 @@ if (!$is_member)
|
||||
$sql = " delete from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' and ms_id = '$ms_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
$sql = " update `{$g5['member_table']}` set mb_scrap_cnt = '".get_scrap_totals($member['mb_id'])."' where mb_id = '{$member['mb_id']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
goto_url('./scrap.php?page='.$page);
|
||||
?>
|
||||
|
||||
+5
-2
@@ -4,7 +4,7 @@ include_once('./_common.php');
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
if ($is_guest) {
|
||||
$href = './login.php?'.$qstr.'&url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
$href = './login.php?'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id));
|
||||
$href2 = str_replace('&', '&', $href);
|
||||
echo <<<HEREDOC
|
||||
<script>
|
||||
@@ -38,6 +38,9 @@ $sql = " select count(*) as cnt from {$g5['scrap_table']}
|
||||
and wr_id = '$wr_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['cnt']) {
|
||||
|
||||
$back_url = get_pretty_url($bo_table, $wr_id);
|
||||
|
||||
echo <<<HEREDOC
|
||||
<script>
|
||||
if (confirm('이미 스크랩하신 글 입니다.\\n\\n지금 스크랩을 확인하시겠습니까?'))
|
||||
@@ -48,7 +51,7 @@ if ($row['cnt']) {
|
||||
<noscript>
|
||||
<p>이미 스크랩하신 글 입니다.</p>
|
||||
<a href="./scrap.php">스크랩 확인하기</a>
|
||||
<a href="./board.php?bo_table={$bo_table}&wr_id=$wr_id">돌아가기</a>
|
||||
<a href="{$back_url}">돌아가기</a>
|
||||
</noscript>
|
||||
HEREDOC;
|
||||
exit;
|
||||
|
||||
@@ -5,7 +5,7 @@ include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
if (!$is_member)
|
||||
{
|
||||
$href = './login.php?'.$qstr.'&url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
|
||||
$href = './login.php?'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id));
|
||||
echo '<script> alert(\'회원만 접근 가능합니다.\'); top.location.href = \''.str_replace('&', '&', $href).'\'; </script>';
|
||||
exit;
|
||||
}
|
||||
@@ -31,7 +31,7 @@ if ($row['cnt'])
|
||||
<noscript>
|
||||
<p>이미 스크랩하신 글 입니다.</p>
|
||||
<a href="./scrap.php">스크랩 확인하기</a>
|
||||
<a href="./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'">돌아가기</a>
|
||||
<a href="'.get_pretty_url($bo_table, $wr_id).'">돌아가기</a>
|
||||
</noscript>';
|
||||
exit;
|
||||
}
|
||||
@@ -101,6 +101,9 @@ if ($wr_content && ($member['mb_level'] >= $board['bo_comment_level']))
|
||||
$sql = " insert into {$g5['scrap_table']} ( mb_id, bo_table, wr_id, ms_datetime ) values ( '{$member['mb_id']}', '$bo_table', '$wr_id', '".G5_TIME_YMDHIS."' ) ";
|
||||
sql_query($sql);
|
||||
|
||||
$sql = " update `{$g5['member_table']}` set mb_scrap_cnt = '".get_scrap_totals($member['mb_id'])."' where mb_id = '{$member['mb_id']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
echo <<<HEREDOC
|
||||
|
||||
+1
-1
@@ -172,7 +172,7 @@ if ($stx) {
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
// 검색어까지 링크되면 게시판 부하가 일어남
|
||||
$list[$idx][$i] = $row;
|
||||
$list[$idx][$i]['href'] = './board.php?bo_table='.$search_table[$idx].'&wr_id='.$row['wr_parent'];
|
||||
$list[$idx][$i]['href'] = get_pretty_url($search_table[$idx], $row['wr_parent']);
|
||||
|
||||
if ($row['wr_is_comment'])
|
||||
{
|
||||
|
||||
+20
-18
@@ -13,11 +13,11 @@ $sql_search = "";
|
||||
if ($sca || $stx || $stx === '0') {
|
||||
// where 문을 얻음
|
||||
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
|
||||
$search_href = './board.php?bo_table='.$bo_table.'&page='.$page.$qstr;
|
||||
$list_href = './board.php?bo_table='.$bo_table;
|
||||
$search_href = get_pretty_url($bo_table,'','&page='.$page.$qstr);
|
||||
$list_href = get_pretty_url($bo_table);
|
||||
} else {
|
||||
$search_href = '';
|
||||
$list_href = './board.php?bo_table='.$bo_table.'&page='.$page;
|
||||
$list_href = get_pretty_url($bo_table,'',$qstr);
|
||||
}
|
||||
|
||||
if (!$board['bo_use_list_view']) {
|
||||
@@ -47,7 +47,7 @@ if (!$board['bo_use_list_view']) {
|
||||
$prev_href = '';
|
||||
if (isset($prev['wr_id']) && $prev['wr_id']) {
|
||||
$prev_wr_subject = get_text(cut_str($prev['wr_subject'], 255));
|
||||
$prev_href = './board.php?bo_table='.$bo_table.'&wr_id='.$prev['wr_id'].$qstr;
|
||||
$prev_href = get_pretty_url($bo_table, $prev['wr_id'], $qstr);
|
||||
$prev_wr_date = $prev['wr_datetime'];
|
||||
}
|
||||
|
||||
@@ -55,38 +55,40 @@ if (isset($prev['wr_id']) && $prev['wr_id']) {
|
||||
$next_href = '';
|
||||
if (isset($next['wr_id']) && $next['wr_id']) {
|
||||
$next_wr_subject = get_text(cut_str($next['wr_subject'], 255));
|
||||
$next_href = './board.php?bo_table='.$bo_table.'&wr_id='.$next['wr_id'].$qstr;
|
||||
$next_href = get_pretty_url($bo_table, $next['wr_id'], $qstr);
|
||||
$next_wr_date = $next['wr_datetime'];
|
||||
}
|
||||
|
||||
// 쓰기 링크
|
||||
$write_href = '';
|
||||
if ($member['mb_level'] >= $board['bo_write_level'])
|
||||
$write_href = './write.php?bo_table='.$bo_table;
|
||||
if ($member['mb_level'] >= $board['bo_write_level']) {
|
||||
$write_href = short_url_clean(G5_BBS_URL.'/write.php?bo_table='.$bo_table);
|
||||
}
|
||||
|
||||
// 답변 링크
|
||||
$reply_href = '';
|
||||
if ($member['mb_level'] >= $board['bo_reply_level'])
|
||||
$reply_href = './write.php?w=r&bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr;
|
||||
if ($member['mb_level'] >= $board['bo_reply_level']) {
|
||||
$reply_href = short_url_clean(G5_BBS_URL.'/write.php?w=r&bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);
|
||||
}
|
||||
|
||||
// 수정, 삭제 링크
|
||||
$update_href = $delete_href = '';
|
||||
// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
|
||||
if (($member['mb_id'] && ($member['mb_id'] === $write['mb_id'])) || $is_admin) {
|
||||
$update_href = './write.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$update_href = short_url_clean(G5_BBS_URL.'/write.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr);
|
||||
set_session('ss_delete_token', $token = uniqid(time()));
|
||||
$delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&token='.$token.'&page='.$page.urldecode($qstr);
|
||||
$delete_href = G5_BBS_URL.'/delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&token='.$token.'&page='.$page.urldecode($qstr);
|
||||
}
|
||||
else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면
|
||||
$update_href = './password.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$delete_href = './password.php?w=d&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$update_href = G5_BBS_URL.'/password.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$delete_href = G5_BBS_URL.'/password.php?w=d&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
}
|
||||
|
||||
// 최고, 그룹관리자라면 글 복사, 이동 가능
|
||||
$copy_href = $move_href = '';
|
||||
if ($write['wr_reply'] == '' && ($is_admin == 'super' || $is_admin == 'group')) {
|
||||
$copy_href = './move.php?sw=copy&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$move_href = './move.php?sw=move&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$copy_href = G5_BBS_URL.'/move.php?sw=copy&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
$move_href = G5_BBS_URL.'/move.php?sw=move&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
}
|
||||
|
||||
$scrap_href = '';
|
||||
@@ -94,15 +96,15 @@ $good_href = '';
|
||||
$nogood_href = '';
|
||||
if ($is_member) {
|
||||
// 스크랩 링크
|
||||
$scrap_href = './scrap_popin.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
$scrap_href = G5_BBS_URL.'/scrap_popin.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
|
||||
// 추천 링크
|
||||
if ($board['bo_use_good'])
|
||||
$good_href = './good.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&good=good';
|
||||
$good_href = G5_BBS_URL.'/good.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&good=good';
|
||||
|
||||
// 비추천 링크
|
||||
if ($board['bo_use_nogood'])
|
||||
$nogood_href = './good.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&good=nogood';
|
||||
$nogood_href = G5_BBS_URL.'/good.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&good=nogood';
|
||||
}
|
||||
|
||||
$view = get_view($write, $board, $board_skin_path);
|
||||
|
||||
@@ -48,7 +48,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
$ss_name = 'ss_secret_comment_'.$bo_table.'_'.$list[$i]['wr_id'];
|
||||
|
||||
if(!get_session($ss_name))
|
||||
$list[$i]['content'] = '<a href="./password.php?w=sc&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].$qstr.'" class="s_cmt">댓글내용 확인</a>';
|
||||
$list[$i]['content'] = '<a href="'.G5_BBS_URL.'/password.php?w=sc&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].$qstr.'" class="s_cmt">댓글내용 확인</a>';
|
||||
else {
|
||||
$list[$i]['content'] = conv_content($row['wr_content'], 0, 'wr_content');
|
||||
$list[$i]['content'] = search_font($stx, $list[$i]['content']);
|
||||
@@ -74,7 +74,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
if ($row['mb_id'] === $member['mb_id'] || $is_admin)
|
||||
{
|
||||
set_session('ss_delete_comment_'.$row['wr_id'].'_token', $token = uniqid(time()));
|
||||
$list[$i]['del_link'] = './delete_comment.php?bo_table='.$bo_table.'&comment_id='.$row['wr_id'].'&token='.$token.'&page='.$page.$qstr;
|
||||
$list[$i]['del_link'] = G5_BBS_URL.'/delete_comment.php?bo_table='.$bo_table.'&comment_id='.$row['wr_id'].'&token='.$token.'&page='.$page.$qstr;
|
||||
$list[$i]['is_edit'] = true;
|
||||
$list[$i]['is_del'] = true;
|
||||
}
|
||||
@@ -82,7 +82,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
else
|
||||
{
|
||||
if (!$row['mb_id']) {
|
||||
$list[$i]['del_link'] = './password.php?w=x&bo_table='.$bo_table.'&comment_id='.$row['wr_id'].'&page='.$page.$qstr;
|
||||
$list[$i]['del_link'] = G5_BBS_URL.'/password.php?w=x&bo_table='.$bo_table.'&comment_id='.$row['wr_id'].'&page='.$page.$qstr;
|
||||
$list[$i]['is_del'] = true;
|
||||
}
|
||||
}
|
||||
@@ -119,6 +119,7 @@ else
|
||||
}
|
||||
|
||||
$comment_action_url = https_url(G5_BBS_DIR)."/write_comment_update.php";
|
||||
$comment_common_url = short_url_clean(G5_BBS_URL.'/board.php?'.clean_query_string($_SERVER['QUERY_STRING']));
|
||||
|
||||
include_once($board_skin_path.'/view_comment.skin.php');
|
||||
|
||||
|
||||
+61
-31
@@ -23,57 +23,87 @@ if(strpos($filename, G5_DATA_DIR.'/editor')) {
|
||||
$filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$filename;
|
||||
}
|
||||
|
||||
if(is_file($filepath)) {
|
||||
$size = @getimagesize($filepath);
|
||||
$file_exists = (is_file($filepath) && file_exists($filepath)) ? 1 : 0;
|
||||
|
||||
if($file_exists = run_replace('exists_view_image', $file_exists, $filepath, $editor_file)) {
|
||||
$size = $file_exists ? run_replace('get_view_imagesize', @getimagesize($filepath), $filepath, $editor_file) : array();
|
||||
if(empty($size))
|
||||
alert_close('이미지 파일이 아닙니다.');
|
||||
|
||||
$width = $size[0];
|
||||
$height = $size[1];
|
||||
$width = (isset($size[0]) && $size[0]) ? (int) $size[0] : 0;
|
||||
$height = (isset($size[1]) && $size[1]) ? (int) $size[1] : 0;
|
||||
|
||||
if($editor_file)
|
||||
$fileurl = G5_DATA_URL.'/'.$editor_file;
|
||||
$fileurl = run_replace('get_editor_content_url', G5_DATA_URL.'/'.$editor_file);
|
||||
else
|
||||
$fileurl = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
|
||||
$fileurl = run_replace('get_file_board_url', G5_DATA_URL.'/file/'.$bo_table.'/'.$filename, $bo_table);
|
||||
|
||||
$img = '<img src="'.$fileurl.'" alt="" width="'.$width.'" height="'.$height.'" class="draggable" style="position:relative;top:0;left:0;cursor:move;">';
|
||||
$img_attr = ($width && $height) ? 'width="'.$width.'" height="'.$height.'"' : '';
|
||||
|
||||
$img = '<img src="'.$fileurl.'" alt="" '.$img_attr.' class="draggable" style="position:relative;top:0;left:0;cursor:move;">';
|
||||
} else {
|
||||
alert_close('파일이 존재하지 않습니다.');
|
||||
}
|
||||
?>
|
||||
|
||||
<div><?php echo $img ?></div>
|
||||
<div class="bbs-view-image"><?php echo $img ?></div>
|
||||
|
||||
<script>
|
||||
var win_w = <?php echo $width ?>;
|
||||
var win_h = <?php echo $height ?> + 70;
|
||||
var win_l = (screen.width - win_w) / 2;
|
||||
var win_t = (screen.height - win_h) / 2;
|
||||
|
||||
if(win_w > screen.width) {
|
||||
win_l = 0;
|
||||
win_w = screen.width - 20;
|
||||
jQuery(function($){
|
||||
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
}
|
||||
}
|
||||
$.fn.imgLoad = function(callback) {
|
||||
return this.each(function() {
|
||||
if (callback) {
|
||||
if (this.complete || /*for IE 10-*/ $(this).height() > 0) {
|
||||
callback.apply(this);
|
||||
}
|
||||
else {
|
||||
$(this).on('load', function(){
|
||||
callback.apply(this);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
$(".bbs-view-image img").imgLoad(function(){
|
||||
|
||||
if(win_w > screen.width) {
|
||||
win_w = screen.width - 20;
|
||||
win_l = 0;
|
||||
}
|
||||
}
|
||||
var win_w = <?php echo $width ?>;
|
||||
var win_h = <?php echo $height ?> + 70;
|
||||
|
||||
window.moveTo(win_l, win_t);
|
||||
window.resizeTo(win_w, win_h);
|
||||
if( !win_w || !win_h ){
|
||||
win_w = $(this).width();
|
||||
win_h = $(this).height();
|
||||
}
|
||||
|
||||
var win_l = (screen.width - win_w) / 2;
|
||||
var win_t = (screen.height - win_h) / 2;
|
||||
|
||||
if(win_w > screen.width) {
|
||||
win_l = 0;
|
||||
win_w = screen.width - 20;
|
||||
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
}
|
||||
}
|
||||
|
||||
if(win_h > screen.height) {
|
||||
win_t = 0;
|
||||
win_h = screen.height - 40;
|
||||
|
||||
if(win_w > screen.width) {
|
||||
win_w = screen.width - 20;
|
||||
win_l = 0;
|
||||
}
|
||||
}
|
||||
|
||||
window.moveTo(win_l, win_t);
|
||||
window.resizeTo(win_w, win_h);
|
||||
});
|
||||
|
||||
$(function() {
|
||||
var is_draggable = false;
|
||||
var x = y = 0;
|
||||
var pos_x = pos_y = 0;
|
||||
|
||||
+7
-4
@@ -31,6 +31,8 @@ if ($w == 'u' || $w == 'r') {
|
||||
}
|
||||
}
|
||||
|
||||
run_event('bbs_write', $board, $wr_id, $w);
|
||||
|
||||
if ($w == '') {
|
||||
if ($wr_id) {
|
||||
alert('글쓰기에는 \$wr_id 값을 사용하지 않습니다.', G5_BBS_URL.'/board.php?bo_table='.$bo_table);
|
||||
@@ -40,7 +42,7 @@ if ($w == '') {
|
||||
if ($member['mb_id']) {
|
||||
alert('글을 쓸 권한이 없습니다.');
|
||||
} else {
|
||||
alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +64,7 @@ if ($w == '') {
|
||||
if ($member['mb_id']) {
|
||||
alert('글을 수정할 권한이 없습니다.');
|
||||
} else {
|
||||
alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +97,7 @@ if ($w == '') {
|
||||
if ($member['mb_id'])
|
||||
alert('글을 답변할 권한이 없습니다.');
|
||||
else
|
||||
alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
|
||||
$tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0;
|
||||
@@ -310,7 +312,8 @@ if ($w == '') {
|
||||
if (!$is_admin) {
|
||||
if (!($is_member && $member['mb_id'] === $write['mb_id'])) {
|
||||
if (!check_password($wr_password, $write['wr_password'])) {
|
||||
alert('비밀번호가 틀립니다.');
|
||||
$is_wrong = run_replace('invalid_password', false, 'write', $write);
|
||||
if(!$is_wrong) alert('비밀번호가 틀립니다.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ if (substr_count($wr_content, "&#") > 50) {
|
||||
$w = $_POST["w"];
|
||||
$wr_name = trim($_POST['wr_name']);
|
||||
$wr_email = '';
|
||||
$reply_array = array();
|
||||
|
||||
if (!empty($_POST['wr_email']))
|
||||
$wr_email = get_email_address(trim($_POST['wr_email']));
|
||||
|
||||
@@ -54,18 +56,20 @@ if (empty($wr['wr_id']))
|
||||
// 이 옵션을 사용 안 함으로 설정할 경우 어떤 스크립트도 실행 되지 않습니다.
|
||||
//if (!trim($_POST["wr_content"])) die ("내용을 입력하여 주십시오.");
|
||||
|
||||
$post_wr_password = '';
|
||||
if ($is_member)
|
||||
{
|
||||
$mb_id = $member['mb_id'];
|
||||
// 4.00.13 - 실명 사용일때 댓글에 닉네임으로 입력되던 오류를 수정
|
||||
$wr_name = addslashes(clean_xss_tags($board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick']));
|
||||
$wr_password = $member['mb_password'];
|
||||
$wr_password = '';
|
||||
$wr_email = addslashes($member['mb_email']);
|
||||
$wr_homepage = addslashes(clean_xss_tags($member['mb_homepage']));
|
||||
}
|
||||
else
|
||||
{
|
||||
$mb_id = '';
|
||||
$post_wr_password = $wr_password;
|
||||
$wr_password = get_encrypt_string($wr_password);
|
||||
}
|
||||
|
||||
@@ -83,9 +87,7 @@ if ($w == 'c') // 댓글 입력
|
||||
// 댓글 답변
|
||||
if ($comment_id)
|
||||
{
|
||||
$sql = " select wr_id, wr_parent, wr_comment, wr_comment_reply from $write_table
|
||||
where wr_id = '$comment_id' ";
|
||||
$reply_array = sql_fetch($sql);
|
||||
$reply_array = get_write($write_table, $comment_id, true);
|
||||
if (!$reply_array['wr_id'])
|
||||
alert('답변할 댓글이 없습니다.\\n\\n답변하는 동안 댓글이 삭제되었을 수 있습니다.');
|
||||
|
||||
@@ -205,7 +207,7 @@ if ($w == 'c') // 댓글 입력
|
||||
|
||||
$subject = '['.$config['cf_title'].'] '.$board['bo_subject'].' 게시판에 '.$str.'글이 올라왔습니다.';
|
||||
// 4.00.15 - 메일로 보내는 댓글의 바로가기 링크 수정
|
||||
$link_url = G5_BBS_URL."/board.php?bo_table=".$bo_table."&wr_id=".$wr_id."&".$qstr."#c_".$comment_id;
|
||||
$link_url = get_pretty_url($bo_table, $wr_id, $qstr."#c_".$comment_id);
|
||||
|
||||
include_once(G5_LIB_PATH.'/mailer.lib.php');
|
||||
|
||||
@@ -289,7 +291,7 @@ else if ($w == 'cu') // 댓글 수정
|
||||
if ($member['mb_id'] !== $comment['mb_id'])
|
||||
alert('자신의 글이 아니므로 수정할 수 없습니다.');
|
||||
} else {
|
||||
if($comment['wr_password'] != $wr_password)
|
||||
if( !($comment['mb_id'] === '' && $comment['wr_password'] && check_password($post_wr_password, $comment['wr_password'])) )
|
||||
alert('댓글을 수정할 권한이 없습니다.');
|
||||
}
|
||||
|
||||
@@ -337,5 +339,9 @@ else if ($w == 'cu') // 댓글 수정
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr['wr_parent'].'&'.$qstr.'&#c_'.$comment_id);
|
||||
$redirect_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr['wr_parent'].'&'.$qstr.'&#c_'.$comment_id);
|
||||
|
||||
run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url, $comment_id, $reply_array);
|
||||
|
||||
goto_url($redirect_url);
|
||||
?>
|
||||
|
||||
@@ -22,7 +22,7 @@ if ($_POST['facebook_checked']) {
|
||||
|
||||
if ($user) {
|
||||
try {
|
||||
$link = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr['wr_parent'].'&#c_'.$comment_id;
|
||||
$link = get_pretty_url($bo_table, $wr['wr_parent'], '&#c_'.$comment_id);
|
||||
$attachment = array(
|
||||
'message' => stripslashes($wr_content),
|
||||
'name' => $wr_subject,
|
||||
@@ -53,7 +53,7 @@ if ($_POST['twitter_checked']) {
|
||||
include_once(G5_SNS_PATH."/twitter/twitterconfig.php");
|
||||
|
||||
if ( !(empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) ) {
|
||||
$comment_url = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr['wr_parent'].'&#c_'.$comment_id;
|
||||
$comment_url = get_pretty_url($bo_table, $wr['wr_parent'], '&#c_'.$comment_id);
|
||||
|
||||
$post = googl_short_url($comment_url).' '.$wr_content;
|
||||
$post = utf8_strcut($post, 140);
|
||||
|
||||
+48
-12
@@ -127,6 +127,8 @@ for ($i=1; $i<=10; $i++) {
|
||||
|
||||
@include_once($board_skin_path.'/write_update.head.skin.php');
|
||||
|
||||
run_event('write_update_before', $board, $wr_id, $w, $qstr);
|
||||
|
||||
if ($w == '' || $w == 'u') {
|
||||
|
||||
// 외부에서 글을 등록할 수 있는 버그가 존재하므로 공지는 관리자만 등록이 가능해야 함
|
||||
@@ -211,12 +213,14 @@ if ($w == '' || $w == 'r') {
|
||||
if (!isset($_POST['wr_subject']) || !trim($_POST['wr_subject']))
|
||||
alert('제목을 입력하여 주십시오.');
|
||||
|
||||
$wr_seo_title = exist_seo_title_recursive('bbs', generate_seo_title($wr_subject), $write_table, $wr_id);
|
||||
|
||||
if ($w == '' || $w == 'r') {
|
||||
|
||||
if ($member['mb_id']) {
|
||||
$mb_id = $member['mb_id'];
|
||||
$wr_name = addslashes(clean_xss_tags($board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick']));
|
||||
$wr_password = $member['mb_password'];
|
||||
$wr_password = '';
|
||||
$wr_email = addslashes($member['mb_email']);
|
||||
$wr_homepage = addslashes(clean_xss_tags($member['mb_homepage']));
|
||||
} else {
|
||||
@@ -251,6 +255,7 @@ if ($w == '' || $w == 'r') {
|
||||
wr_option = '$html,$secret,$mail',
|
||||
wr_subject = '$wr_subject',
|
||||
wr_content = '$wr_content',
|
||||
wr_seo_title = '$wr_seo_title',
|
||||
wr_link1 = '$wr_link1',
|
||||
wr_link2 = '$wr_link2',
|
||||
wr_link1_hit = 0,
|
||||
@@ -304,10 +309,10 @@ if ($w == '' || $w == 'r') {
|
||||
}
|
||||
} else if ($w == 'u') {
|
||||
if (get_session('ss_bo_table') != $_POST['bo_table'] || get_session('ss_wr_id') != $_POST['wr_id']) {
|
||||
alert('올바른 방법으로 수정하여 주십시오.', G5_BBS_URL.'/board.php?bo_table='.$bo_table);
|
||||
alert('올바른 방법으로 수정하여 주십시오.', get_pretty_url($bo_table));
|
||||
}
|
||||
|
||||
$return_url = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||
$return_url = get_pretty_url($bo_table, $wr_id);
|
||||
|
||||
if ($is_admin == 'super') // 최고관리자 통과
|
||||
;
|
||||
@@ -328,7 +333,7 @@ if ($w == '' || $w == 'r') {
|
||||
alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url);
|
||||
} else {
|
||||
if ($write['mb_id'])
|
||||
alert('로그인 후 수정하세요.', './login.php?url='.urlencode($return_url));
|
||||
alert('로그인 후 수정하세요.', G5_BBS_URL.'/login.php?url='.urlencode($return_url));
|
||||
}
|
||||
|
||||
if ($member['mb_id']) {
|
||||
@@ -372,6 +377,7 @@ if ($w == '' || $w == 'r') {
|
||||
wr_option = '{$html},{$secret},{$mail}',
|
||||
wr_subject = '{$wr_subject}',
|
||||
wr_content = '{$wr_content}',
|
||||
wr_seo_title = '$wr_seo_title',
|
||||
wr_link1 = '{$wr_link1}',
|
||||
wr_link2 = '{$wr_link2}',
|
||||
mb_id = '{$mb_id}',
|
||||
@@ -418,6 +424,9 @@ if ($w == '' || $w == 'r') {
|
||||
|
||||
$bo_notice = board_notice($board['bo_notice'], $wr_id, $notice);
|
||||
sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");
|
||||
|
||||
// 글을 수정한 경우에는 제목이 달라질수도 있으니 static variable 를 새로고침합니다.
|
||||
$write = get_write( $write_table, $wr['wr_id'], false);
|
||||
}
|
||||
|
||||
// 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다.
|
||||
@@ -460,13 +469,20 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
|
||||
$upload[$i]['image'][0] = '';
|
||||
$upload[$i]['image'][1] = '';
|
||||
$upload[$i]['image'][2] = '';
|
||||
$upload[$i]['fileurl'] = '';
|
||||
$upload[$i]['thumburl'] = '';
|
||||
$upload[$i]['storage'] = '';
|
||||
|
||||
// 삭제에 체크가 되어있다면 파일을 삭제합니다.
|
||||
if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
|
||||
$upload[$i]['del_check'] = true;
|
||||
|
||||
$row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
|
||||
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
|
||||
$row = sql_fetch(" select * from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
|
||||
|
||||
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row['bf_file']), $row);
|
||||
if( file_exists($delete_file) ){
|
||||
@unlink($delete_file);
|
||||
}
|
||||
// 썸네일삭제
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
|
||||
delete_board_thumbnail($bo_table, $row['bf_file']);
|
||||
@@ -518,8 +534,12 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
|
||||
// 4.00.11 - 글답변에서 파일 업로드시 원글의 파일이 삭제되는 오류를 수정
|
||||
if ($w == 'u') {
|
||||
// 존재하는 파일이 있다면 삭제합니다.
|
||||
$row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
|
||||
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
|
||||
$row = sql_fetch(" select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
|
||||
|
||||
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row['bf_file']), $row);
|
||||
if( file_exists($delete_file) ){
|
||||
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
|
||||
}
|
||||
// 이미지파일이면 썸네일삭제
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
|
||||
delete_board_thumbnail($bo_table, $row['bf_file']);
|
||||
@@ -546,6 +566,9 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
|
||||
|
||||
// 올라간 파일의 퍼미션을 변경합니다.
|
||||
chmod($dest_file, G5_FILE_PERMISSION);
|
||||
|
||||
$dest_file = run_replace('write_update_upload_file', $dest_file, $board, $wr_id, $w);
|
||||
$upload[$i] = run_replace('write_update_upload_array', $upload[$i], $dest_file, $board, $wr_id, $w);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -567,6 +590,9 @@ for ($i=0; $i<count($upload); $i++)
|
||||
set bf_source = '{$upload[$i]['source']}',
|
||||
bf_file = '{$upload[$i]['file']}',
|
||||
bf_content = '{$bf_content[$i]}',
|
||||
bf_fileurl = '{$upload[$i]['fileurl']}',
|
||||
bf_thumburl = '{$upload[$i]['thumburl']}',
|
||||
bf_storage = '{$upload[$i]['storage']}',
|
||||
bf_filesize = '{$upload[$i]['filesize']}',
|
||||
bf_width = '{$upload[$i]['image']['0']}',
|
||||
bf_height = '{$upload[$i]['image']['1']}',
|
||||
@@ -596,6 +622,9 @@ for ($i=0; $i<count($upload); $i++)
|
||||
bf_source = '{$upload[$i]['source']}',
|
||||
bf_file = '{$upload[$i]['file']}',
|
||||
bf_content = '{$bf_content[$i]}',
|
||||
bf_fileurl = '{$upload[$i]['fileurl']}',
|
||||
bf_thumburl = '{$upload[$i]['thumburl']}',
|
||||
bf_storage = '{$upload[$i]['storage']}',
|
||||
bf_download = 0,
|
||||
bf_filesize = '{$upload[$i]['filesize']}',
|
||||
bf_width = '{$upload[$i]['image']['0']}',
|
||||
@@ -603,6 +632,8 @@ for ($i=0; $i<count($upload); $i++)
|
||||
bf_type = '{$upload[$i]['image']['2']}',
|
||||
bf_datetime = '".G5_TIME_YMDHIS."' ";
|
||||
sql_query($sql);
|
||||
|
||||
run_event('write_update_file_insert', $bo_table, $wr_id, $upload[$i], $w);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -655,7 +686,7 @@ if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_emai
|
||||
|
||||
$subject = '['.$config['cf_title'].'] '.$board['bo_subject'].' 게시판에 '.$str.'글이 올라왔습니다.';
|
||||
|
||||
$link_url = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&'.$qstr;
|
||||
$link_url = get_pretty_url($bo_table, $wr_id, $qstr);
|
||||
|
||||
include_once(G5_LIB_PATH.'/mailer.lib.php');
|
||||
|
||||
@@ -686,7 +717,8 @@ if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_emai
|
||||
|
||||
// 중복된 메일 주소는 제거
|
||||
$unique_email = array_unique($array_email);
|
||||
$unique_email = array_values($unique_email);
|
||||
$unique_email = run_replace('write_update_mail_list', array_values($unique_email), $board, $wr_id);
|
||||
|
||||
for ($i=0; $i<count($unique_email); $i++) {
|
||||
mailer($wr_name, $wr_email, $unique_email[$i], $subject, $content, 1);
|
||||
}
|
||||
@@ -698,8 +730,12 @@ if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_emai
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
$redirect_url = run_replace('write_update_move_url', short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr), $board, $wr_id, $w, $qstr, $file_upload_msg);
|
||||
|
||||
run_event('write_update_after', $board, $wr_id, $w, $qstr, $redirect_url);
|
||||
|
||||
if ($file_upload_msg)
|
||||
alert($file_upload_msg, G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);
|
||||
alert($file_upload_msg, $redirect_url);
|
||||
else
|
||||
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);
|
||||
goto_url($redirect_url);
|
||||
?>
|
||||
|
||||
+62
-12
@@ -10,6 +10,9 @@ header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV
|
||||
if (!defined('G5_SET_TIME_LIMIT')) define('G5_SET_TIME_LIMIT', 0);
|
||||
@set_time_limit(G5_SET_TIME_LIMIT);
|
||||
|
||||
if( version_compare( PHP_VERSION, '5.2.17' , '<' ) ){
|
||||
die(sprintf('PHP 5.2.17 or higher required. Your PHP version is %s', PHP_VERSION));
|
||||
}
|
||||
|
||||
//==========================================================================================================================
|
||||
// extract($_GET); 명령으로 인해 page.php?_POST[var1]=data1&_POST[var2]=data2 와 같은 코드가 _POST 변수로 사용되는 것을 막음
|
||||
@@ -125,6 +128,14 @@ $board = array();
|
||||
$group = array();
|
||||
$g5 = array();
|
||||
$qaconfig = array();
|
||||
$g5_debug = array('php'=>array(),'sql'=>array());
|
||||
|
||||
include_once(G5_LIB_PATH.'/hook.lib.php'); // hook 함수 파일
|
||||
include_once(G5_LIB_PATH.'/get_data.lib.php'); // 데이타 가져오는 함수 모음
|
||||
include_once(G5_LIB_PATH.'/cache.lib.php'); // cache 함수 및 object cache class 모음
|
||||
include_once(G5_LIB_PATH.'/uri.lib.php'); // URL 함수 파일
|
||||
|
||||
$g5_object = new G5_object_cache();
|
||||
|
||||
//==============================================================================
|
||||
// 공통
|
||||
@@ -140,7 +151,7 @@ if (file_exists($dbconfig_file)) {
|
||||
// mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안
|
||||
$g5['connect_db'] = $connect_db;
|
||||
|
||||
sql_set_charset('utf8', $connect_db);
|
||||
sql_set_charset(G5_DB_CHARSET, $connect_db);
|
||||
if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''");
|
||||
if (defined('G5_TIMEZONE')) sql_query(" set time_zone = '".G5_TIMEZONE."'");
|
||||
} else {
|
||||
@@ -205,16 +216,47 @@ ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probabil
|
||||
session_set_cookie_params(0, '/');
|
||||
ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
|
||||
|
||||
@session_start();
|
||||
//==============================================================================
|
||||
|
||||
|
||||
//==============================================================================
|
||||
// 공용 변수
|
||||
//------------------------------------------------------------------------------
|
||||
// 기본환경설정
|
||||
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
|
||||
$config = sql_fetch(" select * from {$g5['config_table']} ");
|
||||
$config = get_config();
|
||||
|
||||
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
|
||||
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
|
||||
// Chrome 80 버전부터 아래 이슈 대응
|
||||
// https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss
|
||||
if(!function_exists('session_start_samesite')) {
|
||||
function session_start_samesite($options = array())
|
||||
{
|
||||
global $g5;
|
||||
|
||||
$res = @session_start($options);
|
||||
|
||||
// IE 브라우저 또는 엣지브라우저 일때는 secure; SameSite=None, http 환경에서는 설정하지 않습니다.
|
||||
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
|
||||
return $res;
|
||||
}
|
||||
|
||||
$headers = headers_list();
|
||||
krsort($headers);
|
||||
foreach ($headers as $header) {
|
||||
if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
|
||||
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
|
||||
header($header, false);
|
||||
$g5['session_cookie_samesite'] = 'none';
|
||||
break;
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
session_start_samesite();
|
||||
} else {
|
||||
@session_start();
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
define('G5_HTTP_BBS_URL', https_url(G5_BBS_DIR, false));
|
||||
define('G5_HTTPS_BBS_URL', https_url(G5_BBS_DIR, true));
|
||||
@@ -404,19 +446,25 @@ if ($_SESSION['ss_mb_id']) { // 로그인중이라면
|
||||
$write = array();
|
||||
$write_table = "";
|
||||
if ($bo_table) {
|
||||
$board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '$bo_table' ");
|
||||
$board = get_board_db($bo_table);
|
||||
if ($board['bo_table']) {
|
||||
set_cookie("ck_bo_table", $board['bo_table'], 86400 * 1);
|
||||
$gr_id = $board['gr_id'];
|
||||
$write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
|
||||
//$comment_table = $g5['write_prefix'] . $bo_table . $g5['comment_suffix']; // 코멘트 테이블 전체이름
|
||||
if (isset($wr_id) && $wr_id)
|
||||
$write = sql_fetch(" select * from $write_table where wr_id = '$wr_id' ");
|
||||
|
||||
if (isset($wr_id) && $wr_id) {
|
||||
$write = get_write($write_table, $wr_id);
|
||||
} else if (isset($wr_seo_title) && $wr_seo_title) {
|
||||
$write = get_content_by_field($write_table, 'bbs', 'wr_seo_title', generate_seo_title($wr_seo_title));
|
||||
if( isset($write['wr_id']) ){
|
||||
$wr_id = $write['wr_id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($gr_id) {
|
||||
$group = sql_fetch(" select * from {$g5['group_table']} where gr_id = '$gr_id' ");
|
||||
$group = get_group($gr_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -639,5 +687,7 @@ header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
|
||||
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
|
||||
header('Pragma: no-cache'); // HTTP/1.0
|
||||
|
||||
run_event('common_header');
|
||||
|
||||
$html_process = new html_process();
|
||||
?>
|
||||
?>
|
||||
|
||||
+21
-2
@@ -5,7 +5,7 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.3.3.3');
|
||||
define('G5_GNUBOARD_VER', '5.4.2');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
@@ -29,6 +29,16 @@ if (PHP_VERSION >= '5.1.0') {
|
||||
define('G5_DOMAIN', '');
|
||||
define('G5_HTTPS_DOMAIN', '');
|
||||
|
||||
// 디버깅 상수, 실제 서버운영시 false 로 설정해 주제요.
|
||||
define('G5_DEBUG', false);
|
||||
|
||||
// Set Databse table default engine is Databse default_storage_engine, If you want to use MyISAM or InnoDB, change to MyISAM or InnoDB.
|
||||
define('G5_DB_ENGINE', '');
|
||||
|
||||
// Set Databse table default Charset
|
||||
// utf8, utf8mb4 등 지정 가능 기본값은 utf8, 설치전에 utf8mb4 으로 수정시 모든 테이블에 이모지 입력이 가능합니다. utf8mb4 는 mysql 또는 mariadb 5.5 버전 이상을 요구합니다.
|
||||
define('G5_DB_CHARSET', 'utf8');
|
||||
|
||||
/*
|
||||
www.sir.kr 과 sir.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.kr 과 같이 입력하세요.
|
||||
이곳에 입력이 없다면 www 붙은 도메인과 그렇지 않은 도메인은 쿠키를 공유하지 않으므로 로그인이 풀릴 수 있습니다.
|
||||
@@ -60,6 +70,9 @@ define('G5_PHPMAILER_DIR', 'PHPMailer');
|
||||
define('G5_SESSION_DIR', 'session');
|
||||
define('G5_THEME_DIR', 'theme');
|
||||
|
||||
define('G5_GROUP_DIR', 'group');
|
||||
define('G5_CONTENT_DIR', 'content');
|
||||
|
||||
// URL 은 브라우저상에서의 경로 (도메인으로 부터의)
|
||||
if (G5_DOMAIN) {
|
||||
define('G5_URL', G5_DOMAIN);
|
||||
@@ -147,6 +160,9 @@ define('G5_HANGUL', 16); // 한글
|
||||
define('G5_SPACE', 32); // 공백
|
||||
define('G5_SPECIAL', 64); // 특수문자
|
||||
|
||||
// SEO TITLE 문단 길이
|
||||
define('G5_SEO_TITEL_WORD_CUT', 8); // SEO TITLE 문단 길이
|
||||
|
||||
// 퍼미션
|
||||
define('G5_DIR_PERMISSION', 0755); // 디렉토리 생성시 퍼미션
|
||||
define('G5_FILE_PERMISSION', 0644); // 파일 생성시 퍼미션
|
||||
@@ -166,7 +182,10 @@ define('G5_SMTP_PORT', '25');
|
||||
|
||||
// 암호화 함수 지정
|
||||
// 사이트 운영 중 설정을 변경하면 로그인이 안되는 등의 문제가 발생합니다.
|
||||
define('G5_STRING_ENCRYPT_FUNCTION', 'sql_password');
|
||||
// 5.4 버전 이전에는 sql_password 이 사용됨, 5.4 버전부터 기본이 create_hash 로 변경
|
||||
//define('G5_STRING_ENCRYPT_FUNCTION', 'sql_password');
|
||||
define('G5_STRING_ENCRYPT_FUNCTION', 'create_hash');
|
||||
define('G5_MYSQL_PASSWORD_LENGTH', 41); // mysql password length 41, old_password 의 경우에는 16
|
||||
|
||||
// SQL 에러를 표시할 것인지 지정
|
||||
// 에러를 표시하려면 TRUE 로 변경
|
||||
|
||||
+220
-218
@@ -2,7 +2,7 @@
|
||||
|
||||
/* 초기화 */
|
||||
html {overflow-y:scroll}
|
||||
body {margin:0;padding:0;font-size:0.75em;font-family:'Malgun Gothic', dotum, sans-serif;background:#e7e7e7}
|
||||
body {margin:0;padding:0;font-size:0.75em;font-family:'Malgun Gothic', dotum, sans-serif;background:#fff}
|
||||
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
|
||||
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
|
||||
@@ -11,7 +11,7 @@ ul, dl,dt,dd {margin:0;padding:0;list-style:none}
|
||||
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
label, input, button, select, img {vertical-align:middle;font-size:1em}
|
||||
input, button {margin:0;padding:0;font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em}
|
||||
input[type="submit"]{cursor:pointer}
|
||||
input[type="submit"] {cursor:pointer}
|
||||
button {cursor:pointer}
|
||||
|
||||
textarea, select {font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em}
|
||||
@@ -22,190 +22,185 @@ pre {overflow-x:scroll;font-size:1.1em}
|
||||
a {color:#000;text-decoration:none}
|
||||
|
||||
*, :after, :before {
|
||||
-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;
|
||||
}
|
||||
|
||||
input[type=text],input[type=password], textarea {
|
||||
-webkit-transition: all 0.30s ease-in-out;
|
||||
-moz-transition: all 0.30s ease-in-out;
|
||||
-ms-transition: all 0.30s ease-in-out;
|
||||
-o-transition: all 0.30s ease-in-out;
|
||||
outline: none;
|
||||
-webkit-transition:all 0.30s ease-in-out;
|
||||
-moz-transition:all 0.30s ease-in-out;
|
||||
-ms-transition:all 0.30s ease-in-out;
|
||||
-o-transition:all 0.30s ease-in-out;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
|
||||
-webkit-box-shadow: 0 0 5px #9ed4ff;
|
||||
-moz-box-shadow: 0 0 5px #9ed4ff;
|
||||
box-shadow: 0 0 5px #9ed4ff;
|
||||
border: 1px solid #558ab7 !important;
|
||||
|
||||
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
|
||||
-webkit-box-shadow:0 0 5px #9ed4ff;
|
||||
-moz-box-shadow:0 0 5px #9ed4ff;
|
||||
box-shadow:0 0 5px #9ed4ff;
|
||||
border:1px solid #558ab7 !important;
|
||||
}
|
||||
.placeholdersjs { color: #aaa !important; }
|
||||
|
||||
.placeholdersjs {color:#aaa !important}
|
||||
|
||||
/* 레이아웃 크기 지정 */
|
||||
#hd, #wrapper, #ft{min-width:1200px}
|
||||
#hd, #wrapper, #ft {min-width:1200px}
|
||||
|
||||
#hd_pop,
|
||||
#hd_wrapper,
|
||||
#tnb ul,
|
||||
#tnb .inner,
|
||||
|
||||
#gnb .gnb_wrap,
|
||||
#container_wr,
|
||||
#ft_wr{width:1200px}
|
||||
#ft_wr {width:1200px}
|
||||
|
||||
/* 팝업레이어 */
|
||||
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
|
||||
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff;}
|
||||
.hd_pops img{max-width:100%}
|
||||
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
|
||||
.hd_pops img {max-width:100%}
|
||||
.hd_pops_con {}
|
||||
.hd_pops_footer {padding: 0;background:#000;color:#fff;text-align:left;position:relative;}
|
||||
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
|
||||
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.hd_pops_footer button {padding: 10px;border:0;color:#fff}
|
||||
.hd_pops_footer .hd_pops_reject{background:#000;text-align:left}
|
||||
.hd_pops_footer .hd_pops_close{background:#393939;position:absolute;top:0;right:0}
|
||||
.hd_pops_footer button {padding:10px;border:0;color:#fff}
|
||||
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
|
||||
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
|
||||
|
||||
/* 상단 레이아웃 */
|
||||
#hd {border-top:2px solid #253dbe}
|
||||
#hd {background:#212020}
|
||||
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#hd_wrapper {position:relative;margin:0 auto;padding:10px 0;height:115px;zoom:1}
|
||||
#tnb {border-bottom:1px solid #383838;margin:0 auto}
|
||||
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#tnb .inner {margin:0 auto}
|
||||
|
||||
#hd_wrapper {position:relative;margin:0 auto;height:140px;zoom:1}
|
||||
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
#logo {float:left;padding:30px 0 0}
|
||||
|
||||
.hd_sch_wr{position:absolute;top:25px;left:50%;width:430px;margin-left:-215px;}
|
||||
.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:2px solid #556ada;background:#fff;border-radius:5px;overflow:hidden}
|
||||
#hd_sch #sch_stx {padding-left:10px;height:40px;width:376px;border:0;border-right:0;float:left;font-size:1.25em}
|
||||
#hd_sch #sch_submit {height:40px;border:0;background:#fff;color:#253dbe;width:50px;float:left;cursor:pointer;font-size:18px}
|
||||
#hd_sch {border-radius:30px;overflow:hidden}
|
||||
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
|
||||
#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}
|
||||
|
||||
#sbn_side{position:absolute;top:20px;right:0}
|
||||
|
||||
#tnb {border-bottom:1px solid #ddd;background:#fff}
|
||||
#tnb h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#tnb ul {margin:0 auto;zoom:1}
|
||||
#tnb ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#tnb li {float:right;border-left:1px solid #ddd;margin-bottom:-1px;font-size:0.92em}
|
||||
#tnb a {display:inline-block;padding:0 10px;color:#646464;line-height:35px}
|
||||
#tnb a:focus, #tnb a:hover {color:#253dbe;background:#fafafa}
|
||||
#tnb .tnb_admin a{color:#ff0000;}
|
||||
#tnb .tnb_left{float:left}
|
||||
#tnb .tnb_left a{padding:0 14px}
|
||||
#tnb .tnb_cart{border-right:1px solid #ddd;}
|
||||
#tnb .tnb_community{border-right:1px solid #ddd}
|
||||
#tnb .tnb_community i{font-size:15px}
|
||||
#tnb .tnb_community{background:#e7e7e7;font-weight:bold;}
|
||||
#tnb .tnb_community:focus, #tnb .tnb_community:hover {color:#333;border-bottom:0}
|
||||
#tnb .tnb_community a{color:#253dbe;border-bottom:1px solid #e7e7e7}
|
||||
|
||||
#hd_qnb{float:right;margin-top:20px}
|
||||
#hd_qnb {float:right;text-align:right}
|
||||
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#hd_qnb li{float:left;font-size:1.083em;line-height:15px;position:relative;text-align:center;margin:0 10px}
|
||||
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
|
||||
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
|
||||
#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
|
||||
#hd_qnb li a{display:block}
|
||||
#hd_qnb li i{display:inline-block;width:40px;line-height:40px;border-radius:25px;background:#fff;text-align:center;margin:0;color:#fff}
|
||||
#hd_qnb .visit .visit-num{display:inline-block;line-height:18px;padding:0 5px;border-radius:10px;background:#f04e00;color:#fff;font-size:10px;position:absolute;top:0;right:0}
|
||||
#hd_qnb li .fa-question{background:#e83a5f;font-size:20px}
|
||||
#hd_qnb li .fa-question:hover{background:#e41b45}
|
||||
#hd_qnb li .fa-comments{background:#82c13f;font-size:16px}
|
||||
#hd_qnb li .fa-comments:hover{background:#5aa708}
|
||||
#hd_qnb li .fa-users{background:#f0ba00;font-size:15px}
|
||||
#hd_qnb li .fa-users:hover{background:#f06f00}
|
||||
#hd_qnb li .fa-history{background:#8522c4;font-size:15px}
|
||||
#hd_qnb li .fa-history:hover{background:#6700a9}
|
||||
#hd_qnb li a {display:inline-block;color:#919191}
|
||||
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}
|
||||
|
||||
|
||||
.hd_login {position:absolute;right:0;top:60px}
|
||||
.hd_login li {float:left;margin:0 5px;border-left:1px solid #616161;padding-left:10px;line-height:13px}
|
||||
.hd_login li:first-child {border-left:0}
|
||||
.hd_login a {color:#fff}
|
||||
|
||||
|
||||
/* 메인메뉴 */
|
||||
#gnb{position:relative}
|
||||
#gnb h2{position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#gnb .gnb_wrap{margin:0 auto;position:relative}
|
||||
#gnb #gnb_1dul {font-size:1.083em;padding: 0;background:#253dbe;zoom:1;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.3);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.3);
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.3)}
|
||||
#gnb {position:relative;background:#fff}
|
||||
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#gnb .gnb_wrap {margin:0 auto;position:relative}
|
||||
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
|
||||
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1}
|
||||
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#gnb .gnb_1dli{float:left;line-height:50px;padding:0 15px;position:relative;}
|
||||
#gnb .gnb_1dli:hover{background:#1a30a7;
|
||||
-webkit-transition: background-color 2s ease-out;
|
||||
-moz-transition: background-color 0.3s ease-out;
|
||||
-o-transition: background-color 0.3s ease-out;
|
||||
transition: background-color 0.3s ease-out;}
|
||||
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
|
||||
#gnb .gnb_1dli:hover > a {color:#3a8afd;
|
||||
-webkit-transition:background-color 2s ease-out;
|
||||
-moz-transition:background-color 0.3s ease-out;
|
||||
-o-transition:background-color 0.3s ease-out;
|
||||
transition:background-color 0.3s ease-out}
|
||||
|
||||
.gnb_1dli .bg{display:inline-block;width:10px;height:10px;overflow:hidden;background:url(../img/gnb_bg2.gif) no-repeat 50% 50%;text-indent:-999px}
|
||||
.gnb_1da {display:inline-block;font-weight:bold;color:#fff;text-decoration:none;}
|
||||
.gnb_2dli{border-top:1px solid #253dbe}
|
||||
.gnb_2dli:first-child{border:0}
|
||||
.gnb_2dul {display:none;position:absolute;top:50px;min-width:140px;background:#1a30a7;padding: 0;
|
||||
-webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.1);
|
||||
-moz-box-shadow: 0 1px 5px rgba(0,0,0,0.1);
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.1);}
|
||||
.gnb_2da {display:block;padding:0 10px;line-height:40px;color:#c3cbf7;text-align:left;text-decoration:none}
|
||||
a.gnb_2da:hover{background:#0e2080;
|
||||
-moz-transition: all 0.3s ease-out;
|
||||
-o-transition: all 0.3s ease-out;
|
||||
transition: all 0.3s ease-out;}
|
||||
.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('./images/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
|
||||
.gnb_1da {display:block;font-weight:bold;padding:0 15px;color:#080808;text-decoration:none}
|
||||
.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px}
|
||||
.gnb_2dli:first-child {border:0}
|
||||
.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px}
|
||||
.gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;border-top:0;padding:0;
|
||||
-webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
|
||||
-moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
|
||||
box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)}
|
||||
.gnb_2da {display:block;padding:0 10px;line-height:40px;background:#fff;color:#080808;text-align:left;text-decoration:none}
|
||||
a.gnb_2da:hover {color:#3a8afd;background:#f7f7f8;
|
||||
-moz-transition:all 0.3s ease-out;
|
||||
-o-transition:all 0.3s ease-out;
|
||||
transition:all 0.3s ease-out}
|
||||
|
||||
.gnb_1dli_air .gnb_2da {}
|
||||
.gnb_1dli_on .gnb_2da {}
|
||||
.gnb_2da:focus, .gnb_2da:hover {color:#fff}
|
||||
.gnb_1dli_over .gnb_2dul {display:block;left:0}
|
||||
.gnb_1dli_over2 .gnb_2dul {display:block;right:0}
|
||||
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2em;color:#fff}
|
||||
.gnb_wrap .gnb_empty a{color:#fff;text-decoration:underline}
|
||||
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a{color:#555}
|
||||
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:#080808}
|
||||
.gnb_wrap .gnb_empty a {color:#3a8afd;text-decoration:underline}
|
||||
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a {color:#555}
|
||||
|
||||
#gnb .gnb_menu_btn{background:#4158d1;color:#fff;width:50px;height:50px;border:0;vertical-align:top;font-size:18px}
|
||||
#gnb .gnb_close_btn{background:#4158d1;color:#fff;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:-50px;left:0}
|
||||
#gnb .gnb_mnal{padding:0}
|
||||
#gnb .gnb_menu_btn {background:#4158d1;color:#fff;width:50px;height:55px;border:0;vertical-align:top;font-size:18px}
|
||||
#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0}
|
||||
#gnb .gnb_mnal {float:right;padding:0}
|
||||
|
||||
#gnb_all{display:none;position:absolute;width:100%;z-index:99;}
|
||||
#gnb_all {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
|
||||
-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
|
||||
box-shadow:0 2px 5px rgba(0,0,0,0.2)}
|
||||
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef}
|
||||
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#gnb_all .gnb_al_ul{background:#fff;border:1px solid #4158d1;padding:20px;
|
||||
-webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.2);
|
||||
-moz-box-shadow: 0 2px 5px rgba(0,0,0,0.2);
|
||||
box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
#gnb_all .gnb_al_li{background:#fff;float:left;min-width:20%;padding:5px }
|
||||
#gnb_all .gnb_al_li .gnb_al_a{font-size:1.083em;padding:10px;display:block;position:relative;margin-bottom:10px;background: #eff1f9;border-bottom: 1px solid #dee2f1;font-weight: bold;color:#243071}
|
||||
#gnb_all .gnb_al_li li {padding-left:10px;line-height:2em}
|
||||
#gnb_all .gnb_al_li li i{color:#9ca6cc}
|
||||
#gnb_all .gnb_al_li li a{color:#555}
|
||||
#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0}
|
||||
#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
|
||||
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd}
|
||||
#gnb_all .gnb_al_li li {line-height:2em}
|
||||
#gnb_all .gnb_al_li li a {color:#555}
|
||||
#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}
|
||||
|
||||
/* 중간 레이아웃 */
|
||||
#wrapper{}
|
||||
#wrapper {}
|
||||
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_wr {z-index:5;margin:0 auto;height:100%;zoom:1}
|
||||
#aside {float:right;width:305px;padding:0;background: #e7ebf3;height: 100%;border: 1px solid #adbfd2;margin:20px 0 20px 20px}
|
||||
#container_wr {margin:0 auto;height:100%;zoom:1}
|
||||
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
|
||||
|
||||
#container {z-index:4;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:875px;zoom:1}
|
||||
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold;}
|
||||
#container_title span{margin:0 auto 10px;display:block;line-height:30px;}
|
||||
/*.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}*/
|
||||
.lt_wr{width:49%}
|
||||
.lt_wr:nth-child(2n+1){clear:both}
|
||||
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
|
||||
#container_title span {margin:0 auto 10px;display:block;line-height:30px}
|
||||
|
||||
.lt_wr {width:32%}
|
||||
.lt_wr:nth-child(3n+1) {clear:both}
|
||||
.latest_wr {margin-bottom:20px}
|
||||
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.latest_top_wr {margin:0 -10px 20px}
|
||||
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
/* 하단 레이아웃 */
|
||||
#ft {border-top:1px solid #d5d5d5;background:#fff;padding-bottom:30px;margin:0 auto;text-align:center}
|
||||
#ft {background:#212020;margin:0 auto;text-align:center}
|
||||
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ft_wr {margin:0 auto;position:relative;}
|
||||
#ft_link{padding:15px 0;border-bottom:1px solid #eee}
|
||||
#ft_link a{display:inline-block;padding:0 8px;line-height:1.083em;font-weight:bold}
|
||||
#ft_catch{margin:20px 0 10px}
|
||||
#ft_copy{color:#555;font-size:0.92em}
|
||||
#ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left}
|
||||
#ft_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#ft_wr .ft_cnt {width:25%;float:left;padding:0 20px}
|
||||
|
||||
#ft_link {text-align:left}
|
||||
#ft_link a {display:block;color:#fff;line-height:2em;font-weight:bold}
|
||||
#ft_company h2 {font-size:1.2em;margin-bottom:20px}
|
||||
#ft_company {font-weight:normal;color:#e3e3e3;line-height:2em}
|
||||
#ft_catch {margin:20px 0 10px}
|
||||
#ft_copy {text-align:center;width:1200px;margin:0 auto;padding:20px 0;color:#5b5b5b;font-size:0.92em;border-top:1px solid #383838}
|
||||
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)}
|
||||
#top_btn:hover{border-color:#3059c7;background:#3059c7;color:#fff}
|
||||
#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff}
|
||||
|
||||
/* 게시물 선택복사 선택이동 */
|
||||
#copymove {}
|
||||
#copymove .win_desc {text-align:center;display:block}
|
||||
#copymove .tbl_wrap{margin:20px }
|
||||
#copymove .win_btn{padding:0 20px 20px}
|
||||
#copymove .win_desc {text-align:center;display:block}
|
||||
#copymove .tbl_wrap {margin:20px}
|
||||
#copymove .win_btn {padding:0 20px 20px}
|
||||
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
|
||||
.copymove_currentbg {background:#f4f4f4}
|
||||
|
||||
/* 화면낭독기 사용자용 */
|
||||
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
|
||||
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
|
||||
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
|
||||
|
||||
/* 본문 바로가기 */
|
||||
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
|
||||
@@ -215,89 +210,89 @@ box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
|
||||
/* 캡챠 자동등록(입력)방지 기본 -pc */
|
||||
#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 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_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}
|
||||
|
||||
/* 캡챠 자동등록(입력)방지 기본 - mobile */
|
||||
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
|
||||
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block;}
|
||||
#captcha.m_captcha #captcha_reload {position:static;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}
|
||||
#captcha.m_captcha #captcha_reload span{display:none;}
|
||||
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
|
||||
#captcha.m_captcha #captcha_reload {position:static;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}
|
||||
#captcha.m_captcha #captcha_reload span {display:none}
|
||||
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
|
||||
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}
|
||||
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}
|
||||
|
||||
/* ckeditor 단축키 */
|
||||
.cke_sc {margin:0 0 5px;text-align:right}
|
||||
.btn_cke_sc{display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
|
||||
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
|
||||
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
|
||||
.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1}
|
||||
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
|
||||
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
|
||||
.cke_sc_def dt {width:20%;font-weight:bold}
|
||||
.cke_sc_def dd {width:30%}
|
||||
|
||||
/* ckeditor 태그 기본값 */
|
||||
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
|
||||
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
|
||||
#bo_v_con li {display:list-item}
|
||||
|
||||
/* 버튼 */
|
||||
a.btn,.btn{line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;
|
||||
-webkit-transition: background-color 0.3s ease-out;
|
||||
-moz-transition: background-color 0.3s ease-out;
|
||||
-o-transition: background-color 0.3s ease-out;
|
||||
transition: background-color 0.3s ease-out;}
|
||||
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
|
||||
-webkit-transition:background-color 0.3s ease-out;
|
||||
-moz-transition:background-color 0.3s ease-out;
|
||||
-o-transition:background-color 0.3s ease-out;
|
||||
transition:background-color 0.3s ease-out}
|
||||
|
||||
a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
|
||||
a.btn01:focus, a.btn01:hover {text-decoration:none}
|
||||
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
|
||||
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle;}
|
||||
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
a.btn02:focus, .btn02:hover {text-decoration:none}
|
||||
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}
|
||||
|
||||
.btn_confirm {text-align:right} /* 서식단계 진행 */
|
||||
|
||||
.btn_submit {border:0;background:#253dbe;color:#fff;cursor:pointer;border:0}
|
||||
.btn_submit:hover {background:#0025eb}
|
||||
.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
|
||||
.btn_submit:hover {background:#2375eb}
|
||||
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
|
||||
a.btn_close {text-align:center;line-height:50px}
|
||||
|
||||
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle;}
|
||||
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.btn_cancel:hover {background:#aaa;
|
||||
}
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;height:40px;border:0;background:#3c3c3c;border-radius:5px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
.btn_cancel:hover {background:#aaa}
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
a.btn_frmline {}
|
||||
button.btn_frmline {font-size:1em}
|
||||
|
||||
/* 게시판용 버튼 */
|
||||
a.btn_b01,.btn_b01 {display:inline-block;background:#4c4f6f;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.btn_b01:hover, .btn_b01:hover {background:#54598c}
|
||||
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle;}
|
||||
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
|
||||
.btn_b01:hover, .btn_b01:hover {color:#000}
|
||||
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
|
||||
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
|
||||
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
|
||||
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
|
||||
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
|
||||
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
|
||||
a.btn_admin,.btn_admin {display:inline-block;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
|
||||
.btn_admin:hover, a.btn_admin:hover {background:#ff3746}
|
||||
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
|
||||
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}
|
||||
|
||||
|
||||
/*컬러*/
|
||||
.color_1 {background:#169dd6}
|
||||
.color_2 {background:#14d53d}
|
||||
.color_3 {background:#3814ff}
|
||||
.color_4 {background:#7520c5}
|
||||
|
||||
/* 기본테이블 */
|
||||
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing: 0 5px;border:1px solid #ccc;}
|
||||
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
|
||||
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
|
||||
.tbl_head01 {margin:0 0 10px}
|
||||
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
|
||||
.tbl_head01 thead th {padding:10px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ddd;background:#fafafa;height:40px}
|
||||
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
|
||||
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
|
||||
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
|
||||
.tbl_head01 td {color:#666;background:#fff;padding:10px 5px;border-top:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
|
||||
.tbl_head01 tbody tr:hover td{background:#fafafa;}
|
||||
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
|
||||
.tbl_head01 tbody tr:hover td {background:#fafafa}
|
||||
.tbl_head01 a:hover {text-decoration:underline}
|
||||
|
||||
.tbl_head02 {margin:0 0 10px}
|
||||
@@ -315,40 +310,46 @@ a.btn_admin,.btn_admin {display:inline-block;background:#d13f4a;color:#fff;text-
|
||||
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
|
||||
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
|
||||
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
|
||||
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
|
||||
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
}
|
||||
.tbl_frm01 textarea {padding:2px 2px 3px}
|
||||
.frm_input {height:40px;}
|
||||
.frm_input {height:40px}
|
||||
|
||||
.full_input{width:100%}
|
||||
.half_input{width:49.5%}
|
||||
.full_input {width:100%}
|
||||
.half_input {width:49.5%}
|
||||
.twopart_input {width:385px;margin-right:10px}
|
||||
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
|
||||
.tbl_frm01 a {text-decoration:none}
|
||||
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
|
||||
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
|
||||
|
||||
/*기본 리스트*/
|
||||
.list_01 li{border:1px solid #dbdbdb;background:#fff;border-radius:3px;margin:3px 0;padding:10px 15px;list-style:none;position:relative;}
|
||||
.list_01 ul {border-top:1px solid #ececec}
|
||||
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
|
||||
.list_01 li:nth-child(odd) {background:#f6f6f6}
|
||||
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.list_01 li:hover{background:#f9f9f9}
|
||||
.list_01 li.empty_li{text-align:center;padding:20px 0;color:#666}
|
||||
.list_01 li:hover {background:#f9f9f9}
|
||||
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}
|
||||
|
||||
/*폼 리스트*/
|
||||
.form_01 h2{margin:0 0 10px;font-size:1.167em}
|
||||
.form_01 li{margin:10px 0}
|
||||
.form_01 h2 {font-size:1.167em}
|
||||
.form_01 li {margin-bottom:10px}
|
||||
.form_01 ul:after,
|
||||
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.form_01 li .right_input{float:right}
|
||||
.form_01 textarea{height:100px;width:100%}
|
||||
.form_01 .frm_label{display:inline-block;width:130px}
|
||||
.form_01 .left_input {float:left}
|
||||
.form_01 .margin_input {margin-right:1%}
|
||||
.form_01 textarea {height:100px;width:100%}
|
||||
.form_01 .frm_label {display:inline-block;width:130px}
|
||||
|
||||
/* 자료 없는 목록 */
|
||||
.empty_table {padding:50px 0 !important;text-align:center}
|
||||
.empty_list {padding:20px 0 !important;color:#666;text-align:center}
|
||||
|
||||
/* 필수입력 */
|
||||
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important;}
|
||||
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}
|
||||
|
||||
/* 테이블 항목별 정의 */
|
||||
.td_board {width:80px;text-align:center}
|
||||
@@ -371,29 +372,34 @@ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
.txt_rdy {color:#8abc2a}
|
||||
|
||||
/* 새창 기본 스타일 */
|
||||
.new_win {position:relative;}
|
||||
.new_win {position:relative}
|
||||
.new_win .tbl_wrap {margin:0 20px}
|
||||
.new_win #win_title {font-size:1.25em;height:50px;line-height:30px;padding:10px 20px;background:#333;color:#fff;}
|
||||
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
|
||||
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
|
||||
box-shadow:0 1px 10px rgba(0,0,0,.1)}
|
||||
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
|
||||
.new_win .win_ul {border-right:1px solid #dfe6e7;}
|
||||
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
|
||||
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .win_ul li{float:left;background:#fff;width:33.333%;text-align:center;border:1px solid #ccc;margin-left:-1px}
|
||||
.new_win .win_ul li a{display:block;padding:10px 0}
|
||||
.new_win .win_ul .selected{background:#fff;border-color:#253dbe;position:relative;z-index:5}
|
||||
.new_win .win_ul .selected a{color:#253dbe;font-weight:bold}
|
||||
.new_win .win_desc {margin:5px 0;font-size:0.92em;color:#3598db;}
|
||||
.new_win .frm_info{font-size:0.92em;color:#3598db}
|
||||
.new_win .win_total{text-align:right;margin:10px 0}
|
||||
.new_win .win_total span{display:inline-block;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;}
|
||||
.new_win .new_win_con{margin:20px;}
|
||||
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
|
||||
.new_win .win_ul li:first-child {margin-left:0}
|
||||
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
|
||||
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
|
||||
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
|
||||
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
|
||||
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
|
||||
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
|
||||
.new_win .frm_info {font-size:0.92em;color:#919191}
|
||||
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
|
||||
.new_win .new_win_con {margin:20px 0;padding:20px}
|
||||
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .new_win_con2 {margin:20px 0}
|
||||
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .win_btn{text-align:right}
|
||||
.new_win .btn_close {position:absolute;top:0;right:0;height:50px;width:50px;background:url(../img/close_btn.gif) no-repeat 50% 50%;border:0;text-indent:-999px;overflow:hidden;cursor:pointer}
|
||||
.new_win .btn_submit {padding:0 20px;height:40px;font-weight:bold;font-size:1.083em;float:right}
|
||||
.new_win .win_btn {text-align:center}
|
||||
.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer}
|
||||
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
|
||||
|
||||
/* 검색결과 색상 */
|
||||
.sch_word {color:#00c4ac}
|
||||
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}
|
||||
|
||||
/* 자바스크립트 alert 대안 */
|
||||
#validation_check {margin:100px auto;width:500px}
|
||||
@@ -403,41 +409,37 @@ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
/* 사이드뷰 */
|
||||
.sv_wrap {position:relative;font-weight:normal}
|
||||
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
|
||||
-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);
|
||||
-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:hover{background:#000;color:#fff}
|
||||
.sv_member{color:#333}
|
||||
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
|
||||
-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:hover {background:#000;color:#fff}
|
||||
.sv_member {color:#333}
|
||||
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
|
||||
.sv_nojs .sv {display:block}
|
||||
|
||||
/* 페이징 */
|
||||
.pg_wrap {clear:both;margin:30px 0 ;text-align:center}
|
||||
.pg_wrap {clear:both;float:left;display:inline-block}
|
||||
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.pg {}
|
||||
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#f3f3f3;border:1px solid #bbbcc3}
|
||||
.pg {text-align:center}
|
||||
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
|
||||
.pg a:focus, .pg a:hover {text-decoration:none}
|
||||
.pg_page {color:#555;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px;}
|
||||
.pg_page:hover{background-color:#ddd}
|
||||
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb;}
|
||||
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb}
|
||||
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb}
|
||||
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb}
|
||||
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover{background-color:#fafafa}
|
||||
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
|
||||
.pg_page:hover {background-color:#fafafa}
|
||||
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
|
||||
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
|
||||
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
|
||||
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
|
||||
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}
|
||||
|
||||
.pg_current {display:inline-block;background:#4c4f6f;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px;
|
||||
-webkit-box-shadow: inset 1px 1px 2px #222542;
|
||||
-moz-box-shadow: inset 1px 1px 2px #222542;
|
||||
box-shadow: inset 1px 1px 2px #222542;
|
||||
}
|
||||
.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}
|
||||
|
||||
/* cheditor 이슈 */
|
||||
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
-webkit-box-sizing:content-box;
|
||||
-moz-box-sizing:content-box;
|
||||
box-sizing:content-box;
|
||||
}
|
||||
|
||||
/* Mobile화면으로 */
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user