diff --git a/adm/_common.php b/adm/_common.php index 074ed3b51..316c629c3 100644 --- a/adm/_common.php +++ b/adm/_common.php @@ -6,4 +6,6 @@ include_once(G5_ADMIN_PATH.'/admin.lib.php'); if( isset($token) ){ $token = @htmlspecialchars(strip_tags($token), ENT_QUOTES); } + +run_event('admin_common'); ?> \ No newline at end of file diff --git a/adm/admin.lib.php b/adm/admin.lib.php index 91524913d..31f765e45 100644 --- a/adm/admin.lib.php +++ b/adm/admin.lib.php @@ -486,6 +486,37 @@ function admin_check_xss_params($params){ return; } +function admin_menu_find_by($call, $search_key){ + global $menu; + + static $cache_menu = array(); + + if( empty($cache_menu) ){ + foreach( $menu as $k1=>$arr1 ){ + + if (empty($arr1) ) continue; + foreach( $arr1 as $k2=>$arr2 ){ + if (empty($arr2) ) continue; + + $menu_key = isset($arr2[3]) ? $arr2[3] : ''; + if (empty($menu_key) ) continue; + + $cache_menu[$menu_key] = array( + 'sub_menu'=>$arr2[0], + 'title'=>$arr2[1], + 'link'=>$arr2[2], + ); + } + } + } + + if( isset($cache_menu[$call]) && isset($cache_menu[$call][$search_key]) ){ + return$cache_menu[$call][$search_key]; + } + + return ''; +} + // 접근 권한 검사 if (!$member['mb_id']) { @@ -541,6 +572,11 @@ foreach($menu_files as $file){ } @ksort($amenu); +$amenu = run_replace('admin_amenu', $amenu); +if( isset($menu) && $menu ){ + $menu = run_replace('admin_menu', $menu); +} + $arr_query = array(); if (isset($sst)) $arr_query[] = 'sst='.$sst; if (isset($sod)) $arr_query[] = 'sod='.$sod; diff --git a/adm/board_copy_update.php b/adm/board_copy_update.php index f94af52a8..772758484 100644 --- a/adm/board_copy_update.php +++ b/adm/board_copy_update.php @@ -160,6 +160,8 @@ if ($copy_case == 'schema_data_both') { } } $d->close(); + + run_event('admin_board_copy_file', $bo_table, $target_table); // 글복사 $sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table "; @@ -181,6 +183,9 @@ if ($copy_case == 'schema_data_both') { if (count($file_copy)) { for ($i=0; $i diff --git a/adm/board_list_update.php b/adm/board_list_update.php index c3faae7d9..8a5ba44ec 100644 --- a/adm/board_list_update.php +++ b/adm/board_list_update.php @@ -10,6 +10,10 @@ if (!count($_POST['chk'])) { check_admin_token(); +$act_button = isset($_POST['act_button']) ? strip_tags($_POST['act_button']) : ''; +$chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? $_POST['chk'] : array(); +$board_table = (isset($_POST['board_table']) && is_array($_POST['board_table'])) ? $_POST['board_table'] : array(); + if ($_POST['act_button'] == "선택수정") { auth_check($auth[$sub_menu], 'w'); @@ -74,5 +78,7 @@ if ($_POST['act_button'] == "선택수정") { } +run_event('admin_board_list_update', $act_button, $chk, $board_table, $qstr); + goto_url('./board_list.php?'.$qstr); ?> diff --git a/adm/cache_file_delete.php b/adm/cache_file_delete.php index 91435809d..544fad52b 100644 --- a/adm/cache_file_delete.php +++ b/adm/cache_file_delete.php @@ -10,6 +10,8 @@ if(function_exists('social_log_file_delete')){ social_log_file_delete(); } +run_event('adm_cache_file_delete_before'); + $g5['title'] = '캐시파일 일괄삭제'; include_once('./admin.head.php'); ?> @@ -31,6 +33,9 @@ $cnt=0; echo ''.PHP_EOL; echo '

최신글 캐시파일 '.$cnt.'건 삭제 완료됐습니다.
프로그램의 실행을 끝마치셔도 좋습니다.

