535 lines
20 KiB
PHP
535 lines
20 KiB
PHP
<?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);
|
||
|
||
|
||
//필드분할
|
||
$wr_1 = isset($view["wr_1"]) ? explode("|", $view["wr_1"]) : [];
|
||
$wr_2 = isset($view["wr_2"]) ? explode("|", $view["wr_2"]) : [];
|
||
$wr_3 = isset($view["wr_3"]) ? explode("|", $view["wr_3"]) : [];
|
||
|
||
?>
|
||
<style>
|
||
#scroll_container {margin-top: 20px;}
|
||
#scroll_container .rb_bbs_top{display: none;}
|
||
.v_maps {display: none !important;}
|
||
</style>
|
||
|
||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||
|
||
<div class="rb_bbs_wrap" style="width:<?php echo $width; ?>">
|
||
|
||
<div class="btns_gr_wrap">
|
||
|
||
<!-- $rb_core['sub_width'] 는 반드시 포함해주세요 (환경설정 > 서브가로폭에 따른 버튼의 위치 설정) -->
|
||
<div class="sub" style="width:<?php echo $rb_core['sub_width'] ?>px;">
|
||
|
||
<div class="btns_gr">
|
||
<?php if ($admin_href) { ?>
|
||
<button type="button" class="fl_btns" onclick="window.open('<?php echo $admin_href ?>');">
|
||
<img src="<?php echo $board_skin_url ?>/img/ico_set.svg">
|
||
<span class="tooltips">관리</span>
|
||
</button>
|
||
<?php } ?>
|
||
|
||
|
||
<?php if ($list_href) { ?>
|
||
<button type="button" class="fl_btns" onclick="location.href='<?php echo $list_href ?>';">
|
||
<img src="<?php echo $board_skin_url ?>/img/ico_list.svg">
|
||
<span class="tooltips">목록</span>
|
||
</button>
|
||
<?php } ?>
|
||
|
||
|
||
<?php if ($write_href) { ?>
|
||
<button type="button" class="fl_btns main_color_bg" onclick="location.href='<?php echo $write_href ?>';">
|
||
<img src="<?php echo $board_skin_url ?>/img/ico_write.svg">
|
||
<span class="tooltips">등록</span>
|
||
</button>
|
||
<?php } ?>
|
||
|
||
</div>
|
||
|
||
<div class="cb"></div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="bbs_sv_wrap">
|
||
|
||
|
||
<ul class="bbs_sv_wrap_ul2">
|
||
<div class="gap_btm_bd flex_top_cat">
|
||
|
||
<?php if ($category_name) { ?>
|
||
<li class="view_info_span"><?php echo $view['ca_name'] ?></li>
|
||
<?php } ?>
|
||
|
||
<li class="rb_bbs_for_mem_names">
|
||
<?php
|
||
$view['icon_new'] = "";
|
||
if ($view['wr_datetime'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - ($board['bo_new'] * 3600)))
|
||
$view['icon_new'] = "<span class=\"lb_ico_new\">신규</span>";
|
||
$view['icon_hot'] = "";
|
||
if ($board['bo_hot'] > 0 && $view['wr_hit'] >= $board['bo_hot'])
|
||
$view['icon_hot'] = "<span class=\"lb_ico_hot\">인기</span>";
|
||
|
||
echo $view['icon_new']; //뉴아이콘
|
||
echo $view['icon_hot']; //인기아이콘
|
||
?>
|
||
</li>
|
||
|
||
|
||
<div id="bo_v_share">
|
||
<?php include_once(G5_SNS_PATH."/view.sns.skin.php"); ?>
|
||
<ul class="copy_urls">
|
||
<li>
|
||
<a href="javascript:void(0);" id="data-copy">
|
||
<img src="<?php echo $board_skin_url ?>/img/ico_sha.png" alt="공유링크 복사" width="32">
|
||
</a>
|
||
</li>
|
||
<?php
|
||
$currents_url = G5_URL.$_SERVER['REQUEST_URI'];
|
||
?>
|
||
<input type="hidden" id="data-area" class="data-area" value="<?php echo $currents_url ?>">
|
||
<script>
|
||
$(document).ready(function() {
|
||
|
||
$('#data-copy').click(function() {
|
||
$('#data-area').attr('type', 'text'); // 화면에서 hidden 처리한 input box type을 text로 일시 변환
|
||
$('#data-area').select(); // input에 담긴 데이터를 선택
|
||
var copy = document.execCommand('copy'); // clipboard에 데이터 복사
|
||
$('#data-area').attr('type', 'hidden'); // input box를 다시 hidden 처리
|
||
if (copy) {
|
||
alert("공유 링크가 복사 되었습니다."); // 사용자 알림
|
||
}
|
||
});
|
||
|
||
});
|
||
</script>
|
||
</ul>
|
||
|
||
</div>
|
||
|
||
|
||
</div>
|
||
<div class="gap_btm_bd">
|
||
|
||
<ul class="font-B view_info_tit"><?php echo get_text($view['wr_subject']);?></ul>
|
||
|
||
<?php if(isset($view['wr_6']) && $view['wr_6']) { ?>
|
||
<ul class="view_info_sub"><?php echo isset($view['wr_6']) ? nl2br($view['wr_6']) : ''; ?></ul>
|
||
<?php } ?>
|
||
|
||
<?php if(isset($wr_1[0]) && $wr_1[0] || isset($wr_1[1]) && $wr_1[1]) { ?>
|
||
<ul class="font-B view_info_pri1 main_color">
|
||
<?php if(isset($wr_1[0]) && $wr_1[0]) { ?>
|
||
<li><?php echo isset($wr_1[0]) ? $wr_1[0] : ''; ?></li>
|
||
<?php } ?>
|
||
<?php if(isset($wr_1[0]) && $wr_1[0]) { ?>
|
||
<li class="view_info_pri1 labels main_color font-B"><?php echo isset($wr_1[1]) ? $wr_1[1] : ''; ?></li>
|
||
<?php } ?>
|
||
</ul>
|
||
<?php } ?>
|
||
|
||
|
||
</div>
|
||
|
||
<?php if(isset($wr_3[0]) && $wr_3[0] || isset($wr_3[2]) && $wr_3[2] || isset($wr_3[4]) && $wr_3[4] || isset($wr_3[6]) && $wr_3[6] || isset($wr_3[8]) && $wr_3[8]) { ?>
|
||
<div class="gap_btm_bd">
|
||
|
||
<?php if(isset($wr_3[0]) && $wr_3[0]) { ?>
|
||
<ul class="opt_box_wrap">
|
||
<li class="font-B"><?php echo isset($wr_3[0]) ? $wr_3[0] : ''; ?></li><li><?php echo isset($wr_3[1]) ? $wr_3[1] : ''; ?></li>
|
||
</ul>
|
||
<?php } ?>
|
||
|
||
<?php if(isset($wr_3[2]) && $wr_3[2]) { ?>
|
||
<ul class="opt_box_wrap">
|
||
<li class="font-B"><?php echo isset($wr_3[2]) ? $wr_3[2] : ''; ?></li><li><?php echo isset($wr_3[3]) ? $wr_3[3] : ''; ?></li>
|
||
</ul>
|
||
<?php } ?>
|
||
|
||
<?php if(isset($wr_3[4]) && $wr_3[4]) { ?>
|
||
<ul class="opt_box_wrap">
|
||
<li class="font-B"><?php echo isset($wr_3[4]) ? $wr_3[4] : ''; ?></li><li><?php echo isset($wr_3[5]) ? $wr_3[5] : ''; ?></li>
|
||
</ul>
|
||
<?php } ?>
|
||
|
||
<?php if(isset($wr_3[6]) && $wr_3[6]) { ?>
|
||
<ul class="opt_box_wrap">
|
||
<li class="font-B"><?php echo isset($wr_3[6]) ? $wr_3[6] : ''; ?></li><li><?php echo isset($wr_3[7]) ? $wr_3[7] : ''; ?></li>
|
||
</ul>
|
||
<?php } ?>
|
||
|
||
<?php if(isset($wr_3[8]) && $wr_3[8]) { ?>
|
||
<ul class="opt_box_wrap">
|
||
<li class="font-B"><?php echo isset($wr_3[8]) ? $wr_3[8] : ''; ?></li><li><?php echo isset($wr_3[9]) ? $wr_3[9] : ''; ?></li>
|
||
</ul>
|
||
<?php } ?>
|
||
|
||
</div>
|
||
<?php } ?>
|
||
|
||
<?php
|
||
if(isset($board['bo_use_signature']) && $board['bo_use_signature']) {
|
||
// 서명 출력
|
||
include_once(G5_PATH.'/rb/rb.mod/signature/signature.skin.php');
|
||
}
|
||
?>
|
||
|
||
|
||
<!-- 첨부파일 / 링크 { -->
|
||
<?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'])
|
||
//if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'])
|
||
$cnt++;
|
||
}
|
||
}
|
||
|
||
?>
|
||
|
||
<?php if($cnt) { ?>
|
||
|
||
<div class="down_link_wrap">
|
||
<h2 id="container_title" class="none_btm_pd font-R">다운로드</h2>
|
||
|
||
<div class="rb_bbs_file">
|
||
<?php
|
||
// 가변 파일
|
||
for ($i=0; $i<count($view['file']); $i++) {
|
||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||
//if (isset($view['file'][$i]['source']) && $view['file'][$i]['source']) {
|
||
?>
|
||
<ul class="rb_bbs_file_for view_file_download" onclick="location.href='<?php echo $view['file'][$i]['href']; ?>';">
|
||
<i><img src="<?php echo $board_skin_url ?>/img/ico_file.svg"></i>
|
||
<a href="javascript:void(0);"><?php echo $view['file'][$i]['source'] ?></a> <?php echo number_format($view['file'][$i]['download']); ?>회
|
||
<?php if($view['file'][$i]['content']) { ?>
|
||
<li class="file_contents"><?php echo $view['file'][$i]['content'] ?></li>
|
||
<?php } ?>
|
||
</ul>
|
||
<?php
|
||
}
|
||
}
|
||
?>
|
||
</div>
|
||
|
||
</div>
|
||
<?php } ?>
|
||
|
||
|
||
|
||
<?php if(isset($view['link']) && array_filter($view['link'])) { ?>
|
||
<div class="down_link_wrap">
|
||
<h2 id="container_title" class="none_btm_pd font-R">링크</h2>
|
||
<div class="rb_bbs_file">
|
||
<?php
|
||
// 링크
|
||
$cnt = 0;
|
||
for ($i=1; $i<=count($view['link']); $i++) {
|
||
if ($view['link'][$i]) {
|
||
$cnt++;
|
||
$link = cut_str($view['link'][$i], 70);
|
||
?>
|
||
<ul class="rb_bbs_file_for" onclick="window.open('<?php echo $view['link_href'][$i]; ?>');">
|
||
<i><img src="<?php echo $board_skin_url ?>/img/ico_link.svg"></i>
|
||
<a href="javascript:void(0);"><?php echo $link ?></a> <?php echo $view['link_hit'][$i] ?>회
|
||
</ul>
|
||
<?php
|
||
}
|
||
}
|
||
?>
|
||
</div>
|
||
</div>
|
||
<?php } ?>
|
||
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<ul class="bbs_sv_wrap_ul1">
|
||
<div>
|
||
<?php
|
||
$v_img_count = count($view['file']);
|
||
if ($v_img_count > 0) {
|
||
echo "<div class=\"swiper-container swiper-container-pf\"><ul class=\"swiper-wrapper swiper-wrapper-pf\">\n";
|
||
for ($i = 0; $i < $v_img_count; $i++) {
|
||
// Check if $view['file'][$i]['view'] exists and is not empty
|
||
if (isset($view['file'][$i]['view']) && $view['file'][$i]['view']) {
|
||
echo "<li class=\"swiper-slide swiper-slide-pf\">" . get_view_thumbnail($view['file'][$i]['view']) . "</li>";
|
||
}
|
||
}
|
||
|
||
echo "</ul><div class=\"swiper-pagination swiper-pagination-pf\"></div></div>\n";
|
||
?>
|
||
|
||
<script>
|
||
var swiper = new Swiper('.swiper-container-pf', {
|
||
slidesPerView: 1, //가로갯수
|
||
spaceBetween: 0, // 간격
|
||
observer: true, //리셋
|
||
observeParents: true, //리셋
|
||
touchRatio: 1, // 드래그 가능여부
|
||
autoHeight: true,
|
||
|
||
autoplay: { //오토플레이
|
||
delay: 3000, //시간
|
||
disableOnInteraction: false, //마우스온여부
|
||
},
|
||
|
||
pagination: {
|
||
el: '.swiper-pagination-pf',
|
||
dynamicBullets: true,
|
||
clickable: true,
|
||
}
|
||
|
||
});
|
||
</script>
|
||
|
||
<?php
|
||
}
|
||
|
||
?>
|
||
|
||
|
||
</div>
|
||
|
||
<?php if(isset($view['wr_5']) && $view['wr_5']) { ?>
|
||
<div class="at_cont">
|
||
<?php echo isset($view['wr_5']) ? nl2br($view['wr_5']) : ''; ?>
|
||
</div>
|
||
<?php } ?>
|
||
|
||
<!-- 본문 내용 시작 { -->
|
||
<div id="bo_v_con">
|
||
|
||
|
||
<?php if(isset($view['wr_7']) && $view['wr_7']) { ?>
|
||
|
||
<?php
|
||
$input = $view['wr_7']; // 동영상 ID 자체 혹은 URL
|
||
$videoId = getYouTubeVideoId($input);
|
||
?>
|
||
|
||
<div class="youtube_wrap">
|
||
|
||
<div class="youtube">
|
||
<iframe src="https://www.youtube.com/embed/<?php echo $videoId; ?>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||
</div>
|
||
|
||
<?php if (strlen($view['wr_7']) == 11) { // 아이디만 입력했을 경우 ?>
|
||
<a href="https://youtu.be/<?php echo $view['wr_1']; ?>" class="urls font-B" target="_blank">https://youtu.be/<span class="main_color"><?php echo $view['wr_1']; ?></span></a>
|
||
<?php } else { ?>
|
||
<a href="<?php echo $view['wr_7']; ?>" class="urls font-B" target="_blank"><?php echo $view['wr_7']; ?></a>
|
||
<?php } ?>
|
||
|
||
</div>
|
||
<?php } ?>
|
||
|
||
|
||
<?php $original_content = isset($view['content']) ? $view['content'] : ''; ?>
|
||
<?php echo get_view_thumbnail($view['content']); ?>
|
||
</div>
|
||
|
||
|
||
<div>
|
||
|
||
|
||
|
||
|
||
|
||
<ul class="btm_btns">
|
||
|
||
|
||
<dd class="btm_btns_right">
|
||
|
||
<?php if ($list_href) { ?>
|
||
<a href="<?php echo $list_href ?>" type="button" class="fl_btns font-B">목록</a>
|
||
<?php } ?>
|
||
|
||
|
||
<?php if ($write_href) { ?>
|
||
<button type="button" name="btn_submit" class="fl_btns main_color_bg" onclick="location.href='<?php echo $write_href ?>';">
|
||
<img src="<?php echo $board_skin_url ?>/img/ico_write.svg">
|
||
<span class="font-R">등록</span>
|
||
</button>
|
||
<?php } ?>
|
||
|
||
<div class="cb"></div>
|
||
|
||
</dd>
|
||
|
||
<div id="bo_v_btns">
|
||
<?php ob_start(); ?>
|
||
|
||
<?php if($update_href || $delete_href || $copy_href || $move_href || $search_href) { ?>
|
||
|
||
<?php if ($reply_href) { ?>
|
||
<!-- // 답글을 사용하지 않음
|
||
<a href="<?php echo $reply_href ?>" class="fl_btns">
|
||
<span class="font-B">답글</span>
|
||
</a>
|
||
-->
|
||
<?php } ?>
|
||
|
||
<?php if ($update_href) { ?>
|
||
<a href="<?php echo $update_href ?>" class="fl_btns">
|
||
<span class="font-B">수정</span>
|
||
</a>
|
||
<?php } ?>
|
||
|
||
<?php if ($copy_href) { ?>
|
||
<a href="<?php echo $copy_href ?>" onclick="board_move(this.href); return false;" class="fl_btns">
|
||
<span class="font-B">복사</span>
|
||
</a>
|
||
<?php } ?>
|
||
|
||
<?php if ($move_href) { ?>
|
||
<a href="<?php echo $move_href ?>" onclick="board_move(this.href); return false;" class="fl_btns">
|
||
<span class="font-B">이동</span>
|
||
</a>
|
||
<?php } ?>
|
||
|
||
<?php if ($delete_href) { ?>
|
||
<a href="<?php echo $delete_href ?>" onclick="del(this.href); return false;" class="fl_btns">
|
||
<span class="font-B">삭제</span>
|
||
</a>
|
||
<?php } ?>
|
||
|
||
<?php } ?>
|
||
|
||
<?php
|
||
$link_buttons = ob_get_contents();
|
||
ob_end_flush();
|
||
?>
|
||
|
||
</div>
|
||
|
||
|
||
<dd class="cb"></dd>
|
||
|
||
|
||
</ul>
|
||
|
||
<!-- 배너 {
|
||
<ul class="bbs_bn_box">
|
||
배너를 추가해보세요.
|
||
</ul>
|
||
} -->
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</ul>
|
||
|
||
<div class="cb"></div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<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>
|
||
<!-- } 게시글 읽기 끝 -->
|