Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
594cbdee4d | ||
|
|
cb0b09ed4f | ||
|
|
ca7ebef532 | ||
|
|
06fd7f6b6e | ||
|
|
7eae9f75a5 | ||
|
|
8f3ddfdab9 | ||
|
|
23429d1aa7 | ||
|
|
522fb7cdde | ||
|
|
93358c6b27 | ||
|
|
747646231f | ||
|
|
001feeceab | ||
|
|
90173d0367 | ||
|
|
78028c815b | ||
|
|
67194f56d0 | ||
|
|
5916814af3 | ||
|
|
64812ca5ed | ||
|
|
177baf3f58 | ||
|
|
4f93414966 | ||
|
|
6ef7a8d72e | ||
|
|
2d56077a28 | ||
|
|
bb29ed3f63 | ||
|
|
4f6a8ff8af | ||
|
|
dc5512cb1b | ||
|
|
049cabb937 | ||
|
|
2aae238d70 | ||
|
|
8d3a5958c6 | ||
|
|
6f1c3bee2c | ||
|
|
5094fafdf6 | ||
|
|
3eac467259 | ||
|
|
326d7b9865 | ||
|
|
9e2204fdac | ||
|
|
97483e7fdb | ||
|
|
06459ceeeb | ||
|
|
ffb3cb7fd8 | ||
|
|
365b5e53a9 | ||
|
|
75b8241e91 | ||
|
|
eff027939c | ||
|
|
99a02d692f | ||
|
|
d250c772af | ||
|
|
fab5f673d9 | ||
|
|
e3f91c8a81 | ||
|
|
1140c55cec | ||
|
|
a1247d5da9 | ||
|
|
c85d6cf414 | ||
|
|
f2a6e758f3 | ||
|
|
b64e3179cd | ||
|
|
dd51045f6d | ||
|
|
15ee453398 | ||
|
|
2ca86e3649 | ||
|
|
7e33fe21cb | ||
|
|
abd2d60522 | ||
|
|
a31e155c1e | ||
|
|
b8a6be9662 | ||
|
|
022322d678 | ||
|
|
1d161bb26e | ||
|
|
3e123debdf | ||
|
|
95d187eeee | ||
|
|
9567478b7d | ||
|
|
4566ef6935 | ||
|
|
e48f823e50 | ||
|
|
75de0e3e60 | ||
|
|
0408bae838 | ||
|
|
35268a413f | ||
|
|
89ad616008 | ||
|
|
ad443f679c | ||
|
|
aaf68eb6cb | ||
|
|
2a94c17b58 | ||
|
|
c9924a711f | ||
|
|
d04f5f54d5 | ||
|
|
dc005d6441 | ||
|
|
ecc5c2e7e9 | ||
|
|
d37619aa95 | ||
|
|
0ae22667a0 | ||
|
|
dff2c45acc | ||
|
|
56da0d90e3 | ||
|
|
88dc122183 | ||
|
|
7dba46f650 | ||
|
|
604531906a | ||
|
|
25bce8592d | ||
|
|
520b99c0a5 | ||
|
|
22bd15b6ef | ||
|
|
45582cb859 | ||
|
|
723e485755 | ||
|
|
215d631ed9 | ||
|
|
5ab4f9536a | ||
|
|
ca07c830b3 | ||
|
|
d337fc41c0 | ||
|
|
f1a3f87d68 | ||
|
|
1626733833 | ||
|
|
a64ab417b1 | ||
|
|
b8d788c1b4 | ||
|
|
761722881a | ||
|
|
05fb6f7a68 | ||
|
|
c427c25ee4 | ||
|
|
53b5e8b5ff | ||
|
|
a72b34adf6 | ||
|
|
b6ffbcf901 | ||
|
|
76b691c719 | ||
|
|
a402501c6f | ||
|
|
1afb5a76ca | ||
|
|
260de461bc | ||
|
|
f0035aeb98 | ||
|
|
320314262d | ||
|
|
b3b0762d30 | ||
|
|
c865379f13 | ||
|
|
218d198716 | ||
|
|
980ca5b11e | ||
|
|
0f91e6bb09 | ||
|
|
bf23913cff | ||
|
|
b03b0a1b1a | ||
|
|
23bf0d6a17 | ||
|
|
1824cf0f27 | ||
|
|
4ab7d7a402 | ||
|
|
4cf3013de6 | ||
|
|
4ea62e4036 | ||
|
|
726f456595 | ||
|
|
43310e615b | ||
|
|
570f0cfb69 | ||
|
|
68538d988e | ||
|
|
d6faf2cc72 | ||
|
|
e0f330912c | ||
|
|
f25cf1a69b | ||
|
|
82a48854a7 | ||
|
|
376025ba31 | ||
|
|
2d51200270 | ||
|
|
1b37f8b4e7 | ||
|
|
8a5b733d92 | ||
|
|
d66b56484f | ||
|
|
cb7fda687c | ||
|
|
2b73333273 | ||
|
|
b5b4c67bcd | ||
|
|
bb896d81aa | ||
|
|
ae2bab45aa | ||
|
|
b7adf0a158 | ||
|
|
dac658451e | ||
|
|
a20dc27a5a | ||
|
|
00a98ea6ea | ||
|
|
63907105f3 | ||
|
|
4447579b20 | ||
|
|
fe63e1c4ad | ||
|
|
e285dadef5 | ||
|
|
3b081723ba | ||
|
|
d400071b87 | ||
|
|
32c93ff469 | ||
|
|
d52c2fb9fc | ||
|
|
6d8d45410a | ||
|
|
624a944262 | ||
|
|
da0ade0de1 | ||
|
|
f4da43acfc | ||
|
|
123bea4607 | ||
|
|
08bbdb090a | ||
|
|
05a474714b | ||
|
|
dd51aeb47f | ||
|
|
597e4f711e | ||
|
|
116bb30468 | ||
|
|
12f0e53d41 | ||
|
|
5712c7540b | ||
|
|
aede8990fb | ||
|
|
53e1ecb15f | ||
|
|
f3e8404acf | ||
|
|
0468981740 | ||
|
|
d9b983678a | ||
|
|
d5406effd7 | ||
|
|
70282230e7 | ||
|
|
adac801b42 | ||
|
|
cd37bcde96 | ||
|
|
a2eb5044db | ||
|
|
4e3926bbf8 | ||
|
|
1d2ab850fd | ||
|
|
be3687cef3 | ||
|
|
453fce1649 | ||
|
|
cf3ec61f07 | ||
|
|
8a63521550 | ||
|
|
a02634c386 | ||
|
|
0352b2d59d | ||
|
|
4fc41d05ae | ||
|
|
6dbafdaadb | ||
|
|
f145b12932 | ||
|
|
ab3f7a3c76 | ||
|
|
47a4a10f89 | ||
|
|
97cb50ab8b | ||
|
|
7e5c171a6d | ||
|
|
816247ab53 | ||
|
|
0432bd677b | ||
|
|
0954b3ce74 |
+1
-38
@@ -355,18 +355,6 @@ function get_admin_token()
|
||||
return $token;
|
||||
}
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
function get_admin_captcha_by($type='get'){
|
||||
|
||||
$captcha_name = 'ss_admin_use_captcha';
|
||||
|
||||
if($type === 'remove'){
|
||||
set_session($captcha_name, '');
|
||||
}
|
||||
|
||||
return get_session($captcha_name);
|
||||
}
|
||||
|
||||
//input value 에서 xss 공격 filter 역할을 함 ( 반드시 input value='' 타입에만 사용할것 )
|
||||
function get_sanitize_input($s, $is_html=false){
|
||||
|
||||
@@ -426,25 +414,6 @@ function admin_referer_check($return=false)
|
||||
}
|
||||
}
|
||||
|
||||
function admin_check_xss_params($params){
|
||||
|
||||
if( ! $params ) return;
|
||||
|
||||
foreach( $params as $key=>$value ){
|
||||
|
||||
if ( empty($value) ) continue;
|
||||
|
||||
if( is_array($value) ){
|
||||
admin_check_xss_params($params);
|
||||
} else if ( preg_match('/<\s?[^\>]*\/?\s?>/i', $value) && preg_match('/script.*?\/script/ius', $value) ){
|
||||
alert('요청 쿼리에 잘못된 스크립트문장이 있습니다.\\nXSS 공격일수도 있습니다.');
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// 접근 권한 검사
|
||||
if (!$member['mb_id'])
|
||||
{
|
||||
@@ -467,7 +436,7 @@ else if ($is_admin != 'super')
|
||||
}
|
||||
|
||||
// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
|
||||
$admin_key = md5($member['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']);
|
||||
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
|
||||
if (get_session('ss_mb_key') !== $admin_key) {
|
||||
|
||||
session_destroy();
|
||||
@@ -508,12 +477,6 @@ if (isset($stx)) $arr_query[] = 'stx='.$stx;
|
||||
if (isset($page)) $arr_query[] = 'page='.$page;
|
||||
$qstr = implode("&", $arr_query);
|
||||
|
||||
if ( isset($_REQUEST) && $_REQUEST ){
|
||||
if( admin_referer_check(true) ){
|
||||
admin_check_xss_params($_REQUEST);
|
||||
}
|
||||
}
|
||||
|
||||
// 관리자에서는 추가 스크립트는 사용하지 않는다.
|
||||
//$config['cf_add_script'] = '';
|
||||
?>
|
||||
@@ -19,6 +19,5 @@ if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') &&
|
||||
$menu['menu100'][] = array('100520', '접속로그 변환', G5_ADMIN_URL.'/browscap_convert.php', 'cf_visit_cnvrt');
|
||||
}
|
||||
|
||||
$menu['menu100'][] = array('100410', 'DB업그레이드', G5_ADMIN_URL.'/dbupgrade.php', 'db_upgrade');
|
||||
$menu['menu100'][] = array('100400', '부가서비스', G5_ADMIN_URL.'/service.php', 'cf_service');
|
||||
?>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if( isset($_POST['admin_use_captcha']) ){
|
||||
set_session('ss_admin_use_captcha', true);
|
||||
}
|
||||
?>
|
||||
+1
-67
@@ -850,22 +850,6 @@ $pg_anchor = '<ul class="anchor">
|
||||
<label for="chk_all_include_tail">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_content_head">상단 내용</label></th>
|
||||
<td>
|
||||
@@ -1261,7 +1245,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 G5_BBS_URL ?>/board.php?bo_table=<?php echo $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">
|
||||
@@ -1326,52 +1310,6 @@ function set_point(f) {
|
||||
}
|
||||
}
|
||||
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var bo_include_head = "<?php echo $board['bo_include_head']; ?>";
|
||||
var bo_include_tail = "<?php echo $board['bo_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#bo_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#bo_include_tail").val());
|
||||
|
||||
if(bo_include_head !== head || bo_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#bo_include_head, #bo_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function fboardform_submit(f)
|
||||
{
|
||||
<?php echo get_editor_js("bo_content_head"); ?>
|
||||
@@ -1391,10 +1329,6 @@ function fboardform_submit(f)
|
||||
return false;
|
||||
}
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo isset($captcha_js) ? $captcha_js : ''; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
+12
-27
@@ -14,41 +14,32 @@ if (!$bo_table) { alert('게시판 TABLE명은 반드시 입력하세요.'); }
|
||||
if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); }
|
||||
if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); }
|
||||
|
||||
$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));
|
||||
$_POST['bo_include_head'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_head'], 0, 255));
|
||||
$_POST['bo_include_tail'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_tail'], 0, 255));
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if ($board && ($board['bo_include_head'] !== $bo_include_head || $board['bo_include_tail'] !== $bo_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if ($file = $bo_include_head) {
|
||||
if ($file = $_POST['bo_include_head']) {
|
||||
$file_ext = pathinfo($file, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $file) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
}
|
||||
$_POST['bo_include_head'] = $file;
|
||||
}
|
||||
|
||||
if ($file = $bo_include_tail) {
|
||||
if ($file = $_POST['bo_include_tail']) {
|
||||
$file_ext = pathinfo($file, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $file) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
}
|
||||
$_POST['bo_include_tail'] = $file;
|
||||
}
|
||||
|
||||
if(!is_include_path_check($bo_include_head, 1)) {
|
||||
if(!is_include_path_check($_POST['bo_include_head'], 1)) {
|
||||
alert('상단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
if(!is_include_path_check($bo_include_tail, 1)) {
|
||||
if(!is_include_path_check($_POST['bo_include_tail'], 1)) {
|
||||
alert('하단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
@@ -72,9 +63,6 @@ $bo_category_list = str_replace($src_char, $dst_char, $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']) : '';
|
||||
|
||||
$_POST['bo_subject'] = strip_tags($_POST['bo_subject']);
|
||||
$_POST['bo_mobile_subject'] = strip_tags($_POST['bo_mobile_subject']);
|
||||
|
||||
$sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
bo_subject = '{$_POST['bo_subject']}',
|
||||
bo_mobile_subject = '{$_POST['bo_mobile_subject']}',
|
||||
@@ -128,8 +116,8 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
|
||||
// 최고 관리자인 경우에만 수정가능
|
||||
if ($is_admin === 'super'){
|
||||
$sql_common .= " bo_include_head = '".$bo_include_head."',
|
||||
bo_include_tail = '".$bo_include_tail."',
|
||||
$sql_common .= " bo_include_head = '{$_POST['bo_include_head']}',
|
||||
bo_include_tail = '{$_POST['bo_include_tail']}',
|
||||
bo_content_head = '{$_POST['bo_content_head']}',
|
||||
bo_content_tail = '{$_POST['bo_content_tail']}',
|
||||
bo_mobile_content_head = '{$_POST['bo_mobile_content_head']}',
|
||||
@@ -438,8 +426,5 @@ if ($all_fields) {
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
goto_url("./board_form.php?w=u&bo_table={$bo_table}&{$qstr}");
|
||||
?>
|
||||
|
||||
@@ -12,7 +12,7 @@ $sound_only = '';
|
||||
if ($w == '') {
|
||||
$gr_id_attr = 'required';
|
||||
$sound_only = '<strong class="sound_only"> 필수</strong>';
|
||||
$gr = array('gr_use_access' => 0);
|
||||
$gr['gr_use_access'] = 0;
|
||||
$html_title .= ' 생성';
|
||||
} else if ($w == 'u') {
|
||||
$gr_id_attr = 'readonly';
|
||||
@@ -117,7 +117,7 @@ include_once('./admin.head.php');
|
||||
<label for="gr_<?php echo $i ?>_subj">여분필드 <?php echo $i ?> 제목</label>
|
||||
<input type="text" name="gr_<?php echo $i ?>_subj" value="<?php echo get_text($group['gr_'.$i.'_subj']) ?>" id="gr_<?php echo $i ?>_subj" class="frm_input">
|
||||
<label for="gr_<?php echo $i ?>">여분필드 <?php echo $i ?> 내용</label>
|
||||
<input type="text" name="gr_<?php echo $i ?>" value="<?php echo get_sanitize_input($gr['gr_'.$i]); ?>" id="gr_<?php echo $i ?>" class="frm_input">
|
||||
<input type="text" name="gr_<?php echo $i ?>" value="<?php echo $gr['gr_'.$i] ?>" id="gr_<?php echo $i ?>" class="frm_input">
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
@@ -16,9 +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']) : '';
|
||||
|
||||
$sql_common = " gr_subject = '{$gr_subject}',
|
||||
$sql_common = " gr_subject = '{$_POST['gr_subject']}',
|
||||
gr_device = '{$_POST['gr_device']}',
|
||||
gr_admin = '{$_POST['gr_admin']}',
|
||||
gr_1_subj = '{$_POST['gr_1_subj']}',
|
||||
|
||||
@@ -19,11 +19,10 @@ for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$k = $_POST['chk'][$i];
|
||||
$gr_id = $_POST['group_id'][$k];
|
||||
$gr_subject = strip_tags($_POST['gr_subject'][$k]);
|
||||
|
||||
if($_POST['act_button'] == '선택수정') {
|
||||
$sql = " update {$g5['group_table']}
|
||||
set gr_subject = '{$gr_subject}',
|
||||
set gr_subject = '{$_POST['gr_subject'][$k]}',
|
||||
gr_device = '{$_POST['gr_device'][$k]}',
|
||||
gr_admin = '{$_POST['gr_admin'][$k]}',
|
||||
gr_use_access = '{$_POST['gr_use_access'][$k]}',
|
||||
|
||||
@@ -5,11 +5,6 @@ include_once('./_common.php');
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.', G5_URL);
|
||||
|
||||
@include_once('./safe_check.php');
|
||||
if(function_exists('social_log_file_delete')){
|
||||
social_log_file_delete();
|
||||
}
|
||||
|
||||
$g5['title'] = '캐시파일 일괄삭제';
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
|
||||
+1
-1
@@ -1317,7 +1317,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<label for="cf_<?php echo $i ?>_subj">여분필드<?php echo $i ?> 제목</label>
|
||||
<input type="text" name="cf_<?php echo $i ?>_subj" value="<?php echo get_text($config['cf_'.$i.'_subj']) ?>" id="cf_<?php echo $i ?>_subj" class="frm_input" size="30">
|
||||
<label for="cf_<?php echo $i ?>">여분필드<?php echo $i ?> 값</label>
|
||||
<input type="text" name="cf_<?php echo $i ?>" value="<?php echo get_sanitize_input($config['cf_'.$i]); ?>" id="cf_<?php echo $i ?>" class="frm_input" size="30">
|
||||
<input type="text" name="cf_<?php echo $i ?>" value="<?php echo $config['cf_'.$i] ?>" id="cf_<?php echo $i ?>" class="frm_input" size="30">
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
@@ -26,8 +26,6 @@ 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']);
|
||||
|
||||
$sql = " update {$g5['config_table']}
|
||||
set cf_title = '{$_POST['cf_title']}',
|
||||
cf_admin = '{$_POST['cf_admin']}',
|
||||
|
||||
+5
-77
@@ -49,11 +49,9 @@ if ($w == "u")
|
||||
else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$co = array(
|
||||
'co_html' => 2,
|
||||
'co_skin' => 'basic',
|
||||
'co_mobile_skin' => 'basic'
|
||||
);
|
||||
$co['co_html'] = 2;
|
||||
$co['co_skin'] = 'basic';
|
||||
$co['co_mobile_skin'] = 'basic';
|
||||
}
|
||||
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
@@ -109,8 +107,8 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<td>
|
||||
<?php echo help("내용에서 iframe 등의 태그를 사용하려면 사용안함으로 선택해 주십시오."); ?>
|
||||
<select name="co_tag_filter_use" id="co_tag_filter_use">
|
||||
<option value="1"<?php echo get_selected($co['co_tag_filter_use'], 1); ?>>사용함</option>
|
||||
<option value="0"<?php echo get_selected($co['co_tag_filter_use'], 0); ?>>사용안함</option>
|
||||
<option value="1"<?php echo get_selected(1, $co['co_tag_filter_use']); ?>>사용함</option>
|
||||
<option value="0"<?php echo get_selected(0, $co['co_tag_filter_use']); ?>>사용안함</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -128,22 +126,6 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<input type="text" name="co_include_tail" value="<?php echo $co['co_include_tail']; ?>" id="co_include_tail" class="frm_input" size="60">
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_himg">상단이미지</label></th>
|
||||
<td>
|
||||
@@ -203,56 +185,7 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
</form>
|
||||
|
||||
<?php
|
||||
// [KVE-2018-2089] 취약점 으로 인해 파일 경로 수정시에만 자동등록방지 코드 사용
|
||||
?>
|
||||
<script>
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var co_include_head = "<?php echo $co['co_include_head']; ?>";
|
||||
var co_include_tail = "<?php echo $co['co_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#co_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#co_include_tail").val());
|
||||
|
||||
if(co_include_head !== head || co_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#co_include_head, #co_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function frmcontentform_check(f)
|
||||
{
|
||||
errmsg = "";
|
||||
@@ -271,11 +204,6 @@ function frmcontentform_check(f)
|
||||
errfld.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
+15
-38
@@ -12,28 +12,6 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
|
||||
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$co_row = sql_fetch($sql);
|
||||
}
|
||||
|
||||
$co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id);
|
||||
$co_subject = strip_tags($co_subject);
|
||||
$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255));
|
||||
$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255));
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if (($co_row['co_include_head'] !== $co_include_head || $co_row['co_include_tail'] !== $co_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
@mkdir(G5_DATA_PATH."/content", G5_DIR_PERMISSION);
|
||||
@chmod(G5_DATA_PATH."/content", G5_DIR_PERMISSION);
|
||||
|
||||
@@ -43,29 +21,27 @@ if ($co_timg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_t");
|
||||
$error_msg = '';
|
||||
|
||||
if( $co_include_head ){
|
||||
|
||||
$file_ext = pathinfo($co_include_head, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $co_include_head) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
$purl = parse_url($co_include_head);
|
||||
$file = $purl['path'];
|
||||
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
|
||||
alert('상단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $co_include_tail ){
|
||||
|
||||
$file_ext = pathinfo($co_include_tail, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $co_include_tail) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
$purl = parse_url($co_include_tail);
|
||||
$file = $purl['path'];
|
||||
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
|
||||
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $co_include_head && ! is_include_path_check($co_include_head, 1) ){
|
||||
if( $co_include_head && ! is_include_path_check($co_include_head) ){
|
||||
$co_include_head = '';
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 상단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
if( $co_include_tail && ! is_include_path_check($co_include_tail, 1) ){
|
||||
if( $co_include_tail && ! is_include_path_check($co_include_tail) ){
|
||||
$co_include_tail = '';
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
@@ -82,7 +58,11 @@ $sql_common = " co_include_head = '$co_include_head',
|
||||
|
||||
if ($w == "")
|
||||
{
|
||||
$row = $co_row;
|
||||
//if(eregi("[^a-z0-9_]", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
|
||||
$sql = " select co_id from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['co_id'])
|
||||
alert("이미 같은 ID로 등록된 내용이 있습니다.");
|
||||
|
||||
@@ -107,9 +87,6 @@ else if ($w == "d")
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if ($_FILES['co_himg']['name'])
|
||||
|
||||
@@ -685,15 +685,6 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
.sevice_2 .svc_design{overflow:hidden;height:210px;position:relative}
|
||||
.sevice_2 .svc_design .svc_btn a{margin:0 0 20px}
|
||||
|
||||
/* 캡챠 */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
/*테마*/
|
||||
.theme_p{margin:0 0 10px }
|
||||
#theme_list{padding:0;margin:0;list-style:none; width: 1000px;position:relative}
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
<?php
|
||||
$sub_menu = '100410';
|
||||
include_once('./_common.php');
|
||||
|
||||
auth_check($auth[$sub_menu], 'r');
|
||||
|
||||
$g5['title'] = 'DB 업그레이드';
|
||||
include_once('./admin.head.php');
|
||||
|
||||
$is_check = false;
|
||||
|
||||
//소셜 로그인 관련 필드 및 구글 리챕챠 필드 추가
|
||||
if(!isset($config['cf_social_login_use'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_social_login_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_googl_shorturl_apikey`,
|
||||
ADD `cf_google_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_twitter_secret`,
|
||||
ADD `cf_google_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_clientid`,
|
||||
ADD `cf_naver_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_secret`,
|
||||
ADD `cf_naver_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_clientid`,
|
||||
ADD `cf_kakao_rest_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_secret`,
|
||||
ADD `cf_social_servicelist` varchar(255) NOT NULL DEFAULT '' AFTER `cf_social_login_use`,
|
||||
ADD `cf_payco_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_social_servicelist`,
|
||||
ADD `cf_payco_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_payco_clientid`,
|
||||
ADD `cf_captcha` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_js_apikey`,
|
||||
ADD `cf_recaptcha_site_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_captcha`,
|
||||
ADD `cf_recaptcha_secret_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_recaptcha_site_key`
|
||||
", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
//소셜 로그인 관련 필드 카카오 클라이언트 시크릿 추가
|
||||
if(!isset($config['cf_kakao_client_secret'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_kakao_client_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_rest_key`
|
||||
", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 회원 이미지 관련 필드 추가
|
||||
if(!isset($config['cf_member_img_size'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_member_img_size` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_icon_height`,
|
||||
ADD `cf_member_img_width` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_size`,
|
||||
ADD `cf_member_img_height` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_width`
|
||||
", true);
|
||||
|
||||
$sql = " update {$g5['config_table']} set cf_member_img_size = 50000, cf_member_img_width = 60, cf_member_img_height = 60 ";
|
||||
sql_query($sql, false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 소셜 로그인 관리 테이블 없을 경우 생성
|
||||
if( isset($g5['social_profile_table']) && !sql_query(" DESC {$g5['social_profile_table']} ", false)) {
|
||||
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['social_profile_table']}` (
|
||||
`mp_no` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`mb_id` varchar(255) NOT NULL DEFAULT '',
|
||||
`provider` varchar(50) NOT NULL DEFAULT '',
|
||||
`object_sha` varchar(45) NOT NULL DEFAULT '',
|
||||
`identifier` varchar(255) NOT NULL DEFAULT '',
|
||||
`profileurl` varchar(255) NOT NULL DEFAULT '',
|
||||
`photourl` varchar(255) NOT NULL DEFAULT '',
|
||||
`displayname` varchar(150) NOT NULL DEFAULT '',
|
||||
`description` varchar(255) NOT NULL DEFAULT '',
|
||||
`mp_register_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`mp_latest_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
UNIQUE KEY `mp_no` (`mp_no`),
|
||||
KEY `mb_id` (`mb_id`),
|
||||
KEY `provider` (`provider`)
|
||||
) ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
$db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.<br>현재 DB 업그레이드가 완료된 상태입니다.';
|
||||
?>
|
||||
|
||||
<div class="local_desc01 local_desc">
|
||||
<p>
|
||||
<?php echo $db_upgrade_msg; ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include_once ('./admin.tail.php');
|
||||
?>
|
||||
@@ -5,9 +5,6 @@ include_once(G5_EDITOR_LIB);
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$fm_id = (int) $fm_id;
|
||||
$fa_id = isset($fa_id) ? (int) $fa_id : 0;
|
||||
|
||||
$sql = " select * from {$g5['faq_master_table']} where fm_id = '$fm_id' ";
|
||||
$fm = sql_fetch($sql);
|
||||
|
||||
|
||||
+3
-9
@@ -5,13 +5,7 @@ include_once('./_common.php');
|
||||
auth_check($auth[$sub_menu], "r");
|
||||
|
||||
$g5['title'] = 'FAQ 상세관리';
|
||||
if ($fm_subject){
|
||||
$fm_subject = clean_xss_tags(strip_tags($fm_subject));
|
||||
$g5['title'] .= ' : '.$fm_subject;
|
||||
}
|
||||
|
||||
$fm_id = (int) $fm_id;
|
||||
|
||||
if ($fm_subject) $g5['title'] .= ' : '.$fm_subject;
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
$sql = " select * from {$g5['faq_master_table']} where fm_id = '$fm_id' ";
|
||||
@@ -22,7 +16,7 @@ $sql_common = " from {$g5['faq_table']} where fm_id = '$fm_id' ";
|
||||
// 테이블의 전체 레코드수만 얻음
|
||||
$sql = " select count(*) as cnt " . $sql_common;
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
$total_count = $row[cnt];
|
||||
|
||||
$sql = "select * $sql_common order by fa_order , fa_id ";
|
||||
$result = sql_query($sql);
|
||||
@@ -60,7 +54,7 @@ $result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
{
|
||||
$row1 = sql_fetch(" select COUNT(*) as cnt from {$g5['faq_table']} where fm_id = '{$row['fm_id']}' ");
|
||||
$cnt = $row1['cnt'];
|
||||
$cnt = $row1[cnt];
|
||||
|
||||
$s_mod = icon("수정", "");
|
||||
$s_del = icon("삭제", "");
|
||||
|
||||
@@ -21,7 +21,6 @@ if ($w == "u")
|
||||
else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$fm = array();
|
||||
}
|
||||
|
||||
$g5['title'] = $html_title.' 관리';
|
||||
|
||||
@@ -18,8 +18,6 @@ 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);
|
||||
|
||||
$sql_common = " set fm_subject = '$fm_subject',
|
||||
fm_head_html = '$fm_head_html',
|
||||
fm_tail_html = '$fm_tail_html',
|
||||
|
||||
@@ -2,11 +2,6 @@
|
||||
$sub_menu = '100000';
|
||||
include_once('./_common.php');
|
||||
|
||||
@include_once('./safe_check.php');
|
||||
if(function_exists('social_log_file_delete')){
|
||||
social_log_file_delete(86400); //소셜로그인 디버그 파일 24시간 지난것은 삭제
|
||||
}
|
||||
|
||||
$g5['title'] = '관리자메인';
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
|
||||
@@ -29,19 +29,19 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
$msg .= $mb['mb_id'].' : 로그인 중인 관리자는 수정 할 수 없습니다.\\n';
|
||||
} else {
|
||||
if($_POST['mb_certify'][$k])
|
||||
$mb_adult = (int) $_POST['mb_adult'][$k];
|
||||
$mb_adult = $_POST['mb_adult'][$k];
|
||||
else
|
||||
$mb_adult = 0;
|
||||
|
||||
$sql = " update {$g5['member_table']}
|
||||
set mb_level = '".sql_real_escape_string($_POST['mb_level'][$k])."',
|
||||
mb_intercept_date = '".sql_real_escape_string($_POST['mb_intercept_date'][$k])."',
|
||||
mb_mailling = '".sql_real_escape_string($_POST['mb_mailling'][$k])."',
|
||||
mb_sms = '".sql_real_escape_string($_POST['mb_sms'][$k])."',
|
||||
mb_open = '".sql_real_escape_string($_POST['mb_open'][$k])."',
|
||||
mb_certify = '".sql_real_escape_string($_POST['mb_certify'][$k])."',
|
||||
set mb_level = '{$_POST['mb_level'][$k]}',
|
||||
mb_intercept_date = '{$_POST['mb_intercept_date'][$k]}',
|
||||
mb_mailling = '{$_POST['mb_mailling'][$k]}',
|
||||
mb_sms = '{$_POST['mb_sms'][$k]}',
|
||||
mb_open = '{$_POST['mb_open'][$k]}',
|
||||
mb_certify = '{$_POST['mb_certify'][$k]}',
|
||||
mb_adult = '{$mb_adult}'
|
||||
where mb_id = '".sql_real_escape_string($_POST['mb_id'][$k])."' ";
|
||||
where mb_id = '{$_POST['mb_id'][$k]}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,20 +196,6 @@ function base_convert(number, frombase, tobase) {
|
||||
|
||||
function fmenulist_submit(f)
|
||||
{
|
||||
|
||||
var me_links = document.getElementsByName('me_link[]');
|
||||
var reg = /^javascript/;
|
||||
|
||||
for (i=0; i<me_links.length; i++){
|
||||
|
||||
if( reg.test(me_links[i].value) ){
|
||||
|
||||
alert('링크에 자바스크립트문을 입력할수 없습니다.');
|
||||
me_links[i].focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -23,8 +23,8 @@ for ($i=0; $i<$count; $i++)
|
||||
|
||||
$code = $_POST['code'][$i];
|
||||
$me_name = $_POST['me_name'][$i];
|
||||
$me_link = preg_match('/^javascript/i', $_POST['me_link'][$i]) ? G5_URL : strip_tags($_POST['me_link'][$i]);
|
||||
|
||||
$me_link = $_POST['me_link'][$i];
|
||||
|
||||
if(!$code || !$me_name || !$me_link)
|
||||
continue;
|
||||
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<tr>
|
||||
<th scope="row"><label for="nw_subject">팝업 제목<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td>
|
||||
<input type="text" name="nw_subject" value="<?php echo get_sanitize_input($nw['nw_subject']); ?>" id="nw_subject" required class="frm_input required" size="80">
|
||||
<input type="text" name="nw_subject" value="<?php echo stripslashes($nw['nw_subject']) ?>" id="nw_subject" required class="frm_input required" size="80">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -12,8 +12,6 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags($_POST['nw_subject']) : '';
|
||||
|
||||
$sql_common = " nw_device = '{$_POST['nw_device']}',
|
||||
nw_begin_time = '{$_POST['nw_begin_time']}',
|
||||
nw_end_time = '{$_POST['nw_end_time']}',
|
||||
@@ -22,7 +20,7 @@ $sql_common = " nw_device = '{$_POST['nw_device']}',
|
||||
nw_top = '{$_POST['nw_top']}',
|
||||
nw_height = '{$_POST['nw_height']}',
|
||||
nw_width = '{$_POST['nw_width']}',
|
||||
nw_subject = '{$nw_subject}',
|
||||
nw_subject = '{$_POST['nw_subject']}',
|
||||
nw_content = '{$_POST['nw_content']}',
|
||||
nw_content_html = '{$_POST['nw_content_html']}' ";
|
||||
|
||||
|
||||
@@ -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 = $_POST['mb_id'];
|
||||
$po_point = $_POST['po_point'];
|
||||
$po_content = $_POST['po_content'];
|
||||
$expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']);
|
||||
|
||||
$mb = get_member($mb_id);
|
||||
|
||||
@@ -7,7 +7,7 @@ auth_check($auth[$sub_menu], 'r');
|
||||
// 체크된 자료 삭제
|
||||
if (isset($_POST['chk']) && is_array($_POST['chk'])) {
|
||||
for ($i=0; $i<count($_POST['chk']); $i++) {
|
||||
$pp_id = (int) $_POST['chk'][$i];
|
||||
$pp_id = $_POST['chk'][$i];
|
||||
|
||||
sql_query(" delete from {$g5['popular_table']} where pp_id = '$pp_id' ", true);
|
||||
}
|
||||
|
||||
@@ -263,22 +263,6 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<input type="text" name="qa_include_tail" value="<?php echo $qaconfig['qa_include_tail'] ?>" id="qa_include_tail" class="frm_input" size="50">
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_content_head">상단 내용</label></th>
|
||||
<td>
|
||||
@@ -332,53 +316,6 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var qa_include_head = "<?php echo $qaconfig['qa_include_head']; ?>";
|
||||
var qa_include_tail = "<?php echo $qaconfig['qa_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#qa_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#qa_include_tail").val());
|
||||
|
||||
if(qa_include_head !== head || qa_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#qa_include_head, #qa_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function fqaconfigform_submit(f)
|
||||
{
|
||||
<?php echo get_editor_js("qa_content_head"); ?>
|
||||
@@ -386,10 +323,6 @@ function fqaconfigform_submit(f)
|
||||
<?php echo get_editor_js("qa_mobile_content_head"); ?>
|
||||
<?php echo get_editor_js("qa_mobile_content_tail"); ?>
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo isset($captcha_js) ? $captcha_js : ''; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
f.action = "./qa_config_update.php";
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -10,33 +10,19 @@ check_admin_token();
|
||||
|
||||
$error_msg = '';
|
||||
|
||||
$qaconfig = get_qa_config();
|
||||
|
||||
$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));
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if ($board && ($qaconfig['qa_include_head'] !== $qa_include_head || $qaconfig['qa_include_tail'] !== $qa_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $qa_include_head ){
|
||||
$file_ext = pathinfo($qa_include_head, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $qa_include_head) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $qa_include_tail ){
|
||||
$file_ext = pathinfo($qa_include_tail, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $qa_include_tail) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,9 +75,6 @@ $sql = " update {$g5['qa_config_table']}
|
||||
qa_5 = '{$_POST['qa_5']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
if($error_msg){
|
||||
alert($error_msg, './qa_config.php');
|
||||
} else {
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
function social_log_file_delete($second=0){
|
||||
$files = glob(G5_DATA_PATH.'/tmp/social_*');
|
||||
if (is_array($files)) {
|
||||
$before_time = $second ? G5_SERVER_TIME - $second : 0;
|
||||
foreach ($files as $social_log_file) {
|
||||
$modification_time = filemtime($log_file); // 파일접근시간
|
||||
|
||||
if ($before_time && $modification_time > $before_time) continue;
|
||||
|
||||
unlink($social_log_file);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -13,8 +13,6 @@ $g5['title'] = "이모티콘 관리";
|
||||
|
||||
if ($page < 1) $page = 1;
|
||||
|
||||
$fg_no = isset($fg_no) ? (int) $fg_no : '';
|
||||
|
||||
if (is_numeric($fg_no))
|
||||
$sql_group = " and fg_no='$fg_no' ";
|
||||
else
|
||||
|
||||
@@ -4,7 +4,7 @@ include_once("./_common.php");
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
check_admin_token();
|
||||
check_token();
|
||||
|
||||
if($atype == "del"){
|
||||
$count = count($_POST['fo_no']);
|
||||
@@ -14,7 +14,7 @@ if($atype == "del"){
|
||||
for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
// 실제 번호를 넘김
|
||||
$fo_no = (int) $_POST['fo_no'][$i];
|
||||
$fo_no = $_POST['fo_no'][$i];
|
||||
if (!trim($fo_no)) continue;
|
||||
|
||||
$res = sql_fetch("select * from {$g5['sms5_form_table']} where fo_no='$fo_no'");
|
||||
|
||||
@@ -27,7 +27,7 @@ $vnum = $total_count - (($page-1) * $page_size);
|
||||
include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
?>
|
||||
|
||||
<form name="search_form" method="get" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" class="local_sch01 local_sch" >
|
||||
<form name="search_form" method="get" action="<?echo $_SERVER['SCRIPT_NAME']?>" class="local_sch01 local_sch" >
|
||||
<label for="st" class="sound_only">검색대상</label>
|
||||
<select name="st" id="st">
|
||||
<option value="hs_name"<?php echo get_selected('hs_name', $st); ?>>이름</option>
|
||||
|
||||
@@ -13,9 +13,6 @@ $g5['title'] = "휴대폰번호 관리";
|
||||
|
||||
if ($page < 1) $page = 1;
|
||||
|
||||
$bg_no = isset($bg_no) ? (int) $bg_no : 0;
|
||||
$st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : '';
|
||||
|
||||
if (is_numeric($bg_no))
|
||||
$sql_group = " and bg_no='$bg_no' ";
|
||||
else
|
||||
|
||||
@@ -21,8 +21,6 @@ if ($w=='u') // 업데이트
|
||||
if (!strlen(trim($bk_name)))
|
||||
alert('이름을 입력해주세요');
|
||||
|
||||
$bk_name = strip_tags($bk_name);
|
||||
|
||||
if ($bk_hp == '')
|
||||
alert('휴대폰번호만 입력 가능합니다.');
|
||||
/*
|
||||
|
||||
@@ -30,7 +30,7 @@ if ($w == 'u' && is_numeric($bk_no)) {
|
||||
$g5['title'] .= '수정';
|
||||
}
|
||||
else {
|
||||
$write = array('bg_no' => (int) $bg_no);
|
||||
$write['bg_no'] = $bg_no;
|
||||
$g5['title'] .= '추가';
|
||||
}
|
||||
|
||||
@@ -43,12 +43,12 @@ include_once(G5_ADMIN_PATH."/admin.head.php");
|
||||
?>
|
||||
|
||||
<form name="book_form" id="book_form" method="post" action="./num_book_update.php">
|
||||
<input type="hidden" name="w" value="<?php echo get_sanitize_input($w); ?>">
|
||||
<input type="hidden" name="page" value="<?php echo get_sanitize_input($page); ?>">
|
||||
<input type="hidden" name="ap" value="<?php echo get_sanitize_input($ap); ?>">
|
||||
<input type="hidden" name="w" value="<?php echo $w?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page?>">
|
||||
<input type="hidden" name="ap" value="<?php echo $ap?>">
|
||||
<input type="hidden" name="bk_no" value="<?php echo $write['bk_no']?>">
|
||||
<input type="hidden" name="mb_id" id="mb_id" value="<?php echo $write['mb_id']?>">
|
||||
<input type="hidden" name="get_bg_no" value="<?php echo get_sanitize_input($bg_no); ?>">
|
||||
<input type="hidden" name="get_bg_no" value="<?php echo $bg_no?>">
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
@@ -74,7 +74,7 @@ include_once(G5_ADMIN_PATH."/admin.head.php");
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bk_name">이름<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td><input type="text" name="bk_name" id="bk_name" maxlength="50" value="<?php echo get_sanitize_input($write['bk_name']); ?>" required class="frm_input required"></td>
|
||||
<td><input type="text" name="bk_name" id="bk_name" maxlength="50" value="<?php echo $write['bk_name']?>" required class="frm_input required"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bk_hp">휴대폰번호<strong class="sound_only"> 필수</strong></label></th>
|
||||
@@ -187,12 +187,14 @@ function book_submit(){
|
||||
if($check_msg.size()> 0)
|
||||
$check_msg.remove();
|
||||
|
||||
// $("#exist_msg").text("<?php echo $exist_msg_2; ?>");
|
||||
is_submit = true;
|
||||
} else {
|
||||
if($check_msg.size() < 1)
|
||||
$("input#bk_hp").after("<div id=\"hp_check_el\"><h3>이 번호를 쓰는 회원 정보</h3><ul></ul></div>");
|
||||
|
||||
$("#hp_check_el").find("ul").html( list_text );
|
||||
// $("#exist_msg").html("<?php echo $exist_msg_1 ?>");
|
||||
|
||||
if(confirm("회원 정보에 중복 휴대폰 번호가 있습니다.수정하실 경우 회원정보에 반영되지 않습니다.\n수정하시겠습니까?"))
|
||||
is_submit = true;
|
||||
|
||||
+2
-2
@@ -5,13 +5,13 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
if (G5_IS_MOBILE) {
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once(G5_BBS_PATH.'/_head.php');
|
||||
echo html_purifier(stripslashes($board['bo_mobile_content_head']));
|
||||
echo stripslashes($board['bo_mobile_content_head']);
|
||||
} else {
|
||||
if(is_include_path_check($board['bo_include_head'])) { //파일경로 체크
|
||||
@include ($board['bo_include_head']);
|
||||
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
|
||||
include_once(G5_BBS_PATH.'/_head.php');
|
||||
}
|
||||
echo html_purifier(stripslashes($board['bo_content_head']));
|
||||
echo stripslashes($board['bo_content_head']);
|
||||
}
|
||||
?>
|
||||
+2
-2
@@ -3,11 +3,11 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 게시판 관리의 하단 파일 경로
|
||||
if (G5_IS_MOBILE) {
|
||||
echo html_purifier(stripslashes($board['bo_mobile_content_tail']));
|
||||
echo stripslashes($board['bo_mobile_content_tail']);
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once(G5_BBS_PATH.'/_tail.php');
|
||||
} else {
|
||||
echo html_purifier(stripslashes($board['bo_content_tail']));
|
||||
echo stripslashes($board['bo_content_tail']);
|
||||
if(is_include_path_check($board['bo_include_tail'])) { //파일경로 체크
|
||||
@include ($board['bo_include_tail']);
|
||||
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
|
||||
|
||||
+3
-3
@@ -2,9 +2,9 @@
|
||||
include_once('./_common.php');
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
$url1 = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", clean_xss_tags($url1));
|
||||
$url2 = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", clean_xss_tags($url2));
|
||||
$url3 = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", clean_xss_tags($url3));
|
||||
$url1 = clean_xss_tags($url1);
|
||||
$url2 = clean_xss_tags($url2);
|
||||
$url3 = clean_xss_tags($url3);
|
||||
|
||||
// url 체크
|
||||
check_url_host($url1);
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id);
|
||||
|
||||
//dbconfig파일에 $g5['content_table'] 배열변수가 있는지 체크
|
||||
if( !isset($g5['content_table']) ){
|
||||
die('<meta charset="utf-8">관리자 모드에서 게시판관리->내용 관리를 먼저 확인해 주세요.');
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
// 코멘트 삭제
|
||||
include_once('./_common.php');
|
||||
|
||||
$comment_id = (int) $comment_id;
|
||||
|
||||
$delete_comment_token = get_session('ss_delete_comment_'.$comment_id.'_token');
|
||||
set_session('ss_delete_comment_'.$comment_id.'_token', '');
|
||||
|
||||
|
||||
+2
-9
@@ -67,18 +67,11 @@ if (!get_session($ss_name))
|
||||
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
|
||||
}
|
||||
|
||||
set_session($ss_name, TRUE);
|
||||
}
|
||||
|
||||
// 이미 다운로드 받은 파일인지를 검사한 후 다운로드 카운트 증가 ( SIR 그누위즈 님 코드 제안 )
|
||||
$ss_name = 'ss_down_'.$bo_table.'_'.$wr_id.'_'.$no;
|
||||
if (!get_session($ss_name))
|
||||
{
|
||||
// 다운로드 카운트 증가
|
||||
$sql = " update {$g5['board_file_table']} set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
|
||||
sql_query($sql);
|
||||
// 다운로드 카운트를 증가시키고 세션을 생성
|
||||
$_SESSION[$ss_name] = true;
|
||||
|
||||
set_session($ss_name, TRUE);
|
||||
}
|
||||
|
||||
$g5['title'] = '다운로드 > '.conv_subject($write['wr_subject'], 255);
|
||||
|
||||
@@ -4,15 +4,11 @@ include_once('./_common.php');
|
||||
$mb_id = trim($_GET['mb_id']);
|
||||
$mb_md5 = trim($_GET['mb_md5']);
|
||||
|
||||
$sql = " select mb_id, mb_email_certify2, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$mb_id}' ";
|
||||
$sql = " select mb_id, mb_email_certify2 from {$g5['member_table']} where mb_id = '{$mb_id}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if (!$row['mb_id'])
|
||||
alert('존재하는 회원이 아닙니다.', G5_URL);
|
||||
|
||||
if ( $row['mb_leave_date'] || $row['mb_intercept_date'] ){
|
||||
alert('탈퇴 또는 차단된 회원입니다.', G5_URL);
|
||||
}
|
||||
|
||||
// 인증 링크는 한번만 처리가 되게 한다.
|
||||
sql_query(" update {$g5['member_table']} set mb_email_certify2 = '' where mb_id = '$mb_id' ");
|
||||
|
||||
|
||||
@@ -12,13 +12,14 @@ if (!$is_member && $config['cf_formmail_is_member'])
|
||||
$email_enc = new str_encrypt();
|
||||
$to = $email_enc->decrypt($to);
|
||||
|
||||
if (substr_count($to, "@") > 1)
|
||||
alert_close('한번에 한사람에게만 메일을 발송할 수 있습니다.');
|
||||
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
|
||||
if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $to)){
|
||||
alert_close('E-mail 주소가 형식에 맞지 않아서, 메일을 보낼수 없습니다.');
|
||||
}
|
||||
|
||||
$file = array();
|
||||
for ($i=1; $i<=$attach; $i++) {
|
||||
|
||||
+2
-2
@@ -56,7 +56,7 @@ if ( is_use_email_certify() && !preg_match("/[1-9]/", $mb['mb_email_certify']))
|
||||
// 회원아이디 세션 생성
|
||||
set_session('ss_mb_id', $mb['mb_id']);
|
||||
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
|
||||
set_session('ss_mb_key', md5($mb['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']));
|
||||
set_session('ss_mb_key', md5($mb['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));
|
||||
|
||||
// 포인트 체크
|
||||
if($config['cf_use_point']) {
|
||||
@@ -72,7 +72,7 @@ if ($auto_login) {
|
||||
// 3.27
|
||||
// 자동로그인 ---------------------------
|
||||
// 쿠키 한달간 저장
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $mb['mb_password']);
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $mb['mb_password']);
|
||||
set_cookie('ck_mb_id', $mb['mb_id'], 86400 * 31);
|
||||
set_cookie('ck_auto', $key, 86400 * 31);
|
||||
// 자동로그인 end ---------------------------
|
||||
|
||||
+3
-12
@@ -11,28 +11,19 @@ else
|
||||
$urlencode = urlencode($_SERVER[REQUEST_URI]);
|
||||
*/
|
||||
|
||||
$url = clean_xss_tags($_GET['url']);
|
||||
|
||||
//소셜 로그인 한 경우
|
||||
if( function_exists('social_member_comfirm_redirect') && (! $url || $url === 'register_form.php') ){
|
||||
if( function_exists('social_member_comfirm_redirect') ){
|
||||
social_member_comfirm_redirect();
|
||||
}
|
||||
|
||||
$g5['title'] = '회원 비밀번호 확인';
|
||||
include_once('./_head.sub.php');
|
||||
|
||||
$url = clean_xss_tags($_GET['url']);
|
||||
|
||||
// url 체크
|
||||
check_url_host($url, '', G5_URL, true);
|
||||
|
||||
if($url){
|
||||
$url = preg_replace('#^/\\\{1,}#', '/', $url);
|
||||
|
||||
if( preg_match('#^/{3,}#', $url) ){
|
||||
$url = preg_replace('#^/{3,}#', '/', $url);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$url = get_text($url);
|
||||
|
||||
include_once($member_skin_path.'/member_confirm.skin.php');
|
||||
|
||||
+2
-2
@@ -68,8 +68,8 @@ $mb = get_member($memo['me_'.$unkind.'_mb_id']);
|
||||
$list_link = './memo.php?kind='.$kind;
|
||||
|
||||
if(isset($page) && $page){
|
||||
$prev_link .= $prev_link ? '&page='.(int) $page : '';
|
||||
$next_link .= $next_link ? '&page='.(int) $page : '';
|
||||
$prev_link .= '&page='.(int) $page;
|
||||
$next_link .= '&page='.(int) $page;
|
||||
$list_link .= '&page='.(int) $page;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -128,7 +128,7 @@ for($i=0;$i<count($_POST['chk_bn_id']);$i++)
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
// 원글의 코멘트 숫자를 감소
|
||||
sql_query(" update $write_table set wr_comment = wr_comment - 1, wr_last = '{$row['wr_last']}' where wr_id = '{$write['wr_parent']}' ");
|
||||
sql_query(" update $write_table set wr_comment = wr_comment - 1, wr_last = '$row[wr_last]' where wr_id = '{$write['wr_parent']}' ");
|
||||
|
||||
// 코멘트 숫자 감소
|
||||
sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment - 1 where bo_table = '$bo_table' ");
|
||||
|
||||
+4
-4
@@ -43,8 +43,8 @@ switch ($w) {
|
||||
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
//if ($board['bo_include_head'] && is_include_path_check($board['bo_content_head'])) { @include ($board['bo_include_head']); }
|
||||
//if ($board['bo_content_head']) { echo html_purifier(stripslashes($board['bo_content_head'])); }
|
||||
//if ($board['bo_include_head']) { @include ($board['bo_include_head']); }
|
||||
//if ($board['bo_content_head']) { echo stripslashes($board['bo_content_head']); }
|
||||
|
||||
/* 비밀글의 제목을 가져옴 지운아빠 2013-01-29 */
|
||||
$sql = " select wr_subject from {$write_table}
|
||||
@@ -57,8 +57,8 @@ $g5['title'] = get_text($row['wr_subject']);
|
||||
|
||||
include_once($member_skin_path.'/password.skin.php');
|
||||
|
||||
//if ($board['bo_content_tail']) { echo html_purifier(stripslashes($board['bo_content_tail'])); }
|
||||
//if ($board['bo_include_tail'] && is_include_path_check($board['bo_content_tail'])) { @include ($board['bo_include_tail']); }
|
||||
//if ($board['bo_content_tail']) { echo stripslashes($board['bo_content_tail']); }
|
||||
//if ($board['bo_include_tail']) { @include ($board['bo_include_tail']); }
|
||||
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
?>
|
||||
|
||||
+2
-7
@@ -4,13 +4,8 @@ include_once('./_common.php');
|
||||
$g5['title'] = '이미지 크게보기';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
$filename = preg_replace('/[^A-Za-z0-9 _ .\-\/]/', '', $_GET['fn']);
|
||||
|
||||
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
|
||||
if ( ! preg_match('/(jpg|jpeg|png|gif|bmp)$/i', $extension) ){
|
||||
alert_close('이미지 확장자가 아닙니다.');
|
||||
}
|
||||
$filename = $_GET['fn'];
|
||||
$bo_table = $_GET['bo_table'];
|
||||
|
||||
if(strpos($filename, 'data/editor')) {
|
||||
$editor_file = strstr($filename, 'editor');
|
||||
|
||||
+1
-2
@@ -374,7 +374,7 @@ if ($_SESSION['ss_mb_id']) { // 로그인중이라면
|
||||
$sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if($row['mb_password']){
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
|
||||
// 쿠키에 저장된 키와 같다면
|
||||
$tmp_key = get_cookie('ck_auto');
|
||||
if ($tmp_key === $key && $tmp_key) {
|
||||
@@ -621,7 +621,6 @@ if(!empty($extend_file) && is_array($extend_file)) {
|
||||
foreach($extend_file as $file) {
|
||||
include_once(G5_EXTEND_PATH.'/'.$file);
|
||||
}
|
||||
unset($file);
|
||||
}
|
||||
unset($extend_file);
|
||||
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.3.2.0');
|
||||
define('G5_GNUBOARD_VER', '5.3.0.4');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
@@ -152,7 +152,7 @@ define('G5_DIR_PERMISSION', 0755); // 디렉토리 생성시 퍼미션
|
||||
define('G5_FILE_PERMISSION', 0644); // 파일 생성시 퍼미션
|
||||
|
||||
// 모바일 인지 결정 $_SERVER['HTTP_USER_AGENT']
|
||||
define('G5_MOBILE_AGENT', 'phone|samsung|lgtel|mobile|[^A]skt|nokia|blackberry|BB10|android|sony');
|
||||
define('G5_MOBILE_AGENT', 'phone|samsung|lgtel|mobile|[^A]skt|nokia|blackberry|android|sony');
|
||||
|
||||
// SMTP
|
||||
// lib/mailer.lib.php 에서 사용
|
||||
|
||||
+6
-6
@@ -76,7 +76,7 @@ border: 1px solid #558ab7 !important;
|
||||
|
||||
.hd_sch_wr{position:absolute;top:25px;left:50%;width:430px;margin-left:-215px;}
|
||||
#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{;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}
|
||||
|
||||
@@ -91,7 +91,7 @@ border: 1px solid #558ab7 !important;
|
||||
#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_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}
|
||||
@@ -189,7 +189,7 @@ box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
#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_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}
|
||||
#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)}
|
||||
@@ -216,8 +216,8 @@ 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 #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_img {;height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
@@ -325,7 +325,7 @@ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
|
||||
.full_input{width:100%}
|
||||
.half_input{width:49.5%}
|
||||
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
|
||||
.tbl_frm01 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}
|
||||
|
||||
+9
-9
@@ -43,8 +43,8 @@ ul,li,dl,dt,dd{list-style:none;padding:0;margin:0}
|
||||
#logo img{vertical-align:middle;max-height:100%;width:auto}
|
||||
#gnb_open {position:absolute;top:10px;left:10px;padding:0 10px;height:30px;width:30px;border:0;background-size:70%;color:#fff;background:none; font-size: 16px;}
|
||||
#gnb {display:none;background:#262626;position:fixed;top:0;left:0;z-index:99999;height:100%;overflow-y:auto;width:300px;
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
|
||||
#gnb a {display:block;color:#efefef}
|
||||
@@ -68,8 +68,8 @@ box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
|
||||
#user_btn {position:absolute;top:10px;right:10px;padding:0 10px;height:30px;width:30px;border:0;;color:#fff;font-size:16px;background:none;letter-spacing:-0.1em}
|
||||
#user_menu{display:none;position:fixed;top:0;right:0;height:100%;;overflow-y:auto;width:320px;z-index:9999;background:#fff;text-align:center;
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
#user_close {display:block;margin:0;height:50px;width:100%;border:0;background:url(../img/mobile/btn_close.png) no-repeat right 50%
|
||||
#222;background-size:25px;color:#fff;text-indent:-999999999px;overflow:hidden}
|
||||
@@ -102,8 +102,8 @@ box-shadow: 0 0 5px rgba(100,100,100,0.2);}
|
||||
#container {position:relative;min-height:300px}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px;line-height:30px;background:#fff;color:#333;
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
}
|
||||
.top{position:relative}
|
||||
@@ -150,8 +150,8 @@ box-shadow: 0 0 5px rgba(100,100,100,0.2);}
|
||||
/* 캡챠 자동등록(입력)방지 기본 -pc */
|
||||
#captcha {position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:3px 0 5px ;font-size:0.95em;letter-spacing:-0.1em}
|
||||
@@ -185,7 +185,7 @@ button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f
|
||||
|
||||
.btn_confirm {text-align:center} /* 서식단계 진행 */
|
||||
|
||||
.btn_submit {border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px}
|
||||
.btn_submit {;border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px}
|
||||
fieldset .btn_submit {}
|
||||
|
||||
a.btn_cancel {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle}
|
||||
|
||||
@@ -39,10 +39,7 @@ define('G5_SOCIAL_USE_POPUP', ! is_mobile() ); // 모바일에서는 팝업사
|
||||
define('G5_SOCIAL_DELETE_DAY', 0);
|
||||
|
||||
// 메일 인증관련, false 이면 메일인증을 받지 않고 로그인됩니다. true 이고 기본환경설정에서 메일인증설정이 활성화 되어 있는 경우 메일인증을 받아야만 로그인 됩니다.
|
||||
define('G5_SOCIAL_CERTIFY_MAIL', false);
|
||||
|
||||
// 소셜 DEBUG 관련 설정, 기본값은 false, true 로 설정시 data/tmp/social_anystring.log 파일이 생성됩니다.
|
||||
define('G5_SOCIAL_IS_DEBUG', false);
|
||||
define('G5_SOCIAL_CERTIFY_MAIL', false );
|
||||
|
||||
include_once(G5_SOCIAL_LOGIN_PATH.'/includes/functions.php');
|
||||
?>
|
||||
@@ -1,3 +1,11 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 유저 사이드뷰에서 아이콘 지정 안했을시 기본 no 프로필 이미지
|
||||
define('G5_NO_PROFILE_IMG', '<span class="profile_img"><img src="'.G5_IMG_URL.'/no_profile.gif" alt="no_profile" width="20" height="20"></span>');
|
||||
|
||||
/**
|
||||
* 이 아래에 사용자 코드를 적용해 주세요.
|
||||
*/
|
||||
|
||||
?>
|
||||
+148
-29
@@ -11,8 +11,6 @@ if(get_session('tables_copied') == 'done')
|
||||
|
||||
if($is_admin != 'super')
|
||||
alert('최고관리자로 로그인 후 실행해 주십시오.', G5_URL);
|
||||
|
||||
include_once(G5_PATH.'/head.php');
|
||||
?>
|
||||
|
||||
<style>
|
||||
@@ -22,41 +20,162 @@ include_once(G5_PATH.'/head.php');
|
||||
#g4_import_frm .btn_submit {padding:0 10px;height:24px}
|
||||
</style>
|
||||
|
||||
<div id="g4_import">
|
||||
<p>
|
||||
이 프로그램은 그누보드5 설치 후 바로 실행하셔야만 합니다.<br>
|
||||
만약 그누보드5 사이트를 운영 중에 이 프로그램을 실행하시면 DB 데이터가 망실되거나 데이터의 오류가 발생할 수 있습니다.<br>
|
||||
또한 중복해서 실행하실 경우에도 DB 데이터의 오류가 발생할 수 있으니 반드시 한번만 실행해 주십시오.
|
||||
</p>
|
||||
<p>프로그램을 실행하시려면 그누보드4의 config.php 파일 경로를 입력하신 후 확인을 클릭해 주십시오.</p>
|
||||
<!-- 상단 시작 { -->
|
||||
<div id="hd">
|
||||
<h1 id="hd_h1"><?php echo $g5['title'] ?></h1>
|
||||
|
||||
<form name="fimport" method="post" action="./g4_import_run.php" onsubmit="return fimport_submit(this);">
|
||||
<input type="hidden" name="token" value="" >
|
||||
<div id="g4_import_frm">
|
||||
<label for="file_path">config.php 파일 경로</label>
|
||||
<input type="text" name="file_path" id="file_path" required class="frm_input required">
|
||||
<input type="submit" value="확인" class="btn_submit">
|
||||
<div id="skip_to_container"><a href="#container">본문 바로가기</a></div>
|
||||
|
||||
<div id="hd_wrapper">
|
||||
|
||||
<div id="logo">
|
||||
<a href="<?php echo G5_URL ?>"><img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"></a>
|
||||
</div>
|
||||
|
||||
<fieldset id="hd_sch">
|
||||
<legend>사이트 내 전체검색</legend>
|
||||
<form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
|
||||
<input type="hidden" name="sfl" value="wr_subject||wr_content">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sch_stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" id="sch_stx" maxlength="20">
|
||||
<input type="submit" id="sch_submit" value="검색">
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function fsearchbox_submit(f)
|
||||
{
|
||||
if (f.stx.value.length < 2) {
|
||||
alert("검색어는 두글자 이상 입력하십시오.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
|
||||
var cnt = 0;
|
||||
for (var i=0; i<f.stx.value.length; i++) {
|
||||
if (f.stx.value.charAt(i) == ' ')
|
||||
cnt++;
|
||||
}
|
||||
|
||||
if (cnt > 1) {
|
||||
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</fieldset>
|
||||
|
||||
<ul id="tnb">
|
||||
<?php if ($is_member) { ?>
|
||||
<?php if ($is_admin) { ?>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>"><b>관리자</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
|
||||
<?php } else { ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/login.php"><b>로그인</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수 ?></a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="text_size">
|
||||
<!-- font_resize('엘리먼트id', '제거할 class', '추가할 class'); -->
|
||||
<button id="size_down" onclick="font_resize('container', 'ts_up ts_up2', '');"><img src="<?php echo G5_URL; ?>/img/ts01.gif" alt="기본"></button>
|
||||
<button id="size_def" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up');"><img src="<?php echo G5_URL; ?>/img/ts02.gif" alt="크게"></button>
|
||||
<button id="size_up" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up2');"><img src="<?php echo G5_URL; ?>/img/ts03.gif" alt="더크게"></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p>
|
||||
경로는 그누보드5 설치 루트를 기준으로 그누보드4의 config.php 파일의 상대경로입니다.<br>
|
||||
예를 들어 그누보드4를 웹루트에 설치하셨고 그누보드5를 g5라는 하위 폴더에 설치하셨다면 입력하실 경로는 ../config.php 입니다.
|
||||
</p>
|
||||
<hr>
|
||||
|
||||
<nav id="gnb">
|
||||
<h2>메인메뉴</h2>
|
||||
<ul id="gnb_1dul">
|
||||
<li class="gnb_empty">메뉴는 표시하지 않습니다.</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<!-- } 상단 끝 -->
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="aside">
|
||||
<?php echo outlogin('basic'); // 외부 로그인 ?>
|
||||
</div>
|
||||
<div id="container">
|
||||
<?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
|
||||
|
||||
<div id="g4_import">
|
||||
<p>
|
||||
이 프로그램은 그누보드5 설치 후 바로 실행하셔야만 합니다.<br>
|
||||
만약 그누보드5 사이트를 운영 중에 이 프로그램을 실행하시면 DB 데이터가 망실되거나 데이터의 오류가 발생할 수 있습니다.<br>
|
||||
또한 중복해서 실행하실 경우에도 DB 데이터의 오류가 발생할 수 있으니 반드시 한번만 실행해 주십시오.
|
||||
</p>
|
||||
<p>프로그램을 실행하시려면 그누보드4의 config.php 파일 경로를 입력하신 후 확인을 클릭해 주십시오.</p>
|
||||
|
||||
<form name="fimport" method="post" action="./g4_import_run.php" onsubmit="return fimport_submit(this);">
|
||||
<input type="hidden" name="token" value="" >
|
||||
<div id="g4_import_frm">
|
||||
<label for="file_path">config.php 파일 경로</label>
|
||||
<input type="text" name="file_path" id="file_path" required class="frm_input required">
|
||||
<input type="submit" value="확인" class="btn_submit">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p>
|
||||
경로는 그누보드5 설치 루트를 기준으로 그누보드4의 config.php 파일의 상대경로입니다.<br>
|
||||
예를 들어 그누보드4를 웹루트에 설치하셨고 그누보드5를 g5라는 하위 폴더에 설치하셨다면 입력하실 경로는 ../config.php 입니다.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function fimport_submit(f)
|
||||
{
|
||||
var token = get_write_token('g4_import');
|
||||
|
||||
f.token.value = token;
|
||||
|
||||
return confirm('그누보드4의 DB 데이터를 이전하시겠습니까?');
|
||||
}
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- 하단 시작 { -->
|
||||
<div id="ft">
|
||||
<div id="ft_catch"><img src="<?php echo G5_IMG_URL; ?>/ft.png" alt="<?php echo G5_VERSION ?>"></div>
|
||||
<div id="ft_copy">
|
||||
<p>
|
||||
Copyright © <b>소유하신 도메인.</b> All rights reserved.<br>
|
||||
<a href="#">상단으로</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function fimport_submit(f)
|
||||
{
|
||||
var token = get_write_token('g4_import');
|
||||
|
||||
f.token.value = token;
|
||||
|
||||
return confirm('그누보드4의 DB 데이터를 이전하시겠습니까?');
|
||||
}
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.php');
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/tail.sub.php');
|
||||
?>
|
||||
+463
-339
@@ -3,9 +3,17 @@ include_once('./_common.php');
|
||||
|
||||
ob_end_clean();
|
||||
|
||||
include_once(G5_LIB_PATH.'/connect.lib.php');
|
||||
include_once(G5_LIB_PATH.'/outlogin.lib.php');
|
||||
|
||||
set_time_limit ( 0 );
|
||||
ini_set('memory_limit', '50M');
|
||||
|
||||
$g5['title'] = '그누보드4 DB 데이터 이전';
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/head.sub.php');
|
||||
|
||||
echo '<link rel="stylesheet" href="'.G5_URL.'/g4_import.css">';
|
||||
|
||||
if(empty($_POST))
|
||||
alert('올바른 방법으로 이용해 주십시오.', G5_URL);
|
||||
|
||||
@@ -33,9 +41,6 @@ if(!is_file($g4_config_file))
|
||||
alert('입력하신 경로에 config.php 파일이 존재하지 않습니다.');
|
||||
|
||||
$is_euckr = false;
|
||||
|
||||
$g5['title'] = '그누보드4 DB 데이터 이전';
|
||||
include_once(G5_PATH.'/head.php');
|
||||
?>
|
||||
<script>
|
||||
// 새로고침 방지
|
||||
@@ -63,376 +68,495 @@ document.onkeydown = noRefresh ;
|
||||
#g4_import_run ol {margin: 0;padding: 0 0 0 25px;border: 1px solid #E9E9E9;border-bottom: 0;background: #f5f8f9;list-style:none;zoom:1}
|
||||
#g4_import_run li {padding:7px 10px;border-bottom:1px solid #e9e9e9}
|
||||
#g4_import_run #run_msg {padding:30px 0;text-align:center}
|
||||
#container_wr #aside{display:none}
|
||||
</style>
|
||||
|
||||
<div id="g4_import_run">
|
||||
<ol>
|
||||
<?php
|
||||
flush();
|
||||
<!-- 상단 시작 { -->
|
||||
<div id="hd">
|
||||
<h1 id="hd_h1"><?php echo $g5['title'] ?></h1>
|
||||
|
||||
$g4 = array();
|
||||
// g4의 confing.php
|
||||
require('./'.$g4_config_file);
|
||||
<div id="skip_to_container"><a href="#container">본문 바로가기</a></div>
|
||||
|
||||
if(preg_replace('/[^a-z]/', '', strtolower($g4['charset'])) == 'euckr')
|
||||
$is_euckr = true;
|
||||
<div id="hd_wrapper">
|
||||
|
||||
// member table 복사
|
||||
$columns = sql_field_names($g5['member_table']);
|
||||
<div id="logo">
|
||||
<a href="<?php echo G5_URL ?>"><img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"></a>
|
||||
</div>
|
||||
|
||||
$sql = " select * from {$g4['member_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
<fieldset id="hd_sch">
|
||||
<legend>사이트 내 전체검색</legend>
|
||||
<form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
|
||||
<input type="hidden" name="sfl" value="wr_subject||wr_content">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sch_stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" id="sch_stx" maxlength="20">
|
||||
<input type="submit" id="sch_submit" value="검색">
|
||||
</form>
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['member_table']} where mb_id = '{$row['mb_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
<script>
|
||||
function fsearchbox_submit(f)
|
||||
{
|
||||
if (f.stx.value.length < 2) {
|
||||
alert("검색어는 두글자 이상 입력하십시오.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
|
||||
var cnt = 0;
|
||||
for (var i=0; i<f.stx.value.length; i++) {
|
||||
if (f.stx.value.charAt(i) == ' ')
|
||||
cnt++;
|
||||
}
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if($key == 'mb_no')
|
||||
continue;
|
||||
if (cnt > 1) {
|
||||
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['member_table']} SET $sql_common ");
|
||||
}
|
||||
|
||||
echo '<li>member table 복사</li>'.PHP_EOL;
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
// point table 복사
|
||||
$sql = " select * from {$g4['point_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if($key == 'po_id')
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['point_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>point table 복사</li>'.PHP_EOL;
|
||||
|
||||
// login table 복사
|
||||
$sql = " select * from {$g4['login_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['login_table']} where lo_ip = '{$row['lo_ip']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['login_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>login table 복사</li>'.PHP_EOL;
|
||||
|
||||
// visit table 복사
|
||||
$sql = " select * from {$g4['visit_table']} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
// g5_visit 테이블 초기화
|
||||
sql_query(" delete from {$g5['visit_table']} ");
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
/*
|
||||
$sql2 = " select count(*) as cnt from {$g5['visit_table']} where vi_ip = '{$row['vi_ip']}' and vi_date = '{$row['vi_date']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
*/
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['visit_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>visit table 복사</li>'.PHP_EOL;
|
||||
|
||||
// visit sum table 복사
|
||||
$sql = " select * from {$g4['visit_sum_table']} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
// g5_visit_sub 테이블 초기화
|
||||
sql_query(" delete from {$g5['visit_sum_table']} ");
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
/*
|
||||
$sql2 = " select count(*) as cnt from {$g5['visit_sum_table']} where vs_date = '{$row['vs_date']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
*/
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['visit_sum_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>visit sum table 복사</li>'.PHP_EOL;
|
||||
|
||||
// group table 복사
|
||||
$columns = sql_field_names($g5['group_table']);
|
||||
|
||||
$sql = " select * from {$g4['group_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['group_table']} where gr_id = '{$row['gr_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['group_table']} SET $sql_common ");
|
||||
}
|
||||
|
||||
echo '<li>group table 복사</li>'.PHP_EOL;
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
// board 복사
|
||||
$columns = sql_field_names($g5['board_table']);
|
||||
|
||||
$sql = " select * from {$g4['board_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['board_table']} where bo_table = '{$row['bo_table']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
// 모바일 스킨 디렉토리
|
||||
if( ! isset($row['bo_mobile_skin']) ){
|
||||
$row['bo_mobile_skin'] = 'basic';
|
||||
}
|
||||
|
||||
// 모바일 제목 길이
|
||||
if( ! isset($row['bo_mobile_subject_len']) ){
|
||||
$row['bo_mobile_subject_len'] = '30';
|
||||
}
|
||||
|
||||
// 모바일 페이지당 목록 수
|
||||
if( ! isset($row['bo_mobile_page_rows']) ){
|
||||
$row['bo_mobile_page_rows'] = '15';
|
||||
}
|
||||
|
||||
// 갤러리 이미지 폭 ( 리스트 )
|
||||
if( ! isset($row['bo_gallery_width']) ){
|
||||
$row['bo_gallery_width'] = '174';
|
||||
}
|
||||
|
||||
// 갤러리 이미지 높이 ( 리스트 )
|
||||
if( ! isset($row['bo_gallery_height']) ){
|
||||
$row['bo_gallery_height'] = '124';
|
||||
}
|
||||
|
||||
// 모바일 갤러리 이미지 폭 ( 리스트 )
|
||||
if( ! isset($row['bo_mobile_gallery_width']) ){
|
||||
$row['bo_mobile_gallery_width'] = '125';
|
||||
}
|
||||
|
||||
// 모바일 갤러리 이미지 높이 ( 리스트 )
|
||||
if( ! isset($row['bo_mobile_gallery_height']) ){
|
||||
$row['bo_mobile_gallery_height'] = '100';
|
||||
}
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
if($key === 'bo_notice'){
|
||||
$val = str_replace("\n", ",", $val);
|
||||
|
||||
if( substr($val, -1) === ',' ){
|
||||
$val = substr($val, 0, -1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</fieldset>
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
<ul id="tnb">
|
||||
<?php if ($is_member) { ?>
|
||||
<?php if ($is_admin) { ?>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>"><b>관리자</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
|
||||
<?php } else { ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/login.php"><b>로그인</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수 ?></a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>
|
||||
</ul>
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
<div id="text_size">
|
||||
<!-- font_resize('엘리먼트id', '제거할 class', '추가할 class'); -->
|
||||
<button id="size_down" onclick="font_resize('container', 'ts_up ts_up2', '');"><img src="<?php echo G5_URL; ?>/img/ts01.gif" alt="기본"></button>
|
||||
<button id="size_def" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up');"><img src="<?php echo G5_URL; ?>/img/ts02.gif" alt="크게"></button>
|
||||
<button id="size_up" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up2');"><img src="<?php echo G5_URL; ?>/img/ts03.gif" alt="더크게"></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
sql_query(" INSERT INTO {$g5['board_table']} SET $sql_common ");
|
||||
<hr>
|
||||
|
||||
// 게시판 테이블 생성
|
||||
$bo_table = $row['bo_table'];
|
||||
$file = file(G5_ADMIN_PATH.'/sql_write.sql');
|
||||
$sql = implode($file, "\n");
|
||||
<nav id="gnb">
|
||||
<h2>메인메뉴</h2>
|
||||
<ul id="gnb_1dul">
|
||||
<li class="gnb_empty">메뉴는 표시하지 않습니다.</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<!-- } 상단 끝 -->
|
||||
|
||||
$create_table = $g5['write_prefix'] . $bo_table;
|
||||
<hr>
|
||||
|
||||
$source = array('/__TABLE_NAME__/', '/;/');
|
||||
$target = array($create_table, '');
|
||||
$sql = preg_replace($source, $target, $sql);
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="aside">
|
||||
<?php echo outlogin('basic'); // 외부 로그인 ?>
|
||||
</div>
|
||||
<div id="container">
|
||||
<?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
|
||||
|
||||
// 게시글 복사
|
||||
if(sql_query($sql, FALSE)) {
|
||||
$write_table = $g4['write_prefix'].$bo_table;
|
||||
$columns2 = sql_field_names($create_table);
|
||||
<div id="g4_import_run">
|
||||
<ol>
|
||||
<?php
|
||||
flush();
|
||||
|
||||
$sql3 = " select * from $write_table ";
|
||||
$result3 = sql_query($sql3);
|
||||
// g4의 confing.php
|
||||
require('./'.$g4_config_file);
|
||||
|
||||
for($k=0; $row3=sql_fetch_array($result3); $k++) {
|
||||
if(preg_replace('/[^a-z]/', '', strtolower($g4['charset'])) == 'euckr')
|
||||
$is_euckr = true;
|
||||
|
||||
// member table 복사
|
||||
$columns = sql_field_names($g5['member_table']);
|
||||
|
||||
$sql = " select * from {$g4['member_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row3 = array_map('iconv_utf8', $row3);
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
$comma3 = '';
|
||||
$sql_common3 = '';
|
||||
|
||||
foreach($row3 as $key=>$val) {
|
||||
if(!in_array($key, $columns2))
|
||||
continue;
|
||||
|
||||
$sql_common3 .= $comma3 . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma3 = ',';
|
||||
}
|
||||
|
||||
// 첨부파일개수
|
||||
$wr_id = $row3['wr_id'];
|
||||
$sql4 = " select count(*) as cnt from {$g4['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' ";
|
||||
$row4 = sql_fetch($sql4);
|
||||
|
||||
$sql_common3 .= " , wr_file = '{$row4['cnt']}' ";
|
||||
|
||||
sql_query(" INSERT INTO $create_table SET $sql_common3 ");
|
||||
}
|
||||
|
||||
echo '<li>'.str_replace(G5_TABLE_PREFIX.'write_', '', $create_table).' 게시글 복사</li>';
|
||||
}
|
||||
}
|
||||
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
// 그외 테이블 복사
|
||||
$tables = array('board_file', 'board_new', 'board_good', 'mail', 'memo', 'group_member', 'auth', 'popular', 'poll', 'poll_etc', 'scrap');
|
||||
|
||||
foreach($tables as $table) {
|
||||
$columns = sql_field_names($g5[$table.'_table']);
|
||||
|
||||
$src_table = $g4[$table.'_table'];
|
||||
$dst_table = $g5[$table.'_table'];
|
||||
$sql = " select * from $src_table ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if(!in_array($key, $columns))
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['member_table']} where mb_id = '{$row['mb_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
$comma = ',';
|
||||
foreach($row as $key=>$val) {
|
||||
if($key == 'mb_no')
|
||||
continue;
|
||||
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['member_table']} SET $sql_common ");
|
||||
}
|
||||
|
||||
$result2 = sql_query(" INSERT INTO $dst_table SET $sql_common ", false);
|
||||
echo '<li>member table 복사</li>'.PHP_EOL;
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
if(!$result2)
|
||||
continue;
|
||||
}
|
||||
// point table 복사
|
||||
$sql = " select * from {$g4['point_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
echo '<li>'.$table.' table 복사</li>'.PHP_EOL;
|
||||
}
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
foreach($row as $key=>$val) {
|
||||
if($key == 'po_id')
|
||||
continue;
|
||||
|
||||
echo '</ol>'.PHP_EOL;
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
echo '<div id="run_msg">그누보드4 DB 데이터 이전 완료</div>'.PHP_EOL;
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
// 실행완료 세션에 기록
|
||||
set_session('tables_copied', 'done');
|
||||
?>
|
||||
sql_query(" INSERT INTO {$g5['point_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>point table 복사</li>'.PHP_EOL;
|
||||
|
||||
// login table 복사
|
||||
$sql = " select * from {$g4['login_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['login_table']} where lo_ip = '{$row['lo_ip']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['login_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>login table 복사</li>'.PHP_EOL;
|
||||
|
||||
// visit table 복사
|
||||
$sql = " select * from {$g4['visit_table']} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
// g5_visit 테이블 초기화
|
||||
sql_query(" delete from {$g5['visit_table']} ");
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
/*
|
||||
$sql2 = " select count(*) as cnt from {$g5['visit_table']} where vi_ip = '{$row['vi_ip']}' and vi_date = '{$row['vi_date']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
*/
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['visit_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>visit table 복사</li>'.PHP_EOL;
|
||||
|
||||
// visit sum table 복사
|
||||
$sql = " select * from {$g4['visit_sum_table']} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
// g5_visit_sub 테이블 초기화
|
||||
sql_query(" delete from {$g5['visit_sum_table']} ");
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
/*
|
||||
$sql2 = " select count(*) as cnt from {$g5['visit_sum_table']} where vs_date = '{$row['vs_date']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
*/
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['visit_sum_table']} SET $sql_common ");
|
||||
}
|
||||
echo '<li>visit sum table 복사</li>'.PHP_EOL;
|
||||
|
||||
// group table 복사
|
||||
$columns = sql_field_names($g5['group_table']);
|
||||
|
||||
$sql = " select * from {$g4['group_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['group_table']} where gr_id = '{$row['gr_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['group_table']} SET $sql_common ");
|
||||
}
|
||||
|
||||
echo '<li>group table 복사</li>'.PHP_EOL;
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
// board 복사
|
||||
$columns = sql_field_names($g5['board_table']);
|
||||
|
||||
$sql = " select * from {$g4['board_table']} ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
// 중복체크
|
||||
$sql2 = " select count(*) as cnt from {$g5['board_table']} where bo_table = '{$row['bo_table']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
if($row2['cnt'])
|
||||
continue;
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
// 모바일 스킨 디렉토리
|
||||
if( ! isset($row['bo_mobile_skin']) ){
|
||||
$row['bo_mobile_skin'] = 'basic';
|
||||
}
|
||||
|
||||
// 모바일 제목 길이
|
||||
if( ! isset($row['bo_mobile_subject_len']) ){
|
||||
$row['bo_mobile_subject_len'] = '30';
|
||||
}
|
||||
|
||||
// 모바일 페이지당 목록 수
|
||||
if( ! isset($row['bo_mobile_page_rows']) ){
|
||||
$row['bo_mobile_page_rows'] = '15';
|
||||
}
|
||||
|
||||
// 갤러리 이미지 폭 ( 리스트 )
|
||||
if( ! isset($row['bo_gallery_width']) ){
|
||||
$row['bo_gallery_width'] = '174';
|
||||
}
|
||||
|
||||
// 갤러리 이미지 높이 ( 리스트 )
|
||||
if( ! isset($row['bo_gallery_height']) ){
|
||||
$row['bo_gallery_height'] = '124';
|
||||
}
|
||||
|
||||
// 모바일 갤러리 이미지 폭 ( 리스트 )
|
||||
if( ! isset($row['bo_mobile_gallery_width']) ){
|
||||
$row['bo_mobile_gallery_width'] = '125';
|
||||
}
|
||||
|
||||
// 모바일 갤러리 이미지 높이 ( 리스트 )
|
||||
if( ! isset($row['bo_mobile_gallery_height']) ){
|
||||
$row['bo_mobile_gallery_height'] = '100';
|
||||
}
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
if($key === 'bo_notice'){
|
||||
$val = str_replace("\n", ",", $val);
|
||||
|
||||
if( substr($val, -1) === ',' ){
|
||||
$val = substr($val, 0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
sql_query(" INSERT INTO {$g5['board_table']} SET $sql_common ");
|
||||
|
||||
// 게시판 테이블 생성
|
||||
$bo_table = $row['bo_table'];
|
||||
$file = file(G5_ADMIN_PATH.'/sql_write.sql');
|
||||
$sql = implode($file, "\n");
|
||||
|
||||
$create_table = $g5['write_prefix'] . $bo_table;
|
||||
|
||||
$source = array('/__TABLE_NAME__/', '/;/');
|
||||
$target = array($create_table, '');
|
||||
$sql = preg_replace($source, $target, $sql);
|
||||
|
||||
// 게시글 복사
|
||||
if(sql_query($sql, FALSE)) {
|
||||
$write_table = $g4['write_prefix'].$bo_table;
|
||||
$columns2 = sql_field_names($create_table);
|
||||
|
||||
$sql3 = " select * from $write_table ";
|
||||
$result3 = sql_query($sql3);
|
||||
|
||||
for($k=0; $row3=sql_fetch_array($result3); $k++) {
|
||||
if($is_euckr)
|
||||
$row3 = array_map('iconv_utf8', $row3);
|
||||
|
||||
$comma3 = '';
|
||||
$sql_common3 = '';
|
||||
|
||||
foreach($row3 as $key=>$val) {
|
||||
if(!in_array($key, $columns2))
|
||||
continue;
|
||||
|
||||
$sql_common3 .= $comma3 . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma3 = ',';
|
||||
}
|
||||
|
||||
// 첨부파일개수
|
||||
$wr_id = $row3['wr_id'];
|
||||
$sql4 = " select count(*) as cnt from {$g4['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' ";
|
||||
$row4 = sql_fetch($sql4);
|
||||
|
||||
$sql_common3 .= " , wr_file = '{$row4['cnt']}' ";
|
||||
|
||||
sql_query(" INSERT INTO $create_table SET $sql_common3 ");
|
||||
}
|
||||
|
||||
echo '<li>'.str_replace(G5_TABLE_PREFIX.'write_', '', $create_table).' 게시글 복사</li>';
|
||||
}
|
||||
}
|
||||
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
// 그외 테이블 복사
|
||||
$tables = array('board_file', 'board_new', 'board_good', 'mail', 'memo', 'group_member', 'auth', 'popular', 'poll', 'poll_etc', 'scrap');
|
||||
|
||||
foreach($tables as $table) {
|
||||
$columns = sql_field_names($g5[$table.'_table']);
|
||||
|
||||
$src_table = $g4[$table.'_table'];
|
||||
$dst_table = $g5[$table.'_table'];
|
||||
$sql = " select * from $src_table ";
|
||||
$result = sql_query($sql);
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($is_euckr)
|
||||
$row = array_map('iconv_utf8', $row);
|
||||
|
||||
$comma = '';
|
||||
$sql_common = '';
|
||||
|
||||
foreach($row as $key=>$val) {
|
||||
if(!in_array($key, $columns))
|
||||
continue;
|
||||
|
||||
$sql_common .= $comma . " $key = '".addslashes($val)."' ";
|
||||
|
||||
$comma = ',';
|
||||
}
|
||||
|
||||
$result2 = sql_query(" INSERT INTO $dst_table SET $sql_common ", false);
|
||||
|
||||
if(!$result2)
|
||||
continue;
|
||||
}
|
||||
|
||||
echo '<li>'.$table.' table 복사</li>'.PHP_EOL;
|
||||
}
|
||||
|
||||
unset($columns);
|
||||
unset($fiels);
|
||||
|
||||
echo '</ol>'.PHP_EOL;
|
||||
|
||||
echo '<div id="run_msg">그누보드4 DB 데이터 이전 완료</div>'.PHP_EOL;
|
||||
|
||||
// 실행완료 세션에 기록
|
||||
set_session('tables_copied', 'done');
|
||||
?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- 하단 시작 { -->
|
||||
<div id="ft">
|
||||
<div id="ft_catch"><img src="<?php echo G5_IMG_URL; ?>/ft.png" alt="<?php echo G5_VERSION ?>"></div>
|
||||
<div id="ft_copy">
|
||||
<p>
|
||||
Copyright © <b>소유하신 도메인.</b> All rights reserved.<br>
|
||||
<a href="#">상단으로</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.php');
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/tail.sub.php');
|
||||
?>
|
||||
@@ -1,53 +0,0 @@
|
||||
<?php
|
||||
include_once ('../config.php');
|
||||
include_once('../lib/json.lib.php');
|
||||
include_once('../lib/common.lib.php'); // 공통 라이브러리
|
||||
include_once('./install.function.php'); // 인스톨 과정 함수 모음
|
||||
|
||||
$data_path = '../'.G5_DATA_DIR;
|
||||
|
||||
// 파일이 존재한다면 설치할 수 없다.
|
||||
$dbconfig_file = $data_path.'/'.G5_DBCONFIG_FILE;
|
||||
if (file_exists($dbconfig_file)) {
|
||||
die(install_json_msg('프로그램이 이미 설치되어 있습니다.'));
|
||||
}
|
||||
|
||||
$mysql_host = safe_install_string_check($_POST['mysql_host'], 'json');
|
||||
$mysql_user = safe_install_string_check($_POST['mysql_user'], 'json');
|
||||
$mysql_pass = safe_install_string_check($_POST['mysql_pass'], 'json');
|
||||
$mysql_db = safe_install_string_check($_POST['mysql_db'], 'json');
|
||||
$table_prefix= safe_install_string_check($_POST['table_prefix']);
|
||||
|
||||
$tmp_str = isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : '';
|
||||
$ajax_token = md5($tmp_str.$_SERVER['REMOTE_ADDR'].$_SERVER['DOCUMENT_ROOT']);
|
||||
|
||||
$bool_ajax_token = ($ajax_token == $_POST['ajax_token']) ? true : false;
|
||||
|
||||
if( !($mysql_host && $mysql_user && $mysql_pass && $mysql_db && $table_prefix && $bool_ajax_token) ){
|
||||
die(install_json_msg('잘못된 요청입니다.'));
|
||||
}
|
||||
|
||||
try {
|
||||
$dblink = sql_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
|
||||
if (!$dblink) {
|
||||
die(install_json_msg('MySQL Host, User, Password 를 확인해 주십시오.'));
|
||||
}
|
||||
|
||||
try {
|
||||
$select_db = sql_select_db($mysql_db, $dblink);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
|
||||
if (!$select_db) {
|
||||
die(install_json_msg('MySQL DB 를 확인해 주십시오.'));
|
||||
}
|
||||
|
||||
if(sql_query("DESCRIBE `{$table_prefix}config`", G5_DISPLAY_SQL_ERROR, $dblink)) {
|
||||
die(install_json_msg('주의! 이미 테이블이 존재하므로, 기존 DB 자료가 망실됩니다. 계속 진행하겠습니까?', 'exists'));
|
||||
}
|
||||
|
||||
die(install_json_msg('ok', 'success'));
|
||||
?>
|
||||
@@ -1,40 +0,0 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if( ! function_exists('safe_install_string_check') ){
|
||||
function safe_install_string_check( $str, $is_json=false ) {
|
||||
$is_check = false;
|
||||
|
||||
if(preg_match('#\);(passthru|eval|pcntl_exec|exec|system|popen|fopen|fsockopen|file|file_get_contents|readfile|unlink|include|include_once|require|require_once)\s?#i', $str)) {
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
if(preg_match('#\$_(get|post|request)\s?\[.*?\]\s?\)#i', $str)){
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
if($is_check){
|
||||
$msg = "입력한 값에 안전하지 않는 문자가 포함되어 있습니다. 설치를 중단합니다.";
|
||||
|
||||
if($is_json){
|
||||
die(install_json_msg($msg));
|
||||
}
|
||||
|
||||
die($msg);
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
|
||||
if( ! function_exists('install_json_msg') ){
|
||||
function install_json_msg($msg, $type='error'){
|
||||
|
||||
$error_msg = ($type==='error') ? $msg : '';
|
||||
$success_msg = ($type==='success') ? $msg : '';
|
||||
$exists_msg = ($type==='exists') ? $msg : '';
|
||||
|
||||
return json_encode(array('error'=>$error_msg, 'success'=>$success_msg, 'exists'=>$exists_msg));
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -17,9 +17,6 @@ if (!isset($_POST['agree']) || $_POST['agree'] != '동의함') {
|
||||
echo "<div class=\"inner_btn\"><a href=\"./\">뒤로가기</a></div></div>".PHP_EOL;
|
||||
exit;
|
||||
}
|
||||
|
||||
$tmp_str = isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : '';
|
||||
$ajax_token = md5($tmp_str.$_SERVER['REMOTE_ADDR'].$_SERVER['DOCUMENT_ROOT']);
|
||||
?>
|
||||
|
||||
|
||||
@@ -69,7 +66,6 @@ $ajax_token = md5($tmp_str.$_SERVER['REMOTE_ADDR'].$_SERVER['DOCUMENT_ROOT']);
|
||||
|
||||
<table class="ins_frm">
|
||||
<caption>최고관리자 정보입력</caption>
|
||||
<input type="hidden" name="ajax_token" value="<?php echo $ajax_token; ?>" >
|
||||
<colgroup>
|
||||
<col style="width:150px">
|
||||
<col>
|
||||
@@ -112,7 +108,6 @@ $ajax_token = md5($tmp_str.$_SERVER['REMOTE_ADDR'].$_SERVER['DOCUMENT_ROOT']);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="../js/jquery-1.8.3.min.js"></script>
|
||||
<script>
|
||||
function frm_install_submit(f)
|
||||
{
|
||||
@@ -173,29 +168,6 @@ function frm_install_submit(f)
|
||||
f.admin_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (window.jQuery) {
|
||||
|
||||
var jqxhr = jQuery.post( "ajax.install.check.php", $(f).serialize(), function(data) {
|
||||
|
||||
if( data.error ){
|
||||
alert(data.error);
|
||||
} else if( data.exists ) {
|
||||
if( confirm(data.exists) ){
|
||||
f.submit();
|
||||
}
|
||||
} else if( data.success ) {
|
||||
f.submit();
|
||||
}
|
||||
|
||||
}, "json");
|
||||
|
||||
jqxhr.fail(function(xhr) {
|
||||
alert( xhr.responseText );
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+20
-1
@@ -11,7 +11,26 @@ header('Pragma: no-cache'); // HTTP/1.0
|
||||
|
||||
include_once ('../config.php');
|
||||
include_once ('../lib/common.lib.php');
|
||||
include_once('./install.function.php'); // 인스톨 과정 함수 모음
|
||||
|
||||
if( ! function_exists('safe_install_string_check') ){
|
||||
function safe_install_string_check( $str ) {
|
||||
$is_check = false;
|
||||
|
||||
if(preg_match('#\);(passthru|eval|pcntl_exec|exec|system|popen|fopen|fsockopen|file|file_get_contents|readfile|unlink|include|include_once|require|require_once)\s?#i', $str)) {
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
if(preg_match('#\$_(get|post|request)\s?\[.*?\]\s?\)#i', $str)){
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
if($is_check){
|
||||
die("입력한 값에 안전하지 않는 문자가 포함되어 있습니다. 설치를 중단합니다.");
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
|
||||
$title = G5_VERSION." 설치 완료 3/3";
|
||||
include_once ('./install.inc.php');
|
||||
|
||||
+1
-6
@@ -1,11 +1,6 @@
|
||||
// 본인확인 인증창 호출
|
||||
function certify_win_open(type, url, event)
|
||||
function certify_win_open(type, url)
|
||||
{
|
||||
|
||||
if (typeof event == "undefined") {
|
||||
event = window.event;
|
||||
}
|
||||
|
||||
if(type == 'kcb-ipin')
|
||||
{
|
||||
var popupWindow = window.open( url, "kcbPop", "left=200, top=100, status=0, width=450, height=550" );
|
||||
|
||||
+3
-18
@@ -343,24 +343,11 @@ var win_memo = function(href) {
|
||||
new_win.focus();
|
||||
}
|
||||
|
||||
/**
|
||||
* 쪽지 창
|
||||
**/
|
||||
var check_goto_new = function(href, event) {
|
||||
if( !(typeof g5_is_mobile != "undefined" && g5_is_mobile) ){
|
||||
if (window.opener && window.opener.document && window.opener.document.getElementById) {
|
||||
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
|
||||
window.open(href);
|
||||
//window.opener.document.location.href = href;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메일 창
|
||||
**/
|
||||
var win_email = function(href) {
|
||||
var new_win = window.open(href, 'win_email', 'left=100,top=100,width=600,height=580,scrollbars=1');
|
||||
var new_win = window.open(href, 'win_email', 'left=100,top=100,width=600,height=580,scrollbars=0');
|
||||
new_win.focus();
|
||||
}
|
||||
|
||||
@@ -440,10 +427,8 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
|
||||
if(of[frm_jibeon] !== undefined){
|
||||
of[frm_jibeon].value = data.userSelectedType;
|
||||
}
|
||||
|
||||
setTimeout(function(){
|
||||
of[frm_addr2].focus();
|
||||
} , 100);
|
||||
|
||||
of[frm_addr2].focus();
|
||||
};
|
||||
|
||||
switch(zip_case) {
|
||||
|
||||
+6
-16
@@ -1,20 +1,10 @@
|
||||
function kakaolink_send(text, url, image)
|
||||
function kakaolink_send(text, url)
|
||||
{
|
||||
if( image === undefined ){
|
||||
image = '';
|
||||
}
|
||||
|
||||
// 카카오톡 링크 버튼을 생성합니다. 처음 한번만 호출하면 됩니다.
|
||||
Kakao.Link.sendDefault({
|
||||
objectType: 'feed',
|
||||
content: {
|
||||
title: String(text),
|
||||
description: url,
|
||||
imageUrl: image,
|
||||
link: {
|
||||
mobileWebUrl: url,
|
||||
webUrl: url // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
|
||||
}
|
||||
}
|
||||
Kakao.Link.sendTalkLink({
|
||||
webLink : {
|
||||
text: String(text),
|
||||
url: url // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
|
||||
}
|
||||
});
|
||||
}
|
||||
+14
-45
@@ -412,7 +412,7 @@ function get_list($write_row, $board, $skin_url, $subject_len=40)
|
||||
|
||||
$list['icon_new'] = '';
|
||||
if ($board['bo_new'] && $list['wr_datetime'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - ($board['bo_new'] * 3600)))
|
||||
$list['icon_new'] = '<img src="'.$skin_url.'/img/icon_new.gif" class="title_icon" alt="새글"> ';
|
||||
$list['icon_new'] = '<img src="'.$skin_url.'/img/icon_new.gif" alt="새글"> ';
|
||||
|
||||
$list['icon_hot'] = '';
|
||||
if ($board['bo_hot'] && $list['wr_hit'] >= $board['bo_hot'])
|
||||
@@ -714,8 +714,6 @@ function get_group($gr_id)
|
||||
function get_member($mb_id, $fields='*')
|
||||
{
|
||||
global $g5;
|
||||
|
||||
$mb_id = preg_replace("/[^0-9a-z_]+/i", "", $mb_id);
|
||||
|
||||
return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");
|
||||
}
|
||||
@@ -1282,7 +1280,7 @@ function get_sideview($mb_id, $name='', $email='', $homepage='')
|
||||
$str2 .= "<a href=\"".G5_BBS_URL."/board.php?bo_table=".$bo_table."&sca=".$sca."&sfl=wr_name,1&stx=".$name."\">이름으로 검색</a>\n";
|
||||
}
|
||||
if($mb_id)
|
||||
$str2 .= "<a href=\"".G5_BBS_URL."/new.php?mb_id=".$mb_id."\" class=\"link_new_page\" onclick=\"check_goto_new(this.href, event);\">전체게시물</a>\n";
|
||||
$str2 .= "<a href=\"".G5_BBS_URL."/new.php?mb_id=".$mb_id."\">전체게시물</a>\n";
|
||||
if($is_admin == "super" && $mb_id) {
|
||||
$str2 .= "<a href=\"".G5_ADMIN_URL."/member_form.php?w=u&mb_id=".$mb_id."\" target=\"_blank\">회원정보변경</a>\n";
|
||||
$str2 .= "<a href=\"".G5_ADMIN_URL."/point_list.php?sfl=mb_id&stx=".$mb_id."\" target=\"_blank\">포인트내역</a>\n";
|
||||
@@ -2070,21 +2068,13 @@ function abs_ip2long($ip='')
|
||||
|
||||
function get_selected($field, $value)
|
||||
{
|
||||
if( is_int($value) ){
|
||||
return ((int) $field===$value) ? ' selected="selected"' : '';
|
||||
}
|
||||
|
||||
return ($field===$value) ? ' selected="selected"' : '';
|
||||
return ($field==$value) ? ' selected="selected"' : '';
|
||||
}
|
||||
|
||||
|
||||
function get_checked($field, $value)
|
||||
{
|
||||
if( is_int($value) ){
|
||||
return ((int) $field===$value) ? ' checked="checked"' : '';
|
||||
}
|
||||
|
||||
return ($field===$value) ? ' checked="checked"' : '';
|
||||
return ($field==$value) ? ' checked="checked"' : '';
|
||||
}
|
||||
|
||||
|
||||
@@ -2117,7 +2107,7 @@ function get_uniqid()
|
||||
sql_query(" LOCK TABLE {$g5['uniqid_table']} WRITE ");
|
||||
while (1) {
|
||||
// 년월일시분초에 100분의 1초 두자리를 추가함 (1/100 초 앞에 자리가 모자르면 0으로 채움)
|
||||
$key = date('YmdHis', time()) . str_pad((int)(microtime()*100), 2, "0", STR_PAD_LEFT);
|
||||
$key = date('ymdHis', time()) . str_pad((int)(microtime()*100), 2, "0", STR_PAD_LEFT);
|
||||
|
||||
$result = sql_query(" insert into {$g5['uniqid_table']} set uq_id = '$key', uq_ip = '{$_SERVER['REMOTE_ADDR']}' ", false);
|
||||
if ($result) break; // 쿼리가 정상이면 빠진다.
|
||||
@@ -2688,7 +2678,7 @@ function get_qa_config($fld='*')
|
||||
|
||||
// get_sock 함수 대체
|
||||
if (!function_exists("get_sock")) {
|
||||
function get_sock($url, $timeout=30)
|
||||
function get_sock($url)
|
||||
{
|
||||
// host 와 uri 를 분리
|
||||
//if (ereg("http://([a-zA-Z0-9_\-\.]+)([^<]*)", $url, $res))
|
||||
@@ -2699,7 +2689,7 @@ if (!function_exists("get_sock")) {
|
||||
}
|
||||
|
||||
// 80번 포트로 소캣접속 시도
|
||||
$fp = fsockopen ($host, 80, $errno, $errstr, $timeout);
|
||||
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
|
||||
if (!$fp)
|
||||
{
|
||||
//die("$errstr ($errno)\n");
|
||||
@@ -2885,16 +2875,6 @@ function clean_xss_tags($str)
|
||||
{
|
||||
$str = preg_replace('#</*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|title|xml)[^>]*+>#i', '', $str);
|
||||
|
||||
$str = str_replace(array('<script>','</script>','<noscript>','</noscript>'), '', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
// XSS 어트리뷰트 태그 제거
|
||||
function clean_xss_attributes($str)
|
||||
{
|
||||
$str = preg_replace('#(onabort|onactivate|onafterprint|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|oncellchange|onchange|onclick|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavaible|ondatasetchanged|ondatasetcomplete|ondblclick|ondeactivate|ondrag|ondragdrop|ondragend|ondragenter|ondragleave|ondragover|ondragstart|ondrop|onerror|onerrorupdate|onfilterupdate|onfinish|onfocus|onfocusin|onfocusout|onhelp|onkeydown|onkeypress|onkeyup|onlayoutcomplete|onload|onlosecapture|onmousedown|onmouseenter|onmouseleave|onmousemove|onmoveout|onmouseover|onmouseup|onmousewheel|onmove|onmoveend|onmovestart|onpaste|onpropertychange|onreadystatechange|onreset|onresize|onresizeend|onresizestart|onrowexit|onrowsdelete|onrowsinserted|onscroll|onselect|onselectionchange|onselectstart|onstart|onstop|onsubmit|onunload)\\s*=\\s*\\\?".*?"#is', '', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
@@ -2995,7 +2975,7 @@ function replace_filename($name)
|
||||
// 아이코드 사용자정보
|
||||
function get_icode_userinfo($id, $pass)
|
||||
{
|
||||
$res = get_sock('http://www.icodekorea.com/res/userinfo.php?userid='.$id.'&userpw='.$pass, 2);
|
||||
$res = get_sock('http://www.icodekorea.com/res/userinfo.php?userid='.$id.'&userpw='.$pass);
|
||||
$res = explode(';', $res);
|
||||
$userinfo = array(
|
||||
'code' => $res[0], // 결과코드
|
||||
@@ -3289,7 +3269,7 @@ class str_encrypt
|
||||
function __construct($salt='')
|
||||
{
|
||||
if(!$salt)
|
||||
$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), $_SERVER['SERVER_SOFTWARE'].$_SERVER['DOCUMENT_ROOT']));
|
||||
$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), G5_MYSQL_PASSWORD));
|
||||
else
|
||||
$this->salt = $salt;
|
||||
|
||||
@@ -3308,12 +3288,12 @@ class str_encrypt
|
||||
$result .= $char;
|
||||
}
|
||||
|
||||
return strtr(base64_encode($result) , '+/=', '._-');
|
||||
return base64_encode($result);
|
||||
}
|
||||
|
||||
function decrypt($str) {
|
||||
$result = '';
|
||||
$str = base64_decode(strtr($str, '._-', '+/='));
|
||||
$str = base64_decode($str);
|
||||
$length = strlen($str);
|
||||
|
||||
for($i=0; $i<$length; $i++) {
|
||||
@@ -3423,17 +3403,6 @@ function is_use_email_certify(){
|
||||
return $config['cf_use_email_certify'];
|
||||
}
|
||||
|
||||
function get_real_client_ip(){
|
||||
|
||||
$real_ip = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/', $_SERVER['HTTP_X_FORWARDED_FOR']) ){
|
||||
$real_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
|
||||
return preg_replace('/[^0-9.]/', '', $real_ip);
|
||||
}
|
||||
|
||||
function get_call_func_cache($func, $args=array()){
|
||||
|
||||
static $cache = array();
|
||||
@@ -3461,7 +3430,7 @@ function is_include_path_check($path='', $is_input='')
|
||||
if( $path ){
|
||||
if ($is_input){
|
||||
|
||||
if( stripos($path, 'php:') !== false || stripos($path, 'zlib:') !== false || stripos($path, 'bzip2:') !== false || stripos($path, 'zip:') !== false || stripos($path, 'data:') !== false || stripos($path, 'phar:') !== false ){
|
||||
if( strpos($path, 'php://') !== false || strpos($path, 'zlib://') !== false || strpos($path, 'bzip2://') !== false || strpos($path, 'zip://') !== false ){
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3501,14 +3470,14 @@ function is_include_path_check($path='', $is_input='')
|
||||
return false;
|
||||
}
|
||||
|
||||
if( preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', str_replace('\\', '/', $path)) ){
|
||||
if( preg_match('/\/data\/(file|editor)\/[A-Za-z0-9_]{1,20}\//', $path) ){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$extension = pathinfo($path, PATHINFO_EXTENSION);
|
||||
|
||||
if($extension && preg_match('/(jpg|jpeg|png|gif|bmp|conf)$/i', $extension)) {
|
||||
if($extension && preg_match('/(jpg|jpeg|png|gif|bmp|conf)$/', $extension)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ class LMS {
|
||||
function Send() {
|
||||
$fsocket = fsockopen($this->socket_host,$this->socket_port, $errno, $errstr, 2);
|
||||
if (!$fsocket) return false;
|
||||
set_time_limit(60);
|
||||
set_time_limit(300);
|
||||
|
||||
foreach($this->Data as $puts) {
|
||||
fputs($fsocket, $puts);
|
||||
|
||||
@@ -122,9 +122,9 @@ class SMS {
|
||||
}
|
||||
|
||||
function Send () {
|
||||
$fp=@fsockopen(trim($this->SMS_Server),trim($this->SMS_Port), $errno, $errstr, 2);
|
||||
$fp=@fsockopen(trim($this->SMS_Server),trim($this->SMS_Port));
|
||||
if (!$fp) return false;
|
||||
set_time_limit(60);
|
||||
set_time_limit(300);
|
||||
|
||||
## php4.3.10일경우
|
||||
## zend 최신버전으로 업해주세요..
|
||||
|
||||
@@ -11,9 +11,9 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
?>
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="<?php echo isset($view) ? 'view_is_list btn_top' : 'btn_top top';?>">
|
||||
<ul class="btn_top top">
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin"><i class="fa fa-user-circle" aria-hidden="true"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin"><i class="fa fa-user-circle" aria-hidden="true"></i><span class="sound_only"관리자</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02"><i class="fa fa-pencil" aria-hidden="true"></i> 글쓰기</a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
@@ -76,6 +76,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon"><i class="fa fa-volume-up" aria-hidden="true"></i>공지</strong><?php } ?>
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
|
||||
@@ -102,10 +102,6 @@ box-shadow: 0 0 8px rgba(65,98,255,0.8);}
|
||||
#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left;width:60%;padding:0 40px 0 10px}
|
||||
#bo_sch .sch_btn{height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
|
||||
|
||||
.view_is_list.btn_top{position:relative;z-index:auto;top:0;left:0}
|
||||
.view_is_list{margin:8px 10px 0;height:50px;padding:10px;line-height:30px;border-radius:3px;border-bottom:1px solid #ccc;background:#fff;color:#333;text-align:right}
|
||||
.view_is_list li{display:inline-block}
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%}
|
||||
|
||||
|
||||
@@ -153,8 +153,17 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<?php
|
||||
$cnt = 0;
|
||||
if ($view['link']['count']) {
|
||||
for ($i=0; $i<count($view['link']); $i++) {
|
||||
if (isset($view['link'][$i]['source']) && $view['link'][$i]['source'] && !$view['link'][$i]['view'])
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($cnt) { ?>
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
<ul>
|
||||
@@ -179,7 +188,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 관련링크 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
|
||||
@@ -86,7 +86,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($is_homepage) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_homepage" class="sound_only">홈페이지</label>
|
||||
<input type="text" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input full_input " placeholder="홈페이지">
|
||||
<input type="url" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input full_input " placeholder="홈페이지">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
@@ -119,7 +119,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
|
||||
<div class="bo_w_link write_div">
|
||||
<label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i> <span class="sound_only">링크 #<?php echo $i ?></span></label>
|
||||
<input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo $write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link">
|
||||
<input type="url" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo$write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<script src="<?php echo G5_JS_URL; ?>/jquery.fancylist.js"></script>
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="<?php echo isset($view) ? 'view_is_list btn_top' : 'btn_top top';?>">
|
||||
<ul class="btn_top top">
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin"><i class="fa fa-user-circle" aria-hidden="true"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02"><i class="fa fa-pencil" aria-hidden="true"></i> 글쓰기</a></li><?php } ?>
|
||||
@@ -103,6 +103,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
|
||||
@@ -125,10 +125,6 @@ box-shadow: 0 0 8px rgba(65,98,255,0.8);}
|
||||
#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left;width:60%;padding:0 40px 0 10px}
|
||||
#bo_sch .sch_btn{height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
|
||||
|
||||
.view_is_list.btn_top{position:relative;z-index:auto;top:0;left:0}
|
||||
.view_is_list{margin:8px 10px 0;height:50px;padding:10px;line-height:30px;border-radius:3px;border-bottom:1px solid #ccc;background:#fff;color:#333;text-align:right}
|
||||
.view_is_list li{display:inline-block}
|
||||
|
||||
#bo_gall li.empty_list {padding:30px 0;text-align:center}
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
|
||||
@@ -75,7 +75,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
?>
|
||||
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
|
||||
<?php //echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
|
||||
<?php//echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
|
||||
|
||||
<?php if ($is_signature) { ?><p><?php echo $signature ?></p><?php } ?>
|
||||
|
||||
@@ -153,8 +153,17 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<?php
|
||||
if ($view['link']['count']) {
|
||||
$cnt = 0;
|
||||
for ($i=0; $i<count($view['link']); $i++) {
|
||||
if (isset($view['link'][$i]['source']) && $view['link'][$i]['source'] && !$view['link'][$i]['view'])
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($cnt) { ?>
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
<ul>
|
||||
@@ -179,7 +188,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 관련링크 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
|
||||
@@ -86,7 +86,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($is_homepage) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_homepage" class="sound_only">홈페이지</label>
|
||||
<input type="text" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input full_input " placeholder="홈페이지">
|
||||
<input type="url" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input full_input " placeholder="홈페이지">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
@@ -119,7 +119,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
|
||||
<div class="bo_w_link write_div">
|
||||
<label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i> <span class="sound_only">링크 #<?php echo $i ?></span></label>
|
||||
<input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo $write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link">
|
||||
<input type="url" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo$write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
if($config['cf_cert_use']) {
|
||||
if($config['cf_cert_ipin'])
|
||||
echo '<button type="button" id="win_ipin_cert" class="btn_frmline btn">아이핀 본인확인</button>'.PHP_EOL;
|
||||
if($config['cf_cert_hp'])
|
||||
if($config['cf_cert_hp'] && $config['cf_cert_hp'] != 'lg')
|
||||
echo '<button type="button" id="win_hp_cert" class="btn_frmline btn">휴대폰 본인확인</button>'.PHP_EOL;
|
||||
|
||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
|
||||
@@ -106,7 +106,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<?php if ($config['cf_use_homepage']) { ?>
|
||||
<li>
|
||||
<label for="reg_mb_homepage" class="sound_only">홈페이지<?php if ($config['cf_req_homepage']){ ?><strong>필수</strong><?php } ?></label>
|
||||
<input type="text" name="mb_homepage" value="<?php echo get_text($member['mb_homepage']) ?>" id="reg_mb_homepage" class="frm_input full_input <?php echo $config['cf_req_homepage']?"required":""; ?>" maxlength="255" <?php echo $config['cf_req_homepage']?"required":""; ?> placeholder="홈페이지">
|
||||
<input type="url" name="mb_homepage" value="<?php echo get_text($member['mb_homepage']) ?>" id="reg_mb_homepage" class="frm_input full_input <?php echo $config['cf_req_homepage']?"required":""; ?>" maxlength="255" <?php echo $config['cf_req_homepage']?"required":""; ?> placeholder="홈페이지">
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
@@ -272,19 +272,19 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
$("#win_ipin_cert").click(function(e) {
|
||||
$("#win_ipin_cert").click(function() {
|
||||
if(!cert_confirm())
|
||||
return false;
|
||||
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php";
|
||||
certify_win_open('kcb-ipin', url, e);
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
$("#win_hp_cert").click(function(e) {
|
||||
$("#win_hp_cert").click(function() {
|
||||
if(!cert_confirm())
|
||||
return false;
|
||||
|
||||
@@ -298,10 +298,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||
$cert_type = 'kcp-hp';
|
||||
break;
|
||||
case 'lg':
|
||||
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||
$cert_type = 'lg-hp';
|
||||
break;
|
||||
default:
|
||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||
echo 'return false;';
|
||||
@@ -309,7 +305,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>", e);
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>");
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
@@ -215,7 +215,6 @@ box-shadow: 0 1px 4px #cbd1df;}
|
||||
#bo_v_ans h2 .tit_rpl{display:inline-block;font-size:11px;padding:0 5px;line-height:23px;font-weight:normal;background:#646982;color:#fff;}
|
||||
#bo_v_ans #ans_datetime {padding:5px 0 10px;border-bottom:1px solid #eee;color:#777}
|
||||
#bo_v_ans #ans_con {margin:10px 0 ;line-height:1.8em}
|
||||
#bo_v_ans #ans_con img{max-width:100%;height:auto}
|
||||
#bo_v_ans #ans_add {text-align:right}
|
||||
#bo_v_ans #ans_msg {padding:40px 0;background:#f2f5f9;text-align:center}
|
||||
#bo_v_ans .btn_submit{width:100%;height:40px;border-radius:5px}
|
||||
|
||||
@@ -9,7 +9,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
<i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $answer['qa_datetime']; ?>
|
||||
</div>
|
||||
<div id="ans_con">
|
||||
<?php echo get_view_thumbnail(conv_content($answer['qa_content'], $answer['qa_html']), $qaconfig['qa_image_width']); ?>
|
||||
<?php echo conv_content($answer['qa_content'], $answer['qa_html']); ?>
|
||||
</div>
|
||||
|
||||
<div id="ans_add">
|
||||
|
||||
@@ -47,13 +47,13 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=twitter&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-twitter" title="트위터">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">트위터+<i> 로그인</i></span>
|
||||
<span class="txt">트위터+<i> 트위터</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('payco') ) { //페이코 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=payco&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-payco" title="페이코">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이코<i> 로그인</i></span>
|
||||
<span class="txt">페이코 로그인</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
|
||||
@@ -69,7 +69,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=1,width=600,height=500"
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
|
||||
@@ -69,7 +69,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=1,width=600,height=500"
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
|
||||
@@ -54,7 +54,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
<?php if( social_service_check('payco') ) { //페이코 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=payco&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-payco" title="페이코">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이코<i> 로그인</i></span>
|
||||
<span class="txt">페이코 로그인</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
|
||||
@@ -70,7 +70,7 @@ add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=1,width=600,height=500"
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
|
||||
@@ -150,7 +150,7 @@ jQuery(function($){
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=1,width=600,height=500"
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
|
||||
@@ -9,6 +9,4 @@ play.afreeca.com/
|
||||
v.nate.com/
|
||||
www.microsoft.com/showcase/video.aspx/
|
||||
w.soundcloud.com/
|
||||
www.facebook.com/
|
||||
kakaotv.daum.net/
|
||||
v.afree.ca/
|
||||
www.facebook.com/
|
||||
@@ -165,8 +165,6 @@ $_SESSION['lgd_certify'] = $payReqMap;
|
||||
<input type="hidden" name="LGD_ENCODING" value="UTF-8"/>
|
||||
<?php
|
||||
foreach ($payReqMap as $key => $value) {
|
||||
$key = htmlspecialchars(strip_tags($key));
|
||||
$value = htmlspecialchars(strip_tags($value));
|
||||
echo "<input type='hidden' name='$key' id='$key' value='$value'/>".PHP_EOL;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -57,8 +57,6 @@ $payReqMap = $_SESSION['lgd_certify'];//결제 요청시, Session에 저장했
|
||||
<form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO">
|
||||
<?php
|
||||
foreach ($payReqMap as $key => $value) {
|
||||
$key = htmlspecialchars(strip_tags($key));
|
||||
$value = htmlspecialchars(strip_tags($value));
|
||||
echo "<input type='hidden' name='$key' id='$key' value='$value'>";
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -4,11 +4,8 @@ include_once('./_common.php');
|
||||
// 금일 인증시도 회수 체크
|
||||
certify_count_check($member['mb_id'], 'hp');
|
||||
|
||||
//include_once('./hpcert.config.php');
|
||||
include_once('./hpcert.config.php');
|
||||
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 include 로 수정함
|
||||
include('./hpcert.config.php');
|
||||
/**************************************************************************
|
||||
okname 실행
|
||||
**************************************************************************/
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
//include_once('./hpcert.config.php');
|
||||
include_once('./hpcert.config.php');
|
||||
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 include 로 수정함
|
||||
include('./hpcert.config.php');
|
||||
/**************************************************************************
|
||||
파일명 : safe_hs_cert3.php
|
||||
|
||||
|
||||
@@ -4,9 +4,7 @@ include_once('./_common.php');
|
||||
// 금일 인증시도 회수 체크
|
||||
certify_count_check($member['mb_id'], 'ipin');
|
||||
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 include 로 수정함
|
||||
include('./ipin.config.php');
|
||||
include_once('./ipin.config.php');
|
||||
|
||||
$option = "C";// Option
|
||||
|
||||
|
||||
@@ -267,7 +267,7 @@ if($config['cf_sms_type'] == 'LMS') {
|
||||
|
||||
$fsocket = fsockopen($this->socket_host,$this->socket_port, $errno, $errstr, 2);
|
||||
if (!$fsocket) return false;
|
||||
set_time_limit(60);
|
||||
set_time_limit(300);
|
||||
|
||||
foreach($this->Data as $puts) {
|
||||
fputs($fsocket, $puts);
|
||||
@@ -436,9 +436,9 @@ if($config['cf_sms_type'] == 'LMS') {
|
||||
exit;
|
||||
}
|
||||
|
||||
$fsocket=fsockopen($this->SMS_Server,$this->SMS_Port, $errno, $errstr, 2);
|
||||
$fsocket=fsockopen($this->SMS_Server,$this->SMS_Port);
|
||||
if (!$fsocket) return false;
|
||||
set_time_limit(60);
|
||||
set_time_limit(300);
|
||||
|
||||
## php4.3.10일경우
|
||||
## zend 최신버전으로 업해주세요..
|
||||
|
||||
@@ -20,11 +20,10 @@ $sns_send .= '&title='.$sns_msg;
|
||||
$facebook_url = $sns_send.'&sns=facebook';
|
||||
$twitter_url = $sns_send.'&sns=twitter';
|
||||
$gplus_url = $sns_send.'&sns=gplus';
|
||||
$bo_v_sns_class = $config['cf_kakao_js_apikey'] ? 'show_kakao' : '';
|
||||
?>
|
||||
|
||||
<?php if($config['cf_kakao_js_apikey']) { ?>
|
||||
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
|
||||
<?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>
|
||||
<script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>
|
||||
<script src="<?php echo G5_JS_URL; ?>/kakaolink.js"></script>
|
||||
<script>
|
||||
// 사용할 앱의 Javascript 키를 설정해 주세요.
|
||||
@@ -34,12 +33,12 @@ $bo_v_sns_class = $config['cf_kakao_js_apikey'] ? 'show_kakao' : '';
|
||||
<div class="bo_v_snswr">
|
||||
<button type="button" class="btn btn_b03 btn_share"><i class="fa fa-share-alt" aria-hidden="true"></i> SNS공유</button>
|
||||
|
||||
<ul id="bo_v_sns" class="<?php echo $bo_v_sns_class; ?>">
|
||||
<ul id="bo_v_sns">
|
||||
<li><a href="<?php echo $twitter_url; ?>" target="_blank" class="sns_t"><img src="<?php echo G5_SNS_URL; ?>/icon/twitter.png" alt="트위터로 보내기" width="20"></a></li>
|
||||
<li><a href="<?php echo $facebook_url; ?>" target="_blank" class="sns_f"><img src="<?php echo G5_SNS_URL; ?>/icon/facebook.png" alt="페이스북으로 보내기" width="20"></a></li>
|
||||
<li><a href="<?php echo $gplus_url; ?>" target="_blank" class="sns_g"><img src="<?php echo G5_SNS_URL; ?>/icon/gplus.png" alt="구글플러스로 보내기" width="20"></a></li>
|
||||
<?php if($config['cf_kakao_js_apikey']) { ?>
|
||||
<li><a href="javascript:kakaolink_send('<?php echo str_replace(array('%27', '\''), '', $sns_msg); ?>', '<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>');" class="sns_k" ><img src="<?php echo G5_SNS_URL; ?>/icon/kakaotalk.png" alt="카카오톡으로 보내기" width="20"></a></li>
|
||||
<?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>
|
||||
<li><a href="javascript:kakaolink_send('<?php echo $sns_msg; ?>', '<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>');" class="sns_k" ><img src="<?php echo G5_SNS_URL; ?>/icon/kakaotalk.png" alt="카카오톡으로 보내기" width="20"></a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -118,7 +118,7 @@ class Hybrid_Providers_Naver extends Hybrid_Provider_Model_OAuth2
|
||||
//$this->user->profile->identifier = (array_key_exists('enc_id',$data))?$data['enc_id']:"";
|
||||
$this->user->profile->identifier = (array_key_exists('id',$data))?$data['id']:"";
|
||||
$this->user->profile->age = (array_key_exists('age',$data))?$data['age']:"";
|
||||
$this->user->profile->username = (array_key_exists('name', $data)) ? $data['name'] : "";
|
||||
$this->user->profile->displayName = '';
|
||||
/*
|
||||
if( array_key_exists('email',$data) ){
|
||||
$tmp = explode("@", $data['email']);
|
||||
|
||||
@@ -278,12 +278,7 @@ function social_build_provider_config($provider){
|
||||
);
|
||||
|
||||
if( function_exists('social_extends_get_keys') ){
|
||||
$setting['providers'][$provider] = social_extends_get_keys($provider);
|
||||
}
|
||||
|
||||
if(defined('G5_SOCIAL_IS_DEBUG') && G5_SOCIAL_IS_DEBUG){
|
||||
$setting['debug_mode'] = true;
|
||||
$setting['debug_file'] = G5_DATA_PATH.'/tmp/social_'.md5($_SERVER['SERVER_SOFTWARE'].$_SERVER['SERVER_ADDR']).'_'.date('ymd').'.log';
|
||||
$setting["providers"][$provider] = social_extends_get_keys($provider);
|
||||
}
|
||||
|
||||
return $setting;
|
||||
|
||||
@@ -31,7 +31,6 @@ $user_id = $user_profile->sid ? preg_replace("/[^0-9a-z_]+/i", "", $user_profile
|
||||
$user_id = exist_mb_id_recursive($user_id);
|
||||
$user_nick = exist_mb_nick_recursive($user_nick, '');
|
||||
$is_exists_email = $user_email ? exist_mb_email($user_email, '') : false;
|
||||
$user_name = isset($user_profile->username) ? $user_profile->username : '';
|
||||
|
||||
// 불법접근을 막도록 토큰생성
|
||||
$token = md5(uniqid(rand(), true));
|
||||
|
||||
@@ -114,6 +114,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);
|
||||
if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);
|
||||
|
||||
+17
-20
@@ -65,7 +65,7 @@
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
/*
|
||||
#bo_w .tbl_frm01 #captcha {}
|
||||
@@ -99,8 +99,8 @@
|
||||
#bo_list .td_mng {width:80px;text-align:center}
|
||||
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
|
||||
#bo_list .td_nick {width:100px;text-align:center}
|
||||
#bo_list .td_num {width:50px;text-align:center}
|
||||
#bo_list .td_num2 {width:50px;text-align:center}
|
||||
#bo_list .td_num {width:50px;;text-align:center}
|
||||
#bo_list .td_num2 {width:50px;;text-align:center}
|
||||
#bo_list .td_numbig {width:80px;text-align:center}
|
||||
#bo_list .txt_active {color:#5d910b}
|
||||
#bo_list .txt_expired {color:#ccc}
|
||||
@@ -140,25 +140,24 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202);}
|
||||
.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */
|
||||
.bo_tit{display:block;color:#000;font-weight:bold;}
|
||||
.bo_current {color:#e8180c}
|
||||
/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/
|
||||
/*#bo_list .profile_img {display:inline-block;;margin-right:2px}*/
|
||||
#bo_list .profile_img img{border-radius:50%}
|
||||
#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle;
|
||||
-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);
|
||||
-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);
|
||||
box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);}
|
||||
|
||||
#bo_list .bo_tit .title_icon{margin-right:2px}
|
||||
#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle}
|
||||
#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal}
|
||||
#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px}
|
||||
#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px;font-weight: normal;}
|
||||
#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px}
|
||||
#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal}
|
||||
#bo_list .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;;vertical-align:middle;margin-right:2px;font-weight:normal}
|
||||
#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce}
|
||||
|
||||
|
||||
#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px}
|
||||
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;}
|
||||
#bo_sch select{border:0;;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;}
|
||||
#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left}
|
||||
#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px}
|
||||
|
||||
@@ -190,7 +189,7 @@ html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !importa
|
||||
.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box}
|
||||
#bo_v {margin-bottom:20px;padding:20px;background:#fff}
|
||||
|
||||
#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}
|
||||
|
||||
@@ -200,7 +199,7 @@ html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !importa
|
||||
-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
}
|
||||
#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all}
|
||||
#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0 }
|
||||
|
||||
#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666}
|
||||
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
@@ -237,7 +236,7 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
#bo_v_top {zoom:1}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul {padding:0;list-style:none;word-break:break-all}
|
||||
#bo_v_top ul {padding:0;list-style:none}
|
||||
|
||||
#bo_v_bot {zoom:1}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
@@ -250,7 +249,7 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
.bo_v_left {margin:20px 0;float:left}
|
||||
.bo_v_left li {float:left;margin-right:5px}
|
||||
|
||||
.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd}
|
||||
.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;;border-bottom:1px solid #ddd}
|
||||
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;}
|
||||
.bo_v_nb li:hover{background:#f6f6f6}
|
||||
@@ -275,13 +274,13 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
#bo_v_act a {margin-right:5px;vertical-align:middle}
|
||||
#bo_v_act a:hover{background-color:#f3f3f3}
|
||||
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
|
||||
#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
|
||||
#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
|
||||
#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
|
||||
|
||||
#bo_v_share{position:relative;margin:20px 0;text-align:right}
|
||||
#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5}
|
||||
#bo_v_share .btn:hover{background:#fff}
|
||||
#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;}
|
||||
#bo_v_share .btn i{margin-right:5px;;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;}
|
||||
#bo_v_share .btn_share{}
|
||||
#bo_v_share .btn_share:hover{}
|
||||
|
||||
@@ -289,13 +288,11 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;}
|
||||
#bo_v_sns li {float:left;width:60px;text-align:center}
|
||||
#bo_v_sns li {float:left;;width:60px;text-align:center}
|
||||
#bo_v_sns li a{height:40px;padding:10px 0;}
|
||||
#bo_v_sns li .sns_f{display:block;background:#415b92}
|
||||
#bo_v_sns li .sns_t{display:block;background:#35b3dc}
|
||||
#bo_v_sns li .sns_g{display:block;background:#d5503a}
|
||||
#bo_v_sns.show_kakao{width:240px;margin-left:-120px}
|
||||
#bo_v_sns li .sns_k{display:block;background:#fbe300}
|
||||
#bo_v_sns li img{vertical-align:top}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
@@ -314,7 +311,7 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em}
|
||||
#bo_vc p a {text-decoration:underline}
|
||||
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
|
||||
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
|
||||
#bo_vc_empty {margin:0;padding:80px 0 !important;;color:#777;text-align:center}
|
||||
#bo_vc #bo_vc_winfo {float:left}
|
||||
|
||||
.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1}
|
||||
@@ -360,7 +357,7 @@ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);}
|
||||
#bo_w .bo_w_tit{position:relative}
|
||||
#bo_w .bo_w_tit .frm_input{padding-right:120px;}
|
||||
#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;}
|
||||
#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888}
|
||||
#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888}
|
||||
#bo_w .bo_w_link .frm_input{padding-left:50px}
|
||||
#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888}
|
||||
#bo_w .bo_w_flie .frm_file{padding-left:50px;}
|
||||
|
||||
@@ -135,7 +135,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -133,7 +133,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
|
||||
<div class="bo_w_link write_div">
|
||||
<label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i><span class="sound_only"> 링크 #<?php echo $i ?></span></label>
|
||||
<input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo $write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input full_input" size="50">
|
||||
<input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo$write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input full_input" size="50">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -117,6 +117,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt">+ <?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']);
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
/*
|
||||
#bo_w .tbl_frm01 #captcha {}
|
||||
@@ -132,11 +132,11 @@ box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);}
|
||||
#bo_gall .profile_img img{border-radius:50%}
|
||||
#bo_gall .gall_name{margin:10px}
|
||||
|
||||
#bo_gall .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle}
|
||||
#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal}
|
||||
#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle}
|
||||
#bo_gall .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px}
|
||||
#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px;font-weight: normal;}
|
||||
#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px}
|
||||
#bo_gall .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px}
|
||||
#bo_gall .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px}
|
||||
#bo_gall .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;;vertical-align:middle;margin-right:2px}
|
||||
#bo_gall .bo_tit .fa-lock{display: inline-block;line-height: 16px;color: #999;text-align: center;vertical-align:middle;}
|
||||
|
||||
|
||||
@@ -163,14 +163,14 @@ box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);}
|
||||
.td_num strong {color:#000}
|
||||
.bo_cate_link {display:inline-block;margin:0 3px 0 0;font-size:0.92em;color:#3598db !important;font-weight:bold} /* 글제목줄 분류스타일 */
|
||||
.bo_current {color:#e8180c}
|
||||
#bo_list .profile_img {display:inline-block;margin-right:5px}
|
||||
#bo_list .profile_img {display:inline-block;;margin-right:5px}
|
||||
#bo_list .profile_img img{border-radius:50%}
|
||||
#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em}
|
||||
|
||||
#bo_sch {float:left;border:1px solid #ccc;border-radius:3px;margin:0 0 20px;background:#fff}
|
||||
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;}
|
||||
#bo_sch select{border:0;;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;}
|
||||
#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left}
|
||||
#bo_sch .sch_btn{height:38px;float:left;background:url('./img/sch_btn.png') no-repeat 50% 50%;border:0;width:40px;text-indent:-999px;overflow:hidden}
|
||||
|
||||
@@ -204,7 +204,7 @@ html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !importa
|
||||
.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box}
|
||||
#bo_v {margin-bottom:20px;padding:20px;background:#fff}
|
||||
|
||||
#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}
|
||||
|
||||
@@ -213,7 +213,7 @@ html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !importa
|
||||
-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202);
|
||||
box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all}
|
||||
#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0 }
|
||||
|
||||
#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666}
|
||||
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
@@ -250,12 +250,12 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_v_top {zoom:1}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul {padding:0;list-style:none;word-break:break-all}
|
||||
#bo_v_top ul ;padding:0;list-style:none}
|
||||
|
||||
#bo_v_bot {zoom:1}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {padding:0;list-style:none}
|
||||
#bo_v_bot ul {;padding:0;list-style:none}
|
||||
|
||||
.bo_v_com {margin:20px 0;float:right}
|
||||
.bo_v_com li {float:left;margin-left:5px}
|
||||
@@ -263,7 +263,7 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
.bo_v_left {margin:20px 0;float:left}
|
||||
.bo_v_left li {float:left;margin-right:5px}
|
||||
|
||||
.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd}
|
||||
.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;;border-bottom:1px solid #ddd}
|
||||
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;}
|
||||
.bo_v_nb li:hover{background:#f6f6f6}
|
||||
@@ -288,13 +288,13 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_v_act a {margin-right:5px;vertical-align:middle}
|
||||
#bo_v_act a:hover{background-color:#f3f3f3}
|
||||
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
|
||||
#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
|
||||
#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
|
||||
#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
|
||||
|
||||
#bo_v_share{position:relative;margin:20px 0;text-align:right}
|
||||
#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5}
|
||||
#bo_v_share .btn:hover{background:#fff}
|
||||
#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;}
|
||||
#bo_v_share .btn i{margin-right:5px;;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;}
|
||||
#bo_v_share .btn_share{}
|
||||
#bo_v_share .btn_share:hover{}
|
||||
|
||||
@@ -302,13 +302,11 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;}
|
||||
#bo_v_sns li {float:left;width:60px;text-align:center}
|
||||
#bo_v_sns li {float:left;;width:60px;text-align:center}
|
||||
#bo_v_sns li a{height:40px;padding:10px 0;}
|
||||
#bo_v_sns li .sns_f{display:block;background:#415b92}
|
||||
#bo_v_sns li .sns_t{display:block;background:#35b3dc}
|
||||
#bo_v_sns li .sns_g{display:block;background:#d5503a}
|
||||
#bo_v_sns.show_kakao{width:240px;margin-left:-120px}
|
||||
#bo_v_sns li .sns_k{display:block;background:#fbe300}
|
||||
#bo_v_sns li img{vertical-align:top}
|
||||
|
||||
|
||||
@@ -328,7 +326,7 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em}
|
||||
#bo_vc p a {text-decoration:underline}
|
||||
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
|
||||
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
|
||||
#bo_vc_empty {margin:0;padding:80px 0 !important;;color:#777;text-align:center}
|
||||
#bo_vc #bo_vc_winfo {float:left}
|
||||
|
||||
.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1}
|
||||
@@ -373,7 +371,7 @@ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);}
|
||||
#bo_w .bo_w_tit{position:relative}
|
||||
#bo_w .bo_w_tit .frm_input{padding-right:120px;}
|
||||
#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;}
|
||||
#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888}
|
||||
#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888}
|
||||
#bo_w .bo_w_link .frm_input{padding-left:50px}
|
||||
#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888}
|
||||
#bo_w .bo_w_flie .frm_file{padding-left:50px;}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user