First Commit
This commit is contained in:
BIN
web/html/theme/FT_WEB20/skin/qa/basic/img/btn_close.gif
Normal file
BIN
web/html/theme/FT_WEB20/skin/qa/basic/img/btn_close.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 211 B |
BIN
web/html/theme/FT_WEB20/skin/qa/basic/img/icon_answer.gif
Normal file
BIN
web/html/theme/FT_WEB20/skin/qa/basic/img/icon_answer.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 77 B |
189
web/html/theme/FT_WEB20/skin/qa/basic/list.skin.php
Normal file
189
web/html/theme/FT_WEB20/skin/qa/basic/list.skin.php
Normal file
@ -0,0 +1,189 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
|
||||
$colspan = 6;
|
||||
|
||||
if ($is_checkbox) $colspan++;
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="bo_list">
|
||||
<?php if ($category_option) { ?>
|
||||
<!-- 카테고리 시작 { -->
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo $qaconfig['qa_title'] ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<!-- } 카테고리 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
|
||||
<div id="bo_btn_top">
|
||||
<div id="bo_list_total">
|
||||
<span>Total <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<?php if ($admin_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<li>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
<!-- 게시판 검색 시작 { -->
|
||||
<div class="bo_sch_wrap">
|
||||
<fieldset class="bo_sch">
|
||||
<h3>검색</h3>
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<div class="sch_bar">
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx); ?>" id="stx" required class="sch_input" size="25" maxlength="15" placeholder=" 검색어를 입력해주세요">
|
||||
<button type="submit" value="검색" class="sch_btn" title="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
|
||||
</div>
|
||||
<button type="button" class="bo_sch_cls"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div class="bo_sch_bg"></div>
|
||||
</div>
|
||||
<script>
|
||||
// 게시판 검색
|
||||
$(".btn_bo_sch").on("click", function() {
|
||||
$(".bo_sch_wrap").toggle();
|
||||
})
|
||||
$('.bo_sch_bg, .bo_sch_cls').click(function(){
|
||||
$('.bo_sch_wrap').hide();
|
||||
});
|
||||
</script>
|
||||
<!-- } 게시판 검색 끝 -->
|
||||
</li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
|
||||
|
||||
<form name="fqalist" id="fqalist" action="./qadelete.php" onsubmit="return fqalist_submit(this);" method="post">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo get_text($token); ?>">
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $board['bo_subject'] ?> 목록</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<th scope="col" class="all_chk chk_box">
|
||||
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 전체선택</b>
|
||||
</label>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th scope="col">번호</th>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col">글쓴이</th>
|
||||
<th scope="col">등록일</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
if ($i%2==0) $lt_class = "even";
|
||||
else $lt_class = "";
|
||||
?>
|
||||
<tr class="<?php echo $lt_class ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<td class="td_chk chk_box">
|
||||
<input type="checkbox" name="chk_qa_id[]" value="<?php echo $list[$i]['qa_id'] ?>" id="chk_qa_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_qa_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td class="td_num"><?php echo $list[$i]['num']; ?></td>
|
||||
<td class="td_subject">
|
||||
<span class="bo_cate_link"><?php echo $list[$i]['category']; ?></span>
|
||||
<a href="<?php echo $list[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $list[$i]['subject']; ?>
|
||||
<?php if ($list[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_name"><?php echo $list[$i]['name']; ?></td>
|
||||
<td class="td_date"><?php echo $list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class=" <?php echo ($list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($list[$i]['qa_status'] ? '답변완료' : '답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if ($i == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 페이지 -->
|
||||
<?php echo $list_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<div class="bo_fx">
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value" class="btn btn_b01 btn_admin"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button></li>
|
||||
<?php } ?>
|
||||
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" 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_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fqalist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fqalist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다"))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- } 게시판 목록 끝 -->
|
||||
388
web/html/theme/FT_WEB20/skin/qa/basic/style.css
Normal file
388
web/html/theme/FT_WEB20/skin/qa/basic/style.css
Normal file
@ -0,0 +1,388 @@
|
||||
@charset "utf-8";
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_list a.btn_b01 {}
|
||||
#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {}
|
||||
#bo_list a.btn_b02 {}
|
||||
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {}
|
||||
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
|
||||
#bo_w button.btn_submit {}
|
||||
#bo_w fieldset .btn_submit {}
|
||||
#bo_w .btn_cancel {font-size:1.167em;border-radius:3px}
|
||||
#bo_w button.btn_cancel {}
|
||||
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
|
||||
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
#bo_w button.btn_frmline {}
|
||||
|
||||
/* 기본 테이블 */
|
||||
/* 목록 테이블 */
|
||||
#bo_list {position:relative}
|
||||
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_list .tbl_head01 {}
|
||||
#bo_list .tbl_head01 caption {}
|
||||
#bo_list .tbl_head01 thead th {}
|
||||
#bo_list .tbl_head01 thead a {}
|
||||
#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_list .tbl_head01 tfoot th {}
|
||||
#bo_list .tbl_head01 tfoot td {}
|
||||
#bo_list .tbl_head01 tbody th {}
|
||||
#bo_list .tbl_head01 td {}
|
||||
#bo_list .tbl_head01 a {}
|
||||
#bo_list td.empty_table {}
|
||||
#bo_list tbody .even td {background:#fbfbfb}
|
||||
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_info {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
/* 필수입력 */
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
#bo_w .cke_sc {}
|
||||
#bo_w button.btn_cke_sc {}
|
||||
#bo_w .cke_sc_def {}
|
||||
#bo_w .cke_sc_def dl {}
|
||||
#bo_w .cke_sc_def dl:after {}
|
||||
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
|
||||
#bo_w .cke_sc_def dt {}
|
||||
#bo_w .cke_sc_def dd {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_list .td_board {width:120px;text-align:center}
|
||||
#bo_list .td_chk {width:30px;text-align:center}
|
||||
#bo_list .td_date {width:80px;text-align:center}
|
||||
#bo_list .td_datetime {width:60px;text-align:center;font-style:italic}
|
||||
#bo_list .td_group {width:100px;text-align:center}
|
||||
#bo_list .td_mb_id {width:100px;text-align:center}
|
||||
#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:40px;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}
|
||||
#bo_list .td_stat, #bo_v_rel .td_stat {width:100px;text-align:center}
|
||||
#bo_list .txt_active {color:#5d910b}
|
||||
#bo_list .txt_expired {color:#ccc}
|
||||
#bo_list .txt_done, #bo_v_rel .txt_done {display:inline-block;height:30px;line-height:30px;padding:0 10px;border-radius:3px;color:#fff;font-size:1em;background:#f6bb42;font-weight:bold}
|
||||
#bo_list .txt_done i, #bo_v_rel .txt_done i {font-size:13px}
|
||||
#bo_list .txt_rdy, #bo_v_rel .txt_rdy {display:inline-block;height:30px;line-height:28px;padding:0 10px;border-radius:3px;color:#fff;font-size:1em;background:#ccd1d9;font-weight:bold}
|
||||
#bo_list .txt_rdy i, #bo_v_rel .txt_rdy i {font-size:13px}
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_cate {margin:25px 0}
|
||||
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {display:inline-block;padding:2px}
|
||||
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
|
||||
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
|
||||
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
|
||||
-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)}
|
||||
.td_subject img {margin-left:5px}
|
||||
|
||||
|
||||
/* 게시판 목록 공통 */
|
||||
#bo_btn_top {margin:10px 0}
|
||||
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx {margin-bottom:5px;float:right;zoom:1}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx ul {margin:0;padding:0;list-style:none}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx ul {margin:0;padding:0;list-style:none}
|
||||
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}
|
||||
|
||||
.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
|
||||
.btn_bo_user li {float:left;margin-left:5px}
|
||||
.btn_bo_adm {float:left}
|
||||
.btn_bo_adm li {float:left;margin-right:5px}
|
||||
.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle}
|
||||
.bo_notice td {background:#f5f6fa}
|
||||
.bo_notice td a {font-weight:bold}
|
||||
|
||||
.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999}
|
||||
.more_opt:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
|
||||
.more_opt:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
|
||||
.more_opt li {border-bottom:1px solid #f1f1f1;float:inherit;width:64px;margin:0;color:#6b757c;text-align:left}
|
||||
.more_opt li a {font-size:1em}
|
||||
.more_opt li:last-child {border-bottom:0}
|
||||
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c}
|
||||
.more_opt li:hover a,
|
||||
.more_opt li:hover button {color:#000}
|
||||
.more_opt li i {float:right;line-height:36px}
|
||||
|
||||
.td_num strong {color:#000}
|
||||
.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */
|
||||
.bo_cate_link:hover {text-decoration:none}
|
||||
.bo_tit {display:block;color:#000;font-weight:bold}
|
||||
.td_subject .fa-download {width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px}
|
||||
|
||||
.bo_current {color:#e8180c}
|
||||
#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}
|
||||
#bo_list .bo_tit .title_icon {margin-right:2px}
|
||||
#bo_list .bo_tit .fa-heart {color:#ff0000}
|
||||
#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 #cbe3e8;vertical-align:middle}
|
||||
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
|
||||
#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
#bo_list .bo_tit .fa-caret-right {color:#bbb}
|
||||
#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle}
|
||||
|
||||
.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
|
||||
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
|
||||
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
|
||||
.bo_sch legend {background:red}
|
||||
.bo_sch form {padding:15px;display:block}
|
||||
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
|
||||
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
|
||||
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
|
||||
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
|
||||
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
|
||||
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}
|
||||
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#char_count_desc {display:block;margin:0 0 5px;padding:0}
|
||||
#char_count_wrp {margin:5px 0 0;text-align:right}
|
||||
#char_count {font-weight:bold}
|
||||
|
||||
#autosave_wrapper {position:relative}
|
||||
#autosave_pop {display:none;z-index:10;position:absolute;top:24px;right:117px;padding:8px;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;overflow-y:scroll}
|
||||
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
|
||||
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#autosave_pop div {text-align:right}
|
||||
#autosave_pop button {margin:0;padding:0;border:0;background:transparent}
|
||||
#autosave_pop ul {margin:10px 0;padding:0;border-top:1px solid #e9e9e9;list-style:none}
|
||||
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #e9e9e9;zoom:1}
|
||||
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#autosave_pop a {display:block;float:left}
|
||||
#autosave_pop span {display:block;float:right}
|
||||
.autosave_close {cursor:pointer}
|
||||
.autosave_content {display:none}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {margin-bottom:20px;padding-bottom:20px}
|
||||
#bo_v_table {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em}
|
||||
|
||||
#bo_v header {background:#fff;border:1px solid #dde7e9;border-bottom:0;border-radius:3px 3px 0 0}
|
||||
#bo_v_title {font-size:1.6em;padding:20px 20px 10px}
|
||||
#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all}
|
||||
#bo_v_title .bo_v_cate {display:inline-block;line-height:23px;font-size:0.6em;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;vertical-align:middle}
|
||||
|
||||
#bo_v_info {position:relative;padding:0 20px 20px;background:#fff;border:1px solid #dde7e9;border-bottom:1px solid #f1f1f1;color:#555;border-top:0}
|
||||
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_info strong {display:inline-block;margin:0 7px 0 0;font-weight:normal}
|
||||
#bo_v_info .sv_member,
|
||||
#bo_v_info .sv_guest,
|
||||
#bo_v_info .member,
|
||||
#bo_v_info .guest {font-weight:bold}
|
||||
#bo_v_info .bo_date {}
|
||||
#bo_v_info .profile_img img {border-radius:50%}
|
||||
|
||||
#bo_v_file {margin:10px 0 0;background:#f3f3f3}
|
||||
#bo_v_file h2 {margin:0;padding:0;height:0;overflow:hidden}
|
||||
#bo_v_file ul {margin:0;padding:5px 0;list-style:none}
|
||||
#bo_v_file li {padding:5px 10px;position:relative}
|
||||
#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word}
|
||||
#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none}
|
||||
#bo_v_file img {float:left;margin:0 10px 0 0}
|
||||
.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em}
|
||||
|
||||
#bo_v_link {}
|
||||
#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_link ul {margin:0;padding:0;list-style:none}
|
||||
#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa}
|
||||
#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word}
|
||||
#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none}
|
||||
.bo_v_link_cnt {display:inline-block;margin:0 0 3px 16px}
|
||||
|
||||
#bo_v_contact {border-bottom:1px solid #ddd}
|
||||
#bo_v_contact h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_contact dl {margin:0;padding:0;list-style:none;zoom:1}
|
||||
#bo_v_contact dl:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_contact dt, #bo_v_contact dd {float:left;margin:0;border-bottom:1px solid #eee;background:#f5f6fa}
|
||||
#bo_v_contact dt {clear:both;padding:8px 0 8px 30px;width:100px;font-weight:bold}
|
||||
#bo_v_contact dd {padding:8px 0;width:598px}
|
||||
|
||||
#bo_v_top {zoom:1;position:absolute;top:-10px;right:20px}
|
||||
#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;background:#fff}
|
||||
|
||||
#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 {margin:0;padding:0;list-style:none}
|
||||
|
||||
.bo_v_nb {display:inline-block;width:100%}
|
||||
.bo_v_nb li {margin:10px 0;float:left;width:49.5%;text-align:right;color:#b3b3b3;font-size:0.75em}
|
||||
.bo_v_nb li:first-child {margin-right:1%;text-align:left}
|
||||
.bo_v_nb li:hover {background:#f6f6f6}
|
||||
|
||||
.bo_v_com {float:right}
|
||||
.bo_v_com > li {position:relative;float:left;margin-left:5px}
|
||||
|
||||
#bo_v_atc {min-height:100px;background:#fff;height:auto !important;height:100px;padding:20px;border:1px solid #dde7e9;border-top:0}
|
||||
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1}
|
||||
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto}
|
||||
|
||||
#bo_v_con {margin-bottom:30px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden}
|
||||
#bo_v_con a {color:#000;text-decoration:underline}
|
||||
#bo_v_con img {max-width:100%;height:auto}
|
||||
|
||||
#bo_v_act {margin-bottom:30px;text-align:center}
|
||||
#bo_v_act a {margin-right:5px;vertical-align:top}
|
||||
#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:top}
|
||||
#bo_v_act strong {color:#ff3061}
|
||||
#bo_v_act_good,
|
||||
#bo_v_act_nogood {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns li {float:left;margin:0 5px 0 0}
|
||||
|
||||
#bo_v_addq {margin:0 0 30px;text-align:right}
|
||||
|
||||
#bo_v_ans {margin:15px 0 30px;border:1px solid #dde7e9;background:#fff;border-radius:3px}
|
||||
#bo_v_ans header {position:relative;border:0;background:pink}
|
||||
#bo_v_ans h2 {font-size:1.6em;padding:20px 20px 10px}
|
||||
#bo_v_ans h2 span {display:inline-block;font-size:11px;background:#fff;border-radius:30px;vertical-align:text-bottom;height:22px;line-height:22px;border:1px solid #a9c6fe;line-height:22px;padding:0 5px;color:#3a8afd;font-weight:normal}
|
||||
#bo_v_ans #ans_datetime {padding:0 20px 20px;font-size:0.92em;background:#fff;border-bottom:1px solid #f1f1f1;color:#666}
|
||||
#bo_v_ans #ans_con {margin:0 0 10px;padding:15px;line-height:1.8em}
|
||||
#bo_v_ans #ans_con img {max-width:100%;height:auto}
|
||||
#bo_v_ans #ans_add {position:absolute;top:-10px;right:15px;text-align:right}
|
||||
#bo_v_ans .more_add {display:none;position:relative;margin-top:10px;border:1px solid #b8bfc4;background:#fff}
|
||||
#bo_v_ans .more_add:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
|
||||
#bo_v_ans .more_add:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
|
||||
#bo_v_ans .more_add li:first-child {border-bottom:1px solid #f1f1f1}
|
||||
#bo_v_ans .more_add a {font-size:1em}
|
||||
#ans_msg {padding:40px 0;background:#f2f5f9;text-align:center}
|
||||
|
||||
.bo_v_btn {text-align:center}
|
||||
.bo_v_btn .add_qa {display:inline-block;background:#3a8afd;color:#fff;text-align:center;border-radius:3px;width:280px;height:57px;line-height:57px;font-size:1.2em;margin:0 auto;font-weight:bold}
|
||||
|
||||
#bo_v_rel {margin:0 0 30px;padding:30px 0 0}
|
||||
#bo_v_rel h2 {margin:0 0 10px;font-size:1.2em}
|
||||
|
||||
#bo_v_ans_form h2 {margin:10px 0;font-size:1.167em}
|
||||
#bo_v_ans_form .btn_submit {height:50px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
#bo_vc {padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f5f6fa}
|
||||
#bo_vc h2 {margin-bottom:10px}
|
||||
#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc}
|
||||
#bo_vc header {position:relative;padding:15px 0 5px}
|
||||
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
|
||||
#bo_vc .sv_wrap {margin-right:15px}
|
||||
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
|
||||
.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px}
|
||||
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc a {color:#000;text-decoration:none}
|
||||
#bo_vc p {padding:0 0 5px;line-height:1.8em}
|
||||
#bo_vc p a {text-decoration:underline}
|
||||
#bo_vc_empty {margin:0;padding:20px !important;text-align:center}
|
||||
#bo_vc fieldset {margin:0 0 10px;padding:0}
|
||||
#bo_vc #bo_vc_winfo {float:left}
|
||||
#bo_vc footer {zoom:1}
|
||||
#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
.bo_vc_act {float:right;margin:0;list-style:none;zoom:1}
|
||||
.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_act li {float:left;margin-left:5px}
|
||||
|
||||
#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8}
|
||||
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc_w #char_cnt {display:block;margin:0 0 5px}
|
||||
|
||||
#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1}
|
||||
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_vc_sns li {float:left;margin:0 20px 0 0}
|
||||
#bo_vc_sns input {margin:0 0 0 5px}
|
||||
|
||||
#bo_vc form {padding:0}
|
||||
|
||||
/*글쓰기*/
|
||||
#bo_w .write_div {margin:10px 0;position:relative}
|
||||
#bo_w li {position:relative}
|
||||
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_w .bo_w_info .frm_input {float:left;width:33%}
|
||||
#bo_w #wr_password {margin:0 0.5%}
|
||||
.qa_content_wrap.smarteditor2 iframe {background:#fff}
|
||||
#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;font-size:1.2em;text-align:center;color:#b2b2b2}
|
||||
#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;font-size:1.2em;text-align:center;color:#b2b2b2}
|
||||
#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px}
|
||||
#bo_w .bo_w_flie .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
|
||||
#bo_w .bo_w_flie .frm_input {margin:10px 0 0}
|
||||
#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d}
|
||||
#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px}
|
||||
|
||||
#bo_w .bo_w_mail {float:left;width:49.5%}
|
||||
#bo_w .bo_w_hp {float:right;width:49.5%}
|
||||
#bo_w .bo_w_sbj {clear:both}
|
||||
#bo_w .frm_info {position:relative;line-height:18px;color:#3497d9;margin:10px 0;display:inline-block;font-size:1em}
|
||||
|
||||
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
|
||||
.chk_box {position:relative}
|
||||
.chk_box input[type="checkbox"] + label {position:relative;padding-left:10px;color:#676e70}
|
||||
.chk_box input[type="checkbox"] + label:hover{color:#2172f8}
|
||||
.chk_box input[type="checkbox"] + label span {position:absolute;top:0;left:0;width:17px;height:17px;display:block;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}
|
||||
|
||||
40
web/html/theme/FT_WEB20/skin/qa/basic/view.answer.skin.php
Normal file
40
web/html/theme/FT_WEB20/skin/qa/basic/view.answer.skin.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<section id="bo_v_ans">
|
||||
<h2><span class="bo_v_reply">답변</span> <?php echo get_text($answer['qa_subject']); ?></h2>
|
||||
<header>
|
||||
<div id="ans_datetime">
|
||||
<i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $answer['qa_datetime']; ?>
|
||||
</div>
|
||||
|
||||
<?php if ( $answer_update_href || $answer_delete_href ){ ?>
|
||||
<div id="ans_add">
|
||||
<button type="button" class="btn_more_add btn_more_opt btn_b01 btn" title="답변 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">답변 옵션</span></button>
|
||||
<ul class="more_add">
|
||||
<?php if($answer_update_href) { ?>
|
||||
<li><a href="<?php echo $answer_update_href; ?>" class="btn_b01 btn" title="답변수정">답변수정</a></li>
|
||||
<?php } ?>
|
||||
<?php if($answer_delete_href) { ?>
|
||||
<li><a href="<?php echo $answer_delete_href; ?>" class="btn_b01 btn" onclick="del(this.href); return false;" title="답변삭제">답변삭제</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<script>
|
||||
// 답변하기 옵션
|
||||
$(".btn_more_add").on("click", function() {
|
||||
$(".more_add").toggle();
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</header>
|
||||
|
||||
<div id="ans_con">
|
||||
<?php echo get_view_thumbnail(conv_content($answer['qa_content'], $answer['qa_html']), $qaconfig['qa_image_width']); ?>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<div class="bo_v_btn">
|
||||
<a href="<?php echo $rewrite_href; ?>" class="add_qa" title="추가질문">추가질문</a>
|
||||
</div>
|
||||
141
web/html/theme/FT_WEB20/skin/qa/basic/view.answerform.skin.php
Normal file
141
web/html/theme/FT_WEB20/skin/qa/basic/view.answerform.skin.php
Normal file
@ -0,0 +1,141 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<section id="bo_v_ans_form">
|
||||
<?php
|
||||
if($is_admin) // 관리자이면 답변등록
|
||||
{
|
||||
?>
|
||||
<h2>답변등록</h2>
|
||||
|
||||
<form name="fanswer" method="post" action="./qawrite_update.php" onsubmit="return fwrite_submit(this);" autocomplete="off">
|
||||
<input type="hidden" name="qa_id" value="<?php echo $view['qa_id']; ?>">
|
||||
<input type="hidden" name="w" value="a">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $token ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
$option = '';
|
||||
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" name="qa_html" value="1">';
|
||||
} else {
|
||||
$option .= "\n".'<input type="checkbox" id="qa_html" name="qa_html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="qa_html">html</label>';
|
||||
}
|
||||
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01">
|
||||
<ul>
|
||||
<?php if ($option) { ?>
|
||||
<li>
|
||||
옵션
|
||||
<?php echo $option; ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li>
|
||||
<label for="qa_subject" class="sound_only">제목</label>
|
||||
<input type="text" name="qa_subject" value="" id="qa_subject" required class="frm_input required full_input" size="50" maxlength="255" placeholder="제목">
|
||||
</li>
|
||||
<li class="qa_content_wrap <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
|
||||
<label for="qa_content" class="sound_only">내용<strong>필수</strong></label>
|
||||
<span class="wr_content">
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<button type="submit" id="btn_submit" accesskey="s" class="btn_submit">답변등록</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "2";
|
||||
else
|
||||
obj.value = "1";
|
||||
}
|
||||
else
|
||||
obj.value = "";
|
||||
}
|
||||
|
||||
function fwrite_submit(f)
|
||||
{
|
||||
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": f.qa_subject.value,
|
||||
"content": f.qa_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.qa_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_qa_content) != "undefined")
|
||||
ed_qa_content.returnFalse();
|
||||
else
|
||||
f.qa_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_bbs_url+"/ajax.write.token.php",
|
||||
data: { 'token_case' : 'qa_write' },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (typeof data.token !== "undefined") {
|
||||
token = data.token;
|
||||
if(typeof f.token === "undefined")
|
||||
$(f).prepend('<input type="hidden" name="token" value="">');
|
||||
$(f).find("input[name=token]").val(token);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<p id="ans_msg">고객님의 문의에 대한 답변을 준비 중입니다.</p>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
192
web/html/theme/FT_WEB20/skin/qa/basic/view.skin.php
Normal file
192
web/html/theme/FT_WEB20/skin/qa/basic/view.skin.php
Normal file
@ -0,0 +1,192 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<!-- 게시물 읽기 시작 { -->
|
||||
|
||||
<article id="bo_v">
|
||||
<header>
|
||||
<h2 id="bo_v_title">
|
||||
<?php
|
||||
echo '<span class="bo_v_cate">'.$view['category'].'</span> '; // 분류 출력 끝
|
||||
?>
|
||||
<?php
|
||||
echo $view['subject']; // 글제목 출력
|
||||
?>
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<span class="sound_only">작성자</span><strong><?php echo $view['name'] ?></strong>
|
||||
<span class="sound_only">작성일</span><strong class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $view['datetime']; ?></strong>
|
||||
<?php if($view['email'] || $view['hp']) { ?>
|
||||
<?php if($view['email']) { ?>
|
||||
<span class="sound_only">이메일</span>
|
||||
<strong><i class="fa fa-envelope-o" aria-hidden="true"></i> <?php echo $view['email']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php if($view['hp']) { ?>
|
||||
<span class="sound_only">휴대폰</span>
|
||||
<strong><i class="fa fa-phone" aria-hidden="true"></i> <?php echo $view['hp']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시물 상단 버튼 시작 { -->
|
||||
<div id="bo_v_top">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
<ul class="bo_v_com">
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
<?php if ($update_href || $delete_href) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 읽기 옵션</span></button>
|
||||
<ul class="more_opt">
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01 btn" title="수정">수정<i class="fa fa-pencil-square-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01 btn" onclick="del(this.href); return false;" title="삭제">삭제<i class="fa fa-trash-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<script>
|
||||
// 게시판 리스트 옵션
|
||||
$(".btn_more_opt").on("click", function() {
|
||||
$(".more_opt").toggle();
|
||||
})
|
||||
</script>
|
||||
<?php
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<!-- } 게시물 상단 버튼 끝 -->
|
||||
</section>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
if($view['img_count']) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<$view['img_count']; $i++) {
|
||||
//echo $view['img_file'][$i];
|
||||
echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']);
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- 본문 내용 시작 { -->
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content'], $qaconfig['qa_image_width']); ?></div>
|
||||
<!-- } 본문 내용 끝 -->
|
||||
|
||||
<?php if($view['qa_type']) { ?>
|
||||
<div id="bo_v_addq"><a href="<?php echo $rewrite_href; ?>" class="btn_b01">추가질문</a></div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($view['download_count']) { ?>
|
||||
|
||||
<!-- 첨부파일 시작 { -->
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<$view['download_count']; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<a href="<?php echo $view['download_href'][$i]; ?>" class="view_file_download" download>
|
||||
<strong><?php echo $view['download_source'][$i] ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
</section>
|
||||
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
<ul class="bo_v_nb">
|
||||
<?php if ($prev_href) { ?><li><a href="<?php echo $prev_href ?>" class="btn_b01 btn"><i class="fa fa-chevron-left" aria-hidden="true"></i> 이전글</a></li><?php } ?>
|
||||
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01 btn">다음글 <i class="fa fa-chevron-right" aria-hidden="true"></i></i></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
// 질문글에서 답변이 있으면 답변 출력, 답변이 없고 관리자이면 답변등록폼 출력
|
||||
if(!$view['qa_type']) {
|
||||
if($view['qa_status'] && $answer['qa_id'])
|
||||
include_once($qa_skin_path.'/view.answer.skin.php');
|
||||
else
|
||||
include_once($qa_skin_path.'/view.answerform.skin.php');
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($view['rel_count']) { ?>
|
||||
<section id="bo_v_rel">
|
||||
<h2>연관질문</h2>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col">등록일</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for($i=0; $i<$view['rel_count']; $i++) {
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="bo_cate_link"><?php echo get_text($rel_list[$i]['category']); ?></span>
|
||||
|
||||
<a href="<?php echo $rel_list[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $rel_list[$i]['subject']; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_date"><?php echo $rel_list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class="<?php echo ($rel_list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '<i class="fa fa-check-circle" aria-hidden="true"></i> 답변완료' : '<i class="fa fa-times-circle" aria-hidden="true"></i> 답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
<!-- } 게시판 읽기 끝 -->
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$("a.view_image").click(function() {
|
||||
window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
</script>
|
||||
195
web/html/theme/FT_WEB20/skin/qa/basic/write.skin.php
Normal file
195
web/html/theme/FT_WEB20/skin/qa/basic/write.skin.php
Normal file
@ -0,0 +1,195 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<section id="bo_w">
|
||||
<h2>1:1문의 작성</h2>
|
||||
<!-- 게시물 작성/수정 시작 { -->
|
||||
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="qa_id" value="<?php echo $qa_id ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $token ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
$option = '';
|
||||
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" name="qa_html" value="1">';
|
||||
} else {
|
||||
$option .= "\n".'<input type="checkbox" id="qa_html" name="qa_html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="qa_html">html</label>';
|
||||
}
|
||||
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01">
|
||||
<ul>
|
||||
<?php if ($category_option) { ?>
|
||||
<li class="bo_w_select write_div">
|
||||
<label for="qa_category" class="sound_only">분류<strong>필수</strong></label>
|
||||
<select name="qa_category" id="qa_category" required >
|
||||
<option value="">분류를 선택하세요</option>
|
||||
<?php echo $category_option ?>
|
||||
</select>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_email) { ?>
|
||||
<li class="bo_w_mail chk_box">
|
||||
<label for="qa_email" class="sound_only">이메일</label>
|
||||
<input type="text" name="qa_email" value="<?php echo get_text($write['qa_email']); ?>" id="qa_email" <?php echo $req_email; ?> class="<?php echo $req_email.' '; ?>frm_input full_input email" size="50" maxlength="100" placeholder="이메일">
|
||||
<input type="checkbox" name="qa_email_recv" id="qa_email_recv" value="1" <?php if($write['qa_email_recv']) echo 'checked="checked"'; ?> class="selec_chk">
|
||||
<label for="qa_email_recv" class="frm_info"><span></span>답변받기</label>
|
||||
</li/>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_hp) { ?>
|
||||
<li class="bo_w_hp chk_box">
|
||||
<label for="qa_hp" class="sound_only">휴대폰</label>
|
||||
<input type="text" name="qa_hp" value="<?php echo get_text($write['qa_hp']); ?>" id="qa_hp" <?php echo $req_hp; ?> class="<?php echo $req_hp.' '; ?>frm_input full_input" size="30" placeholder="휴대폰">
|
||||
<?php if($qaconfig['qa_use_sms']) { ?>
|
||||
<input type="checkbox" name="qa_sms_recv" id="qa_sms_recv" value="1" <?php if($write['qa_sms_recv']) echo 'checked="checked"'; ?> class="selec_chk">
|
||||
<label for="qa_sms_recv" class="frm_info"><span></span>답변등록 SMS알림 수신</label>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="bo_w_sbj">
|
||||
<label for="qa_subject" class="sound_only">제목<strong class="sound_only">필수</strong></label>
|
||||
<input type="text" name="qa_subject" value="<?php echo get_text($write['qa_subject']); ?>" id="qa_subject" required class="frm_input full_input required" size="50" maxlength="255" placeholder="제목">
|
||||
</li>
|
||||
|
||||
<li class="qa_content_wrap <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
|
||||
<label for="qa_content" class="sound_only">내용<strong class="sound_only">필수</strong></label>
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
|
||||
</li>
|
||||
|
||||
<?php if ($option) { ?>
|
||||
<li>
|
||||
옵션
|
||||
<?php echo $option; ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_1" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> 파일 #1</span></label>
|
||||
<input type="file" name="bf_file[1]" id="bf_file_1" title="파일첨부 1 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
<?php if($w == 'u' && $write['qa_file1']) { ?>
|
||||
<input type="checkbox" id="bf_file_del1" name="bf_file_del[1]" value="1"> <label for="bf_file_del1"><?php echo $write['qa_source1']; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_2" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> 파일 #2</span></label>
|
||||
<input type="file" name="bf_file[2]" id="bf_file_2" title="파일첨부 2 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
<?php if($w == 'u' && $write['qa_file2']) { ?>
|
||||
<input type="checkbox" id="bf_file_del2" name="bf_file_del[2]" value="1"> <label for="bf_file_del2"><?php echo $write['qa_source2']; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm write_div">
|
||||
<a href="<?php echo $list_href; ?>" class="btn_cancel btn">취소</a>
|
||||
<button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">작성완료</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "2";
|
||||
else
|
||||
obj.value = "1";
|
||||
}
|
||||
else
|
||||
obj.value = "";
|
||||
}
|
||||
|
||||
function fwrite_submit(f)
|
||||
{
|
||||
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": f.qa_subject.value,
|
||||
"content": f.qa_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.qa_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_qa_content) != "undefined")
|
||||
ed_qa_content.returnFalse();
|
||||
else
|
||||
f.qa_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php if ($is_hp) { ?>
|
||||
var hp = f.qa_hp.value.replace(/[0-9\-]/g, "");
|
||||
if(hp.length > 0) {
|
||||
alert("휴대폰번호는 숫자, - 으로만 입력해 주십시오.");
|
||||
return false;
|
||||
}
|
||||
<?php } ?>
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_bbs_url+"/ajax.write.token.php",
|
||||
data: { 'token_case' : 'qa_write' },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (typeof data.token !== "undefined") {
|
||||
token = data.token;
|
||||
|
||||
if(typeof f.token === "undefined")
|
||||
$(f).prepend('<input type="hidden" name="token" value="">');
|
||||
|
||||
$(f).find("input[name=token]").val(token);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</section>
|
||||
<!-- } 게시물 작성/수정 끝 -->
|
||||
Reference in New Issue
Block a user