'.PHP_EOL; ?> diff --git a/adm/config_form.php b/adm/config_form.php index c1960e7c0..286626896 100644 --- a/adm/config_form.php +++ b/adm/config_form.php @@ -1089,7 +1089,7 @@ include_once('_rewrite_config_form.php'); >
-

카카오 웹 Redirect Path

+

카카오 로그인 Redirect URI

diff --git a/adm/dbupgrade.php b/adm/dbupgrade.php index 771d3214e..f10bf1b43 100644 --- a/adm/dbupgrade.php +++ b/adm/dbupgrade.php @@ -147,6 +147,20 @@ if(!isset($member['mb_memo_cnt'])) { $is_check = true; } +// 파일테이블에 추가 칼럼 + +$sql = " SHOW COLUMNS FROM `{$g5['board_file_table']}` LIKE 'bf_fileurl' "; +$row = sql_fetch($sql); + +if( !$row ) { + sql_query(" ALTER TABLE `{$g5['board_file_table']}` + ADD COLUMN `bf_fileurl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_content`, + ADD COLUMN `bf_thumburl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_fileurl`, + ADD COLUMN `bf_storage` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bf_thumburl`", true); + + $is_check = true; +} + $is_check = run_replace('admin_dbupgrade', $is_check); $db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.
현재 DB 업그레이드가 완료된 상태입니다.'; diff --git a/adm/member_form.php b/adm/member_form.php index 696584c37..2b95e6581 100644 --- a/adm/member_form.php +++ b/adm/member_form.php @@ -441,6 +441,8 @@ this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }"> @@ -476,7 +478,8 @@ function fmember_submit(f) return true; } - diff --git a/adm/qa_config.php b/adm/qa_config.php index 92e9a4632..b73062251 100644 --- a/adm/qa_config.php +++ b/adm/qa_config.php @@ -306,7 +306,7 @@ if(!isset($qaconfig['qa_include_head'])) { - + diff --git a/adm/qa_config_update.php b/adm/qa_config_update.php index 1072b765f..a269c45ee 100644 --- a/adm/qa_config_update.php +++ b/adm/qa_config_update.php @@ -50,6 +50,8 @@ if( $qa_include_tail && ! is_include_path_check($qa_include_tail, 1) ){ $error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.'; } +$_POST['qa_title'] = strip_tags($_POST['qa_title']); + $sql = " update {$g5['qa_config_table']} set qa_title = '{$_POST['qa_title']}', qa_category = '{$_POST['qa_category']}', diff --git a/adm/sms_admin/ajax.sms_write_form.php b/adm/sms_admin/ajax.sms_write_form.php index e82a01cef..82a02b22a 100644 --- a/adm/sms_admin/ajax.sms_write_form.php +++ b/adm/sms_admin/ajax.sms_write_form.php @@ -74,10 +74,13 @@ while($res = sql_fetch_array($qry)) "; } -$arr_ajax_msg['error'] = ""; -$arr_ajax_msg['list_text'] = $list_text; -$arr_ajax_msg['page'] = $page; -$arr_ajax_msg['total_count'] = $total_count; -$arr_ajax_msg['total_page'] = $total_page; +$arr_ajax_msg = array( +'error'=>'', +'list_text'=>$list_text, +'page'=>$page, +'total_count'=>$total_count, +'total_page'=>$total_page +); + die( json_encode($arr_ajax_msg) ); ?> \ No newline at end of file diff --git a/adm/sms_admin/history_view.php b/adm/sms_admin/history_view.php index 43e144fa4..a62558385 100644 --- a/adm/sms_admin/history_view.php +++ b/adm/sms_admin/history_view.php @@ -12,6 +12,10 @@ if( $st && !in_array($st, array('hs_name', 'hs_hp', 'bk_no')) ){ $st = ''; } +if( $sst && !in_array($sst, array('mb_id', 'bk_no', 'hs_name', 'hs_hp', 'hs_datetime', 'hs_flag', 'hs_code', 'hs_memo', 'hs_log')) ){ + $sst = ''; +} + auth_check($auth[$sub_menu], "r"); $g5['title'] = "문자전송 상세내역"; @@ -22,7 +26,7 @@ if (!is_numeric($wr_no)) if ($spage < 1) $spage = 1; if ($sst && trim($ssv)) - $sql_search = " and $sst like '%$ssv%' "; + $sql_search = " and $sst like '%".sql_real_escape_string($ssv)."%' "; else $sql_search = ""; diff --git a/adm/view.php b/adm/view.php new file mode 100644 index 000000000..717a7888f --- /dev/null +++ b/adm/view.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/bbs/delete.php b/bbs/delete.php index 81690c3c2..1c28e9fcd 100644 --- a/bbs/delete.php +++ b/bbs/delete.php @@ -80,7 +80,11 @@ while ($row = sql_fetch_array($result)) $sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' "; $result2 = sql_query($sql2); while ($row2 = sql_fetch_array($result2)) { - @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row2['bf_file'])); + + $delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row2['bf_file']), $row2); + if( file_exists($delete_file) ){ + @unlink($delete_file); + } // 썸네일삭제 if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) { delete_board_thumbnail($bo_table, $row2['bf_file']); diff --git a/bbs/delete_all.php b/bbs/delete_all.php index 5fa17c855..178cca355 100644 --- a/bbs/delete_all.php +++ b/bbs/delete_all.php @@ -98,7 +98,10 @@ for ($i=$chk_count-1; $i>=0; $i--) $result2 = sql_query($sql2); while ($row2 = sql_fetch_array($result2)) { // 파일삭제 - @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file'])); + $delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file']), $row2); + if( file_exists($delete_file) ){ + @unlink($delete_file); + } // 썸네일삭제 if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) { diff --git a/bbs/download.php b/bbs/download.php index 1d9d7676c..e4f7fa3fe 100644 --- a/bbs/download.php +++ b/bbs/download.php @@ -17,7 +17,7 @@ if (!get_session('ss_view_'.$bo_table.'_'.$wr_id)) if($board['bo_download_point'] < 0 && $is_guest) alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id))); -$sql = " select bf_source, bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' "; +$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' "; $file = sql_fetch($sql); if (!$file['bf_file']) alert_close('파일 정보가 존재하지 않습니다.'); @@ -47,8 +47,11 @@ if ($member['mb_level'] < $board['bo_download_level']) { $filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file']; $filepath = addslashes($filepath); -if (!is_file($filepath) || !file_exists($filepath)) +$file_exist_check = (!is_file($filepath) || !file_exists($filepath)) ? false : true; + +if ( false === run_replace('download_file_exist_check', $file_exist_check, $file) ){ alert('파일이 존재하지 않습니다.'); +} // 사용자 코드 실행 @include_once($board_skin_path.'/download.skin.php'); @@ -101,6 +104,8 @@ $original = urlencode($file['bf_source']); @include_once($board_skin_path.'/download.tail.skin.php'); +run_event('download_file_header', $file, $file_exist_check); + if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) { header("content-type: doesn/matter"); header("content-length: ".filesize("$filepath")); diff --git a/bbs/good.php b/bbs/good.php index 2c4d2365f..8a8ae1a74 100644 --- a/bbs/good.php +++ b/bbs/good.php @@ -1,10 +1,12 @@ \ No newline at end of file diff --git a/bbs/list.php b/bbs/list.php index 06bebb9dc..58961c364 100644 --- a/bbs/list.php +++ b/bbs/list.php @@ -153,10 +153,15 @@ if (!$sst) { $sod = ""; } } else { - // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16) - // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요. - // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : ""; - $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : ""; + $board_sort_fields = get_board_sort_fields($board, 1); + if (!$sod && array_key_exists($sst, $board_sort_fields)) { + $sst = $board_sort_fields[$sst]; + } else { + // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16) + // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요. + // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : ""; + $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : ""; + } } if(!$sst) diff --git a/bbs/login_check.php b/bbs/login_check.php index 614732d32..983b25020 100644 --- a/bbs/login_check.php +++ b/bbs/login_check.php @@ -54,6 +54,8 @@ if ( is_use_email_certify() && !preg_match("/[1-9]/", $mb['mb_email_certify'])) confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL.'/register_email.php?mb_id='.$mb_id.'&ckey='.$ckey); } +run_event('login_session_before', $mb, $is_social_login); + @include_once($member_skin_path.'/login_check.skin.php'); // 회원아이디 세션 생성 @@ -103,6 +105,8 @@ if ($url) { $post_check_keys[] = 'provider'; } + $post_check_keys = run_replace('login_check_post_check_keys', $post_check_keys, $link, $is_social_login); + foreach($_POST as $key=>$value) { if ($key && !in_array($key, $post_check_keys)) { $link .= "$split$key=$value"; @@ -121,7 +125,7 @@ if(function_exists('social_login_success_after')){ social_login_session_clear(1); } -run_event('member_login_check', $mb, $link); +run_event('member_login_check', $mb, $link, $is_social_login); goto_url($link); ?> diff --git a/bbs/move_update.php b/bbs/move_update.php index 667698455..b3c28f09c 100644 --- a/bbs/move_update.php +++ b/bbs/move_update.php @@ -126,8 +126,13 @@ while ($row = sql_fetch_array($result)) // 원본파일을 복사하고 퍼미션을 변경 // 제이프로님 코드제안 적용 $copy_file_name = ($bo_table !== $move_bo_table) ? $row3['bf_file'] : $row2['wr_id'].'_copy_'.$insert_id.'_'.$row3['bf_file']; - @copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name); - @chmod($dst_dir.'/'.$copy_file_name, G5_FILE_PERMISSION); + $is_exist_file = is_file($src_dir.'/'.$row3['bf_file']) && file_exists($src_dir.'/'.$row3['bf_file']); + if( $is_exist_file ){ + @copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name); + @chmod($dst_dir.'/'.$row3['bf_file'], G5_FILE_PERMISSION); + } + + $row3 = run_replace('bbs_move_update_file', $row3, $copy_file_name, $bo_table, $move_bo_table, $insert_id); } $sql = " insert into {$g5['board_file_table']} @@ -138,6 +143,9 @@ while ($row = sql_fetch_array($result)) bf_file = '$copy_file_name', bf_download = '{$row3['bf_download']}', bf_content = '".addslashes($row3['bf_content'])."', + bf_fileurl = '".addslashes($row3['bf_fileurl'])."', + bf_thumburl = '".addslashes($row3['bf_thumburl'])."', + bf_storage = '".addslashes($row3['bf_storage'])."', bf_filesize = '{$row3['bf_filesize']}', bf_width = '{$row3['bf_width']}', bf_height = '{$row3['bf_height']}', @@ -200,7 +208,11 @@ if ($sw == 'move') { if( isset($save[$i]['bf_file']) && $save[$i]['bf_file'] ){ for ($k=0; $k 1) alert('동일한 메일주소가 2개 이상 존재합니다.\\n\\n관리자에게 문의하여 주십시오.'); -$sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime from {$g5['member_table']} where mb_email = '$email' "; +$sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime, mb_leave_date from {$g5['member_table']} where mb_email = '$email' "; $mb = sql_fetch($sql); -if (!$mb['mb_id']) +if (!$mb['mb_id'] || $mb['mb_leave_date']) alert('존재하지 않는 회원입니다.'); else if (is_admin($mb['mb_id'])) alert('관리자 아이디는 접근 불가합니다.'); @@ -71,5 +71,7 @@ $content .= ''; mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb['mb_email'], $subject, $content, 1); +run_event('password_lost2_after', $mb, $mb_nonce, $mb_lost_certify); + alert_close($email.' 메일로 회원아이디와 비밀번호를 인증할 수 있는 메일이 발송 되었습니다.\\n\\n메일을 확인하여 주십시오.'); ?> diff --git a/bbs/password_lost_certify.php b/bbs/password_lost_certify.php index 71c0116b1..b71cfc5d7 100644 --- a/bbs/password_lost_certify.php +++ b/bbs/password_lost_certify.php @@ -4,9 +4,11 @@ include_once('./_common.php'); // 봇의 메일 링크 크롤링을 방지합니다. if(function_exists('check_mail_bot')){ check_mail_bot($_SERVER['REMOTE_ADDR']); } +run_event('password_lost_certify_before'); + // 오류시 공히 Error 라고 처리하는 것은 회원정보가 있는지? 비밀번호가 틀린지? 를 알아보려는 해킹에 대비한것 -$mb_no = trim($_GET['mb_no']); +$mb_no = preg_replace('#[^0-9]#', '', trim($_GET['mb_no'])); $mb_nonce = trim($_GET['mb_nonce']); // 회원아이디가 아닌 회원고유번호로 회원정보를 구한다. @@ -22,6 +24,9 @@ sql_query(" update {$g5['member_table']} set mb_lost_certify = '' where mb_no = if ($mb_nonce === substr($mb['mb_lost_certify'], 0, 32)) { $new_password_hash = substr($mb['mb_lost_certify'], 33); sql_query(" update {$g5['member_table']} set mb_password = '$new_password_hash' where mb_no = '$mb_no' "); + + run_event('password_lost_certify_after', $mb, $mb_nonce); + alert('비밀번호가 변경됐습니다.\\n\\n회원아이디와 변경된 비밀번호로 로그인 하시기 바랍니다.', G5_BBS_URL.'/login.php'); } else { diff --git a/bbs/qawrite.php b/bbs/qawrite.php index 5a7a47345..484f271b5 100644 --- a/bbs/qawrite.php +++ b/bbs/qawrite.php @@ -67,7 +67,7 @@ if(is_file($skin_file)) { $content = ''; if ($w == '') { - $content = $qaconfig['qa_insert_content']; + $content = html_purifier($qaconfig['qa_insert_content']); } else if($w == 'r') { if($is_dhtml_editor) $content = '



====== 이전 답변내용 =======
'; diff --git a/bbs/register_form.php b/bbs/register_form.php index 97216aba6..2d38f0d1b 100644 --- a/bbs/register_form.php +++ b/bbs/register_form.php @@ -3,6 +3,8 @@ include_once('./_common.php'); include_once(G5_CAPTCHA_PATH.'/captcha.lib.php'); include_once(G5_LIB_PATH.'/register.lib.php'); +run_event('register_form_before'); + // 불법접근을 막도록 토큰생성 $token = md5(uniqid(rand(), true)); set_session("ss_token", $token); @@ -139,5 +141,8 @@ if ($config['cf_use_addr']) add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js include_once($member_skin_path.'/register_form.skin.php'); + +run_event('register_form_after', $w, $agree, $agree2); + include_once('./_tail.php'); ?> \ No newline at end of file diff --git a/bbs/write_update.php b/bbs/write_update.php index 358c8ebc3..cf7d0299b 100644 --- a/bbs/write_update.php +++ b/bbs/write_update.php @@ -424,6 +424,9 @@ if ($w == '' || $w == 'r') { $bo_notice = board_notice($board['bo_notice'], $wr_id, $notice); sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' "); + + // 글을 수정한 경우에는 제목이 달라질수도 있으니 static variable 를 새로고침합니다. + $write = get_write( $write_table, $wr['wr_id'], false); } // 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다. @@ -466,13 +469,20 @@ for ($i=0; $i'.PHP_EOL; + echo ''.PHP_EOL; } else { - echo ''.PHP_EOL; + echo ''.PHP_EOL; } ?> diff --git a/skin/outlogin/basic/outlogin.skin.1.php b/skin/outlogin/basic/outlogin.skin.1.php index cabfbaccc..5735d3326 100644 --- a/skin/outlogin/basic/outlogin.skin.1.php +++ b/skin/outlogin/basic/outlogin.skin.1.php @@ -40,14 +40,15 @@ add_stylesheet('' diff --git a/theme/basic/head.sub.php b/theme/basic/head.sub.php index 1a01570ec..fd7bd033e 100644 --- a/theme/basic/head.sub.php +++ b/theme/basic/head.sub.php @@ -49,7 +49,7 @@ if($config['cf_add_meta']) echo $config['cf_add_meta'].PHP_EOL; ?> <?php echo $g5_head_title; ?> - + @@ -65,16 +65,17 @@ var g5_sca = ""; var g5_editor = ""; var g5_cookie_domain = ""; - - - - - - - ', 1); +add_javascript('', 1); +add_javascript('', 1); +add_javascript('', 1); +add_javascript('', 1); +add_javascript('', 1); +add_stylesheet('', 1); + if(G5_IS_MOBILE) { - echo ''.PHP_EOL; // overflow scroll 감지 + add_javascript('', 2); // overflow scroll 감지 } if(!defined('G5_IS_ADMIN')) echo $config['cf_add_script']; diff --git a/theme/basic/mobile/skin/board/basic/view.skin.php b/theme/basic/mobile/skin/board/basic/view.skin.php index a5664f176..78c0a067d 100644 --- a/theme/basic/mobile/skin/board/basic/view.skin.php +++ b/theme/basic/mobile/skin/board/basic/view.skin.php @@ -84,10 +84,7 @@ jQuery(function($){ echo "
\n"; for ($i=0; $i<=count($view['file']); $i++) { - if ($view['file'][$i]['view']) { - //echo $view['file'][$i]['view']; - echo get_view_thumbnail($view['file'][$i]['view']); - } + echo get_file_thumbnail($view['file'][$i]); } echo "
\n"; } diff --git a/theme/basic/mobile/skin/board/gallery/view.skin.php b/theme/basic/mobile/skin/board/gallery/view.skin.php index 5a4f06801..1141e1d12 100644 --- a/theme/basic/mobile/skin/board/gallery/view.skin.php +++ b/theme/basic/mobile/skin/board/gallery/view.skin.php @@ -86,10 +86,7 @@ jQuery(function($){ echo "
\n"; for ($i=0; $i<=count($view['file']); $i++) { - if ($view['file'][$i]['view']) { - //echo $view['file'][$i]['view']; - echo get_view_thumbnail($view['file'][$i]['view']); - } + echo get_file_thumbnail($view['file'][$i]); } echo "
\n"; } diff --git a/theme/basic/mobile/skin/latest/basic/style.css b/theme/basic/mobile/skin/latest/basic/style.css index 9f7247806..bfd2320f4 100644 --- a/theme/basic/mobile/skin/latest/basic/style.css +++ b/theme/basic/mobile/skin/latest/basic/style.css @@ -7,7 +7,7 @@ .lt ul li {padding:15px 0;border-bottom:1px solid #e5ecee} .lt ul li:last-child {border-bottom:0} .lt ul li:after {display:block;visibility:hidden;clear:both;content:""} -.lt ul li:hover a {color:#3a8afd} +.lt ul li:hover a.lt_tit {color:#3a8afd} .lt .lt_thumb {display:inline-block;float:left;margin-right:10px} .lt .lt_thumb img {width:138px;height:auto;overflow:hidden} .lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px} @@ -30,6 +30,8 @@ .lt .comment_icon {background:url('./img/icon_comment.png') no-repeat 50% 50%;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px} .lt .empty_li {text-align:center;padding:40px 0;color:#777} +.lt .owl-carousel .owl-item .profile_img img{width:auto} + .lt_page {background:#fff;text-align:center;padding:10px 15px;line-height:25px;border-bottom:1px solid #e5ecee} .lt_page button {display:inline-block;background:#fff;width:25px;height:25px;border:1px solid #dbdee6;text-align:center;color:#cdcdce} .lt_page span {color:#6e6e6e} diff --git a/theme/basic/mobile/skin/member/basic/login.skin.php b/theme/basic/mobile/skin/member/basic/login.skin.php index 6d44e6a92..7efdb31f4 100644 --- a/theme/basic/mobile/skin/member/basic/login.skin.php +++ b/theme/basic/mobile/skin/member/basic/login.skin.php @@ -40,7 +40,7 @@ add_stylesheet('', diff --git a/theme/basic/skin/board/basic/style.css b/theme/basic/skin/board/basic/style.css index 72223bca8..c374ddab1 100644 --- a/theme/basic/skin/board/basic/style.css +++ b/theme/basic/skin/board/basic/style.css @@ -122,6 +122,8 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)} .chk_box input[type="checkbox"] + label {position:relative;color:#676e70} .chk_box input[type="checkbox"] + label:hover {color:#2172f8} .chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} .chk_box input[type="checkbox"]:checked + label {color:#000} .chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} diff --git a/theme/basic/skin/board/basic/view.skin.php b/theme/basic/skin/board/basic/view.skin.php index 7e9bab2a3..789b7b211 100644 --- a/theme/basic/skin/board/basic/view.skin.php +++ b/theme/basic/skin/board/basic/view.skin.php @@ -94,10 +94,7 @@ add_stylesheet('', 0 echo "
\n"; for ($i=0; $i<=count($view['file']); $i++) { - if ($view['file'][$i]['view']) { - //echo $view['file'][$i]['view']; - echo get_view_thumbnail($view['file'][$i]['view']); - } + echo get_file_thumbnail($view['file'][$i]); } echo "
\n"; diff --git a/theme/basic/skin/board/gallery/style.css b/theme/basic/skin/board/gallery/style.css index ee9ddd2f3..f36a5a26e 100644 --- a/theme/basic/skin/board/gallery/style.css +++ b/theme/basic/skin/board/gallery/style.css @@ -91,6 +91,8 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)} .chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70;vertical-align:baseline} .chk_box input[type="checkbox"] + label:hover{color:#2172f8} .chk_box input[type="checkbox"] + label span {position:absolute;top:10px;left:10px;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} .chk_box input[type="checkbox"]:checked + label {color:#000} .chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} .all_chk.chk_box input[type="checkbox"] + label span {top:0;left:0} @@ -103,6 +105,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)} #bo_gall .gall_li {} #bo_gall .gall_li .gall_chk {position:absolute;top:0;left:0;padding:5px} #bo_gall .gall_box {position:relative;margin:0 0 50px 0;border-radius:0 0 2px 2px} +#bo_gall .gall_con {position:relative} .gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0} .gall_row .col-gn-0,.latest_row .col-gn-1 {width:100%} @@ -147,7 +150,7 @@ box-shadow:inset 0 2px 5px rgb(33, 135, 202)} #bo_gall .gall_info .gall_date, #bo_gall .gall_info .gall_view {display:inline-block;margin-left:10px;color:#777} -#bo_gall .gall_option {position:absolute;top:170px;left:10px} +#bo_gall .gall_option {position:absolute;top:10px;right:10px} #bo_gall .gall_option strong {background:#fff;padding:5px 10px;border-radius:30px;-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); -moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} diff --git a/theme/basic/skin/board/gallery/view.skin.php b/theme/basic/skin/board/gallery/view.skin.php index 4532af836..b7200e762 100644 --- a/theme/basic/skin/board/gallery/view.skin.php +++ b/theme/basic/skin/board/gallery/view.skin.php @@ -94,10 +94,7 @@ add_stylesheet('', 0 echo "
\n"; for ($i=0; $i<=count($view['file']); $i++) { - if ($view['file'][$i]['view']) { - //echo $view['file'][$i]['view']; - echo get_view_thumbnail($view['file'][$i]['view']); - } + echo get_file_thumbnail($view['file'][$i]); } echo "
\n"; diff --git a/theme/basic/skin/latest/basic/latest.skin.php b/theme/basic/skin/latest/basic/latest.skin.php index ca775c519..eb2b00e1e 100644 --- a/theme/basic/skin/latest/basic/latest.skin.php +++ b/theme/basic/skin/latest/basic/latest.skin.php @@ -9,7 +9,7 @@ add_stylesheet('',

    -
  • +
  • 비밀글 "; diff --git a/theme/basic/skin/latest/basic/style.css b/theme/basic/skin/latest/basic/style.css index dc2b0f8d3..bfc67ef81 100644 --- a/theme/basic/skin/latest/basic/style.css +++ b/theme/basic/skin/latest/basic/style.css @@ -1,7 +1,7 @@ @charset "utf-8"; /* 새글 스킨 (latest) */ -.lat {position:relative;margin-bottom:20px;overflow:hidden;background:#fff} +.lat {position:relative;margin-bottom:20px;background:#fff} .lat .lat_title {display:block;line-height:45px;font-size:1.2em;color:#253dbe} .lat .lat_title a {position:relative;color:#000;display:inline-block} diff --git a/theme/basic/skin/latest/pic_block/latest.skin.php b/theme/basic/skin/latest/pic_block/latest.skin.php index fe40496d4..c19ef5c08 100644 --- a/theme/basic/skin/latest/pic_block/latest.skin.php +++ b/theme/basic/skin/latest/pic_block/latest.skin.php @@ -23,7 +23,7 @@ $thumb_height = 150; } $img_content = ''.$thumb['alt'].''; ?> -
  • +
  • 비밀글 "; diff --git a/theme/basic/skin/latest/pic_block/style.css b/theme/basic/skin/latest/pic_block/style.css index b73646209..607259fce 100644 --- a/theme/basic/skin/latest/pic_block/style.css +++ b/theme/basic/skin/latest/pic_block/style.css @@ -1,7 +1,7 @@ @charset "utf-8"; /* 새글 스킨 (latest) */ -.pic_lt {position:relative;margin-bottom:20px;overflow:hidden;background:#fff} +.pic_lt {position:relative;margin-bottom:20px;background:#fff} .pic_lt .lat_title {display:block;line-height:45px;font-size:1.2em;color:#253dbe} .pic_lt .lat_title a {color:#000;display:inline-block;position:relative} @@ -10,6 +10,7 @@ .pic_lt ul:after {display:block;visibility:hidden;clear:both;content:""} .pic_lt ul {margin: 0 -10px} .pic_lt li {float:left;width:25%;padding:0 10px} +.pic_lt li.galley_li:nth-child(4n+1) {clear: both!important} .pic_lt li .lt_img {margin:5px 0;display:block} .pic_lt li .lt_img img {width:100%;height:auto} .pic_lt li a:hover {color:#a22121} diff --git a/theme/basic/skin/latest/pic_list/latest.skin.php b/theme/basic/skin/latest/pic_list/latest.skin.php index e95445430..57dcec5bb 100644 --- a/theme/basic/skin/latest/pic_list/latest.skin.php +++ b/theme/basic/skin/latest/pic_list/latest.skin.php @@ -4,8 +4,8 @@ include_once(G5_LIB_PATH.'/thumbnail.lib.php'); // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 add_stylesheet('', 0); -$thumb_width = 210; -$thumb_height = 150; +$thumb_width = 297; +$thumb_height = 212; ?>
    @@ -13,18 +13,24 @@ $thumb_height = 150;
      '; + if($thumb['src']) { + $img = $thumb['src']; + } else { + $img = G5_IMG_URL.'/no_img.png'; + $thumb['alt'] = '이미지가 없습니다.'; + } + $img_content = ''.$thumb['alt'].''; + $img_link_html = ''.$img_content.''; + } ?>
    • - + 비밀글 "; diff --git a/theme/basic/skin/latest/pic_list/style.css b/theme/basic/skin/latest/pic_list/style.css index 8dce78f26..e57392a2c 100644 --- a/theme/basic/skin/latest/pic_list/style.css +++ b/theme/basic/skin/latest/pic_list/style.css @@ -1,9 +1,10 @@ @charset "utf-8"; /* 새글 스킨 (latest) */ -.pic_li_lt {position:relative;width:33.3333%;float:left;padding:0 10px;overflow:hidden;background:#fff} +.pic_li_lt {position:relative;width:33.3333%;float:left;padding:0 10px;background:#fff} .pic_li_lt .lat_title {display:block;line-height:45px;font-size:1.2em;color:#253dbe} .pic_li_lt .lat_title a {color:#000;display:inline-block;position:relative} +.latest_top_wr .pic_li_lt:nth-child(3n+1) {clear: both!important} .pic_li_lt .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center} .pic_li_lt .lt_more:hover {color:#777} diff --git a/theme/basic/skin/member/basic/login.skin.php b/theme/basic/skin/member/basic/login.skin.php index 4610959d4..f8d368697 100644 --- a/theme/basic/skin/member/basic/login.skin.php +++ b/theme/basic/skin/member/basic/login.skin.php @@ -40,7 +40,7 @@ add_stylesheet('',
    diff --git a/theme/basic/skin/outlogin/basic/outlogin.skin.1.php b/theme/basic/skin/outlogin/basic/outlogin.skin.1.php index cabfbaccc..5735d3326 100644 --- a/theme/basic/skin/outlogin/basic/outlogin.skin.1.php +++ b/theme/basic/skin/outlogin/basic/outlogin.skin.1.php @@ -40,14 +40,15 @@ add_stylesheet(''