diff --git a/adm/admin.lib.php b/adm/admin.lib.php index 5363b6d40..e0fd39dee 100644 --- a/adm/admin.lib.php +++ b/adm/admin.lib.php @@ -379,6 +379,47 @@ function get_sanitize_input($s, $is_html=false){ return $s; } +function check_log_folder($log_path){ + + if( is_writable($log_path) ){ + + // 아파치 서버인 경우 웹에서 해당 폴더 접근 막기 + $htaccess_file = $log_path.'/.htaccess'; + if ( !file_exists( $htaccess_file ) ) { + if ( $handle = @fopen( $htaccess_file, 'w' ) ) { + fwrite( $handle, 'Order deny,allow' . "\n" ); + fwrite( $handle, 'Deny from all' . "\n" ); + fclose( $handle ); + } + } + + // 아파치 서버인 경우 해당 디렉토리 파일 목록 안보이게 하기 + $index_file = $log_path . '/index.php'; + if ( !file_exists( $index_file ) ) { + if ( $handle = @fopen( $index_file, 'w' ) ) { + fwrite( $handle, '' ); + fclose( $handle ); + } + } + } + + // txt 파일과 log 파일을 조회하여 30일이 지난 파일은 삭제합니다. + $txt_files = glob($log_path.'/*.txt'); + $log_files = glob($log_path.'/*.log'); + + $del_files = array_merge($txt_files, $log_files); + + if( $del_files && is_array($del_files) ){ + foreach ($del_files as $del_file) { + $filetime = filemtime($del_file); + // 30일이 지난 파일을 삭제 + if($filetime && $filetime < (G5_SERVER_TIME - 2592000)) { + @unlink($del_file); + } + } + } +} + // POST로 넘어온 토큰과 세션에 저장된 토큰 비교 function check_admin_token() { @@ -435,7 +476,7 @@ function admin_check_xss_params($params){ if ( empty($value) ) continue; if( is_array($value) ){ - admin_check_xss_params($params); + admin_check_xss_params($value); } else if ( preg_match('/<\s?[^\>]*\/?\s?>/i', $value) && (preg_match('/script.*?\/script/ius', $value) || preg_match('/onload=.*/ius', $value)) ){ alert('요청 쿼리에 잘못된 스크립트문장이 있습니다.\\nXSS 공격일수도 있습니다.'); die(); diff --git a/adm/board_copy_update.php b/adm/board_copy_update.php index fede12b88..f94af52a8 100644 --- a/adm/board_copy_update.php +++ b/adm/board_copy_update.php @@ -38,43 +38,43 @@ $sql = " insert into {$g5['board_table']} bo_subject = '$target_subject', bo_device = '{$board['bo_device']}', bo_admin = '{$board['bo_admin']}', - bo_list_level = '{$board[bo_list_level]}', - bo_read_level = '{$board[bo_read_level]}', - bo_write_level = '{$board[bo_write_level]}', - bo_reply_level = '{$board[bo_reply_level]}', - bo_comment_level = '{$board[bo_comment_level]}', - bo_upload_level = '{$board[bo_upload_level]}', - bo_download_level = '{$board[bo_download_level]}', - bo_html_level = '{$board[bo_html_level]}', - bo_link_level = '{$board[bo_link_level]}', - bo_count_modify = '{$board[bo_count_modify]}', - bo_count_delete = '{$board[bo_count_delete]}', - bo_read_point = '{$board[bo_read_point]}', - bo_write_point = '{$board[bo_write_point]}', - bo_comment_point = '{$board[bo_comment_point]}', - bo_download_point = '{$board[bo_download_point]}', - bo_use_category = '{$board[bo_use_category]}', + bo_list_level = '{$board['bo_list_level']}', + bo_read_level = '{$board['bo_read_level']}', + bo_write_level = '{$board['bo_write_level']}', + bo_reply_level = '{$board['bo_reply_level']}', + bo_comment_level = '{$board['bo_comment_level']}', + bo_upload_level = '{$board['bo_upload_level']}', + bo_download_level = '{$board['bo_download_level']}', + bo_html_level = '{$board['bo_html_level']}', + bo_link_level = '{$board['bo_link_level']}', + bo_count_modify = '{$board['bo_count_modify']}', + bo_count_delete = '{$board['bo_count_delete']}', + bo_read_point = '{$board['bo_read_point']}', + bo_write_point = '{$board['bo_write_point']}', + bo_comment_point = '{$board['bo_comment_point']}', + bo_download_point = '{$board['bo_download_point']}', + bo_use_category = '{$board['bo_use_category']}', bo_category_list = '{$board['bo_category_list']}', - bo_use_sideview = '{$board[bo_use_sideview]}', - bo_use_file_content = '{$board[bo_use_file_content]}', - bo_use_secret = '{$board[bo_use_secret]}', - bo_use_dhtml_editor = '{$board[bo_use_dhtml_editor]}', - bo_use_rss_view = '{$board[bo_use_rss_view]}', - bo_use_good = '{$board[bo_use_good]}', - bo_use_nogood = '{$board[bo_use_nogood]}', - bo_use_name = '{$board[bo_use_name]}', - bo_use_signature = '{$board[bo_use_signature]}', - bo_use_ip_view = '{$board[bo_use_ip_view]}', + bo_use_sideview = '{$board['bo_use_sideview']}', + bo_use_file_content = '{$board['bo_use_file_content']}', + bo_use_secret = '{$board['bo_use_secret']}', + bo_use_dhtml_editor = '{$board['bo_use_dhtml_editor']}', + bo_use_rss_view = '{$board['bo_use_rss_view']}', + bo_use_good = '{$board['bo_use_good']}', + bo_use_nogood = '{$board['bo_use_nogood']}', + bo_use_name = '{$board['bo_use_name']}', + bo_use_signature = '{$board['bo_use_signature']}', + bo_use_ip_view = '{$board['bo_use_ip_view']}', bo_use_list_view = '{$board['bo_use_list_view']}', - bo_use_list_content = '{$board[bo_use_list_content]}', - bo_table_width = '{$board[bo_table_width]}', - bo_subject_len = '{$board[bo_subject_len]}', - bo_mobile_subject_len = '{$board[bo_mobile_subject_len]}', - bo_page_rows = '{$board[bo_page_rows]}', - bo_mobile_page_rows = '{$board[bo_mobile_page_rows]}', - bo_new = '{$board[bo_new]}', - bo_hot = '{$board[bo_hot]}', - bo_image_width = '{$board[bo_image_width]}', + bo_use_list_content = '{$board['bo_use_list_content']}', + bo_table_width = '{$board['bo_table_width']}', + bo_subject_len = '{$board['bo_subject_len']}', + bo_mobile_subject_len = '{$board['bo_mobile_subject_len']}', + bo_page_rows = '{$board['bo_page_rows']}', + bo_mobile_page_rows = '{$board['bo_mobile_page_rows']}', + bo_new = '{$board['bo_new']}', + bo_hot = '{$board['bo_hot']}', + bo_image_width = '{$board['bo_image_width']}', bo_skin = '{$board['bo_skin']}', bo_mobile_skin = '{$board['bo_mobile_skin']}', bo_include_head = '{$board['bo_include_head']}', @@ -84,20 +84,21 @@ $sql = " insert into {$g5['board_table']} bo_mobile_content_head = '".addslashes($board['bo_mobile_content_head'])."', bo_mobile_content_tail = '".addslashes($board['bo_mobile_content_tail'])."', bo_insert_content = '".addslashes($board['bo_insert_content'])."', - bo_gallery_cols = '{$board[bo_gallery_cols]}', - bo_gallery_width = '{$board[bo_gallery_width]}', - bo_gallery_height = '{$board[bo_gallery_height]}', - bo_mobile_gallery_width = '{$board[bo_mobile_gallery_width]}', - bo_mobile_gallery_height = '{$board[bo_mobile_gallery_height]}', - bo_upload_size = '{$board[bo_upload_size]}', - bo_reply_order = '{$board[bo_reply_order]}', - bo_use_search = '{$board[bo_use_search]}', - bo_order = '{$board[bo_order]}', + bo_gallery_cols = '{$board['bo_gallery_cols']}', + bo_gallery_width = '{$board['bo_gallery_width']}', + bo_gallery_height = '{$board['bo_gallery_height']}', + bo_mobile_gallery_width = '{$board['bo_mobile_gallery_width']}', + bo_mobile_gallery_height = '{$board['bo_mobile_gallery_height']}', + bo_upload_size = '{$board['bo_upload_size']}', + bo_reply_order = '{$board['bo_reply_order']}', + bo_use_search = '{$board['bo_use_search']}', + bo_order = '{$board['bo_order']}', bo_notice = '{$board['bo_notice']}', - bo_upload_count = '{$board[bo_upload_count]}', - bo_use_email = '{$board[bo_use_email]}', - bo_use_cert = '{$board[bo_use_cert]}', - bo_use_sns = '{$board[bo_use_sns]}', + bo_upload_count = '{$board['bo_upload_count']}', + bo_use_email = '{$board['bo_use_email']}', + bo_use_cert = '{$board['bo_use_cert']}', + bo_use_sns = '{$board['bo_use_sns']}', + bo_use_captcha = '{$board['bo_use_captcha']}', bo_sort_field = '{$board['bo_sort_field']}', bo_1_subj = '".addslashes($board['bo_1_subj'])."', bo_2_subj = '".addslashes($board['bo_2_subj'])."', diff --git a/adm/config_form.php b/adm/config_form.php index a2445f6da..848780e52 100644 --- a/adm/config_form.php +++ b/adm/config_form.php @@ -1458,16 +1458,29 @@ if($config['cf_cert_use']) { $log_path = G5_LGXPAY_PATH.'/lgdacom/log'; if(!is_dir($log_path)) { - echo ''.PHP_EOL; - } else { - if(!is_writable($log_path)) { + + if( is_writable(G5_LGXPAY_PATH.'/lgdacom/') ){ + // 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.) + @mkdir($log_path, G5_DIR_PERMISSION); + @chmod($log_path, G5_DIR_PERMISSION); + } + + if(!is_dir($log_path)){ echo ''.PHP_EOL; } } + + if(is_dir($log_path) && is_writable($log_path)) { + if( function_exists('check_log_folder') ){ + check_log_folder($log_path); + } + } else if (is_dir($log_path)) { + echo ''.PHP_EOL; + } } } diff --git a/adm/sms_admin/emoticon_move_update.php b/adm/sms_admin/emoticon_move_update.php index aa1227f6a..8fe03b539 100644 --- a/adm/sms_admin/emoticon_move_update.php +++ b/adm/sms_admin/emoticon_move_update.php @@ -6,6 +6,8 @@ auth_check($auth[$sub_menu], "r"); if(!count($_POST['chk_fg_no'])) alert('이모티콘을 이동할 그룹을 한개 이상 선택해 주십시오.', $url); +$fo_no_list = preg_replace('/[^a-zA-Z0-9\, ]/', '', $fo_no_list); + $sql = "select * from {$g5['sms5_form_table']} where fo_no in ($fo_no_list) order by fo_no desc "; $result = sql_query($sql); $save = array(); diff --git a/adm/sms_admin/history_num.php b/adm/sms_admin/history_num.php index 530cfcdcd..f53dfb407 100644 --- a/adm/sms_admin/history_num.php +++ b/adm/sms_admin/history_num.php @@ -16,6 +16,10 @@ if ($st && trim($sv)) else $sql_search = ""; +if( isset($st) && !in_array($st, array('hs_name', 'hs_hp', 'bk_no')) ){ + $st = ''; +} + $total_res = sql_fetch("select count(*) as cnt from {$g5['sms5_history_table']} where 1 $sql_search"); $total_count = $total_res['cnt']; diff --git a/adm/sms_admin/history_view.php b/adm/sms_admin/history_view.php index 2fd9d1b0c..498d7fe03 100644 --- a/adm/sms_admin/history_view.php +++ b/adm/sms_admin/history_view.php @@ -8,6 +8,10 @@ $colspan = 10; $st = isset($st) ? strip_tags($st) : ''; $ssv = isset($ssv) ? strip_tags($ssv) : ''; +if( $st && !in_array($st, array('hs_name', 'hs_hp', 'bk_no')) ){ + $st = ''; +} + auth_check($auth[$sub_menu], "r"); $g5['title'] = "문자전송 상세내역"; diff --git a/adm/sms_admin/num_book_move.php b/adm/sms_admin/num_book_move.php index 0097f9150..f69248d89 100644 --- a/adm/sms_admin/num_book_move.php +++ b/adm/sms_admin/num_book_move.php @@ -31,8 +31,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
- - + +
diff --git a/adm/sms_admin/number_move_update.php b/adm/sms_admin/number_move_update.php index ad24a7010..76ad32fcb 100644 --- a/adm/sms_admin/number_move_update.php +++ b/adm/sms_admin/number_move_update.php @@ -6,6 +6,8 @@ auth_check($auth[$sub_menu], "r"); if(!count($_POST['chk_bg_no'])) alert('번호를 '.$act.'할 그룹을 한개 이상 선택해 주십시오.', $url); +$bk_no_list = preg_replace('/[^a-zA-Z0-9\, ]/', '', $bk_no_list); + $sql = "select * from {$g5['sms5_book_table']} where bk_no in ($bk_no_list) order by bk_no desc "; $result = sql_query($sql); $save = array(); diff --git a/bbs/alert.php b/bbs/alert.php index b1117d347..1d74ad4b4 100644 --- a/bbs/alert.php +++ b/bbs/alert.php @@ -68,7 +68,7 @@ history.back(); $value) { - $key = clean_xss_tags($url); + $key = clean_xss_tags($key); $value = clean_xss_tags($value); if(strlen($value) < 1) diff --git a/bbs/board.php b/bbs/board.php index 5aa1836a8..05c0f8878 100644 --- a/bbs/board.php +++ b/bbs/board.php @@ -30,7 +30,7 @@ if (isset($wr_id) && $wr_id) { if (isset($group['gr_use_access']) && $group['gr_use_access']) { if ($is_guest) { $msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오."; - alert($msg, './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); + alert($msg, G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); } // 그룹관리자 이상이라면 통과 @@ -51,14 +51,14 @@ if (isset($wr_id) && $wr_id) { if ($is_member) alert('글을 읽을 권한이 없습니다.', G5_URL); else - alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); + alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); } // 본인확인을 사용한다면 if ($config['cf_cert_use'] && !$is_admin) { // 인증된 회원만 가능 if ($board['bo_use_cert'] != '' && $is_guest) { - alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); + alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); } if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) { @@ -144,14 +144,14 @@ if (isset($wr_id) && $wr_id) { if ($member['mb_id']) alert('목록을 볼 권한이 없습니다.', G5_URL); else - alert('목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&':''))); + alert('목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&':''))); } // 본인확인을 사용한다면 if ($config['cf_cert_use'] && !$is_admin) { // 인증된 회원만 가능 if ($board['bo_use_cert'] != '' && $is_guest) { - alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); + alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr))); } if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) { diff --git a/bbs/delete.php b/bbs/delete.php index c0a4d1d1c..3f279e4fb 100644 --- a/bbs/delete.php +++ b/bbs/delete.php @@ -30,7 +30,7 @@ else if ($is_admin == 'group') { // 그룹관리자 alert('자신의 글이 아니므로 삭제할 수 없습니다.'); } else { if ($write['mb_id']) - alert('로그인 후 삭제하세요.', './login.php?url='.urlencode(get_pretty_url($bo_table, $wr_id))); + alert('로그인 후 삭제하세요.', G5_BBS_URL.'/login.php?url='.urlencode(get_pretty_url($bo_table, $wr_id))); else if (!check_password($wr_password, $write['wr_password'])) alert('비밀번호가 틀리므로 삭제할 수 없습니다.'); } diff --git a/bbs/memo_form_update.php b/bbs/memo_form_update.php index a3ecd296b..7fa950efc 100644 --- a/bbs/memo_form_update.php +++ b/bbs/memo_form_update.php @@ -67,14 +67,14 @@ for ($i=0; $i 추가 + // 보안 목적 : rar wrapper 차단 - 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( stripos($path, 'rar:') !== false || stripos($path, 'php:') !== false || stripos($path, 'zlib:') !== false || stripos($path, 'bzip2:') !== false || stripos($path, 'zip:') !== false || stripos($path, 'data:') !== false || stripos($path, 'phar:') !== false ){ return false; } diff --git a/lib/latest.lib.php b/lib/latest.lib.php index eb9d1c05f..3455977a1 100644 --- a/lib/latest.lib.php +++ b/lib/latest.lib.php @@ -1,5 +1,6 @@ '', 'bf_content'=>''); $list[$i]['bo_table'] = $bo_table; // 썸네일 추가 - if($options) { + if($options && is_string($options)) { $options_arr = explode(',', $options); $thumb_width = $options_arr[0]; $thumb_height = $options_arr[1]; diff --git a/mobile/skin/content/basic/style.css b/mobile/skin/content/basic/style.css index 638229597..09a64624c 100644 --- a/mobile/skin/content/basic/style.css +++ b/mobile/skin/content/basic/style.css @@ -4,5 +4,6 @@ #ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} .ctt_admin {margin:0 5px;text-align:right} #ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto} #ctt_con {padding:10px 0} .ctt_img {text-align:center} \ No newline at end of file diff --git a/plugin/lgxpay/lgdacom/XPayClient.php b/plugin/lgxpay/lgdacom/XPayClient.php index 177d0becc..07543e50a 100644 --- a/plugin/lgxpay/lgdacom/XPayClient.php +++ b/plugin/lgxpay/lgdacom/XPayClient.php @@ -143,7 +143,7 @@ class XPayClient // log_dir 재설정 $this->config["log_dir"] = $home_dir."/log"; - $this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . ".log"; + $this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . '_' . substr(md5(mt_rand()), 0, 12) . ".log"; // make log directory if does not exist if (!file_exists($this->config["log_dir"])) { mkdir($this->config["log_dir"], "0777", true); @@ -604,6 +604,10 @@ class XPayClient function Log($msg, $level=LGD_LOG_FATAL) { + if( !(defined('LGD_LOG_SAVE') && LGD_LOG_SAVE) ){ + return; + } + if ($level > $this->config["log_level"]) return; $err_msg = date("Y-m-d H:i:s")." [".$this->err_label[$level]."] [".$this->TX_ID."] ".$msg."\n"; diff --git a/plugin/lgxpay/lgdacom/XPayClient4DB.php b/plugin/lgxpay/lgdacom/XPayClient4DB.php index c657d68ea..b330656b1 100644 --- a/plugin/lgxpay/lgdacom/XPayClient4DB.php +++ b/plugin/lgxpay/lgdacom/XPayClient4DB.php @@ -141,7 +141,7 @@ class XPayClient $array3 = array($mid => $mertkey); $this->config = $array1 + $array2 + $array3; - $this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . ".log"; + $this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . '_' . substr(md5(mt_rand()), 0, 12) . ".log"; // make log directory if does not exist if (!file_exists($this->config["log_dir"])) { mkdir($this->config["log_dir"], "0777", true); @@ -602,6 +602,10 @@ class XPayClient function Log($msg, $level=LGD_LOG_FATAL) { + if( !(defined('LGD_LOG_SAVE') && LGD_LOG_SAVE) ){ + return; + } + if ($level > $this->config["log_level"]) return; $err_msg = date("Y-m-d H:i:s")." [".$this->err_label[$level]."] [".$this->TX_ID."] ".$msg."\n"; diff --git a/skin/content/basic/style.css b/skin/content/basic/style.css index 806aee24a..225b60f1a 100644 --- a/skin/content/basic/style.css +++ b/skin/content/basic/style.css @@ -5,5 +5,5 @@ .ctt_admin {text-align:right} #ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} #ctt_con {padding:10px 0;line-height:1.6em} -#ctt_con img{max-width:100%;height:auto} +#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto} .ctt_img {text-align:center} \ No newline at end of file diff --git a/theme/54/css/default.css b/theme/54/css/default.css index c8489227e..c0ece1a38 100644 --- a/theme/54/css/default.css +++ b/theme/54/css/default.css @@ -107,17 +107,19 @@ border:1px solid #558ab7 !important; #gnb .gnb_wrap {margin:0 auto;position:relative;z-index:10} #gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1} #gnb ul:after {display:block;visibility:hidden;clear:both;content:""} -#gnb .gnb_1dli {float:left;line-height:55px;padding:0 15px;position:relative} +#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative} #gnb .gnb_1dli:hover > a {color:#3a8afd; -webkit-transition:background-color 2s ease-out; -moz-transition:background-color 0.3s ease-out; -o-transition:background-color 0.3s ease-out; transition:background-color 0.3s ease-out} -.gnb_1dli .bg {display:inline-block;width:10px;height:10px;overflow:hidden;background:url(../img/gnb_bg2.gif) no-repeat 50% 50%;text-indent:-999px} -.gnb_1da {display:inline-block;font-weight:bold;color:#080808;text-decoration:none} +.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('../img/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px} +.gnb_1da {display:block;font-weight:bold;padding:0 15px;color:#080808;text-decoration:none} +.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px} .gnb_2dli:first-child {border:0} -.gnb_2dul {display:none;position:absolute;top:56px;min-width:140px;border:1px solid #e0e2e5;border-top:0;padding:0; +.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px} +.gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;border-top:0;padding:0; -webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2); -moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2); box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)} @@ -150,7 +152,7 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)} #gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd} #gnb_all .gnb_al_li li {line-height:2em} #gnb_all .gnb_al_li li a {color:#555} -#gnb_all_bg {display:none;background:#292929b8;width:100%;height:100%;position:fixed;left:0;top:0;z-index:999} +#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999} /* 중간 레이아웃 */ #wrapper {} @@ -158,7 +160,7 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)} #container_wr {z-index:5;margin:0 auto;height:100%;zoom:1} #aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px} -#container {/*background:pink;*/z-index:4;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1} +#container {z-index:4;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1} #container:after {display:block;visibility:hidden;clear:both;content:""} #container_title {font-size:1.333em;margin:0 auto;font-weight:bold} #container_title span {margin:0 auto 10px;display:block;line-height:30px} @@ -280,7 +282,7 @@ a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none; /* 기본테이블 */ -.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;border-top:1px solid #ececec;border-bottom:1px solid #ececec} +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} .tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left} .tbl_head01 {margin:0 0 10px} .tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} @@ -288,7 +290,7 @@ a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none; .tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ .tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} .tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8} -.tbl_head01 td {color:#666;background:#fff;padding:10px 5px;border-top:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all} +.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all} .tbl_head01 tbody tr:hover td {background:#fafafa} .tbl_head01 a:hover {text-decoration:underline} diff --git a/theme/54/head.php b/theme/54/head.php index ed3896e39..6ea95d57f 100644 --- a/theme/54/head.php +++ b/theme/54/head.php @@ -132,9 +132,10 @@ include_once(G5_LIB_PATH.'/popular.lib.php'); $i = 0; foreach( $menu_datas as $row ){ - if( empty($row) ) continue; + if( empty($row) ) continue; + $add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : ''; ?> -
  • +
  • 하위분류
      '.PHP_EOL; + echo '하위분류
        '.PHP_EOL; ?>
      • 0) - echo '
      '.PHP_EOL; + echo '
  • '.PHP_EOL; ?> - - - -
    diff --git a/theme/54/mobile/skin/member/basic/style.css b/theme/54/mobile/skin/member/basic/style.css index ea4fb185e..6086abce2 100644 --- a/theme/54/mobile/skin/member/basic/style.css +++ b/theme/54/mobile/skin/member/basic/style.css @@ -278,20 +278,20 @@ #point .point_all:after {display:block;visibility:hidden;clear:both;content:""} #point .point_all li {float:left;width:50%;padding:20px;text-align:left} #point .point_all li span {float:right;color:#485172;font-weight:bold} -#point .point_all .full_li {width:100%;text-align:left} -#point .point_all .full_li span {color:#3a8afd;font-weight:bold;font-size:1.2em} +#point .point_all li:last-child {border-left:1px solid #d6e2f4} +#point .point_all .full_li {width:100%;border-bottom:1px solid #d6e2f4;text-align:left} +#point .point_all .full_li span {color:#000;font-weight:bold;font-size:1.2em} #point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em;text-align:left} #point .point_status:after {display:block;visibility:hidden;clear:both;content:""} #point .point_status span{margin-left:10px;float:right} - .point_list {margin-bottom:20px} .point_list li:first-child {border-top:1px solid #ececec} .point_list li {border-bottom:1px solid #ececec;background:#fff;padding:15px;list-style:none;position:relative} .point_list li:after {display:block;visibility:hidden;clear:both;content:""} .point_list .point_use {background:#f6f6f6} -.point_list .point_use .point_num {font-size:1.25em;color:#707071;font-weight:bold;float:right} +.point_list .point_use .point_num {font-size:1.25em;color:#ff4f76;font-weight:bold;float:right} .point_list .point_num {font-size:1.25em;color:#3a8afd;font-weight:bold;position:absolute;right:15px;top:25px} .point_list .point_top {line-height:15px;margin:0 0 5px} .point_list .point_top:after {display:block;visibility:hidden;clear:both;content:""} diff --git a/theme/54/skin/board/basic/list.skin.php b/theme/54/skin/board/basic/list.skin.php index 8ed06e057..3a60e9902 100644 --- a/theme/54/skin/board/basic/list.skin.php +++ b/theme/54/skin/board/basic/list.skin.php @@ -55,7 +55,7 @@ add_stylesheet('', 0
  • 글쓰기
  • - +
  • - +
    diff --git a/theme/54/skin/board/basic/style.css b/theme/54/skin/board/basic/style.css index ecc3716b5..72223bca8 100644 --- a/theme/54/skin/board/basic/style.css +++ b/theme/54/skin/board/basic/style.css @@ -88,7 +88,7 @@ #bo_list {position:relative;margin-bottom:20px} #bo_list:after {display:block;visibility:hidden;clear:both;content:""} #bo_list .td_board {width:120px;text-align:center} -#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} #bo_list .td_date {width:60px;text-align:center} #bo_list .td_datetime {width:60px;text-align:center} #bo_list .td_group {width:100px;text-align:center} diff --git a/theme/54/skin/board/basic/view.skin.php b/theme/54/skin/board/basic/view.skin.php index 09ead2ffc..7e9bab2a3 100644 --- a/theme/54/skin/board/basic/view.skin.php +++ b/theme/54/skin/board/basic/view.skin.php @@ -45,8 +45,8 @@ add_stylesheet('', 0
  • 글쓰기
  • - -