398 lines
14 KiB
PHP
398 lines
14 KiB
PHP
<?php
|
|
if (!defined("_GNUBOARD_"))
|
|
exit;
|
|
|
|
include_once "_extend.php";
|
|
|
|
if ($is_admin)
|
|
set_session("ss_delete_token", $token = uniqid(time()));
|
|
add_stylesheet('<link rel="stylesheet" href="' . $board_skin_url . '/style.css">', 0);
|
|
|
|
$width = $board['bo_width'] ? $board['bo_width'] : 100;
|
|
if ($width <= 100)
|
|
$width = $width . "%";
|
|
else
|
|
$width = $width . "px";
|
|
|
|
|
|
$clap_max = 10;
|
|
if ($board['bo_1'] != '')
|
|
$clap_max = $board['bo_1'];
|
|
$clap_t = sql_fetch("select sum(cl_cnt) as sum from {$g5['clap_table']} where date_format(cl_date, '%Y-%m-%d')='" . G5_TIME_YMD . "' and cl_ip='{$_SERVER['REMOTE_ADDR']}'");
|
|
$cl_cnt = $clap_t['sum'];
|
|
|
|
?>
|
|
|
|
<div id="page_board_content" style="max-width:<?= $width ?>;margin:0 auto;">
|
|
|
|
<?php if ($admin_href) { ?>
|
|
<p class="txt-right"><a href="<?= $admin_href ?>" class="ui-btn admin" target="_blank">관리자</a></p>
|
|
<hr class="padding"><?php } ?>
|
|
|
|
<?php
|
|
$no_id = '';
|
|
|
|
|
|
$get_notice = sql_fetch("select bo_notice from {$g5['board_table']} where bo_table='{$bo_table}'");
|
|
if ($get_notice['bo_notice'] != '') {
|
|
$notice_id = explode(",", $get_notice['bo_notice']);
|
|
$no_id = $notice_id[0];
|
|
|
|
$file = get_file($bo_table, $no_id);
|
|
$img_list = array();
|
|
$cnt = 0;
|
|
for ($k = 0; $k < $board['bo_upload_count']; $k++) {
|
|
if ($file[$k]['file']) {
|
|
$img_list[$cnt] = G5_DATA_URL . "/file/" . $bo_table . "/" . $file[$k]['file'];
|
|
$cnt++;
|
|
}
|
|
}
|
|
|
|
if (count($img_list) > 0 && !$board['bo_3']) {
|
|
shuffle($img_list);
|
|
?>
|
|
<div class="rand_img txt-center">
|
|
<img src="<?= $img_list[0] ?>">
|
|
</div>
|
|
<?php } ?>
|
|
<?php } ?>
|
|
<br>
|
|
<!-- 상단 공지 부분 -->
|
|
<?php if ($board['bo_content_head']) { ?>
|
|
<div class="board-notice">
|
|
<?= stripslashes($board['bo_content_head']); ?>
|
|
</div>
|
|
<hr class="padding" />
|
|
<?php } ?>
|
|
<!-- 버튼 링크 -->
|
|
<?php if ($is_admin || $no_id) { ?>
|
|
<?php if ($no_id) {
|
|
if (!$is_admin)
|
|
include_once $board_skin_path . '/update_hit.php';
|
|
?>
|
|
<div class="clap_box txt-center ">
|
|
<form name="clap" id="clap" action="<?= $board_skin_url ?>/update_hit.php" method="post"
|
|
enctype="multipart/form-data" onsubmit="return clap_submit(this)" autocomplete="off">
|
|
<input type="hidden" name="bo_table" value="<?= $bo_table ?>">
|
|
<input type="hidden" name="clap_max" value="<?= $clap_max ?>">
|
|
<input type="hidden" name="cl_cnt" value="<?= $cl_cnt ?>">
|
|
<input type="hidden" name="return_url" value="<?= G5_BBS_URL ?>/board.php?bo_table=<?= $bo_table ?>">
|
|
<button type="submit" class="ui-btn point clap">박수!</button>
|
|
</form>
|
|
</div>
|
|
<?php } ?>
|
|
<hr class="padding" />
|
|
<?php if (!$no_id && $is_admin) { ?>
|
|
<p class="txt-center">* 통계 확인 및 웹박수 랜덤이미지 등록을 위해 아래 공지 체크후 메시지를 작성해주세요.<br>* 랜덤 이미지는 글 등록 후 수정(M)을 눌러 이미지를 업로드 해주시면
|
|
됩니다.<br>
|
|
* 공지글로 작성한 내용은 노출되지 않습니다.</p>
|
|
<hr class="padding">
|
|
<?php } ?>
|
|
<?php if ($write_href) { ?>
|
|
<div class="ui-write-area">
|
|
<?php include $board_skin_path . "/write.php"; ?>
|
|
</div>
|
|
<hr class="padding">
|
|
<?php } ?>
|
|
<div class="ui-qna-list">
|
|
<ul>
|
|
<?php
|
|
$lists = array();
|
|
$cnt = 0;
|
|
for ($i = 0; $i < count($list); $i++) {
|
|
if (!$list[$i]['is_notice'] && !$is_admin && $list[$i]['wr_comment'] < 1)
|
|
continue;
|
|
if ($list[$i]['is_notice'] && !$is_admin && strstr($list[$i]['wr_option'], 'secret'))
|
|
continue;
|
|
$lists[$cnt] = $list[$i];
|
|
$cnt++;
|
|
}
|
|
for ($ii = 0; $ii < count($lists); $ii++) {
|
|
|
|
include "$board_skin_path/inc.list_main.php";
|
|
$lists[$ii]['datetime'] = date('Y/m/d (H:i:s)', strtotime($lists[$ii]['wr_datetime']));
|
|
|
|
$is_open = false;
|
|
|
|
if (get_cookie('read_' . $lists[$ii]['wr_id']) == $lists[$ii]['wr_password']) {
|
|
$is_open = true;
|
|
}
|
|
|
|
$lists[$ii]['content'] = conv_content($lists[$ii]['wr_content'], 0, 'wr_content');
|
|
$lists[$ii]['content'] = search_font($stx, $lists[$ii]['content']);
|
|
?>
|
|
<li>
|
|
<div class="theme-box question">
|
|
<form name="fboardlist" method="post" action="<?= $board_skin_url ?>/password.php" style="margin:0">
|
|
<input type="hidden" name="bo_table" value="<?= $bo_table ?>">
|
|
<input type="hidden" name="sfl" value="<?= $sfl ?>">
|
|
<input type="hidden" name="stx" value="<?= $stx ?>">
|
|
<input type="hidden" name="spt" value="<?= $spt ?>">
|
|
<input type="hidden" name="page" value="<?= $page ?>">
|
|
<input type="hidden" name="wr_idx" value="<?= $lists[$ii]['wr_id'] ?>">
|
|
<input type="hidden" name="sw" value="">
|
|
|
|
<?php if ($lists[$ii]['is_notice']) { ?>
|
|
|
|
<?php $clap_total = sql_fetch("select sum(cl_cnt) as sum from {$g5['clap_table']}");
|
|
$clap_today = sql_fetch("select sum(cl_cnt) as sum from {$g5['clap_table']} where date_format(cl_date,'%Y-%m-%d')='" . G5_TIME_YMD . "' and cl_val=''");
|
|
?>
|
|
<p id="stat_total"><em>오늘: <?= sprintf("%01d", $clap_today['sum']) ?></em> / <em>전체:
|
|
<?= sprintf("%01d", $clap_total['sum']) ?></em></p>
|
|
<?php if ($is_admin) { ?>
|
|
<p class="notice">
|
|
<strong>
|
|
<?php if (($member['mb_id'] && ($member['mb_id'] == $lists[$ii]['mb_id'])) || $is_admin) { ?>
|
|
<a href="<?= $delete_href ?>">D</a>
|
|
<a href="<?= $update_href ?>">M</a>
|
|
<?php } ?>
|
|
|
|
</strong>
|
|
</p>
|
|
|
|
<?php
|
|
include_once $board_skin_path . '/inc.stat.php';
|
|
if ($lists[$ii]['wr_file'] > 0) { ?>
|
|
<a href="#" onclick="$(this).next().slideToggle();return false;" class="ui-btn small">▶ 랜덤이미지 확인</a>
|
|
<p style="display:none;" class="txt-center">
|
|
<?php
|
|
for ($k = 0; $k < $board['bo_upload_count']; $k++) {
|
|
if ($file[$k]['file']) {
|
|
?>
|
|
<img src="<?= G5_DATA_URL . "/file/" . $bo_table . "/" . $file[$k]['file'] ?>">
|
|
<?php } ?>
|
|
<?php } ?>
|
|
</p>
|
|
<?php } else {
|
|
if (!$board['bo_3']) { ?>
|
|
<p class="txt-center">* 수정(M)을 눌러 웹박수 랜덤이미지를 등록 해주세요.</p>
|
|
<?php }
|
|
} ?>
|
|
<?php } ?>
|
|
<?php } else { ?>
|
|
<p>
|
|
<span class="date">
|
|
<?= $lists[$ii]['datetime'] ?>
|
|
</span>
|
|
<?php if ($is_admin) { ?> <?= $lists[$ii]['wr_ip'] ?> <?php } ?>
|
|
<strong>
|
|
<?php if ($is_admin) { ?>
|
|
<a href="<?= $delete_href ?>">D</a>
|
|
<a href="javascript:comment_wri('comment_write', '<?= $lists[$ii]['wr_id'] ?>');">R</a>
|
|
<?php } ?>
|
|
</strong>
|
|
</p>
|
|
<div class="qna-content <?= !$is_admin ? " guest" : ""; ?>">
|
|
<?php if (!$board['bo_2'] || $is_admin) {
|
|
if (strstr($lists[$ii]['wr_option'], 'secret')) { ?>
|
|
<span class="txt-point">[SECRET]</span><br />
|
|
<?php } ?>
|
|
<?php if ((!strstr($lists[$ii]['wr_option'], 'secret')) || $is_admin) { ?>
|
|
<?= $lists[$ii]['content'] ?>
|
|
<?php }
|
|
} ?>
|
|
</div>
|
|
<?php } ?>
|
|
</form>
|
|
<?php
|
|
$wr_id = $lists[$ii]['wr_id'];
|
|
include "$board_skin_path/view_comment.php";
|
|
?>
|
|
</div>
|
|
</li>
|
|
<?php }
|
|
// 필터
|
|
?>
|
|
</ul>
|
|
|
|
<!-- 페이지 -->
|
|
|
|
<div class="ui-page">
|
|
<?php
|
|
$add = "";
|
|
if (!$is_admin)
|
|
$add = "and wr_comment=1 ";
|
|
$total = sql_fetch("select count(distinct wr_id) as cnt from {$write_table} where wr_id=wr_parent {$add}");
|
|
$total_count = $total['cnt'];
|
|
$total_page = ceil($total_count / $page_rows); // 전체 페이지 계산
|
|
$from_record = ($page - 1) * $page_rows; // 시작 열을 구함
|
|
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table=' . $bo_table . $qstr . '&page=');
|
|
echo $write_pages;
|
|
?>
|
|
</div>
|
|
|
|
</div>
|
|
<?php } ?>
|
|
</div>
|
|
<script>
|
|
//if ("<?= $sca ?>") document.fcategory.sca.value = "<?= $sca ?>";
|
|
if ("<?= $stx ?>") {
|
|
document.fsearch.sfl.value = "<?= $sfl ?>";
|
|
document.fsearch.sop.value = "<?= $sop ?>";
|
|
}
|
|
|
|
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
|
|
function resize_image() {
|
|
var target = document.getElementsByName('target_resize_image[]');
|
|
var image_width = parseInt("<?= $board['bo_image_width'] ?>");
|
|
var image_height = 0;
|
|
|
|
for (i = 0; i < target.length; i++) {
|
|
// 원래 사이즈를 저장해 놓는다
|
|
target[i].tmp_width = target[i].width;
|
|
target[i].tmp_height = target[i].height;
|
|
// 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
|
|
if (target[i].width > image_width) {
|
|
image_height = parseFloat(target[i].width / target[i].height)
|
|
target[i].width = image_width;
|
|
target[i].height = parseInt(image_width / image_height);
|
|
}
|
|
}
|
|
}
|
|
window.onload = resize_image;
|
|
|
|
const bg = $(".question.theme-box").css("background-color");
|
|
$(".qna-content.guest, .qna-content.guest a").css({ "color": bg, "opacity": 1, "background-color": bg });
|
|
|
|
let clap_max = 10;
|
|
<?php if ($board['bo_1'] != '') { ?>
|
|
clap_max = parseInt('<?= $board['bo_1'] ?>');
|
|
<?php } ?>
|
|
let clap_t = parseInt('<?= $clap_t['sum'] ?>');
|
|
|
|
<?php if (!$is_admin) { ?>
|
|
$(document).keydown(function (event) {
|
|
if ((event.ctrlKey == true && (event.keyCode == 78 || event.keyCode == 82)) || (event.keyCode == 116)) {
|
|
if (clap_max == 0 || (clap_max > 0 && clap_t < clap_max)) {
|
|
alert("박수 감사합니다!");
|
|
} else {
|
|
event.keyCode = 0;
|
|
event.cancelBubble = true;
|
|
event.returnValue = false;
|
|
alert("박수는 하루에 " + clap_max + "번 까지 칠 수 있습니다.");
|
|
return false;
|
|
}
|
|
}
|
|
});
|
|
<?php } ?>
|
|
|
|
function clap_submit(f) {
|
|
if (clap_max > 0 && clap_t >= clap_max) {
|
|
alert("박수는 하루에 " + clap_max + "번 까지 칠 수 있습니다.");
|
|
return false;
|
|
}
|
|
else return true;
|
|
}
|
|
|
|
function comment_wri(name, id) {
|
|
$('.modify_area').hide();
|
|
var layer = document.getElementById(name + id);
|
|
layer.style.display = (layer.style.display == "none") ? "block" : "none";
|
|
}
|
|
function comment_delete(url) {
|
|
if (confirm("이 코멘트를 삭제하시겠습니까?")) location.href = url;
|
|
}
|
|
|
|
</script>
|
|
<?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 check_confirm(str) {
|
|
var f = document.fboardlist;
|
|
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(str + "할 게시물을 하나 이상 선택하세요.");
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// 선택한 게시물 삭제
|
|
function select_delete() {
|
|
var f = document.fboardlist;
|
|
|
|
str = "삭제";
|
|
if (!check_confirm(str))
|
|
return;
|
|
|
|
if (!confirm("선택한 게시물을 정말 " + str + " 하시겠습니까?\n\n한번 " + str + "한 자료는 복구할 수 없습니다"))
|
|
return;
|
|
|
|
f.action = "./delete_all.php";
|
|
f.submit();
|
|
}
|
|
|
|
// 선택한 게시물 복사 및 이동
|
|
function select_copy(sw) {
|
|
var f = document.fboardlist;
|
|
|
|
if (sw == "copy")
|
|
str = "복사";
|
|
else
|
|
str = "이동";
|
|
|
|
if (!check_confirm(str))
|
|
return;
|
|
|
|
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 = "./move.php";
|
|
f.submit();
|
|
}
|
|
|
|
function comment_box(co_id, wr_id) {
|
|
$('.modify_area').hide();
|
|
$('#c_' + co_id).find('.modify_area').show();
|
|
$('#c_' + co_id).find('.qna-comment-content').hide();
|
|
|
|
$('#save_co_comment_' + co_id).focus();
|
|
|
|
var modify_form = document.getElementById('frm_modify_comment');
|
|
modify_form.wr_id.value = wr_id;
|
|
modify_form.comment_id.value = co_id;
|
|
}
|
|
|
|
function modify_commnet(co_id) {
|
|
var modify_form = document.getElementById('frm_modify_comment');
|
|
var wr_content = $('#save_co_comment_' + co_id).val();
|
|
var wr_option = '';
|
|
modify_form.wr_content.value = wr_content;
|
|
modify_form.wr_option.value = wr_option;
|
|
$('#frm_modify_comment').submit();
|
|
}
|
|
|
|
</script>
|
|
|
|
<form name="modify_comment" id="frm_modify_comment" action="./write_comment_update.php"
|
|
onsubmit="return fviewcomment_submit(this);" method="post" autocomplete="off">
|
|
<input type="hidden" name="w" value="cu">
|
|
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
|
<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="comment_id" value="">
|
|
<input type="hidden" name="wr_id" value="">
|
|
<input type="hidden" name="wr_option" value="">
|
|
<textarea name="wr_content" style="display: none;"></textarea>
|
|
<button type="submit" style="display: none;"></button>
|
|
</form>
|
|
<?php } ?>
|