리빌더 부분 추가
BIN
theme/rb.basic/mobile/skin/board/basic/img/btn_next2.gif
Normal file
|
After Width: | Height: | Size: 55 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/btn_prev2.gif
Normal file
|
After Width: | Height: | Size: 56 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/chk.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/cmt_btn.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_bad.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_comment.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_good.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_hot.gif
Normal file
|
After Width: | Height: | Size: 319 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_img.gif
Normal file
|
After Width: | Height: | Size: 145 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_link.gif
Normal file
|
After Width: | Height: | Size: 319 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_lock.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_mobile.gif
Normal file
|
After Width: | Height: | Size: 62 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_movie.gif
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_new.gif
Normal file
|
After Width: | Height: | Size: 71 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_reply.gif
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_secret.gif
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_sound.gif
Normal file
|
After Width: | Height: | Size: 113 B |
BIN
theme/rb.basic/mobile/skin/board/basic/img/icon_view.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/require.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
theme/rb.basic/mobile/skin/board/basic/img/sch_btn.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
229
theme/rb.basic/mobile/skin/board/basic/list.skin.php
Normal file
@ -0,0 +1,229 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
|
||||
$colspan = 2;
|
||||
|
||||
if ($is_checkbox) $colspan++;
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="sw" value="">
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="<?php echo isset($view) ? 'view_is_list btn_top' : 'btn_top top 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 } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b03 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt btn_b03 btn is_list_btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<ul class="more_opt is_list_btn">
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="fix_btn write_btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
<!-- 게시판 목록 시작 -->
|
||||
<div id="bo_list">
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']) ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<?php } ?>
|
||||
|
||||
<div class="list_01">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<div 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>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<ul>
|
||||
<?php for ($i=0; $i<count($list); $i++) { ?>
|
||||
<li class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<div class="bo_chk chk_box">
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="bo_cnt">
|
||||
<?php if ($list[$i]['is_notice'] || ($is_category && $list[$i]['ca_name'])) { ?>
|
||||
<div class="bo_cate_ico">
|
||||
<?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon">공지</strong><?php } ?>
|
||||
<?php if ($is_category && $list[$i]['ca_name']) { ?>
|
||||
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name']; ?></a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="bo_subject">
|
||||
<?php echo $list[$i]['icon_reply']; ?>
|
||||
<?php if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret']; ?>
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";
|
||||
if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
|
||||
if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
|
||||
if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
|
||||
?>
|
||||
|
||||
<?php if ($list[$i]['comment_cnt']) { ?>
|
||||
<span class="bo_cmt">
|
||||
<span class="sound_only">댓글</span>
|
||||
<?php echo $list[$i]['comment_cnt']; ?>
|
||||
<span class="sound_only">개</span>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="bo_info">
|
||||
<span class="sound_only">작성자</span><?php echo $list[$i]['name'] ?>
|
||||
<span class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
|
||||
<span class="bo_view"><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($list[$i]['wr_hit']) ?><span class="sound_only">회</span></span>
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?><?php } ?>
|
||||
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?><?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { echo '<li class="empty_table">게시물이 없습니다.</li>'; } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
|
||||
<div id="bo_list_total">
|
||||
<span>전체 <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<fieldset id="bo_sch">
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<?php echo get_board_sfl_select_options($sfl); ?>
|
||||
</select>
|
||||
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어를 입력하세요" required id="stx" class="sch_input" size="15" maxlength="20">
|
||||
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fboardlist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택복사") {
|
||||
select_copy("copy");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택이동") {
|
||||
select_copy("move");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
|
||||
return false;
|
||||
|
||||
f.removeAttribute("target");
|
||||
f.action = g5_bbs_url+"/board_list_update.php";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 선택한 게시물 복사 및 이동
|
||||
function select_copy(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
if (sw == 'copy')
|
||||
str = "복사";
|
||||
else
|
||||
str = "이동";
|
||||
|
||||
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
|
||||
f.sw.value = sw;
|
||||
f.target = "move";
|
||||
f.action = g5_bbs_url+"/move.php";
|
||||
f.submit();
|
||||
}
|
||||
|
||||
// 게시판 리스트 관리자 옵션
|
||||
jQuery(function($){
|
||||
$(".btn_more_opt.is_list_btn").on("click", function(e) {
|
||||
e.stopPropagation();
|
||||
$(".more_opt.is_list_btn").toggle();
|
||||
});
|
||||
$(document).on("click", function (e) {
|
||||
if(!$(e.target).closest('.is_list_btn').length) {
|
||||
$(".more_opt.is_list_btn").hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- 게시판 목록 끝 -->
|
||||
311
theme/rb.basic/mobile/skin/board/basic/style.css
Normal file
@ -0,0 +1,311 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
.chk_all {margin:10px 0}
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_list .td_chk {width:30px;text-align:center}
|
||||
#bo_list .td_group {width:100px;text-align:center}
|
||||
#bo_list .td_board {width:120px;text-align:center}
|
||||
#bo_list .td_num {width:50px;text-align:center}
|
||||
#bo_list .td_numbig {width:80px;text-align:center}
|
||||
#bo_list .td_mb_id {width:100px;text-align:center}
|
||||
#bo_list .td_nick {width:100px;text-align:center}
|
||||
#bo_list .td_name {width:100px;text-align:left}
|
||||
#bo_list .td_date {width:60px;text-align:center}
|
||||
#bo_list .td_datetime {width:150px;text-align:center}
|
||||
#bo_list .td_mng {width:80px;text-align:center}
|
||||
#bo_list .notice_icon {display:inline-block;background:#fbe2e6;padding:0 5px;line-height:20px;border-radius:5px;font-weight:bold;font-size:11px;color:#f1364c}
|
||||
#bo_list .bo_subject .fa-download {width:16px;line-height:16px;background:#ffefb9;color:#daae37;text-align:center;font-size:10px;border-radius:2px;vertical-align:baseline}
|
||||
#bo_list .bo_subject .fa-link {width:16px;line-height:16px;background:#edd3fd;color:#b451fd;text-align:center;font-size:10px;border-radius:2px;vertical-align:baseline}
|
||||
#bo_list .bo_subject .fa-heart {color:#ff0000;text-align:center;font-size:10px;border-radius:2px}
|
||||
#bo_list .bo_subject .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:0 4px;font-weight:bold;vertical-align:middle}
|
||||
#bo_list .bo_subject .fa-lock {display:inline-block;line-height:16px;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:baseline}
|
||||
|
||||
|
||||
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {background:#fff;padding-left:1px;border-bottom:1px solid #d9dce3;zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {display:inline-block;float:left}
|
||||
#bo_cate a {display:block;line-height:24px;padding:15px}
|
||||
#bo_cate #bo_cate_on {display:inline-block;position:relative;color:#3a8afd}
|
||||
#bo_cate #bo_cate_on:after {content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;display:inline-block;background:#3a8afd}
|
||||
|
||||
|
||||
/* 관리자일 때 */
|
||||
#bo_list_admin th label {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_list_admin th:nth-of-type(1) {width:40px}
|
||||
#bo_list_admin th:nth-of-type(3) {width:100px}
|
||||
|
||||
#bo_list_admin td:nth-of-type(1) {text-align:center}
|
||||
#bo_list_admin td:nth-of-type(3) {text-align:center}
|
||||
|
||||
/* 관리자가 아닐 때 */
|
||||
#bo_list th:nth-of-type(2) {width:100px}
|
||||
#bo_list td:nth-of-type(2) {text-align:center}
|
||||
|
||||
/* 게시판 목록 공통 */
|
||||
#bo_list {}
|
||||
#bo_list li {background:#fff}
|
||||
#bo_list li.bo_notice {background:#fff6fa}
|
||||
|
||||
.bo_fx {margin-bottom:5px;padding:0 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx ul {margin:0;padding:0;list-style:none}
|
||||
#bo_list_total {margin:10px;text-align:center;padding:10px;text-align:center;background:#e3e7ec;color:#8b8b8b;border-radius:3px}
|
||||
|
||||
.btn_bo_user > li {float:left;text-align:center;margin-left:5px}
|
||||
.btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.btn_more_opt {width:30px}
|
||||
.more_opt {display:none;position:absolute;top:50px;right:7px;background:#fff;border:1px solid #b8bfc4;z-index:999}
|
||||
.more_opt:before {content:"";position:absolute;top:-8px;right:6px;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:6px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
|
||||
.more_opt.is_list_btn{width:90px}
|
||||
.more_opt li {display:block;border-bottom:1px solid #f1f1f1;padding:10px;margin:0;color:#6b757c;text-align:left}
|
||||
.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 {line-height:20px}
|
||||
|
||||
.bo_share {position:relative}
|
||||
#bo_v_share {display:none;position:absolute;top:42px;right:0;padding:10px;text-align:right;background:#fff;border:1px solid #b8bfc4}
|
||||
#bo_v_share:before {content:"";position:absolute;top:-8px;right:6px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
|
||||
#bo_v_share:after {content:"";position:absolute;top:-6px;right:6px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
|
||||
#bo_v_share .btn_scrap {display:inline-block;background:#d4d4d4;color:#444;line-height:40px;width:40px;font-weight:bold;text-align:center;border-radius:3px}
|
||||
|
||||
#bo_v_sns {padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns li {text-align:center;margin:5px 0 0}
|
||||
#bo_v_sns li a {display:block;width:40px;height:40px;padding:10px 0}
|
||||
#bo_v_sns li .sns_f {background:#415b92;border-radius:3px}
|
||||
#bo_v_sns li .sns_t {background:#35b3dc;border-radius:3px}
|
||||
#bo_v_sns li .sns_g {background:#d5503a;border-radius:3px}
|
||||
#bo_v_sns li .sns_k {background:#fbe300;border-radius:3px}
|
||||
#bo_v_sns li img {vertical-align:top}
|
||||
#bo_v_sns li span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
|
||||
.bo_cate_link {display:inline-block;background:#e2eaf6;padding:0 5px;line-height:20px;border-radius:5px;font-weight:bold;font-size:11px;color:#3ca1ff !important;text-decoration:none;/*font-size:0.92em*/} /* 글제목줄 분류스타일 */
|
||||
.bo_cate_ico {margin-bottom:5px}
|
||||
.bo_cnt {display:block;width:100%;font-size:1.083em;font-weight:bold;line-height:1.4em}
|
||||
.bo_cnt i {color:#8d96c2;font-size:12px}
|
||||
.bo_cnt .fa-heart {color:#ff0000}
|
||||
.bo_chk {display:inline-block;float:left;margin-right:5px}
|
||||
|
||||
.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 {padding-left:20px;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:15px;height:15px;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}
|
||||
.all_chk.chk_box input[type="checkbox"] + label span {top:18px;left:15px}
|
||||
|
||||
.bo_cmt {background:#e9eff5;color:#3a8afd;font-size:0.925em;height:16px;padding:0 5px;border-radius:2px;vertical-align:top;min-width:16px}
|
||||
|
||||
.bo_subject {display:block;width:100%;padding-bottom:5px}
|
||||
.bo_current {color:#e8180c}
|
||||
.bo_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_info {position:relative;padding-top:5px;line-height:20px;color:#646464;vertical-align:top}
|
||||
.bo_info i {margin-left:10px}
|
||||
.bo_info .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}
|
||||
.bo_info .bo_date {}
|
||||
.bo_info .cnt_cmt {display:inline-block;margin: 0 5px 0 3px}
|
||||
.bo_info .profile_img img {border-radius:50%;vertical-align:top}
|
||||
|
||||
#bo_sch {background:#fff;border:1px solid #d0d3db;position:relative;margin:10px}
|
||||
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
|
||||
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
|
||||
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
|
||||
|
||||
.view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0}
|
||||
.view_is_list {margin:8px 10px 0;height:50px;padding:10px;line-height:30px;border-radius:3px;border-bottom:1px solid #ccc;background:#fff;color:#333;text-align:right}
|
||||
.view_is_list li {display:inline-block}
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%}
|
||||
|
||||
#char_count_desc {display:block;margin:0 0 5px;padding:0}
|
||||
#char_count_wrap {margin:5px 0 0;text-align:right}
|
||||
#char_count {font-weight:bold}
|
||||
|
||||
#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%}
|
||||
.fix_btn.write_btn{z-index:99}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {padding:20px 0 0;background:#fff}
|
||||
#bo_v>header {padding:0 15px;border-bottom:1px solid #eee}
|
||||
#bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold}
|
||||
|
||||
#bo_v_title {}
|
||||
.bo_v_cate {display:inline-block;background:#e2eaf6;color:#3a8afd;border-radius:13px;line-height:20px;border-radius:5px;padding:0 5px;font-weight:bold}
|
||||
.bo_v_tit {display:block;font-size:1.5em;margin:10px 0 0}
|
||||
|
||||
#bo_v_info {padding:15px 0;color:#8e8e8e;line-height:20px}
|
||||
#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_info strong {display:inline-block;font-weight:normal;margin:0 5px}
|
||||
#bo_v_info .profile_img img {border-radius:50%;vertical-align:top}
|
||||
#bo_v_info .icon_view {display:inline-block;background:url('./img/icon_view.png') no-repeat 50% 50%;background-size:80%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px}
|
||||
#bo_v_info .icon_comment {display:inline-block;background:url('./img/icon_comment.png') no-repeat 50% 50%;background-size:70%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px}
|
||||
|
||||
#bo_v_file {padding:0 15px;margin-bottom:20px}
|
||||
#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_file ul {margin:0;list-style:none}
|
||||
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf}
|
||||
#bo_v_file li i {float:left;color:#b2b2b2;font-size:1.6em;margin-right:20px}
|
||||
#bo_v_file a {float:left;display:block;margin-right:10px;text-decoration:none;word-wrap:break-word;color:#000}
|
||||
|
||||
@media (max-width:450px){
|
||||
#bo_v_file a {float:inherit}
|
||||
}
|
||||
|
||||
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd}
|
||||
#bo_v_file img {float:left;margin:0 10px 0 0}
|
||||
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
|
||||
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
|
||||
#bo_v_file li:hover i {color:#3a8afd}
|
||||
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}
|
||||
|
||||
#bo_v_link {padding:0 15px;margin-bottom:20px}
|
||||
#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_file ul {margin:0;list-style:none}
|
||||
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf}
|
||||
#bo_v_link li i {float:left;color:#b2b2b2;font-size:1.6em;margin-right:20px}
|
||||
#bo_v_link a {float:left;display:block;margin-right:10px;text-decoration:none;word-wrap:break-word;color:#000}
|
||||
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
|
||||
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
|
||||
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
|
||||
#bo_v_link li:hover i {color:#3a8afd}
|
||||
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}
|
||||
|
||||
#bo_v_top {margin:10px 15px}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul {margin:0;padding:0;list-style:none}
|
||||
#bo_v_top ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top ul li {display:inline-block}
|
||||
.bo_v_left {float:left}
|
||||
.bo_v_right {float:right}
|
||||
|
||||
#bo_v_bot {padding:0 10px}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {margin:0;padding:0;list-style:none}
|
||||
|
||||
.bo_v_nb {position:relative;margin:10px 0 0;border-top:1px solid #e4e4ec;border-bottom:1px solid #e4e4ec;text-align:left}
|
||||
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_v_nb li {}
|
||||
.bo_v_nb li a {display:block;padding:15px;color:#777}
|
||||
.bo_v_nb li a i {color:#c5cfdd}
|
||||
.bo_v_nb li.bo_v_prev {border-bottom:1px solid #f8f8f8}
|
||||
.bo_v_nb li.bo_v_next {}
|
||||
|
||||
|
||||
#bo_v_atc {min-height:200px;padding:15px}
|
||||
#bo_v_atc_title {margin:0;padding:0;height:0;overflow:hidden}
|
||||
|
||||
#bo_v_img {width:100%;overflow:hidden;zoom:1}
|
||||
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_img a.view_image {display:block}
|
||||
#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto}
|
||||
|
||||
#bo_v_con {min-height:200px;margin-bottom:20px;width:100%;font-size:1.250em;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 .bo_v_act_gng {position:relative}
|
||||
#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158}
|
||||
#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f}
|
||||
#bo_v_act i {font-size:1.4em;margin-right:5px}
|
||||
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
|
||||
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
|
||||
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
#bo_vc {background:#f8f8f8;padding:15px}
|
||||
#bo_vc h2.bo_vc_tit {}
|
||||
#bo_vc h2 span {color:#3a8afd}
|
||||
#bo_vc article {}
|
||||
#bo_vc article .comment_inner{margin:15px 0 0;padding:15px;background:#fff;border-bottom:1px solid #e4e4ec}
|
||||
#bo_vc article h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_vc header {position:relative;padding:0;line-height:20px;padding-right:18px}
|
||||
#bo_vc .profile_img {vertical-align:text-bottom}
|
||||
#bo_vc .profile_img img {width:23px;height:23px;border-radius:50%}
|
||||
#bo_vc header .bo_vl_opt {position:absolute;top:-5px;right:-8px}
|
||||
.comment_inner .bo_vc_w{margin-top:10px;padding-top:15px}
|
||||
|
||||
#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
|
||||
.bo_vc_hdinfo {display:inline-block;color:#777}
|
||||
#bo_vc h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc .cmt_contents {margin:10px 0 0;border-radius:5px;line-height:1.8em}
|
||||
#bo_vc .cmt_contents p {font-size:1.083em}
|
||||
#bo_vc p a {text-decoration:underline}
|
||||
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
|
||||
#bo_vc_empty {margin:0;padding:15px !important;text-align:center}
|
||||
#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 {display:none;position:absolute;right:0;top:40px;width:58px;text-align:center;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
|
||||
.bo_vc_act: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_vc_act: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_vc_act li {border-bottom:1px solid #f0f0f0}
|
||||
.bo_vc_act li:last-child {border-bottom:0}
|
||||
.bo_vc_act li a {display:inline-block;padding:10px 15px}
|
||||
.bo_vc_act li a:hover {color:#3a8afd}
|
||||
|
||||
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
.bo_vc_w {display:block;position:relative;padding:0 15px 15px;background:#f8f8f8}
|
||||
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w #char_cnt {display:block;margin:0 0 5px}
|
||||
.bo_vc_w textarea {width:100%;height:120px;padding:5px;border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle}
|
||||
#wr_secret {}
|
||||
|
||||
.bo_vc_w_info {margin:10px 0}
|
||||
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w_info .frm_input {float:left;width:49.5%;margin:0 0 5px 0}
|
||||
.bo_vc_w_info #wr_password {float:right}
|
||||
.bo_vc_w_info #captcha {display:block;clear:both}
|
||||
.bo_vc_w .btn_confirm {margin-top:5px;clear:both}
|
||||
.bo_vc_w .icon_lock {display:inline-block;font-size:1em;vertical-align:baseline}
|
||||
.bo_vc_w .btn_submit {height:50px;width:100%;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
|
||||
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w .bo_vc_secret {display:block}
|
||||
|
||||
#bo_vc_send_sns {display:block;margin-bottom:10px}
|
||||
#bo_vc_sns {display:block;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 5px 0 0}
|
||||
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;padding: 10px 0 10px 10px}
|
||||
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;padding: 10px 0 10px 10px}
|
||||
#bo_vc_sns .sns_li_off {background:#bbb}
|
||||
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
|
||||
#bo_vc_sns input {margin:0 5px 0 0}
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#bo_w {padding:15px}
|
||||
#bo_w .bo_v_option li {display:inline-block;float:left;margin:0 5px 0 0}
|
||||
#bo_w .bo_v_option li label {vertical-align:baseline}
|
||||
#bo_w .bo_v_option:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_w .bo_w_select select {border:1px solid #d0d3db;background:#fff;width:100%}
|
||||
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;width:45px;height:43px;line-height:43px;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;width:45px;height:43px;line-height:43px;font-size:1.2em;text-align:center;color:#b2b2b2}
|
||||
#bo_w .bo_w_flie .frm_file {padding-left:50px}
|
||||
#bo_w .bo_w_flie .file_wr {position:relative;color:#000;vertical-align:middle;margin:0}
|
||||
#bo_w .bo_w_flie .frm_input {margin:5px 0 0}
|
||||
|
||||
.filebox .btn_file {display:inline-block;position:absolute;right:8px;top:8px;border:1px solid #3a8afd;border-radius:3px;width:60px;height:30px;color:#3a8afd;font-size:1em;line-height:30px;font-weight:bold;background:#fff;text-align:center;vertical-align:middle;cursor:pointer}
|
||||
.filebox .fileName {display:inline-block;position:relative;width:100%;height:45px;padding-left:45px;line-height:30px;border:1px solid #d0d3db;background-color:#fff;color:red;vertical-align:middle;border-radius:0}
|
||||
.filebox input[type="file"] {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
|
||||
|
||||
#bo_w .btn_confirm {text-align:center;margin:20px 0}
|
||||
#bo_w .btn_submit {width:49%;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
|
||||
#bo_w .btn_cancel {width:49%;line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em;background:#fff;border-radius:3px;border:1px solid #dcdcdc}
|
||||
283
theme/rb.basic/mobile/skin/board/basic/view.skin.php
Normal file
@ -0,0 +1,283 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<!-- 게시판 이름 표시 <div id="bo_v_table"><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']); ?></div> -->
|
||||
<ul class="btn_top top btn_bo_user">
|
||||
<li><a href="#bo_vc" class="btn_b03 btn" title="댓글"><i class="fa fa-commenting" aria-hidden="true"></i><span class="sound_only">댓글</span></a></li>
|
||||
<?php if ($board['bo_use_sns'] || $scrap_href){ ?>
|
||||
<li class="bo_share">
|
||||
<button type="button" class="btn_share_opt btn_b03 btn is_view_btn" title="공유"><i class="fa fa-share-alt" aria-hidden="true"></i><span class="sound_only">공유</span></button>
|
||||
<div id="bo_v_share" class="is_view_btn">
|
||||
<?php if ($scrap_href) { ?><a href="<?php echo $scrap_href; ?>" target="_blank" class=" btn_scrap" onclick="win_scrap(this.href); return false;" title="스크랩"><i class="fa fa-thumb-tack" aria-hidden="true"></i><span class="sound_only">스크랩</span></a><?php } ?>
|
||||
<?php include_once(G5_SNS_PATH."/view.sns.skin.php"); ?>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b03 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</a></li><?php } ?>
|
||||
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt btn_b03 btn is_view_btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php ob_start(); ?>
|
||||
<ul class="more_opt is_view_btn">
|
||||
<?php if ($reply_href) { ?><li><a href="<?php echo $reply_href ?>"><i class="fa fa-reply" aria-hidden="true"></i> 답변</a></li><?php } ?>
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>"><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 ?>" onclick="del(this.href); return false;"><i class="fa fa-trash-o" aria-hidden="true"></i> 삭제</a></li><?php } ?>
|
||||
<?php if ($copy_href) { ?><li><a href="<?php echo $copy_href ?>" onclick="board_move(this.href); return false;"><i class="fa fa-files-o" aria-hidden="true"></i> 복사</a></li><?php } ?>
|
||||
<?php if ($move_href) { ?><li><a href="<?php echo $move_href ?>" onclick="board_move(this.href); return false;"><i class="fa fa-arrows" aria-hidden="true"></i> 이동</a></li><?php } ?>
|
||||
<?php if ($search_href) { ?><li><a href="<?php echo $search_href ?>">검색</a></li><?php } ?>
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_list"><i class="fa fa-list" aria-hidden="true"></i> 목록</a></li>
|
||||
</ul>
|
||||
<?php $link_buttons = ob_get_contents(); ob_end_flush(); ?>
|
||||
</li>
|
||||
</ul>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
// 게시판 보기 버튼 옵션
|
||||
$(".btn_more_opt.is_view_btn").on("click", function(e) {
|
||||
e.stopPropagation();
|
||||
$(".more_opt.is_view_btn").toggle();
|
||||
});
|
||||
// 게시글 공유
|
||||
$(".btn_share_opt").on("click", function(e) {
|
||||
e.stopPropagation();
|
||||
$("#bo_v_share").toggle();
|
||||
});
|
||||
$(document).on("click", function (e) {
|
||||
if(!$(e.target).closest('.is_view_btn').length) {
|
||||
$(".more_opt.is_view_btn").hide();
|
||||
$("#bo_v_share").hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<article id="bo_v" style="width:<?php echo $width; ?>">
|
||||
<header>
|
||||
<h2 id="bo_v_title">
|
||||
<?php if ($category_name) { ?>
|
||||
<span class="bo_v_cate"><?php echo $view['ca_name']; // 분류 출력 끝 ?></span>
|
||||
<?php } ?>
|
||||
<span class="bo_v_tit"><?php echo cut_str(get_text($view['wr_subject']), 70); // 글제목 출력 ?></span>
|
||||
</h2>
|
||||
<div id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<span class="sound_only">작성자 </span><?php echo $view['name'] ?><span class="ip"><?php if ($is_ip_view) { echo " ($ip)"; } ?></span>
|
||||
<span class="sound_only">작성일</span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo date("y-m-d H:i", strtotime($view['wr_datetime'])) ?>
|
||||
<span class="sound_only">조회</span><strong><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($view['wr_hit']) ?></strong>
|
||||
<span class="sound_only">댓글</span><strong><i class="fa fa-commenting-o" aria-hidden="true"></i> <?php echo number_format($view['wr_comment']) ?></strong>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
$v_img_count = count($view['file']);
|
||||
if($v_img_count) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
foreach($view['file'] as $view_file) {
|
||||
echo get_file_thumbnail($view_file);
|
||||
}
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
|
||||
<?php //echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
|
||||
|
||||
<?php if ($is_signature) { ?><p><?php echo $signature ?></p><?php } ?>
|
||||
|
||||
<?php if ( $good_href || $nogood_href) { ?>
|
||||
<div id="bo_v_act">
|
||||
<?php if ($good_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="bo_v_good"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></a>
|
||||
<b id="bo_v_act_good">이 글을 추천하셨습니다</b>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<?php if ($nogood_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<b id="bo_v_act_nogood"></b>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } else {
|
||||
if($board['bo_use_good'] || $board['bo_use_nogood']) {
|
||||
?>
|
||||
<div id="bo_v_act">
|
||||
<?php if($board['bo_use_good']) { ?><span class="bo_v_good"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i><span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></span><?php } ?>
|
||||
<?php if($board['bo_use_nogood']) { ?><span class="bo_v_nogood"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i><span class="sound_only">비추천</span> <strong><?php echo number_format($view['wr_nogood']) ?></strong></span><?php } ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
$cnt = 0;
|
||||
if ($view['file']['count']) {
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($cnt) { ?>
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<strong><?php echo $view['file'][$i]['source'] ?></strong>
|
||||
<?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
|
||||
</a>
|
||||
<span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드</span> |
|
||||
<span>DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 링크
|
||||
$cnt = 0;
|
||||
for ($i=1; $i<=count($view['link']); $i++) {
|
||||
if ($view['link'][$i]) {
|
||||
$cnt++;
|
||||
$link = cut_str($view['link'][$i], 70);
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['link_href'][$i] ?>" target="_blank">
|
||||
<i class="fa fa-link" aria-hidden="true"></i>
|
||||
<strong><?php echo $link ?></strong>
|
||||
</a>
|
||||
<span class="bo_v_link_cnt"><?php echo $view['link_hit'][$i] ?>회 연결</span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 관련링크 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
<ul class="bo_v_nb">
|
||||
<?php if ($prev_href) { ?><li class="bo_v_prev"><a href="<?php echo $prev_href ?>"><i class="fa fa-chevron-up" aria-hidden="true"></i><span class="sound_only">이전글</span> <?php echo $prev_wr_subject;?></a></li><?php } ?>
|
||||
<?php if ($next_href) { ?><li class="bo_v_next"><a href="<?php echo $next_href ?>"><i class="fa fa-chevron-down" aria-hidden="true"></i><span class="sound_only">다음글</span> <?php echo $next_wr_subject;?></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<?php if ($board['bo_download_point'] < 0) { ?>
|
||||
$(function() {
|
||||
$("a.view_file_download").click(function() {
|
||||
if(!g5_is_member) {
|
||||
alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||
|
||||
if(confirm(msg)) {
|
||||
var href = $(this).attr("href")+"&js=on";
|
||||
$(this).attr("href", href);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
function board_move(href)
|
||||
{
|
||||
window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 게시글 보기 끝 -->
|
||||
|
||||
<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;
|
||||
});
|
||||
|
||||
// 추천, 비추천
|
||||
$("#good_button, #nogood_button").click(function() {
|
||||
var $tx;
|
||||
if(this.id == "good_button")
|
||||
$tx = $("#bo_v_act_good");
|
||||
else
|
||||
$tx = $("#bo_v_act_nogood");
|
||||
|
||||
excute_good(this.href, $(this), $tx);
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
|
||||
function excute_good(href, $el, $tx)
|
||||
{
|
||||
$.post(
|
||||
href,
|
||||
{ js: "on" },
|
||||
function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(data.count) {
|
||||
$el.find("strong").text(number_format(String(data.count)));
|
||||
if($tx.attr("id").search("nogood") > -1) {
|
||||
$tx.text("이 글을 비추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
} else {
|
||||
$tx.text("이 글을 추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
}
|
||||
}
|
||||
}, "json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
348
theme/rb.basic/mobile/skin/board/basic/view_comment.skin.php
Normal file
@ -0,0 +1,348 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<script>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $comment_min ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
</script>
|
||||
|
||||
<!-- 댓글 리스트 -->
|
||||
<section id="bo_vc">
|
||||
<h2 class="bo_vc_tit">댓글목록 <span><?php echo $view['wr_comment']; ?></span></h2>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
$comment_id = $list[$i]['wr_id'];
|
||||
$cmt_depth = ""; // 댓글단계
|
||||
$cmt_depth = strlen($list[$i]['wr_comment_reply']) * 15;
|
||||
$str = $list[$i]['content'];
|
||||
// if (strstr($list[$i]['wr_option'], "secret"))
|
||||
// $str = $str;
|
||||
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
|
||||
$c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
$is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0;
|
||||
?>
|
||||
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>>
|
||||
<div class="comment_inner">
|
||||
<header>
|
||||
<h2><?php echo get_text($list[$i]['wr_name']); ?>님의 댓글<?php if ($cmt_depth) { ?><span class="sound_only">의 댓글</span><?php } ?></h2>
|
||||
<?php echo $list[$i]['name'] ?>
|
||||
<?php if ($is_ip_view) { ?>
|
||||
<span class="sound_only">아이피</span>
|
||||
<span class="bo_vc_hdinfo">(<?php echo $list[$i]['ip']; ?>)</span>
|
||||
<?php } ?>
|
||||
<span class="sound_only">작성일</span>
|
||||
<span class="bo_vc_hdinfo"><i class="fa fa-clock-o" aria-hidden="true"></i> <time datetime="<?php echo date('Y-m-d\TH:i:s+09:00', strtotime($list[$i]['datetime'])) ?>"><?php echo $list[$i]['datetime'] ?></time></span>
|
||||
<?php
|
||||
include(G5_SNS_PATH."/view_comment_list.sns.skin.php");
|
||||
?>
|
||||
<?php if( $is_comment_reply_edit ){ ?>
|
||||
<div class="bo_vl_opt">
|
||||
<button type="button" class="btn_cm_opt btn_b03 btn"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">댓글 옵션</span></button>
|
||||
<ul class="bo_vc_act">
|
||||
<?php if ($list[$i]['is_reply']) { ?><li><a href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_edit']) { ?><li><a href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_del']) { ?><li><a href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<script>
|
||||
$(function() {
|
||||
// 댓글 옵션창 열기
|
||||
$(".btn_cm_opt").on("click", function(){
|
||||
$(this).parent("div").children(".bo_vc_act").show();
|
||||
});
|
||||
|
||||
// 댓글 옵션창 닫기
|
||||
$(document).mouseup(function (e){
|
||||
var container = $(".bo_vc_act");
|
||||
if( container.has(e.target).length === 0)
|
||||
container.hide();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</header>
|
||||
<div class="cmt_contents">
|
||||
<!-- 댓글 출력 -->
|
||||
<p>
|
||||
<?php if (strstr($list[$i]['wr_option'], "secret")) echo "<img src=\"".$board_skin_url."/img/icon_secret.gif\" alt=\"비밀글\">"; ?>
|
||||
<?php echo $str ?>
|
||||
</p>
|
||||
|
||||
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
|
||||
if($w == 'cu') {
|
||||
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
|
||||
$cmt = sql_fetch($sql);
|
||||
if (isset($cmt)) {
|
||||
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id']))) {
|
||||
$cmt['wr_content'] = '';
|
||||
}
|
||||
$c_wr_content = $cmt['wr_content'];
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<span id="edit_<?php echo $comment_id ?>"></span><!-- 수정 -->
|
||||
<span id="reply_<?php echo $comment_id ?>"></span><!-- 답변 -->
|
||||
<input type="hidden" id="secret_comment_<?php echo $comment_id ?>" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>">
|
||||
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
|
||||
</div>
|
||||
</article>
|
||||
<?php } ?>
|
||||
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
|
||||
|
||||
</section>
|
||||
|
||||
<?php if ($is_comment_write) {
|
||||
if($w == '')
|
||||
$w = 'c';
|
||||
?>
|
||||
<aside id="bo_vc_w">
|
||||
<h2>댓글쓰기</h2>
|
||||
<form name="fviewcomment" id="fviewcomment" action="<?php echo $comment_action_url; ?>" onsubmit="return fviewcomment_submit(this);" method="post" autocomplete="off" class="bo_vc_w">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>" id="w">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
|
||||
<input type="hidden" name="comment_id" value="<?php echo $c_id ?>" id="comment_id">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="is_good" value="">
|
||||
|
||||
<?php if ($comment_min || $comment_max) { ?><strong id="char_cnt"><span id="char_count"></span>글자</strong><?php } ?>
|
||||
<textarea id="wr_content" name="wr_content" required title="댓글 내용"
|
||||
<?php if ($comment_min || $comment_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?php } ?> placeholder="댓글내용을 입력해주세요"><?php echo $c_wr_content; ?></textarea>
|
||||
<?php if ($comment_min || $comment_max) { ?><script> check_byte('wr_content', 'char_count'); </script><?php } ?>
|
||||
|
||||
<div class="bo_vc_w_wr">
|
||||
<div class="bo_vc_w_info">
|
||||
<?php if ($is_guest) { ?>
|
||||
<label for="wr_name" class="sound_only">이름<strong> 필수</strong></label>
|
||||
<input type="text" name="wr_name" value="<?php echo get_cookie("ck_sns_name"); ?>" id="wr_name" required class="frm_input required" size="25" placeholder="이름">
|
||||
<label for="wr_password" class="sound_only">비밀번호<strong> 필수</strong></label>
|
||||
<input type="password" name="wr_password" id="wr_password" required class="frm_input required" size="25" placeholder="비밀번호">
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php if ($is_guest) { ?>
|
||||
<?php echo $captcha_html; ?>
|
||||
<?php } ?>
|
||||
<?php
|
||||
if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) {
|
||||
?>
|
||||
<span class="sound_only">SNS 동시등록</span>
|
||||
<span id="bo_vc_send_sns"></span>
|
||||
<?php } ?>
|
||||
|
||||
<span class="bo_vc_secret chk_box">
|
||||
<input type="checkbox" name="wr_secret" value="secret" id="wr_secret" class="selec_chk">
|
||||
<label for="wr_secret" class="icon_lock">
|
||||
<span></span>비밀글
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
<div class="btn_confirm">
|
||||
<button type="submit" id="btn_submit" class="btn_submit">댓글등록</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
var save_before = '';
|
||||
var save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
|
||||
function good_and_write()
|
||||
{
|
||||
var f = document.fviewcomment;
|
||||
if (fviewcomment_submit(f)) {
|
||||
f.is_good.value = 1;
|
||||
f.submit();
|
||||
} else {
|
||||
f.is_good.value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function fviewcomment_submit(f)
|
||||
{
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
|
||||
f.is_good.value = 0;
|
||||
|
||||
/*
|
||||
var s;
|
||||
if (s = word_filter_check(document.getElementById('wr_content').value))
|
||||
{
|
||||
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
|
||||
document.getElementById('wr_content').focus();
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": "",
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 양쪽 공백 없애기
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
|
||||
if (char_min > 0 || char_max > 0)
|
||||
{
|
||||
check_byte('wr_content', 'char_count');
|
||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||
if (char_min > 0 && char_min > cnt)
|
||||
{
|
||||
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||
return false;
|
||||
} else if (char_max > 0 && char_max < cnt)
|
||||
{
|
||||
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (!document.getElementById('wr_content').value)
|
||||
{
|
||||
alert("댓글을 입력하여 주십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (typeof(f.wr_name) != 'undefined')
|
||||
{
|
||||
f.wr_name.value = f.wr_name.value.replace(pattern, "");
|
||||
if (f.wr_name.value == '')
|
||||
{
|
||||
alert('이름이 입력되지 않았습니다.');
|
||||
f.wr_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(f.wr_password) != 'undefined')
|
||||
{
|
||||
f.wr_password.value = f.wr_password.value.replace(pattern, "");
|
||||
if (f.wr_password.value == '')
|
||||
{
|
||||
alert('비밀번호가 입력되지 않았습니다.');
|
||||
f.wr_password.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
<?php if($is_guest) echo chk_captcha_js(); ?>
|
||||
|
||||
set_comment_token(f);
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function comment_box(comment_id, work)
|
||||
{
|
||||
var el_id,
|
||||
form_el = 'fviewcomment',
|
||||
respond = document.getElementById(form_el);
|
||||
|
||||
// 댓글 아이디가 넘어오면 답변, 수정
|
||||
if (comment_id)
|
||||
{
|
||||
if (work == 'c')
|
||||
el_id = 'reply_' + comment_id;
|
||||
else
|
||||
el_id = 'edit_' + comment_id;
|
||||
}
|
||||
else
|
||||
el_id = 'bo_vc_w';
|
||||
|
||||
if (save_before != el_id)
|
||||
{
|
||||
if (save_before)
|
||||
{
|
||||
document.getElementById(save_before).style.display = 'none';
|
||||
}
|
||||
|
||||
document.getElementById(el_id).style.display = '';
|
||||
document.getElementById(el_id).appendChild(respond);
|
||||
//입력값 초기화
|
||||
document.getElementById('wr_content').value = '';
|
||||
|
||||
// 댓글 수정
|
||||
if (work == 'cu')
|
||||
{
|
||||
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
|
||||
if (typeof char_count != 'undefined')
|
||||
check_byte('wr_content', 'char_count');
|
||||
if (document.getElementById('secret_comment_'+comment_id).value)
|
||||
document.getElementById('wr_secret').checked = true;
|
||||
else
|
||||
document.getElementById('wr_secret').checked = false;
|
||||
}
|
||||
|
||||
document.getElementById('comment_id').value = comment_id;
|
||||
document.getElementById('w').value = work;
|
||||
|
||||
if(save_before)
|
||||
$("#captcha_reload").trigger("click");
|
||||
|
||||
save_before = el_id;
|
||||
}
|
||||
}
|
||||
|
||||
function comment_delete()
|
||||
{
|
||||
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||
}
|
||||
|
||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||
|
||||
<?php if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) { ?>
|
||||
$(function() {
|
||||
// sns 등록
|
||||
$("#bo_vc_send_sns").load(
|
||||
"<?php echo G5_SNS_URL; ?>/view_comment_write.sns.skin.php?bo_table=<?php echo $bo_table; ?>",
|
||||
function() {
|
||||
save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
$(function() {
|
||||
//댓글열기
|
||||
$(".cmt_btn").click(function(){
|
||||
$(this).toggleClass("cmt_btn_op");
|
||||
$("#bo_vc").toggle();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php }
|
||||
252
theme/rb.basic/mobile/skin/board/basic/write.skin.php
Normal file
@ -0,0 +1,252 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<section id="bo_w">
|
||||
<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="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
if ($is_notice || $is_html || $is_secret || $is_mail) {
|
||||
$option = '';
|
||||
if ($is_notice) {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="notice" name="notice" class="selec_chk" value="1" '.$notice_checked.'>'.PHP_EOL.'<label for="notice"><span></span>공지</label></li>';
|
||||
}
|
||||
if ($is_html) {
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" value="html1" name="html">';
|
||||
} else {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="html" name="html" onclick="html_auto_br(this);" class="selec_chk" value="'.$html_value.'" '.$html_checked.'>'.PHP_EOL.'<label for="html"><span></span>html</label></li>';
|
||||
}
|
||||
}
|
||||
if ($is_secret) {
|
||||
if ($is_admin || $is_secret==1) {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="secret" name="secret" class="selec_chk" value="secret" '.$secret_checked.'>'.PHP_EOL.'<label for="secret"><span></span>비밀글</label></li>';
|
||||
} else {
|
||||
$option_hidden .= '<input type="hidden" name="secret" value="secret">';
|
||||
}
|
||||
}
|
||||
if ($is_mail) {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="mail" name="mail" class="selec_chk" value="mail" '.$recv_email_checked.'>'.PHP_EOL.'<label for="mail"><span></span>답변메일받기</label></li>';
|
||||
}
|
||||
}
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01 write_div">
|
||||
<h2 class="sound_only"><?php echo $g5['title'] ?></h2>
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<div class="bo_w_select write_div">
|
||||
<label for="ca_name" class="sound_only">분류<strong>필수</strong></label>
|
||||
<select id="ca_name" name="ca_name" required>
|
||||
<option value="">선택하세요</option>
|
||||
<?php echo $category_option ?>
|
||||
</select>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_name) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_name" class="sound_only">이름<strong>필수</strong></label>
|
||||
<input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input full_input required" maxlength="20" placeholder="이름">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_password) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_password" class="sound_only">비밀번호<strong>필수</strong></label>
|
||||
<input type="password" name="wr_password" id="wr_password" <?php echo $password_required ?> class="frm_input full_input <?php echo $password_required ?>" maxlength="20" placeholder="비밀번호">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_email) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_email" class="sound_only">이메일</label>
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_homepage) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_homepage" class="sound_only">홈페이지</label>
|
||||
<input type="text" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input full_input" placeholder="홈페이지">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($option) { ?>
|
||||
<div class="write_div">
|
||||
<span class="sound_only">옵션</span>
|
||||
<ul class="bo_v_option">
|
||||
<?php echo $option ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="bo_w_tit write_div">
|
||||
<label for="wr_subject" class="sound_only">제목<strong>필수</strong></label>
|
||||
<input type="text" name="wr_subject" value="<?php echo $subject ?>" id="wr_subject" required class="frm_input full_input required" placeholder="제목">
|
||||
</div>
|
||||
|
||||
<div class="write_div">
|
||||
<label for="wr_content" class="sound_only">내용<strong>필수</strong></label>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
<!-- 최소/최대 글자 수 사용 시 -->
|
||||
<p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
|
||||
<?php } ?>
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
<!-- 최소/최대 글자 수 사용 시 -->
|
||||
<div id="char_count_wrap"><span id="char_count"></span>글자</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
|
||||
<div class="bo_w_link write_div">
|
||||
<label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i> <span class="sound_only">링크 #<?php echo $i ?></span></label>
|
||||
<input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo $write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link" placeholder="링크를 입력하세요">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php for ($i=0; $is_file && $i<$file_count; $i++) { ?>
|
||||
<div class="bo_w_flie write_div">
|
||||
<div class="file_wr write_div filebox">
|
||||
<input type="text" class="fileName" readonly="readonly" placeholder="파일을 첨부하세요">
|
||||
<label for="bf_file_<?php echo $i+1 ?>"><i class="fa fa-download lb_icon" aria-hidden="true"></i><span class="sound_only">파일 #<?php echo $i+1 ?></span><span class="btn_file">파일첨부</span></label>
|
||||
<input type="file" name="bf_file[]" id="bf_file_<?php echo $i+1 ?>" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file uploadBtn">
|
||||
</div>
|
||||
<?php if ($is_file_content) { ?>
|
||||
<input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="full_input frm_input" size="50" placeholder="파일 설명을 입력해주세요.">
|
||||
<?php } ?>
|
||||
|
||||
<?php if($w == 'u' && $file[$i]['file']) { ?>
|
||||
<span class="file_del">
|
||||
<input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i; ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> 파일 삭제</label>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_use_captcha) { //자동등록방지 ?>
|
||||
<div class="write_div">
|
||||
<span class="sound_only">자동등록방지</span>
|
||||
<?php echo $captcha_html ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<a href="<?php echo get_pretty_url($bo_table); ?>" class="btn_cancel">취소</a>
|
||||
<button type="submit" id="btn_submit" class="btn_submit" accesskey="s">작성완료</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $write_min; ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $write_max; ?>); // 최대
|
||||
check_byte("wr_content", "char_count");
|
||||
|
||||
$(function() {
|
||||
$("#wr_content").on("keyup", function() {
|
||||
check_byte("wr_content", "char_count");
|
||||
});
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "html2";
|
||||
else
|
||||
obj.value = "html1";
|
||||
}
|
||||
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.wr_subject.value,
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.wr_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_wr_content) != "undefined")
|
||||
ed_wr_content.returnFalse();
|
||||
else
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (document.getElementById("char_count")) {
|
||||
if (char_min > 0 || char_max > 0) {
|
||||
var cnt = parseInt(check_byte("wr_content", "char_count"));
|
||||
if (char_min > 0 && char_min > cnt) {
|
||||
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
else if (char_max > 0 && char_max < cnt) {
|
||||
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
var uploadFile = $('.filebox .uploadBtn');
|
||||
uploadFile.on('change', function(){
|
||||
if(window.FileReader){
|
||||
var filename = $(this)[0].files[0].name;
|
||||
} else {
|
||||
var filename = $(this).val().split('/').pop().split('\\').pop();
|
||||
}
|
||||
$(this).siblings('.fileName').val(filename);
|
||||
});
|
||||
</script>
|
||||
BIN
theme/rb.basic/mobile/skin/board/gallery/img/chk.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/cmt_btn.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 107 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_hot.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_img.gif
Normal file
|
After Width: | Height: | Size: 145 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_link.gif
Normal file
|
After Width: | Height: | Size: 104 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_mobile.gif
Normal file
|
After Width: | Height: | Size: 62 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_movie.gif
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_new.gif
Normal file
|
After Width: | Height: | Size: 71 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_reply.gif
Normal file
|
After Width: | Height: | Size: 77 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_secret.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
theme/rb.basic/mobile/skin/board/gallery/img/icon_sound.gif
Normal file
|
After Width: | Height: | Size: 113 B |
254
theme/rb.basic/mobile/skin/board/gallery/list.skin.php
Normal file
@ -0,0 +1,254 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/jquery.fancylist.js"></script>
|
||||
|
||||
<form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="sw" value="">
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="<?php echo isset($view) ? 'view_is_list btn_top' : 'btn_top top 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 } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b03 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?>
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt btn_b03 btn is_list_btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<ul class="more_opt is_list_btn">
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
|
||||
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="fix_btn write_btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시판 목록 시작 -->
|
||||
<div id="bo_gall">
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']) ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<?php } ?>
|
||||
|
||||
<h2>이미지 목록</h2>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<div id="gall_allchk" 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>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<ul id="gall_ul">
|
||||
<?php for ($i=0; $i<count($list); $i++) { ?>
|
||||
<li class="gall_li <?php if ($wr_id == $list[$i]['wr_id']) { ?>gall_now<?php } ?>">
|
||||
<div class="gall_li_wr">
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<span class="gall_li_chk chk_box">
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<span class="sound_only">
|
||||
<?php
|
||||
if ($wr_id == $list[$i]['wr_id'])
|
||||
echo "<span class=\"bo_current\">열람중</span>";
|
||||
else
|
||||
echo $list[$i]['num'];
|
||||
?>
|
||||
</span>
|
||||
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="gall_img">
|
||||
<?php
|
||||
if ($list[$i]['is_notice']) { // 공지사항 ?>
|
||||
<strong class="gall_notice">공지</strong>
|
||||
<?php
|
||||
} else {
|
||||
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_mobile_gallery_width'], $board['bo_mobile_gallery_height']);
|
||||
|
||||
if($thumb['src']) {
|
||||
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_mobile_gallery_width'].'" height="'.$board['bo_mobile_gallery_height'].'">';
|
||||
} else {
|
||||
$img_content = '<span class="no_img"><i class="fa fa-picture-o" aria-hidden="true"></i></span>';
|
||||
}
|
||||
|
||||
echo run_replace('thumb_image_tag', $img_content, $thumb);
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
<div class="gall_text_href">
|
||||
<?php if ($is_category && $list[$i]['ca_name']) { ?>
|
||||
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
|
||||
<?php } ?>
|
||||
<a href="<?php echo $list[$i]['href'] ?>" class="gall_li_tit">
|
||||
|
||||
<?php // echo $list[$i]['icon_reply']; ?>
|
||||
<!-- 갤러리 답글기능 사용시 주석을 제거하세요. -->
|
||||
|
||||
<?php if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret']; ?>
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?>
|
||||
<span class="bo_cmt">
|
||||
<span class="sound_only">댓글</span>
|
||||
<?php echo $list[$i]['comment_cnt']; ?>
|
||||
<span class="sound_only">개</span>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<?php
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";
|
||||
if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
|
||||
//if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
|
||||
//if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
|
||||
?>
|
||||
</a>
|
||||
<div class="gall_info">
|
||||
<span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?>
|
||||
<span class="sound_only">작성일 </span><span class="date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
|
||||
<span class="sound_only">조회 </span><strong><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></strong>
|
||||
<?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?>
|
||||
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?></strong><?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { echo "<li class=\"empty_list\">게시물이 없습니다.</li>"; } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
|
||||
<div id="bo_list_total">
|
||||
<span>전체 <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<fieldset id="bo_sch">
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<?php echo get_board_sfl_select_options($sfl); ?>
|
||||
</select>
|
||||
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어를 입력하세요" required id="stx" class="sch_input" size="15" maxlength="20">
|
||||
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fboardlist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택복사") {
|
||||
select_copy("copy");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택이동") {
|
||||
select_copy("move");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
|
||||
return false;
|
||||
|
||||
f.removeAttribute("target");
|
||||
f.action = g5_bbs_url+"/board_list_update.php";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 선택한 게시물 복사 및 이동
|
||||
function select_copy(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
if (sw == 'copy')
|
||||
str = "복사";
|
||||
else
|
||||
str = "이동";
|
||||
|
||||
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
|
||||
f.sw.value = sw;
|
||||
f.target = "move";
|
||||
f.action = g5_bbs_url+"/move.php";
|
||||
f.submit();
|
||||
}
|
||||
|
||||
// 게시판 리스트 관리자 옵션
|
||||
jQuery(function($){
|
||||
$(".btn_more_opt.is_list_btn").on("click", function(e) {
|
||||
e.stopPropagation();
|
||||
$(".more_opt.is_list_btn").toggle();
|
||||
});
|
||||
$(document).on("click", function (e) {
|
||||
if(!$(e.target).closest('.is_list_btn').length) {
|
||||
$(".more_opt.is_list_btn").hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- 게시판 목록 끝 -->
|
||||
302
theme/rb.basic/mobile/skin/board/gallery/style.css
Normal file
@ -0,0 +1,302 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 갤러리 공통 */
|
||||
.bo_fx {margin-bottom:5px;padding:0 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx ul {margin:0;padding:0;list-style:none}
|
||||
#bo_list_total {margin:10px;text-align:center;padding:10px;text-align:center;background:#e3e7ec;color:#8b8b8b;border-radius:3px}
|
||||
|
||||
.btn_bo_user > li {float:left;text-align:center;margin-left:5px}
|
||||
.btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.btn_more_opt {width:30px}
|
||||
.more_opt {display:none;position:absolute;top:50px;right:7px;background:#fff;border:1px solid #b8bfc4;z-index:999}
|
||||
.more_opt:before {content:"";position:absolute;top:-8px;right:6px;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:6px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
|
||||
.more_opt.is_list_btn{width:90px}
|
||||
.more_opt li {display:block;border-bottom:1px solid #f1f1f1;padding:10px;margin:0;color:#6b757c;text-align:left}
|
||||
.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 {line-height:20px}
|
||||
|
||||
.bo_share {position:relative}
|
||||
#bo_v_share {display:none;position:absolute;top:42px;right:0;padding:10px;text-align:right;background:#fff;border:1px solid #b8bfc4}
|
||||
#bo_v_share:before {content:"";position:absolute;top:-8px;right:6px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
|
||||
#bo_v_share:after {content:"";position:absolute;top:-6px;right:6px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
|
||||
#bo_v_share .btn_scrap {display:inline-block;background:#d4d4d4;color:#444;line-height:40px;width:40px;font-weight:bold;text-align:center;border-radius:3px}
|
||||
|
||||
#bo_v_sns {padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns li {text-align:center;margin:5px 0 0}
|
||||
#bo_v_sns li a {display:block;width:40px;height:40px;padding:10px 0}
|
||||
#bo_v_sns li .sns_f {background:#415b92;border-radius:3px}
|
||||
#bo_v_sns li .sns_t {background:#35b3dc;border-radius:3px}
|
||||
#bo_v_sns li .sns_g {background:#d5503a;border-radius:3px}
|
||||
#bo_v_sns li .sns_k {background:#fbe300;border-radius:3px}
|
||||
#bo_v_sns li img {vertical-align:top}
|
||||
#bo_v_sns li span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
|
||||
.td_num strong {color:#000}
|
||||
.bo_current {color:#e8180c}
|
||||
.td_subject img {margin-left:3px}
|
||||
.cnt_cmt {font-weight:bold}
|
||||
|
||||
#bo_sch {background:#fff;border:1px solid #d0d3db;position:relative;margin:10px}
|
||||
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
|
||||
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
|
||||
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
|
||||
|
||||
.view_is_list.btn_top {position:relative;z-index:auto;top:0;left:0}
|
||||
.view_is_list {margin:8px 10px 0;height:50px;padding:10px;line-height:30px;border-radius:3px;border-bottom:1px solid #ccc;background:#fff;color:#333;text-align:right}
|
||||
.view_is_list li {display:inline-block}
|
||||
|
||||
#bo_gall li.empty_list {padding:30px 0;text-align:center}
|
||||
|
||||
.bo_cnt {display:block;width:100%;font-size:1.083em;font-weight:bold;line-height:1.4em}
|
||||
.bo_cnt i {color: #8d96c2;font-size:12px}
|
||||
.bo_cnt .fa-heart {color:#ff0000}
|
||||
.bo_chk {display:inline-block;float:left;margin-right:5px}
|
||||
|
||||
.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 {padding-left:20px;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:15px;height:15px;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}
|
||||
.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index: -1;overflow:hidden}
|
||||
.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70}
|
||||
.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%}
|
||||
.chk_box input[type="radio"]:checked + label{color:#ff8080}
|
||||
.chk_box input[type="radio"]:checked + label span {border-color:#ea6060;}
|
||||
.chk_box input[type="radio"]:checked + label span:before{width:9px;height:9px;background:#ff8080;content:'';position:absolute;top:3px;left:3px;border-radius:50%;}
|
||||
.all_chk.chk_box input[type="checkbox"] + label span {top:18px;left:15px}
|
||||
|
||||
|
||||
/* 갤러리 목록 */
|
||||
#bo_gall h2 {margin:0;padding:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_gall #gall_allchk {}
|
||||
|
||||
#bo_gall #gall_ul {margin:10px 0 0;padding:0 10px;list-style:none}
|
||||
#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {background:#fff;padding-left:1px;border-bottom:1px solid #d9dce3;zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {display:inline-block;float:left}
|
||||
#bo_cate a {display:block;line-height:24px;padding:15px}
|
||||
#bo_cate #bo_cate_on {display:inline-block;position:relative;color:#3a8afd}
|
||||
#bo_cate #bo_cate_on:after {content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;display:inline-block;background:#3a8afd}
|
||||
|
||||
#bo_gall .gall_li {float:left;;width:50%;padding:5px}
|
||||
#bo_gall .gall_li_wr {position:relative;}
|
||||
#bo_gall .gall_li_chk {display:inline-block;position:absolute;top:10px;left:10px}
|
||||
#bo_gall .gall_li:nth-child(2n+1) {clear:both}
|
||||
#bo_gall .gall_li .gall_img img, #bo_gall .gall_li .gall_img video{width:100%;height:auto}
|
||||
#bo_gall .gall_li .gall_img .no_img,
|
||||
#bo_gall .gall_li .gall_notice {display:block;background:#eaeaea;color:#d0d0d0;font-size:3em;text-align:center;padding:25% 0}
|
||||
|
||||
#bo_gall .gall_now .gall_text_href a {color:#ff3061}
|
||||
|
||||
#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}
|
||||
#bo_gall .gall_href strong, #bo_gall .gall_href span {display:block;width:174px;height:124px;background:#f7f7f7;text-align:center;line-height:8em}
|
||||
|
||||
#bo_gall .gall_text_href {padding:10px 0;display:block}
|
||||
#bo_gall .gall_li_tit {display:block;margin:5px 0;font-weight:bold}
|
||||
#bo_gall .bo_cate_link {display:inline-block;background:#e2eaf6;padding:0 5px;line-height:20px;border-radius:5px;font-weight:bold;font-size:11px;color:#3ca1ff !important;text-decoration:none;/*font-size:0.92em*/} /* 글제목줄 분류스타일 */
|
||||
#bo_gall .profile_img img {border-radius:50%}
|
||||
#bo_gall .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:0 4px;font-weight:bold;vertical-align:middle}
|
||||
|
||||
.bo_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}
|
||||
|
||||
#bo_gall .gall_info {padding:5px 0 0;color:#646464;font-size:0.92em}
|
||||
#bo_gall .gall_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_gall .gall_info strong {display:inline-block;margin-right:3px}
|
||||
#bo_gall .gall_info i {display:inline-block;margin-left:5px}
|
||||
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%}
|
||||
|
||||
#char_count_desc {display:block;margin:0 0 5px;padding:0}
|
||||
#char_count_wrap {margin:5px 0 0;text-align:right}
|
||||
#char_count {font-weight:bold}
|
||||
|
||||
#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%}
|
||||
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {padding:20px 0 0;background:#fff}
|
||||
#bo_v>header {padding:0 15px;border-bottom:1px solid #eee}
|
||||
#bo_v_table {padding:10px;color:#999;font-size:0.9em;font-weight:bold}
|
||||
|
||||
#bo_v_title {}
|
||||
.bo_v_cate {display:inline-block;background:#e2eaf6;color:#3a8afd;border-radius:13px;line-height:20px;border-radius:5px;padding:0 5px;font-weight:bold}
|
||||
.bo_v_tit {display:block;font-size:1.5em;margin:10px 0 0}
|
||||
|
||||
#bo_v_info {padding:15px 0;color:#8e8e8e;line-height:20px}
|
||||
#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_info strong {display:inline-block;font-weight:normal;margin:0 5px}
|
||||
#bo_v_info .profile_img img {border-radius:50%;vertical-align:top}
|
||||
#bo_v_info .icon_view {display:inline-block;background:url('./img/icon_view.png') no-repeat 50% 50%;background-size:80%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px}
|
||||
#bo_v_info .icon_comment {display:inline-block;background:url('./img/icon_comment.png') no-repeat 50% 50%;background-size:70%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px}
|
||||
|
||||
#bo_v_file {padding:0 15px;margin-bottom:20px}
|
||||
#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_file ul {margin:0;list-style:none}
|
||||
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf}
|
||||
#bo_v_file li i {float:left;color:#b2b2b2;font-size:1.6em;margin-right:20px}
|
||||
#bo_v_file a {float:left;display:block;margin-right:10px;text-decoration:none;word-wrap:break-word;color:#000}
|
||||
|
||||
@media (max-width:450px){
|
||||
#bo_v_file a {float:inherit}
|
||||
}
|
||||
|
||||
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd}
|
||||
#bo_v_file img {float:left;margin:0 10px 0 0}
|
||||
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
|
||||
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
|
||||
#bo_v_file li:hover i {color:#3a8afd}
|
||||
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}
|
||||
|
||||
#bo_v_link {padding:0 15px;margin-bottom:20px}
|
||||
#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_file ul {margin:0;list-style:none}
|
||||
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf}
|
||||
#bo_v_link li i {float:left;color:#b2b2b2;font-size:1.6em;margin-right:20px}
|
||||
#bo_v_link a {float:left;display:block;margin-right:10px;text-decoration:none;word-wrap:break-word;color:#000}
|
||||
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
|
||||
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
|
||||
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
|
||||
#bo_v_link li:hover i {color:#3a8afd}
|
||||
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}
|
||||
|
||||
#bo_v_top {margin:10px 15px}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul {margin:0;padding:0;list-style:none}
|
||||
#bo_v_top ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top ul li {display:inline-block}
|
||||
.bo_v_left {float:left}
|
||||
.bo_v_right {float:right}
|
||||
|
||||
#bo_v_bot {padding:0 10px}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {margin:0;padding:0;list-style:none}
|
||||
|
||||
.bo_v_nb {position:relative;margin:10px 0 0;border-top:1px solid #e4e4ec;border-bottom:1px solid #e4e4ec;text-align:left}
|
||||
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_v_nb li {}
|
||||
.bo_v_nb li a {display:block;padding:15px;color:#777}
|
||||
.bo_v_nb li a i {color:#c5cfdd}
|
||||
.bo_v_nb li.bo_v_prev {border-bottom:1px solid #f8f8f8}
|
||||
.bo_v_nb li.bo_v_next {}
|
||||
|
||||
|
||||
#bo_v_atc {min-height:200px;padding:15px}
|
||||
#bo_v_atc_title {margin:0;padding:0;height:0;overflow:hidden}
|
||||
|
||||
#bo_v_img {width:100%;overflow:hidden;zoom:1}
|
||||
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_img a.view_image {display:block}
|
||||
#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto}
|
||||
|
||||
#bo_v_con {min-height:200px;margin-bottom:20px;width:100%;font-size:1.250em;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 .bo_v_act_gng {position:relative}
|
||||
#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158}
|
||||
#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f}
|
||||
#bo_v_act i {font-size:1.4em;margin-right:5px}
|
||||
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
|
||||
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
|
||||
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
#bo_vc {background:#f8f8f8;padding:15px}
|
||||
#bo_vc h2.bo_vc_tit {}
|
||||
#bo_vc h2 span {color:#3a8afd}
|
||||
#bo_vc article {}
|
||||
#bo_vc article .comment_inner{margin:15px 0 0;padding:15px;background:#fff;border-bottom:1px solid #e4e4ec}
|
||||
#bo_vc article h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_vc header {position:relative;padding:0;line-height:20px;padding-right:18px}
|
||||
#bo_vc .profile_img {vertical-align:text-bottom}
|
||||
#bo_vc .profile_img img {width:23px;height:23px;border-radius:50%}
|
||||
#bo_vc header .bo_vl_opt {position:absolute;top:-5px;right:-8px}
|
||||
.comment_inner .bo_vc_w{margin-top:10px;padding-top:15px}
|
||||
|
||||
#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
|
||||
.bo_vc_hdinfo {display:inline-block;color:#777}
|
||||
#bo_vc h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc .cmt_contents {margin:10px 0 0;border-radius:5px;line-height:1.8em}
|
||||
#bo_vc .cmt_contents p {font-size:1.083em}
|
||||
#bo_vc p a {text-decoration:underline}
|
||||
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
|
||||
#bo_vc_empty {margin:0;padding:15px !important;text-align:center}
|
||||
#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 {display:none;position:absolute;right:0;top:40px;width:58px;text-align:center;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
|
||||
.bo_vc_act: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_vc_act: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_vc_act li {border-bottom:1px solid #f0f0f0}
|
||||
.bo_vc_act li:last-child {border-bottom:0}
|
||||
.bo_vc_act li a {display:inline-block;padding:10px 15px}
|
||||
.bo_vc_act li a:hover {color:#3a8afd}
|
||||
|
||||
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
.bo_vc_w {display:block;position:relative;padding:0 15px 15px;background:#f8f8f8}
|
||||
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w #char_cnt {display:block;margin:0 0 5px}
|
||||
.bo_vc_w textarea {width:100%;height:120px;padding:5px;border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle}
|
||||
#wr_secret {}
|
||||
|
||||
.bo_vc_w_info {margin:10px 0}
|
||||
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w_info .frm_input {float:left;width:49.5%;margin:0 0 5px 0}
|
||||
.bo_vc_w_info #wr_password {float:right}
|
||||
.bo_vc_w_info #captcha {display:block;clear:both}
|
||||
.bo_vc_w .btn_confirm {margin-top:5px;clear:both}
|
||||
.bo_vc_w .icon_lock {display:inline-block;font-size:1em;vertical-align:baseline}
|
||||
.bo_vc_w .btn_submit {height:50px;width:100%;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
|
||||
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_w .bo_vc_secret {display:block}
|
||||
|
||||
#bo_vc_send_sns {display:block;margin-bottom:10px}
|
||||
#bo_vc_sns {display:block;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 5px 0 0}
|
||||
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;padding: 10px 0 10px 10px}
|
||||
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;padding: 10px 0 10px 10px}
|
||||
#bo_vc_sns .sns_li_off {background:#bbb}
|
||||
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
|
||||
#bo_vc_sns input {margin:0 5px 0 0}
|
||||
|
||||
/*글쓰기*/
|
||||
#bo_w {padding:15px}
|
||||
#bo_w .bo_v_option li {display:inline-block;float:left;margin:0 5px 0 0}
|
||||
#bo_w .bo_v_option li label {vertical-align:baseline}
|
||||
#bo_w .bo_v_option:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_w .bo_w_select select {border:1px solid #d0d3db;background:#fff;width:100%}
|
||||
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;width:45px;height:43px;line-height:43px;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;width:45px;height:43px;line-height:43px;font-size:1.2em;text-align:center;color:#b2b2b2}
|
||||
#bo_w .bo_w_flie .frm_file {padding-left:50px}
|
||||
#bo_w .bo_w_flie .file_wr {position:relative;color:#000;vertical-align:middle;margin:0}
|
||||
#bo_w .bo_w_flie .frm_input {margin:5px 0 0}
|
||||
|
||||
.filebox .btn_file {display:inline-block;position:absolute;right:8px;top:8px;border:1px solid #3a8afd;border-radius:3px;width:60px;height:30px;color:#3a8afd;font-size:1em;line-height:30px;font-weight:bold;background:#fff;text-align:center;vertical-align:middle;cursor:pointer}
|
||||
.filebox .fileName {display:inline-block;position:relative;width:100%;height:45px;padding-left:45px;line-height:30px;border:1px solid #d0d3db;background-color:#fff;color:red;vertical-align:middle;border-radius:0}
|
||||
.filebox input[type="file"] {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
|
||||
|
||||
#bo_w .btn_confirm {text-align:center;margin:20px 0}
|
||||
#bo_w .btn_submit {width:49%;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
|
||||
#bo_w .btn_cancel {width:49%;line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em;background:#fff;border-radius:3px;border:1px solid #dcdcdc}
|
||||
284
theme/rb.basic/mobile/skin/board/gallery/view.skin.php
Normal file
@ -0,0 +1,284 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<!-- 게시판 이름 표시 <div id="bo_v_table"><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']); ?></div> -->
|
||||
<ul class="btn_top top btn_bo_user">
|
||||
<li><a href="#bo_vc" class="btn_b03 btn" title="댓글"><i class="fa fa-commenting" aria-hidden="true"></i><span class="sound_only">댓글</span></a></li>
|
||||
<?php if ($board['bo_use_sns'] || $scrap_href){ ?>
|
||||
<li class="bo_share">
|
||||
<button type="button" class="btn_share_opt btn_b03 btn is_view_btn" title="공유"><i class="fa fa-share-alt" aria-hidden="true"></i><span class="sound_only">공유</span></button>
|
||||
<div id="bo_v_share" class="is_view_btn">
|
||||
<?php if ($scrap_href) { ?><a href="<?php echo $scrap_href; ?>" target="_blank" class=" btn_scrap" onclick="win_scrap(this.href); return false;" title="스크랩"><i class="fa fa-thumb-tack" aria-hidden="true"></i><span class="sound_only">스크랩</span></a><?php } ?>
|
||||
<?php include_once(G5_SNS_PATH."/view.sns.skin.php"); ?>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b03 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</a></li><?php } ?>
|
||||
|
||||
<li>
|
||||
<button type="button" class="btn_more_opt btn_b03 btn is_view_btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
|
||||
<?php ob_start(); ?>
|
||||
<ul class="more_opt is_view_btn">
|
||||
<?php if ($reply_href) { ?><li><a href="<?php echo $reply_href ?>"><i class="fa fa-reply" aria-hidden="true"></i> 답변</a></li><?php } ?>
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>"><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 ?>" onclick="del(this.href); return false;"><i class="fa fa-trash-o" aria-hidden="true"></i> 삭제</a></li><?php } ?>
|
||||
<?php if ($copy_href) { ?><li><a href="<?php echo $copy_href ?>" onclick="board_move(this.href); return false;"><i class="fa fa-files-o" aria-hidden="true"></i> 복사</a></li><?php } ?>
|
||||
<?php if ($move_href) { ?><li><a href="<?php echo $move_href ?>" onclick="board_move(this.href); return false;"><i class="fa fa-arrows" aria-hidden="true"></i> 이동</a></li><?php } ?>
|
||||
<?php if ($search_href) { ?><li><a href="<?php echo $search_href ?>">검색</a></li><?php } ?>
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_list"><i class="fa fa-list" aria-hidden="true"></i> 목록</a></li>
|
||||
</ul>
|
||||
<?php $link_buttons = ob_get_contents(); ob_end_flush(); ?>
|
||||
</li>
|
||||
</ul>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
// 게시판 보기 버튼 옵션
|
||||
$(".btn_more_opt.is_view_btn").on("click", function(e) {
|
||||
e.stopPropagation();
|
||||
$(".more_opt.is_view_btn").toggle();
|
||||
});
|
||||
|
||||
// 게시글 공유
|
||||
$(".btn_share_opt").on("click", function(e) {
|
||||
e.stopPropagation();
|
||||
$("#bo_v_share").toggle();
|
||||
});
|
||||
|
||||
$(document).on("click", function (e) {
|
||||
if(!$(e.target).closest('.is_view_btn').length) {
|
||||
$(".more_opt.is_view_btn").hide();
|
||||
$("#bo_v_share").hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<article id="bo_v" style="width:<?php echo $width; ?>">
|
||||
<header>
|
||||
<h2 id="bo_v_title">
|
||||
<?php if ($category_name) { ?>
|
||||
<span class="bo_v_cate"><?php echo $view['ca_name']; // 분류 출력 끝 ?></span>
|
||||
<?php } ?>
|
||||
<span class="bo_v_tit"><?php echo cut_str(get_text($view['wr_subject']), 70); // 글제목 출력 ?></span>
|
||||
</h2>
|
||||
<div id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<span class="sound_only">작성자 </span><?php echo $view['name'] ?><span class="ip"><?php if ($is_ip_view) { echo " ($ip)"; } ?></span>
|
||||
<span class="sound_only">작성일</span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo date("y-m-d H:i", strtotime($view['wr_datetime'])) ?>
|
||||
<span class="sound_only">조회</span><strong><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($view['wr_hit']) ?></strong>
|
||||
<span class="sound_only">댓글</span><strong><i class="fa fa-commenting-o" aria-hidden="true"></i> <?php echo number_format($view['wr_comment']) ?></strong>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
$v_img_count = count($view['file']);
|
||||
if($v_img_count) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
foreach($view['file'] as $view_file) {
|
||||
echo get_file_thumbnail($view_file);
|
||||
}
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
|
||||
<?php //echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
|
||||
|
||||
<?php if ($is_signature) { ?><p><?php echo $signature ?></p><?php } ?>
|
||||
|
||||
<?php if ( $good_href || $nogood_href) { ?>
|
||||
<div id="bo_v_act">
|
||||
<?php if ($good_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="bo_v_good"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></a>
|
||||
<b id="bo_v_act_good">이 글을 추천하셨습니다</b>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<?php if ($nogood_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<b id="bo_v_act_nogood"></b>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } else {
|
||||
if($board['bo_use_good'] || $board['bo_use_nogood']) {
|
||||
?>
|
||||
<div id="bo_v_act">
|
||||
<?php if($board['bo_use_good']) { ?><span class="bo_v_good"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i><span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></span><?php } ?>
|
||||
<?php if($board['bo_use_nogood']) { ?><span class="bo_v_nogood"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i><span class="sound_only">비추천</span> <strong><?php echo number_format($view['wr_nogood']) ?></strong></span><?php } ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
$cnt = 0;
|
||||
if ($view['file']['count']) {
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($cnt) { ?>
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<strong><?php echo $view['file'][$i]['source'] ?></strong>
|
||||
<?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
|
||||
</a>
|
||||
<span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드</span> |
|
||||
<span>DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 링크
|
||||
$cnt = 0;
|
||||
for ($i=1; $i<=count($view['link']); $i++) {
|
||||
if ($view['link'][$i]) {
|
||||
$cnt++;
|
||||
$link = cut_str($view['link'][$i], 70);
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['link_href'][$i] ?>" target="_blank">
|
||||
<i class="fa fa-link" aria-hidden="true"></i>
|
||||
<strong><?php echo $link ?></strong>
|
||||
</a>
|
||||
<span class="bo_v_link_cnt"><?php echo $view['link_hit'][$i] ?>회 연결</span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 관련링크 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
<ul class="bo_v_nb">
|
||||
<?php if ($prev_href) { ?><li class="bo_v_prev"><a href="<?php echo $prev_href ?>"><i class="fa fa-chevron-up" aria-hidden="true"></i><span class="sound_only">이전글</span> <?php echo $prev_wr_subject;?></a></li><?php } ?>
|
||||
<?php if ($next_href) { ?><li class="bo_v_next"><a href="<?php echo $next_href ?>"><i class="fa fa-chevron-down" aria-hidden="true"></i><span class="sound_only">다음글</span> <?php echo $next_wr_subject;?></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<?php if ($board['bo_download_point'] < 0) { ?>
|
||||
$(function() {
|
||||
$("a.view_file_download").click(function() {
|
||||
if(!g5_is_member) {
|
||||
alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||
|
||||
if(confirm(msg)) {
|
||||
var href = $(this).attr("href")+"&js=on";
|
||||
$(this).attr("href", href);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
function board_move(href)
|
||||
{
|
||||
window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 게시글 보기 끝 -->
|
||||
|
||||
<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;
|
||||
});
|
||||
|
||||
// 추천, 비추천
|
||||
$("#good_button, #nogood_button").click(function() {
|
||||
var $tx;
|
||||
if(this.id == "good_button")
|
||||
$tx = $("#bo_v_act_good");
|
||||
else
|
||||
$tx = $("#bo_v_act_nogood");
|
||||
|
||||
excute_good(this.href, $(this), $tx);
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
|
||||
function excute_good(href, $el, $tx)
|
||||
{
|
||||
$.post(
|
||||
href,
|
||||
{ js: "on" },
|
||||
function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(data.count) {
|
||||
$el.find("strong").text(number_format(String(data.count)));
|
||||
if($tx.attr("id").search("nogood") > -1) {
|
||||
$tx.text("이 글을 비추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
} else {
|
||||
$tx.text("이 글을 추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
}
|
||||
}
|
||||
}, "json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
347
theme/rb.basic/mobile/skin/board/gallery/view_comment.skin.php
Normal file
@ -0,0 +1,347 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<script>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $comment_min ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
</script>
|
||||
|
||||
<!-- 댓글 리스트 -->
|
||||
<section id="bo_vc">
|
||||
<h2 class="bo_vc_tit">댓글목록 <span><?php echo $view['wr_comment']; ?></span></h2>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
$comment_id = $list[$i]['wr_id'];
|
||||
$cmt_depth = ""; // 댓글단계
|
||||
$cmt_depth = strlen($list[$i]['wr_comment_reply']) * 15;
|
||||
$str = $list[$i]['content'];
|
||||
// if (strstr($list[$i]['wr_option'], "secret"))
|
||||
// $str = $str;
|
||||
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
|
||||
$c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
$is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0;
|
||||
?>
|
||||
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>>
|
||||
<div class="comment_inner">
|
||||
<header>
|
||||
<h2><?php echo get_text($list[$i]['wr_name']); ?>님의 댓글<?php if ($cmt_depth) { ?><span class="sound_only">의 댓글</span><?php } ?></h2>
|
||||
<?php echo $list[$i]['name'] ?>
|
||||
<?php if ($is_ip_view) { ?>
|
||||
<span class="sound_only">아이피</span>
|
||||
<span class="bo_vc_hdinfo">(<?php echo $list[$i]['ip']; ?>)</span>
|
||||
<?php } ?>
|
||||
<span class="sound_only">작성일</span>
|
||||
<span class="bo_vc_hdinfo"><i class="fa fa-clock-o" aria-hidden="true"></i> <time datetime="<?php echo date('Y-m-d\TH:i:s+09:00', strtotime($list[$i]['datetime'])) ?>"><?php echo $list[$i]['datetime'] ?></time></span>
|
||||
<?php
|
||||
include(G5_SNS_PATH."/view_comment_list.sns.skin.php");
|
||||
?>
|
||||
<?php if( $is_comment_reply_edit ){ ?>
|
||||
<div class="bo_vl_opt">
|
||||
<button type="button" class="btn_cm_opt btn_b03 btn"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">댓글 옵션</span></button>
|
||||
<ul class="bo_vc_act">
|
||||
<?php if ($list[$i]['is_reply']) { ?><li><a href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_edit']) { ?><li><a href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_del']) { ?><li><a href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<script>
|
||||
$(function() {
|
||||
// 댓글 옵션창 열기
|
||||
$(".btn_cm_opt").on("click", function(){
|
||||
$(this).parent("div").children(".bo_vc_act").show();
|
||||
});
|
||||
|
||||
// 댓글 옵션창 닫기
|
||||
$(document).mouseup(function (e){
|
||||
var container = $(".bo_vc_act");
|
||||
if( container.has(e.target).length === 0)
|
||||
container.hide();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</header>
|
||||
<div class="cmt_contents">
|
||||
<!-- 댓글 출력 -->
|
||||
<p>
|
||||
<?php if (strstr($list[$i]['wr_option'], "secret")) echo "<img src=\"".$board_skin_url."/img/icon_secret.gif\" alt=\"비밀글\">"; ?>
|
||||
<?php echo $str ?>
|
||||
</p>
|
||||
|
||||
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
|
||||
if($w == 'cu') {
|
||||
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
|
||||
$cmt = sql_fetch($sql);
|
||||
if (isset($cmt)) {
|
||||
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id']))) {
|
||||
$cmt['wr_content'] = '';
|
||||
}
|
||||
$c_wr_content = $cmt['wr_content'];
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<span id="edit_<?php echo $comment_id ?>"></span><!-- 수정 -->
|
||||
<span id="reply_<?php echo $comment_id ?>"></span><!-- 답변 -->
|
||||
<input type="hidden" id="secret_comment_<?php echo $comment_id ?>" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>">
|
||||
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
|
||||
</div>
|
||||
</article>
|
||||
<?php } ?>
|
||||
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
|
||||
|
||||
</section>
|
||||
|
||||
<?php if ($is_comment_write) {
|
||||
if($w == '')
|
||||
$w = 'c';
|
||||
?>
|
||||
<aside id="bo_vc_w">
|
||||
<h2>댓글쓰기</h2>
|
||||
<form name="fviewcomment" id="fviewcomment" action="<?php echo $comment_action_url; ?>" onsubmit="return fviewcomment_submit(this);" method="post" autocomplete="off" class="bo_vc_w">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>" id="w">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
|
||||
<input type="hidden" name="comment_id" value="<?php echo $c_id ?>" id="comment_id">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="is_good" value="">
|
||||
|
||||
<?php if ($comment_min || $comment_max) { ?><strong id="char_cnt"><span id="char_count"></span>글자</strong><?php } ?>
|
||||
<textarea id="wr_content" name="wr_content" required title="댓글 내용"
|
||||
<?php if ($comment_min || $comment_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?php } ?> placeholder="댓글내용을 입력해주세요"><?php echo $c_wr_content; ?></textarea>
|
||||
<?php if ($comment_min || $comment_max) { ?><script> check_byte('wr_content', 'char_count'); </script><?php } ?>
|
||||
|
||||
<div class="bo_vc_w_wr">
|
||||
<div class="bo_vc_w_info">
|
||||
<?php if ($is_guest) { ?>
|
||||
<label for="wr_name" class="sound_only">이름<strong> 필수</strong></label>
|
||||
<input type="text" name="wr_name" value="<?php echo get_cookie("ck_sns_name"); ?>" id="wr_name" required class="frm_input required" size="25" placeholder="이름">
|
||||
<label for="wr_password" class="sound_only">비밀번호<strong> 필수</strong></label>
|
||||
<input type="password" name="wr_password" id="wr_password" required class="frm_input required" size="25" placeholder="비밀번호">
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php if ($is_guest) { ?>
|
||||
<?php echo $captcha_html; ?>
|
||||
<?php } ?>
|
||||
<?php
|
||||
if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) {
|
||||
?>
|
||||
<span class="sound_only">SNS 동시등록</span>
|
||||
<span id="bo_vc_send_sns"></span>
|
||||
<?php } ?>
|
||||
|
||||
<span class="bo_vc_secret chk_box">
|
||||
<input type="checkbox" name="wr_secret" value="secret" id="wr_secret" class="selec_chk">
|
||||
<label for="wr_secret" class="icon_lock">
|
||||
<span></span>비밀글
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
<div class="btn_confirm">
|
||||
<button type="submit" id="btn_submit" class="btn_submit">댓글등록</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
var save_before = '';
|
||||
var save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
|
||||
function good_and_write()
|
||||
{
|
||||
var f = document.fviewcomment;
|
||||
if (fviewcomment_submit(f)) {
|
||||
f.is_good.value = 1;
|
||||
f.submit();
|
||||
} else {
|
||||
f.is_good.value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function fviewcomment_submit(f)
|
||||
{
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
|
||||
f.is_good.value = 0;
|
||||
|
||||
/*
|
||||
var s;
|
||||
if (s = word_filter_check(document.getElementById('wr_content').value))
|
||||
{
|
||||
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
|
||||
document.getElementById('wr_content').focus();
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": "",
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 양쪽 공백 없애기
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
|
||||
if (char_min > 0 || char_max > 0)
|
||||
{
|
||||
check_byte('wr_content', 'char_count');
|
||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||
if (char_min > 0 && char_min > cnt)
|
||||
{
|
||||
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||
return false;
|
||||
} else if (char_max > 0 && char_max < cnt)
|
||||
{
|
||||
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (!document.getElementById('wr_content').value)
|
||||
{
|
||||
alert("댓글을 입력하여 주십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (typeof(f.wr_name) != 'undefined')
|
||||
{
|
||||
f.wr_name.value = f.wr_name.value.replace(pattern, "");
|
||||
if (f.wr_name.value == '')
|
||||
{
|
||||
alert('이름이 입력되지 않았습니다.');
|
||||
f.wr_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(f.wr_password) != 'undefined')
|
||||
{
|
||||
f.wr_password.value = f.wr_password.value.replace(pattern, "");
|
||||
if (f.wr_password.value == '')
|
||||
{
|
||||
alert('비밀번호가 입력되지 않았습니다.');
|
||||
f.wr_password.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
<?php if($is_guest) echo chk_captcha_js(); ?>
|
||||
|
||||
set_comment_token(f);
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function comment_box(comment_id, work)
|
||||
{
|
||||
var el_id,
|
||||
form_el = 'fviewcomment',
|
||||
respond = document.getElementById(form_el);
|
||||
|
||||
// 댓글 아이디가 넘어오면 답변, 수정
|
||||
if (comment_id)
|
||||
{
|
||||
if (work == 'c')
|
||||
el_id = 'reply_' + comment_id;
|
||||
else
|
||||
el_id = 'edit_' + comment_id;
|
||||
}
|
||||
else
|
||||
el_id = 'bo_vc_w';
|
||||
|
||||
if (save_before != el_id)
|
||||
{
|
||||
if (save_before)
|
||||
{
|
||||
document.getElementById(save_before).style.display = 'none';
|
||||
}
|
||||
|
||||
document.getElementById(el_id).style.display = '';
|
||||
document.getElementById(el_id).appendChild(respond);
|
||||
//입력값 초기화
|
||||
document.getElementById('wr_content').value = '';
|
||||
|
||||
// 댓글 수정
|
||||
if (work == 'cu')
|
||||
{
|
||||
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
|
||||
if (typeof char_count != 'undefined')
|
||||
check_byte('wr_content', 'char_count');
|
||||
if (document.getElementById('secret_comment_'+comment_id).value)
|
||||
document.getElementById('wr_secret').checked = true;
|
||||
else
|
||||
document.getElementById('wr_secret').checked = false;
|
||||
}
|
||||
|
||||
document.getElementById('comment_id').value = comment_id;
|
||||
document.getElementById('w').value = work;
|
||||
|
||||
if(save_before)
|
||||
$("#captcha_reload").trigger("click");
|
||||
|
||||
save_before = el_id;
|
||||
}
|
||||
}
|
||||
|
||||
function comment_delete()
|
||||
{
|
||||
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||
}
|
||||
|
||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||
|
||||
<?php if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) { ?>
|
||||
$(function() {
|
||||
// sns 등록
|
||||
$("#bo_vc_send_sns").load(
|
||||
"<?php echo G5_SNS_URL; ?>/view_comment_write.sns.skin.php?bo_table=<?php echo $bo_table; ?>",
|
||||
function() {
|
||||
save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
$(function() {
|
||||
//댓글열기
|
||||
$(".cmt_btn").click(function(){
|
||||
$(this).toggleClass("cmt_btn_op");
|
||||
$("#bo_vc").toggle();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php }
|
||||
252
theme/rb.basic/mobile/skin/board/gallery/write.skin.php
Normal file
@ -0,0 +1,252 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<section id="bo_w">
|
||||
<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="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
if ($is_notice || $is_html || $is_secret || $is_mail) {
|
||||
$option = '';
|
||||
if ($is_notice) {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="notice" name="notice" class="selec_chk" value="1" '.$notice_checked.'>'.PHP_EOL.'<label for="notice"><span></span>공지</label></li>';
|
||||
}
|
||||
if ($is_html) {
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" value="html1" name="html">';
|
||||
} else {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="html" name="html" onclick="html_auto_br(this);" class="selec_chk" value="'.$html_value.'" '.$html_checked.'>'.PHP_EOL.'<label for="html"><span></span>html</label></li>';
|
||||
}
|
||||
}
|
||||
if ($is_secret) {
|
||||
if ($is_admin || $is_secret==1) {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="secret" name="secret" class="selec_chk" value="secret" '.$secret_checked.'>'.PHP_EOL.'<label for="secret"><span></span>비밀글</label></li>';
|
||||
} else {
|
||||
$option_hidden .= '<input type="hidden" name="secret" value="secret">';
|
||||
}
|
||||
}
|
||||
if ($is_mail) {
|
||||
$option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="mail" name="mail" class="selec_chk" value="mail" '.$recv_email_checked.'>'.PHP_EOL.'<label for="mail"><span></span>답변메일받기</label></li>';
|
||||
}
|
||||
}
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01 write_div">
|
||||
<h2 class="sound_only"><?php echo $g5['title'] ?></h2>
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<div class="bo_w_select write_div">
|
||||
<label for="ca_name" class="sound_only">분류<strong>필수</strong></label>
|
||||
<select id="ca_name" name="ca_name" required>
|
||||
<option value="">선택하세요</option>
|
||||
<?php echo $category_option ?>
|
||||
</select>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_name) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_name" class="sound_only">이름<strong>필수</strong></label>
|
||||
<input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input full_input required" maxlength="20" placeholder="이름">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_password) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_password" class="sound_only">비밀번호<strong>필수</strong></label>
|
||||
<input type="password" name="wr_password" id="wr_password" <?php echo $password_required ?> class="frm_input full_input <?php echo $password_required ?>" maxlength="20" placeholder="비밀번호">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_email) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_email" class="sound_only">이메일</label>
|
||||
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_homepage) { ?>
|
||||
<div class="write_div">
|
||||
<label for="wr_homepage" class="sound_only">홈페이지</label>
|
||||
<input type="text" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input full_input" placeholder="홈페이지">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($option) { ?>
|
||||
<div class="write_div">
|
||||
<span class="sound_only">옵션</span>
|
||||
<ul class="bo_v_option">
|
||||
<?php echo $option ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="bo_w_tit write_div">
|
||||
<label for="wr_subject" class="sound_only">제목<strong>필수</strong></label>
|
||||
<input type="text" name="wr_subject" value="<?php echo $subject ?>" id="wr_subject" required class="frm_input full_input required" placeholder="제목">
|
||||
</div>
|
||||
|
||||
<div class="write_div">
|
||||
<label for="wr_content" class="sound_only">내용<strong>필수</strong></label>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
<!-- 최소/최대 글자 수 사용 시 -->
|
||||
<p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
|
||||
<?php } ?>
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
<!-- 최소/최대 글자 수 사용 시 -->
|
||||
<div id="char_count_wrap"><span id="char_count"></span>글자</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
|
||||
<div class="bo_w_link write_div">
|
||||
<label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i> <span class="sound_only">링크 #<?php echo $i ?></span></label>
|
||||
<input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo $write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link" placeholder="링크를 입력하세요">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php for ($i=0; $is_file && $i<$file_count; $i++) { ?>
|
||||
<div class="bo_w_flie write_div">
|
||||
<div class="file_wr write_div filebox">
|
||||
<input type="text" class="fileName" readonly="readonly" placeholder="파일을 첨부하세요">
|
||||
<label for="bf_file_<?php echo $i+1 ?>"><i class="fa fa-download lb_icon" aria-hidden="true"></i><span class="sound_only">파일 #<?php echo $i+1 ?></span><span class="btn_file">파일첨부</span></label>
|
||||
<input type="file" name="bf_file[]" id="bf_file_<?php echo $i+1 ?>" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file uploadBtn">
|
||||
</div>
|
||||
<?php if ($is_file_content) { ?>
|
||||
<input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="full_input frm_input" size="50" placeholder="파일 설명을 입력해주세요.">
|
||||
<?php } ?>
|
||||
|
||||
<?php if($w == 'u' && $file[$i]['file']) { ?>
|
||||
<span class="file_del">
|
||||
<input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i; ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> 파일 삭제</label>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_use_captcha) { //자동등록방지 ?>
|
||||
<div class="write_div">
|
||||
<span class="sound_only">자동등록방지</span>
|
||||
<?php echo $captcha_html ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<a href="<?php echo get_pretty_url($bo_table); ?>" class="btn_cancel">취소</a>
|
||||
<button type="submit" id="btn_submit" class="btn_submit" accesskey="s">작성완료</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $write_min; ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $write_max; ?>); // 최대
|
||||
check_byte("wr_content", "char_count");
|
||||
|
||||
$(function() {
|
||||
$("#wr_content").on("keyup", function() {
|
||||
check_byte("wr_content", "char_count");
|
||||
});
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "html2";
|
||||
else
|
||||
obj.value = "html1";
|
||||
}
|
||||
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.wr_subject.value,
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.wr_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_wr_content) != "undefined")
|
||||
ed_wr_content.returnFalse();
|
||||
else
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (document.getElementById("char_count")) {
|
||||
if (char_min > 0 || char_max > 0) {
|
||||
var cnt = parseInt(check_byte("wr_content", "char_count"));
|
||||
if (char_min > 0 && char_min > cnt) {
|
||||
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
else if (char_max > 0 && char_max < cnt) {
|
||||
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
var uploadFile = $('.filebox .uploadBtn');
|
||||
uploadFile.on('change', function(){
|
||||
if(window.FileReader){
|
||||
var filename = $(this)[0].files[0].name;
|
||||
} else {
|
||||
var filename = $(this).val().split('/').pop().split('\\').pop();
|
||||
}
|
||||
$(this).siblings('.fileName').val(filename);
|
||||
});
|
||||
</script>
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
// 회원수는 $row['mb_cnt'];
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$connect_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
<?php echo $row['total_cnt'];
|
||||
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$connect_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="current_connect">
|
||||
<ul>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
$location = conv_content($list[$i]['lo_location'], 0);
|
||||
// 최고관리자에게만 허용
|
||||
// 이 조건문은 가능한 변경하지 마십시오.
|
||||
if ($list[$i]['lo_url'] && $is_admin == 'super') $display_location = "<a href=\"".$list[$i]['lo_url']."\">".$location."</a>";
|
||||
else $display_location = $location;
|
||||
?>
|
||||
<li>
|
||||
<span class="crt_num"><?php echo $list[$i]['num'] ?></span>
|
||||
<span class="crt_profile"><?php echo get_member_profile_img($list[$i]['mb_id']); ?></span>
|
||||
<div class="crt_info">
|
||||
<span class="crt_name"><?php echo $list[$i]['name'] ?></span>
|
||||
<span class="crt_lct"><?php echo $display_location ?></span>
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
if ($i == 0)
|
||||
echo "<li class=\"empty_li\">현재 접속자가 없습니다.</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
17
theme/rb.basic/mobile/skin/connect/basic/style.css
Normal file
@ -0,0 +1,17 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 현재접속자 */
|
||||
#current_connect ul {margin:0 -10px 0;padding:0;list-style:none;zoom:1}
|
||||
#current_connect ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#current_connect li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#current_connect li {position:relative;padding:10px 20px;background:#fff;border-bottom:1px solid #ececec;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
|
||||
#current_connect li:first-child {border-top:1px solid #ececec}
|
||||
#current_connect .crt_num {float:right;line-height:45px;margin-right:20px;color:#777;font-weight:bold}
|
||||
#current_connect .crt_profile {float:left;margin-right:20px;line-height:45px}
|
||||
#current_connect .crt_profile > img {width:45px;height:45px;border-radius:50%}
|
||||
#current_connect .crt_info {float:left;margin-top:5px}
|
||||
#current_connect .crt_name {display:block}
|
||||
#current_connect .crt_name img {display:none}
|
||||
#current_connect .crt_lct {display:block}
|
||||
#current_connect .crt_lct a {color:#797979}
|
||||
#current_connect li.empty_li {width:100%;padding:200px 0;border:0;color:#666;text-align:center;background:transparent}
|
||||
18
theme/rb.basic/mobile/skin/content/basic/content.skin.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$content_skin_url.'/style.css">', 0);
|
||||
|
||||
?>
|
||||
|
||||
<article id="ctt" class="ctt_<?php echo $co_id; ?>">
|
||||
<header>
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
</header>
|
||||
|
||||
<div id="ctt_con">
|
||||
<?php echo $str; ?>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
9
theme/rb.basic/mobile/skin/content/basic/style.css
Normal file
@ -0,0 +1,9 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 내용관리 */
|
||||
#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_con {padding:10px 0}
|
||||
#ctt_con img{max-width:100%;height:auto}
|
||||
.ctt_img {text-align:center}
|
||||
138
theme/rb.basic/mobile/skin/faq/basic/list.skin.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$faq_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<!-- FAQ 시작 { -->
|
||||
<?php
|
||||
// 상단 HTML
|
||||
echo '<div id="faq_hhtml">'.conv_content($fm['fm_mobile_head_html'], 1).'</div>';
|
||||
?>
|
||||
|
||||
<?php
|
||||
if( count($faq_master_list) ){
|
||||
?>
|
||||
|
||||
<div id="faq_sch">
|
||||
<form name="faq_search_form" method="get">
|
||||
<input type="hidden" name="fm_id" value="<?php echo $fm_id;?>">
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" value="<?php echo $stx;?>" required id="stx" class="frm_input" size="15" maxlength="15">
|
||||
<button type="submit" value="검색" class="btn_submit"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<nav id="bo_cate">
|
||||
<h2>자주하시는질문 분류</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php
|
||||
foreach( $faq_master_list as $v ){
|
||||
$category_msg = '';
|
||||
$category_option = '';
|
||||
if($v['fm_id'] == $fm_id){ // 현재 선택된 카테고리라면
|
||||
$category_option = ' id="bo_cate_on"';
|
||||
$category_msg = '<span class="sound_only">열린 분류 </span>';
|
||||
}
|
||||
?>
|
||||
<li><a href="<?php echo $category_href;?>?fm_id=<?php echo $v['fm_id']?>" <?php echo $category_option;?> ><?php echo $category_msg.$v['fm_subject'];?></a></li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</nav>
|
||||
<?php } ?>
|
||||
|
||||
<div id="faq_wrap" class="faq_<?php echo $fm_id; ?>">
|
||||
<?php // FAQ 내용
|
||||
if( count($faq_list) ){
|
||||
?>
|
||||
<section id="faq_con">
|
||||
<h2><?php echo $g5['title']; ?> 목록</h2>
|
||||
<ol>
|
||||
<?php
|
||||
foreach($faq_list as $key=>$v){
|
||||
if(empty($v))
|
||||
continue;
|
||||
?>
|
||||
<li>
|
||||
<h3>
|
||||
<span class="tit_bg">Q</span><a href="#none" onclick="return faq_open(this);"><?php echo conv_content($v['fa_subject'], 1); ?></a>
|
||||
<button class="tit_btn" onclick="return faq_open(this);"><i class="fa fa-plus" aria-hidden="true"></i><span class="sound_only">열기</span></button>
|
||||
</h3>
|
||||
<div class="con_inner">
|
||||
<?php echo conv_content($v['fa_content'], 1); ?>
|
||||
<button type="button" class="closer_btn"><i class="fa fa-minus" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ol>
|
||||
</section>
|
||||
<?php
|
||||
|
||||
} else {
|
||||
if($stx){
|
||||
echo '<p class="empty_list">검색된 게시물이 없습니다.</p>';
|
||||
} else {
|
||||
echo '<div class="empty_table">등록된 FAQ가 없습니다.';
|
||||
if($is_admin)
|
||||
echo '<br><a href="'.G5_ADMIN_URL.'/faqmasterlist.php">FAQ를 새로 등록하시려면 FAQ관리</a> 메뉴를 이용하십시오.';
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<?php echo get_paging($page_rows, $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&page='); ?>
|
||||
|
||||
<?php
|
||||
// 하단 HTML
|
||||
echo '<div id="faq_thtml">'.conv_content($fm['fm_mobile_tail_html'], 1).'</div>';
|
||||
?>
|
||||
|
||||
|
||||
<!-- } FAQ 끝 -->
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
<script>
|
||||
jQuery(function() {
|
||||
$(".closer_btn").on("click", function() {
|
||||
$(this).closest(".con_inner").slideToggle('slow', function() {
|
||||
var $h3 = $(this).closest("li").find("h3");
|
||||
|
||||
$("#faq_con li h3").removeClass("faq_li_open");
|
||||
if($(this).is(":visible")) {
|
||||
$h3.addClass("faq_li_open");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function faq_open(el)
|
||||
{
|
||||
var $con = $(el).closest("li").find(".con_inner"),
|
||||
$h3 = $(el).closest("li").find("h3");
|
||||
|
||||
if($con.is(":visible")) {
|
||||
$con.slideUp();
|
||||
$h3.removeClass("faq_li_open");
|
||||
} else {
|
||||
$("#faq_con .con_inner:visible").css("display", "none");
|
||||
|
||||
$con.slideDown(
|
||||
function() {
|
||||
// 이미지 리사이즈
|
||||
$con.viewimageresize2();
|
||||
$("#faq_con li h3").removeClass("faq_li_open");
|
||||
|
||||
$h3.addClass("faq_li_open");
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
28
theme/rb.basic/mobile/skin/faq/basic/style.css
Normal file
@ -0,0 +1,28 @@
|
||||
@charset "utf-8";
|
||||
|
||||
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {background:#fff;padding-left:1px;border-bottom:1px solid #d9dce3;zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {display:inline-block;float:left;}
|
||||
#bo_cate a {display:block;line-height:24px;padding:15px;border-radius:13px;background:#fff}
|
||||
#bo_cate #bo_cate_on {display:inline-block;position:relative;color:#3a8afd}
|
||||
#bo_cate #bo_cate_on:after {content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;display:inline-block;background:#3a8afd}
|
||||
|
||||
#faq_wrap {margin:0 0 30px}
|
||||
#faq_wrap h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
.faq_admin {text-align:right}
|
||||
#faq_wrap ol {margin:0;padding:0;list-style:none}
|
||||
#faq_wrap li {border-bottom:1px solid #ececec;background:#fff;position:relative}
|
||||
#faq_wrap li h3 {min-height:50px;line-height:30px;padding:15px;padding-left:50px;position:relative}
|
||||
#faq_wrap li h3 a {font-size:1.2em}
|
||||
#faq_wrap li h3 .tit_btn {position:absolute;right:15px;top:15px;border:0;width:30px;height:30px;background:#fff;color:#c5cdd8;font-size:1.2em}
|
||||
#faq_wrap li h3 .tit_bg {display:inline-block;position:absolute;top:15px;left:15px;text-align:center;color:#000;font-size:1.6em}
|
||||
#faq_wrap li h3.faq_li_open a {color:#3a8afd}
|
||||
|
||||
#faq_con .con_inner {display:none;padding:5px 5px 20px 50px}
|
||||
#faq_con .con_inner .tit_bg {display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#777;color:#fff;border-radius:50%;width:30px;line-height:30px;height:30px}
|
||||
#faq_con .con_inner .closer_btn {position:absolute;right:15px;top:15px;border:0;width:30px;height:30px;background:#fff;color:#3a8afd;font-size:1.2em}
|
||||
|
||||
#faq_sch {position:relative;padding:15px;text-align:center}
|
||||
#faq_sch .frm_input {width:100%;height:45px;border:2px solid #3a8afd;border-radius:0}
|
||||
#faq_sch .btn_submit {position:absolute;top:17px;right:17px;width:41px;height:41px;background:none;color:#000;font-size:15px}
|
||||
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_comment.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_hot.gif
Normal file
|
After Width: | Height: | Size: 319 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_img.gif
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_link.gif
Normal file
|
After Width: | Height: | Size: 319 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_mobile.gif
Normal file
|
After Width: | Height: | Size: 339 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_more.gif
Normal file
|
After Width: | Height: | Size: 169 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_movie.gif
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_new.gif
Normal file
|
After Width: | Height: | Size: 71 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_reply.gif
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_secret.gif
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
theme/rb.basic/mobile/skin/latest/basic/img/icon_sound.gif
Normal file
|
After Width: | Height: | Size: 113 B |
101
theme/rb.basic/mobile/skin/latest/basic/latest.carousel.js
Normal file
@ -0,0 +1,101 @@
|
||||
jQuery(function($){
|
||||
$(document).ready(function(){
|
||||
|
||||
$(".owl-carousel-wrap .sv_member").off('click').off('focusin');
|
||||
|
||||
if ($.fn.tooltipster) {
|
||||
var $member_menu_tip = $('.owl-carousel-wrap .sv_member').tooltipster({
|
||||
theme: 'tooltipster-sir',
|
||||
trigger: 'custom',
|
||||
contentAsHTML: true,
|
||||
interactive: true,
|
||||
distance: 5,
|
||||
position:'bottom',
|
||||
coord: {
|
||||
left: 20,
|
||||
bottom: 0
|
||||
},
|
||||
triggerOpen: {
|
||||
click: true,
|
||||
tap: true // For touch device
|
||||
},
|
||||
triggerClose: {
|
||||
click: true,
|
||||
scroll: true,
|
||||
tap: true
|
||||
},
|
||||
functionBefore: function(instance, helper) {
|
||||
var content = $(helper.origin).parent().find('.sv')[0].outerHTML;
|
||||
instance.content(content);
|
||||
},
|
||||
functionReady : function(instance, helper) {
|
||||
$(helper.tooltip).find(".tooltipster-arrow").css({left:16});
|
||||
},
|
||||
functionPosition: function(instance, helper, position){
|
||||
position.coord.left += 7;
|
||||
return position;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var carousels = [],
|
||||
is_loop = true;
|
||||
|
||||
function owl_show_page(event){
|
||||
|
||||
if (event.item) {
|
||||
var count = event.item.count,
|
||||
item_index = event.item.index,
|
||||
index = 1;
|
||||
|
||||
if( is_loop ){
|
||||
index = ( 1 + ( event.property.value - Math.ceil( event.item.count / 2 ) ) % event.item.count || 0 ) || 1;
|
||||
} else {
|
||||
index = event.item.index ? event.item.index + 1 : 1;
|
||||
}
|
||||
|
||||
var str = "<b>"+index+"</b>/"+count;
|
||||
|
||||
$(event.target).next(".lt_page").find(".page_print").html(str);
|
||||
}
|
||||
}
|
||||
|
||||
$(".lt.owl-carousel-wrap").each(function(index, value) {
|
||||
|
||||
var $this = $(this),
|
||||
item_loop_c = ($this.children('.latest-sel').find(".item").length > 1) ? 1 : 0 ;
|
||||
|
||||
carousels['sel' + index] = $this.children('.latest-sel').addClass("owl-carousel").owlCarousel({
|
||||
items:1,
|
||||
loop: is_loop && item_loop_c,
|
||||
center:true,
|
||||
autoHeight:true,
|
||||
dots:false,
|
||||
onChanged:function(event){
|
||||
owl_show_page(event);
|
||||
},
|
||||
});
|
||||
|
||||
carousels['sel' + index].on('changed.owl.carousel', function(event) {
|
||||
|
||||
if ($.fn.tooltipster) {
|
||||
var instances = $.tooltipster.instances();
|
||||
$.each(instances, function(i, instance){
|
||||
instance.close();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$this.on("click", ".lt_page_next", function(e) {
|
||||
e.preventDefault();
|
||||
carousels['sel' + index].trigger('next.owl.carousel');
|
||||
});
|
||||
|
||||
$this.on("click", ".lt_page_prev", function(e) {
|
||||
e.preventDefault();
|
||||
carousels['sel' + index].trigger('prev.owl.carousel');
|
||||
});
|
||||
|
||||
}); // each
|
||||
});
|
||||
});
|
||||
86
theme/rb.basic/mobile/skin/latest/basic/latest.skin.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
add_javascript('<script src="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.js"></script>', 10);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.css">', 10);
|
||||
|
||||
add_javascript('<script src="'.G5_JS_URL.'/tooltipster/tooltipster.bundle.min.js"></script>', 11);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/tooltipster/tooltipster.bundle.min.css">', 11);
|
||||
add_javascript('<script src="'.$latest_skin_url.'/latest.carousel.js?v2"></script>', 12);
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css?v2">', 1);
|
||||
$thumb_width = 138;
|
||||
$thumb_height = 80;
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
$divisor_count = 4;
|
||||
$start_page_num = $list_count ? '1' : '0';
|
||||
$is_show_next_prev = ($list_count > 4) ? 1 : 0;
|
||||
?>
|
||||
|
||||
<div class="lt owl-carousel-wrap">
|
||||
<a href="<?php echo get_pretty_url($bo_table); ?>" class="lt_title"><strong><?php echo $bo_subject; ?></strong></a>
|
||||
<div class="<?php echo $list_count ? 'latest-sel' : ''; ?>">
|
||||
<ul class="item">
|
||||
<?php
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
|
||||
$img = $thumb['src'] ? $thumb['src'] : '';
|
||||
$img_content = $img ? '<img src="'.$img.'" alt="'.$thumb['alt'].'" >' : '';
|
||||
$wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);
|
||||
|
||||
$echo_ul = ( $i && (($i % $divisor_count) === 0) ) ? '</ul><ul class="item">'.PHP_EOL : '';
|
||||
|
||||
echo $echo_ul;
|
||||
?>
|
||||
<li>
|
||||
<?php
|
||||
//echo $list[$i]['icon_reply']." ";
|
||||
|
||||
if( $img_content ){
|
||||
echo "<a href=\"".$wr_href."\" class=\"lt_thumb\">".run_replace('thumb_image_tag', $img_content, $thumb)."</a> ";
|
||||
}
|
||||
|
||||
echo "<a href=\"".$wr_href."\" class=\"lt_tit\">";
|
||||
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i> ";
|
||||
if ($list[$i]['is_notice'])
|
||||
echo "<strong>".$list[$i]['subject']."</strong>";
|
||||
else
|
||||
echo $list[$i]['subject'];
|
||||
|
||||
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
|
||||
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
|
||||
|
||||
if ($list[$i]['icon_new']) echo " <span class=\"new_icon\">N</span>";
|
||||
if ($list[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
|
||||
if ($list[$i]['icon_link']) echo " <i class=\"fa fa-link\" aria-hidden=\"true\"></i>" ;
|
||||
if ($list[$i]['icon_hot']) echo " <i class=\"fa fa-heart\" aria-hidden=\"true\"></i>";
|
||||
|
||||
if ($list[$i]['comment_cnt']) echo "
|
||||
<span class=\"lt_cmt\"><span class=\"sound_only\">댓글</span>".$list[$i]['comment_cnt']."</span>";
|
||||
echo "</a>";
|
||||
?>
|
||||
|
||||
<div class="lt_info">
|
||||
<?php echo $list[$i]['name'] ?>
|
||||
<span class="lt_date">
|
||||
<?php echo $list[$i]['datetime'] ?>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
<?php } //end for ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } //end if ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if ($is_show_next_prev){ // $divisor_count 이상의 값이 있을경우에만 출력 ?>
|
||||
<div class="lt_page">
|
||||
<button class="lt_page_prev"><span class="sound_only">이전페이지</span><i class="fa fa-caret-left" aria-hidden="true"></i></button>
|
||||
<span class="page_print"><b><?php echo $start_page_num; ?></b>/<?php echo $start_page_num; ?></span>
|
||||
<button class="lt_page_next"><span class="sound_only">다음페이지</span><i class="fa fa-caret-right" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<a href="<?php echo get_pretty_url($bo_table); ?>" class="lt_more"><span class="sound_only"><?php echo $bo_subject ?></span>전체보기</a>
|
||||
</div>
|
||||
46
theme/rb.basic/mobile/skin/latest/basic/style.css
Normal file
@ -0,0 +1,46 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 최근게시물 스킨 (latest) */
|
||||
.lt {position:relative;margin:10px 0;background:#fff}
|
||||
.lt .lt_title {display:block;font-size:1.3em;padding:15px 15px 0;line-height:24px;background:#fff}
|
||||
.lt ul {list-style:none;padding:0 15px;background:#fff;border-bottom:1px solid #e5ecee}
|
||||
.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.lt_tit {color:#3a8afd}
|
||||
.lt .lt_thumb {display:inline-block;float:left;margin-right:10px}
|
||||
.lt .lt_thumb img, .lt .lt_thumb video {width:138px !important;height:auto;overflow:hidden}
|
||||
.lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px}
|
||||
.lt .lt_info {display:inline-block;position:relative;line-height:20px;color:#828282;font-size:0.925em;vertical-align:top}
|
||||
.lt .lt_date {color:#828282}
|
||||
.lt .latest-sel{margin-top:1px}
|
||||
|
||||
.lt .lt_more {position:absolute;top:15px;right:15px;color:#3a8afd;background:#fff;border:1px solid #d1d7e5;font-size:0.925em;border-radius:3px;padding:4px 5px;z-index:1}
|
||||
.lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}
|
||||
|
||||
.lt .profile_img img {border-radius:50%;vertical-align:top}
|
||||
.lt li .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}
|
||||
.lt li .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}
|
||||
.lt li .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}
|
||||
.lt li .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}
|
||||
.lt li .fa-heart {color:#ff0000}
|
||||
.lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.75em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
|
||||
.lt .lt_tit .fa-heart {color:#fe4560;margin-left:5px}
|
||||
|
||||
.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;display:inline}
|
||||
|
||||
.tooltipster-content .sv a{display:block;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb}
|
||||
.tooltipster-content .sv a:hover{background:#000;color:#fff}
|
||||
.tooltipster-sidetip.tooltipster-sir .tooltipster-content{padding:0}
|
||||
.tooltipster-sidetip.tooltipster-sir .tooltipster-box{border:0 none;background:#333;border-radius:0}
|
||||
.tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-border, .tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#333}
|
||||
|
||||
.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}
|
||||
.lt_page b {color:#000}
|
||||
.lt_page_prev {float:left}
|
||||
.lt_page_next {float:right}
|
||||
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_hot.gif
Normal file
|
After Width: | Height: | Size: 319 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_img.gif
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_link.gif
Normal file
|
After Width: | Height: | Size: 319 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_lock.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_mobile.gif
Normal file
|
After Width: | Height: | Size: 339 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_more.gif
Normal file
|
After Width: | Height: | Size: 169 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_movie.gif
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_new.gif
Normal file
|
After Width: | Height: | Size: 71 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_reply.gif
Normal file
|
After Width: | Height: | Size: 77 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_secret.gif
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_sound.gif
Normal file
|
After Width: | Height: | Size: 113 B |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/icon_view.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/more-btn.gif
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
theme/rb.basic/mobile/skin/latest/comment/img/more_bg.gif
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
33
theme/rb.basic/mobile/skin/latest/comment/latest.skin.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
|
||||
<div class="cm_lt">
|
||||
<h2 class="cm_lt_title"><a href="<?php echo get_pretty_url($bo_table); ?>">최신댓글</a></h2>
|
||||
<ul>
|
||||
<?php
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<span class="cm_lt_nick"><?php echo get_member_profile_img($member['mb_id']); ?></span>
|
||||
<div class="cm_lt_info">
|
||||
<a href="<?php echo get_pretty_url($bo_table, $list[$i]['wr_id']); ?>" class="over"><?php echo $list[$i]['subject']; ?></a>
|
||||
<br>
|
||||
<span class="lt_nick"><?php echo $list[$i]['name'] ?></span>
|
||||
<span class="lt_date"><?php echo $list[$i]['datetime2'] ?></span>
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
|
||||
if($list_count ==0)
|
||||
echo '<li class="empty_li">게시물이 없습니다.</li>'.PHP_EOL;
|
||||
?>
|
||||
</ul>
|
||||
<a href="<?php echo get_pretty_url($bo_table); ?>" class="lt_more"><span class="sound_only"><?php echo $bo_subject ?></span>더보기</a>
|
||||
|
||||
</div>
|
||||
26
theme/rb.basic/mobile/skin/latest/comment/style.css
Normal file
@ -0,0 +1,26 @@
|
||||
@charset "utf-8";
|
||||
/* 새글 스킨 (cm_ltest) */
|
||||
|
||||
.cm_lt {position:relative;margin-bottom:20px;overflow:hidden;background:#fff;border:1px solid #dde7e9;border-radius:3px}
|
||||
.cm_lt .cm_lt_title {display:block;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;background:#fcfcfc}
|
||||
.cm_lt .cm_lt_title a {position:recm_ltive;color:#000;display:inline-block}
|
||||
|
||||
.cm_lt ul {padding:10px 15px}
|
||||
.cm_lt li {position:relative;line-height:18px;border-bottom:1px solid #e5ecee;margin-bottom:10px;padding:10px 0}
|
||||
.cm_lt li:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.cm_lt li:last-child {border-bottom:0;margin-bottom:0}
|
||||
.cm_lt li a:hover {color:#3a8afd}
|
||||
|
||||
.cm_lt_nick {float:left}
|
||||
.cm_lt_nick img {border-radius:50%;width:35px;height:35px;margin-right:10px}
|
||||
.cm_lt_info {float:left;width:158px}
|
||||
.cm_lt_info .lt_nick {}
|
||||
.cm_lt_info .lt_date {color:#888}
|
||||
.cm_lt_info a {line-height:18px;display:inline-block;font-weight:bold;width:100%;max-height:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
||||
|
||||
.cm_lt .empty_li {line-height:145px ;color:#666;text-align:center;padding:0}
|
||||
.cm_lt .empty_li:before {background:none;padding:0}
|
||||
|
||||
.cm_lt .lt_cmt {color:#3a8afd;font-size:11px;padding:0 5px;font-weight:bold}
|
||||
.cm_lt .lt_more {position:absolute;top:11px;right:20px;display:block;width:40px;line-height:25px;color:#3a8afd;border-radius:3px;text-align:center}
|
||||
.cm_lt .lt_more:hover {color:#777}
|
||||
43
theme/rb.basic/mobile/skin/latest/notice/latest.skin.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
?>
|
||||
|
||||
<div class="notice ft_cnt">
|
||||
<h2><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
|
||||
<ul>
|
||||
<?php for ($i=0; $i<$list_count; $i++) { ?>
|
||||
<li>
|
||||
<?php
|
||||
if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> ";
|
||||
if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";
|
||||
//echo $list[$i]['icon_reply']." ";
|
||||
echo "<a href=\"".get_pretty_url($bo_table, $list[$i]['wr_id'])."\">";
|
||||
if ($list[$i]['is_notice'])
|
||||
echo "<strong>".$list[$i]['subject']."</strong>";
|
||||
else
|
||||
echo $list[$i]['subject'];
|
||||
|
||||
if ($list[$i]['comment_cnt'])
|
||||
echo $list[$i]['comment_cnt'];
|
||||
|
||||
echo "</a>";
|
||||
|
||||
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
|
||||
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
|
||||
|
||||
//if ($list[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
|
||||
//if ($list[$i]['icon_link']) echo " <i class=\"fa fa-link\" aria-hidden=\"true\"></i>" ;
|
||||
//if ($list[$i]['icon_hot']) echo " <i class=\"fa fa-heart\" aria-hidden=\"true\"></i>";
|
||||
?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
12
theme/rb.basic/mobile/skin/latest/notice/style.css
Normal file
@ -0,0 +1,12 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 새글 스킨 (latest) */
|
||||
.notice {position:relative;padding:15px 50px}
|
||||
.notice h2 {margin-bottom:20px}
|
||||
.notice h2 a {font-size:1.2em;color:#fff}
|
||||
.notice li {text-overflow:ellipsis;overflow:hidden;white-space:nowrap;border-bottom:1px solid #343434}
|
||||
.notice li a {color:#e3e3e3;padding:15px 0;display:inline-block}
|
||||
.notice li .lock_icon {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size: 12px;border:1px solid #a2c6ce;vertical-align:baseline}
|
||||
.notice li .new_icon {display:inline-block;line-height:16px;width:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;margin-right:3px;border-radius:2px;vertical-align:baseline}
|
||||
.notice .cnt_cm {background:#5c85c1;color:#fff;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space:nowrap;margin-left:5px}
|
||||
|
||||
42
theme/rb.basic/mobile/skin/latest/shop_basic/latest.skin.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div class="lt">
|
||||
<h2><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>"><?php echo $bo_subject ?></a></h2>
|
||||
<ul>
|
||||
<?php for ($i=0; $i<count($list); $i++) { ?>
|
||||
<li>
|
||||
<?php
|
||||
//echo $list[$i]['icon_reply']." ";
|
||||
echo "<a href=\"".$list[$i]['href']."\">";
|
||||
if ($list[$i]['is_notice'])
|
||||
echo "<strong>".$list[$i]['subject']."</strong>";
|
||||
else
|
||||
echo $list[$i]['subject'];
|
||||
|
||||
if ($list[$i]['comment_cnt'])
|
||||
|
||||
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
|
||||
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new'];
|
||||
//if (isset($list[$i]['icon_hot'])) echo " " . $list[$i]['icon_hot'];
|
||||
//if (isset($list[$i]['icon_file'])) echo " " . $list[$i]['icon_file'];
|
||||
//if (isset($list[$i]['icon_link'])) echo " " . $list[$i]['icon_link'];
|
||||
//if (isset($list[$i]['icon_secret'])) echo " " . $list[$i]['icon_secret'];
|
||||
|
||||
echo "</a>";
|
||||
|
||||
?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>" class="more_btn"><span class="sound_only"><?php echo $bo_subject ?></span>전체보기</a>
|
||||
</div>
|
||||
14
theme/rb.basic/mobile/skin/latest/shop_basic/style.css
Normal file
@ -0,0 +1,14 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 최근게시물 스킨 (latest) */
|
||||
.lt {position:relative;margin:40px 10px 20px;border:1px solid #dde7e9;background:#fff;position:relative}
|
||||
.lt h2{font-size:1.25em;padding:10px 15px;line-height:27px;border-bottom:1px solid #e8e8e8;margin:0;text-align:left}
|
||||
.lt ul {margin:0 0 10px;padding:0 15px;list-style:none}
|
||||
.lt li{text-align:left;margin:0 0 1px;line-height:40px;;border-top:1px solid #e5ecee}
|
||||
.lt li:first-child{border-top:0}
|
||||
.lt li i{color:#9da4bc}
|
||||
.lt li .fa-heart{color:#ff0000}
|
||||
.lt li .new_icon{display:inline-block;padding: 0 3px;line-height:15px ;font-size:0.92em;color:#fff;background:#c56bed}
|
||||
.lt li .cnt_cmt{color:#48a3d5}
|
||||
.lt .empty_li {text-align:center;padding:50px 0;color:#555}
|
||||
.lt .more_btn {position:absolute;top:10px;right:10px;line-height:25px;border:1px solid #d1d7e5;padding:0 8px;border-radius:3px;color:#3a8afd;}
|
||||
100
theme/rb.basic/mobile/skin/member/basic/formmail.skin.php
Normal file
@ -0,0 +1,100 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="formmail" class="new_win">
|
||||
<h1 id="win_title"><?php echo $name ?>님께 메일보내기</h1>
|
||||
|
||||
<form name="fformmail" action="./formmail_send.php" onsubmit="return fformmail_submit(this);" method="post" enctype="multipart/form-data" style="margin:0px;">
|
||||
<input type="hidden" name="to" value="<?php echo $email ?>">
|
||||
<input type="hidden" name="attach" value="2">
|
||||
<?php if ($is_member) { // 회원이면 ?>
|
||||
<input type="hidden" name="fnick" value="<?php echo get_text($member['mb_nick']); ?>">
|
||||
<input type="hidden" name="fmail" value="<?php echo $member['mb_email'] ?>">
|
||||
<?php } ?>
|
||||
|
||||
<div class="form_01 new_win_con">
|
||||
<h2 class="sound_only">메일쓰기</h2>
|
||||
<ul>
|
||||
<?php if (!$is_member) { ?>
|
||||
<li>
|
||||
<label for="fnick" class="sound_only">이름<strong>필수</strong></label>
|
||||
<input type="text" name="fnick" id="fnick" required class="frm_input required" placeholder="이름">
|
||||
</li>
|
||||
<li>
|
||||
<label for="fmail" class="sound_only">E-mail<strong>필수</strong></label>
|
||||
<input type="email" name="fmail" id="fmail" required class="frm_input required" placeholder="E-mail">
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li>
|
||||
<label for="subject" class="sound_only">제목<strong>필수</strong></label>
|
||||
<input type="text" name="subject" id="subject" required class="frm_input required" placeholder="제목">
|
||||
</li>
|
||||
<li class="chk_box">
|
||||
<span class="sound_only">형식</span>
|
||||
<input type="radio" name="type" value="0" id="type_text" checked>
|
||||
<label for="type_text"><span></span>TEXT</label>
|
||||
|
||||
<input type="radio" name="type" value="1" id="type_html">
|
||||
<label for="type_html"><span></span>HTML</label>
|
||||
|
||||
<input type="radio" name="type" value="2" id="type_both">
|
||||
<label for="type_both"><span></span>TEXT+HTML</label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="content" class="sound_only">내용<strong>필수</strong></label>
|
||||
<textarea name="content" id="content" required class="required" placeholder="내용"></textarea>
|
||||
</li>
|
||||
|
||||
<li class="formmail_flie">
|
||||
<div class="file_wr">
|
||||
<label for="file1" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> 첨부 파일 1</span></label>
|
||||
<input type="file" name="file1" id="file1" class="frm_file full_input">
|
||||
</div>
|
||||
<div class="frm_info">첨부 파일은 누락될 수 있으므로 메일을 보낸 후 파일이 첨부 되었는지 반드시 확인해 주시기 바랍니다.</div>
|
||||
</li>
|
||||
<li class="formmail_flie">
|
||||
<div class="file_wr">
|
||||
<label for="file2" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> 첨부 파일 2</span></label>
|
||||
<input type="file" name="file2" id="file2" class="frm_file full_input">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="sound_only">자동등록방지</span>
|
||||
<?php echo captcha_html(); ?>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="win_btn">
|
||||
<button type="submit" id="btn_submit" class="btn_b02 reply_btn">메일발송</button>
|
||||
<button type="button" onclick="window.close();" class="btn_close">창닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
with (document.fformmail) {
|
||||
if (typeof fname != "undefined")
|
||||
fname.focus();
|
||||
else if (typeof subject != "undefined")
|
||||
subject.focus();
|
||||
}
|
||||
|
||||
function fformmail_submit(f)
|
||||
{
|
||||
<?php echo chk_captcha_js(); ?>
|
||||
|
||||
if (f.file1.value || f.file2.value) {
|
||||
// 4.00.11
|
||||
if (!confirm("첨부파일의 용량이 큰경우 전송시간이 오래 걸립니다.\n\n메일보내기가 완료되기 전에 창을 닫거나 새로고침 하지 마십시오."))
|
||||
return false;
|
||||
}
|
||||
|
||||
document.getElementById('btn_submit').disabled = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
BIN
theme/rb.basic/mobile/skin/member/basic/img/btn_del.gif
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
theme/rb.basic/mobile/skin/member/basic/img/chk.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
theme/rb.basic/mobile/skin/member/basic/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
theme/rb.basic/mobile/skin/member/basic/img/zip_ico_up.gif
Normal file
|
After Width: | Height: | Size: 54 B |
124
theme/rb.basic/mobile/skin/member/basic/login.skin.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="mb_login" class="mbskin">
|
||||
<h1><?php echo $g5['title'] ?></h1>
|
||||
|
||||
<form name="flogin" action="<?php echo $login_action_url ?>" onsubmit="return flogin_submit(this);" method="post" id="flogin">
|
||||
<input type="hidden" name="url" value="<?php echo $login_url ?>">
|
||||
|
||||
<div id="login_frm">
|
||||
<label for="login_id" class="sound_only">아이디<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="mb_id" id="login_id" placeholder="아이디" required class="frm_input required" maxLength="20">
|
||||
<label for="login_pw" class="sound_only">비밀번호<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="password" name="mb_password" id="login_pw" placeholder="비밀번호" required class="frm_input required" maxLength="20">
|
||||
|
||||
<div id="login_info" class="chk_box">
|
||||
<input type="checkbox" name="auto_login" id="login_auto_login" class="selec_chk">
|
||||
<label for="login_auto_login"><span></span> 자동로그인</label>
|
||||
</div>
|
||||
<button type="submit" class="btn_submit">로그인</button>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// 소셜로그인 사용시 소셜로그인 버튼
|
||||
@include_once(get_social_skin_path().'/social_login.skin.php');
|
||||
?>
|
||||
|
||||
<section class="mb_login_join">
|
||||
<h2>회원로그인 안내</h2>
|
||||
<div>
|
||||
<a href="<?php echo G5_BBS_URL ?>/password_lost.php">아이디/비밀번호 찾기</a>
|
||||
<a href="./register.php">회원 가입</a>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
|
||||
<?php // 쇼핑몰 사용시 여기부터 ?>
|
||||
<?php if ($default['de_level_sell'] == 1) { // 상품구입 권한 ?>
|
||||
|
||||
<!-- 주문하기, 신청하기 -->
|
||||
<?php if (preg_match("/orderform.php/", $url)) { ?>
|
||||
<section id="mb_login_notmb">
|
||||
<h2>비회원 구매</h2>
|
||||
<p>비회원으로 주문하시는 경우 포인트는 지급하지 않습니다.</p>
|
||||
|
||||
<div id="guest_privacy">
|
||||
<?php echo $default['de_guest_privacy']; ?>
|
||||
</div>
|
||||
|
||||
<div class="chk_box">
|
||||
<input type="checkbox" id="agree" value="1" class="selec_chk">
|
||||
<label for="agree"><span></span> 개인정보수집에 대한 내용을 읽었으며 이에 동의합니다.</label>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<a href="javascript:guest_submit(document.flogin);" class="btn_submit">비회원으로 구매하기</a>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function guest_submit(f)
|
||||
{
|
||||
if (document.getElementById('agree')) {
|
||||
if (!document.getElementById('agree').checked) {
|
||||
alert("개인정보수집에 대한 내용을 읽고 이에 동의하셔야 합니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
f.url.value = "<?php echo $url; ?>";
|
||||
f.action = "<?php echo $url; ?>";
|
||||
f.submit();
|
||||
}
|
||||
</script>
|
||||
</section>
|
||||
|
||||
<?php } else if (preg_match("/orderinquiry.php$/", $url)) { ?>
|
||||
<div id="mb_login_od_wr">
|
||||
<h2>비회원 주문조회 </h2>
|
||||
|
||||
<fieldset id="mb_login_od">
|
||||
<legend>비회원 주문조회</legend>
|
||||
|
||||
<form name="forderinquiry" method="post" action="<?php echo urldecode($url); ?>" autocomplete="off">
|
||||
|
||||
<label for="od_id" class="od_id sound_only">주문번호<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="od_id" value="<?php echo $od_id ?>" id="od_id" placeholder="주문번호" required class="frm_input required" size="20">
|
||||
<label for="id_pwd" class="od_pwd sound_only">비밀번호<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="password" name="od_pwd" size="20" id="od_pwd" placeholder="비밀번호" required class="frm_input required">
|
||||
<button type="submit" class="btn_submit">확인</button>
|
||||
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<section id="mb_login_odinfo">
|
||||
<p>메일로 발송해드린 주문서의 <strong>주문번호</strong> 및 주문 시 입력하신 <strong>비밀번호</strong>를 정확히 입력해주십시오.</p>
|
||||
</section>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php } ?>
|
||||
<?php // 쇼핑몰 사용시 여기까지 반드시 복사해 넣으세요 ?>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$("#login_auto_login").click(function(){
|
||||
if (this.checked) {
|
||||
this.checked = confirm("자동로그인을 사용하시면 다음부터 회원아이디와 비밀번호를 입력하실 필요가 없습니다.\n\n공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function flogin_submit(f)
|
||||
{
|
||||
if( $( document.body ).triggerHandler( 'login_sumit', [f, 'flogin'] ) !== false ){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 자신만의 코드를 넣어주세요.
|
||||
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css">', 0);
|
||||
if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
|
||||
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 0);
|
||||
?>
|
||||
<!-- 기존 회원 본인인증 시작 { -->
|
||||
<div class="member_cert_refresh">
|
||||
<form name="fcertrefreshform" id="member_cert_refresh" action="<?php echo $action_url ?>" onsubmit="return fcertrefreshform_submit(this);" method="POST" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="url" value="<?php echo $urlencode ?>">
|
||||
<input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $member['mb_id']; ?>">
|
||||
<input type="hidden" name="mb_hp" value="<?php echo $member['mb_hp']; ?>">
|
||||
<input type="hidden" name="mb_name" value="<?php echo $member['mb_name']; ?>">
|
||||
<input type="hidden" name="cert_no" value="">
|
||||
<section id="member_cert_refresh_private">
|
||||
<h2>(필수) 추가 개인정보처리방침 안내</h2>
|
||||
<div>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>추가 개인정보처리방침 안내</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">목적</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">이용자 식별 및 본인여부 확인</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>생년월일<?php echo (empty($member['mb_dupinfo']))? ", 휴대폰 번호(아이핀 제외)" : ""; ?>, 암호화된 개인식별부호(CI)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="member_cert_refresh_agree">
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21" class="selec_chk">
|
||||
<label for="agree21"><span></span><b class="sound_only">추가 개인정보처리방침에 동의합니다.</b></label>
|
||||
</fieldset>
|
||||
</section>
|
||||
|
||||
<section id="find_info" class="new_win">
|
||||
<h2>인증수단 선택하기</h2>
|
||||
|
||||
<div class="find_btn">
|
||||
<?php
|
||||
if ($config['cf_cert_use']) {
|
||||
echo '<div class="cert_btn">';
|
||||
if ($config['cf_cert_simple']) {
|
||||
echo '<button type="button" id="win_sa_kakao_cert" class="btn_submit win_sa_cert" data-type="">간편인증</button>' . PHP_EOL;
|
||||
}
|
||||
if ($config['cf_cert_hp'])
|
||||
echo '<button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>' . PHP_EOL;
|
||||
if ($config['cf_cert_ipin'])
|
||||
echo '<button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button>' . PHP_EOL;
|
||||
echo '</div>';
|
||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>' . PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
var pageTypeParam = "pageType=register";
|
||||
var f = document.fcertrefreshform;
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_simple']) { ?>
|
||||
// 이니시스 간편인증
|
||||
var url = "<?php echo G5_INICERT_URL; ?>/ini_request.php";
|
||||
var type = "";
|
||||
var params = "";
|
||||
var request_url = "";
|
||||
|
||||
$(".win_sa_cert").click(function() {
|
||||
if (!fcertrefreshform_submit(f)) return false;
|
||||
type = $(this).data("type");
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
var params = "";
|
||||
$("#win_ipin_cert").click(function() {
|
||||
if (!fcertrefreshform_submit(f)) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php" + params;
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
var params = "";
|
||||
$("#win_hp_cert").click(function() {
|
||||
if (!fcertrefreshform_submit(f)) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
<?php
|
||||
switch ($config['cf_cert_hp']) {
|
||||
case 'kcb':
|
||||
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
|
||||
$cert_type = 'kcb-hp';
|
||||
break;
|
||||
case 'kcp':
|
||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||
$cert_type = 'kcp-hp';
|
||||
break;
|
||||
case 'lg':
|
||||
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||
$cert_type = 'lg-hp';
|
||||
break;
|
||||
default:
|
||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||
echo 'return false;';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>" + params);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
});
|
||||
|
||||
function fcertrefreshform_submit(f) {
|
||||
if (!f.agree2.checked) {
|
||||
alert("추가 개인정보처리방침에 동의하셔야 인증을 진행하실 수 있습니다.");
|
||||
f.agree2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<!-- } 기존 회원 본인인증 끝 -->
|
||||
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="mb_confirm" class="mbskin">
|
||||
<h1><?php echo $g5['title'] ?></h1>
|
||||
|
||||
<p>
|
||||
<strong>비밀번호를 한번 더 입력해주세요.</strong>
|
||||
<?php if ($url == 'member_leave.php') { ?>
|
||||
비밀번호를 입력하시면 회원탈퇴가 완료됩니다.
|
||||
<?php }else{ ?>
|
||||
회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다.
|
||||
<?php } ?>
|
||||
</p>
|
||||
|
||||
<form name="fmemberconfirm" action="<?php echo $url ?>" onsubmit="return fmemberconfirm_submit(this);" method="post">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $member['mb_id'] ?>">
|
||||
<input type="hidden" name="w" value="u">
|
||||
|
||||
<fieldset>
|
||||
회원아이디
|
||||
<span id="mb_confirm_id"><?php echo $member['mb_id'] ?></span>
|
||||
<input type="password" name="mb_password" id="mb_confirm_pw" placeholder="비밀번호(필수)" required class="frm_input" size="15" maxLength="20">
|
||||
<input type="submit" value="확인" id="btn_submit" class="btn_submit">
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function fmemberconfirm_submit(f)
|
||||
{
|
||||
document.getElementById("btn_submit").disabled = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
57
theme/rb.basic/mobile/skin/member/basic/memo.skin.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<!-- 쪽지 목록 시작 { -->
|
||||
<div id="memo_list" class="new_win">
|
||||
<h1 id="win_title">
|
||||
<?php echo $g5['title'] ?>
|
||||
<div class="win_total">전체 <?php echo $kind_title ?>쪽지 <?php echo $total_count ?>통<br></div>
|
||||
</h1>
|
||||
<div class="new_win_con2">
|
||||
<ul class="win_ul">
|
||||
<li class="<?php if ($kind == 'recv') { ?>selected<?php } ?>"><a href="./memo.php?kind=recv">받은쪽지</a></li>
|
||||
<li class="<?php if ($kind == 'send') { ?>selected<?php } ?>"><a href="./memo.php?kind=send">보낸쪽지</a></li>
|
||||
<li><a href="./memo_form.php">쪽지쓰기</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="memo_list">
|
||||
<ul>
|
||||
<?php for ($i=0; $i<count($list); $i++) {
|
||||
$readed = (substr($list[$i]['me_read_datetime'],0,1) == 0) ? '' : 'read';
|
||||
$memo_preview = utf8_strcut(strip_tags($list[$i]['me_memo']), 17, '..');
|
||||
?>
|
||||
<li class="<?php echo $readed; ?>">
|
||||
<div class="memo_li profile_big_img">
|
||||
<?php echo get_member_profile_img($list[$i]['mb_id']); ?>
|
||||
<?php if (! $readed){ ?><span class="no_read">안 읽은 쪽지</span><?php } ?>
|
||||
</div>
|
||||
<div class="memo_li memo_name">
|
||||
<?php echo $list[$i]['name']; ?> <span class="memo_datetime"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['send_datetime'] ?></span>
|
||||
<div class="memo_preview">
|
||||
<a href="<?php echo $list[$i]['view_href'] ?>"><?php echo $memo_preview; ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php /* 쪽지 읽은 시간 echo $list[$i]['read_datetime']; */ ?>
|
||||
<a href="<?php echo $list[$i]['del_href'] ?>" onclick="del(this.href); return false;" class="memo_del"><i class="fa fa-trash-o" aria-hidden="true"></i> <span class="sound_only">삭제</span></a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($i==0) { echo '<li class="empty_table">자료가 없습니다.</li>'; } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
|
||||
<p class="win_desc"><i class="fa fa-info-circle" aria-hidden="true"></i> 쪽지 보관일수는 최장 <strong><?php echo $config['cf_memo_del'] ?></strong>일 입니다.
|
||||
</p>
|
||||
|
||||
<div class="win_btn">
|
||||
<button type="button" onclick="window.close();" class="btn_close">창닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 쪽지 목록 끝 -->
|
||||
59
theme/rb.basic/mobile/skin/member/basic/memo_form.skin.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<!-- 쪽지 보내기 시작 { -->
|
||||
<div id="memo_write" class="new_win">
|
||||
<h1 id="win_title">쪽지 보내기</h1>
|
||||
<div class="new_win_con2">
|
||||
<ul class="win_ul">
|
||||
<li><a href="./memo.php?kind=recv">받은쪽지</a></li>
|
||||
<li><a href="./memo.php?kind=send">보낸쪽지</a></li>
|
||||
<li class="selected"><a href="./memo_form.php">쪽지쓰기</a></li>
|
||||
</ul>
|
||||
|
||||
<form name="fmemoform" action="<?php echo $memo_action_url; ?>" onsubmit="return fmemoform_submit(this);" method="post" autocomplete="off">
|
||||
<div class="form_01">
|
||||
<h2 class="sound_only">쪽지쓰기</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="me_recv_mb_id" class="sound_only">받는 회원아이디<strong>필수</strong></label>
|
||||
|
||||
<input type="text" name="me_recv_mb_id" value="<?php echo $me_recv_mb_id; ?>" id="me_recv_mb_id" required class="frm_input full_input required" size="47" placeholder="받는 회원아이디">
|
||||
<span class="frm_info">여러 회원에게 보낼때는 컴마(,)로 구분하세요.
|
||||
<?php if ($config['cf_memo_send_point']) { ?><br>쪽지 보낼때 회원당 <?php echo number_format($config['cf_memo_send_point']); ?>점의 포인트를 차감합니다.<?php } ?>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<label for="me_memo" class="sound_only">내용</label>
|
||||
<textarea name="me_memo" id="me_memo" required class="required"><?php echo $content ?></textarea>
|
||||
</li>
|
||||
<li>
|
||||
<span class="sound_only">자동등록방지</span>
|
||||
|
||||
<?php echo captcha_html(); ?>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="win_btn">
|
||||
<button type="submit" id="btn_submit" class="btn btn_b02 reply_btn">보내기</button>
|
||||
<button type="button" onclick="window.close();" class="btn_close">창닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function fmemoform_submit(f)
|
||||
{
|
||||
<?php echo chk_captcha_js(); ?>
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<!-- } 쪽지 보내기 끝 -->
|
||||
64
theme/rb.basic/mobile/skin/member/basic/memo_view.skin.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
$nick = get_sideview($mb['mb_id'], $mb['mb_nick'], $mb['mb_email'], $mb['mb_homepage']);
|
||||
if($kind == "recv") {
|
||||
$kind_str = "보낸";
|
||||
$kind_date = "받은";
|
||||
}
|
||||
else {
|
||||
$kind_str = "받는";
|
||||
$kind_date = "보낸";
|
||||
}
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<!-- 쪽지보기 시작 { -->
|
||||
<div id="memo_view" class="new_win">
|
||||
<h1 id="win_title"><?php echo $g5['title'] ?></h1>
|
||||
<div class="new_win_con2">
|
||||
<!-- 쪽지함 선택 시작 { -->
|
||||
<ul class="win_ul">
|
||||
<li class="<?php if ($kind == 'recv') { ?>selected<?php } ?>"><a href="./memo.php?kind=recv">받은쪽지</a></li>
|
||||
<li class="<?php if ($kind == 'send') { ?>selected<?php } ?>"><a href="./memo.php?kind=send">보낸쪽지</a></li>
|
||||
<li><a href="./memo_form.php">쪽지쓰기</a></li>
|
||||
</ul>
|
||||
<!-- } 쪽지함 선택 끝 -->
|
||||
|
||||
<article id="memo_view_contents">
|
||||
<header>
|
||||
<h2>쪽지 내용</h2>
|
||||
</header>
|
||||
<div id="memo_view_ul">
|
||||
<div class="memo_view_li memo_view_name">
|
||||
<ul class="memo_from">
|
||||
<li class="memo_profile">
|
||||
<?php echo get_member_profile_img($mb['mb_id']); ?>
|
||||
</li>
|
||||
<li class="memo_view_nick"><?php echo $nick ?></li>
|
||||
<li class="memo_view_date"><span class="sound_only"><?php echo $kind_date ?>시간</span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $memo['me_send_datetime'] ?></li>
|
||||
<li class="memo_op_btn list_btn"><a href="<?php echo $list_link ?>" class="btn_b01 btn"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li>
|
||||
<li class="memo_op_btn del_btn"><a href="<?php echo $del_link; ?>" onclick="del(this.href); return false;" class="memo_del btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i> <span class="sound_only">삭제</span></a></li>
|
||||
</ul>
|
||||
<div class="memo_btn">
|
||||
<?php if($prev_link) { ?>
|
||||
<a href="<?php echo $prev_link ?>" class="btn_left"><i class="fa fa-chevron-left" aria-hidden="true"></i> 이전쪽지</a>
|
||||
<?php } ?>
|
||||
<?php if($next_link) { ?>
|
||||
<a href="<?php echo $next_link ?>" class="btn_right">다음쪽지 <i class="fa fa-chevron-right" aria-hidden="true"></i></a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
<?php echo conv_content($memo['me_memo'], 0) ?>
|
||||
</p>
|
||||
</article>
|
||||
<div class="win_btn">
|
||||
<?php if ($kind == 'recv') { ?><a href="./memo_form.php?me_recv_mb_id=<?php echo $mb['mb_id'] ?>&me_id=<?php echo $memo['me_id'] ?>" class="reply_btn">답장</a><?php } ?>
|
||||
<button type="button" onclick="window.close();" class="btn_close">창닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 쪽지보기 끝 -->
|
||||
44
theme/rb.basic/mobile/skin/member/basic/password.skin.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
$delete_str = "";
|
||||
if ($w == 'x') $delete_str = "댓";
|
||||
if ($w == 'u') $g5['title'] = $delete_str."글 수정";
|
||||
else if ($w == 'd' || $w == 'x') $g5['title'] = $delete_str."글 삭제";
|
||||
else $g5['title'] = $g5['title'];
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="pw_confirm" class="mbskin">
|
||||
<h1><?php echo $g5['title'] ?></h1>
|
||||
<p>
|
||||
<?php if ($w == 'u') { ?>
|
||||
<strong>작성자만 글을 수정할 수 있습니다.</strong>
|
||||
작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다.
|
||||
<?php } else if ($w == 'd' || $w == 'x') { ?>
|
||||
<strong>작성자만 글을 삭제할 수 있습니다.</strong>
|
||||
작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다.
|
||||
<?php } else { ?>
|
||||
<strong>비밀글 기능으로 보호된 글입니다.</strong>
|
||||
작성자와 관리자만 열람하실 수 있습니다. 본인이라면 비밀번호를 입력하세요.
|
||||
<?php } ?>
|
||||
</p>
|
||||
|
||||
<form name="fboardpassword" action="<?php echo $action; ?>" method="post">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
|
||||
<input type="hidden" name="comment_id" value="<?php echo $comment_id ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
|
||||
<fieldset>
|
||||
<input type="password" name="wr_password" id="pw_wr_password" placeholder="비밀번호(필수)" required class="frm_input required" maxLength="20">
|
||||
<input type="submit" class="btn_submit" value="확인">
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
118
theme/rb.basic/mobile/skin/member/basic/password_lost.skin.php
Normal file
@ -0,0 +1,118 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
|
||||
if($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
|
||||
<script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 회원정보 찾기 시작 { -->
|
||||
<div id="find_info" class="new_win<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?> cert<?php } ?>">
|
||||
<div class="new_win_con">
|
||||
<form name="fpasswordlost" action="<?php echo $action_url ?>" onsubmit="return fpasswordlost_submit(this);" method="post" autocomplete="off">
|
||||
<input type="hidden" name="cert_no" value="">
|
||||
<h3>이메일로 찾기</h3>
|
||||
<fieldset id="info_fs">
|
||||
<p>
|
||||
회원가입 시 등록하신 이메일 주소를 입력해 주세요.<br>
|
||||
해당 이메일로 아이디와 비밀번호 정보를 보내드립니다.
|
||||
</p>
|
||||
<label for="mb_email" class="sound_only">E-mail 주소<strong class="sound_only">필수</strong></label>
|
||||
<input type="text" name="mb_email" id="mb_email" required class="required frm_input full_input email" size="30" placeholder="E-mail 주소">
|
||||
</fieldset>
|
||||
<?php echo captcha_html(); ?>
|
||||
|
||||
<div class="win_btn">
|
||||
<button type="submit" class="btn_submit">인증메일 보내기</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?>
|
||||
<div class="new_win_con find_btn">
|
||||
<h3>본인인증으로 찾기</h3>
|
||||
<div class="cert_btn">
|
||||
<?php if(!empty($config['cf_cert_simple'])) { ?>
|
||||
<button type="button" id="win_sa_kakao_cert" class="btn_submit win_sa_cert" data-type="">간편인증</button>
|
||||
<?php } if(!empty($config['cf_cert_hp']) || !empty($config['cf_cert_ipin'])) { ?>
|
||||
<?php if(!empty($config['cf_cert_hp'])) { ?>
|
||||
<button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>
|
||||
<?php } if(!empty($config['cf_cert_ipin'])) { ?>
|
||||
<button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<script>
|
||||
$(function() {
|
||||
$("#reg_zip_find").css("display", "inline-block");
|
||||
var pageTypeParam = "pageType=find";
|
||||
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_simple']) { ?>
|
||||
// TOSS 간편인증
|
||||
var url = "<?php echo G5_INICERT_URL; ?>/ini_request.php";
|
||||
var type = "";
|
||||
var params = "";
|
||||
var request_url = "";
|
||||
|
||||
|
||||
$(".win_sa_cert").click(function() {
|
||||
type = $(this).data("type");
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
});
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
var params = "";
|
||||
$("#win_ipin_cert").click(function() {
|
||||
params = "?" + pageTypeParam;
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php"+params;
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
var params = "";
|
||||
$("#win_hp_cert").click(function() {
|
||||
params = "?" + pageTypeParam;
|
||||
<?php
|
||||
switch($config['cf_cert_hp']) {
|
||||
case 'kcb':
|
||||
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
|
||||
$cert_type = 'kcb-hp';
|
||||
break;
|
||||
case 'kcp':
|
||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||
$cert_type = 'kcp-hp';
|
||||
break;
|
||||
case 'lg':
|
||||
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||
$cert_type = 'lg-hp';
|
||||
break;
|
||||
default:
|
||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||
echo 'return false;';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>"+params);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
});
|
||||
function fpasswordlost_submit(f)
|
||||
{
|
||||
<?php echo chk_captcha_js(); ?>
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<!-- } 회원정보 찾기 끝 -->
|
||||