skin.board.webclap/list.skin.php
2024-10-19 08:14:55 +09:00

387 lines
No EOL
12 KiB
PHP

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
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;">
<? if($admin_href){?><p class="txt-right"><a href="<?=$admin_href?>" class="ui-btn admin" target="_blank">관리자</a></p><hr class="padding"><?}?>
<?
$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>
<?}?>
<?}?>
<br>
<!-- 상단 공지 부분 -->
<? if($board['bo_content_head']) { ?>
<div class="board-notice">
<?=stripslashes($board['bo_content_head']);?>
</div>
<hr class="padding" />
<? } ?>
<!-- 버튼 링크 -->
<?if($is_admin || $no_id){?>
<?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>
<?}?>
<hr class="padding" />
<?if (!$no_id && $is_admin){?>
<p class="txt-center">* 통계 확인 및 웹박수 랜덤이미지 등록을 위해 아래 공지 체크후 메시지를 작성해주세요.<br>* 랜덤 이미지는 글 등록 후 수정(M)을 눌러 이미지를 업로드 해주시면 됩니다.<br>
* 공지글로 작성한 내용은 노출되지 않습니다.</p>
<hr class="padding">
<? } ?>
<? if ($write_href) { ?>
<div class="ui-write-area">
<? include ($board_skin_path."/write.php"); ?>
</div>
<hr class="padding">
<? } ?>
<div class="ui-qna-list">
<ul>
<?
$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="">
<? if($lists[$ii]['is_notice']) { ?>
<? $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>
<?if($is_admin){?>
<p class="notice">
<strong>
<? 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>
<? }?>
</strong>
</p>
<?
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">
<?
for ($k=0;$k<$board['bo_upload_count'];$k++){
if($file[$k]['file']){
?>
<img src="<?=G5_DATA_URL."/file/".$bo_table."/".$file[$k]['file']?>">
<?}?>
<?}?>
</p>
<?}else{ if(!$board['bo_3']){?>
<p class="txt-center">* 수정(M)을 눌러 웹박수 랜덤이미지를 등록 해주세요.</p>
<?} }?>
<?}?>
<? } else { ?>
<p>
<span class="date">
<?=$lists[$ii]['datetime']?>
</span>
<?if($is_admin){?><?=$lists[$ii]['wr_ip']?><?}?>
<strong>
<? if($is_admin) { ?>
<a href="<?=$delete_href?>">D</a>
<a href="javascript:comment_wri('comment_write', '<?=$lists[$ii]['wr_id']?>');">R</a>
<? } ?>
</strong>
</p>
<div class="qna-content <?=!$is_admin ? " guest" : "";?>">
<?if(!$board['bo_2'] || $is_admin){
if(strstr($lists[$ii]['wr_option'], 'secret')) { ?>
<span class="txt-point">[SECRET]</span><br />
<? } ?>
<?if((!strstr($lists[$ii]['wr_option'], 'secret')) || $is_admin) { ?>
<?= $lists[$ii]['content'] ?>
<? } } ?>
</div>
<? } ?>
</form>
<?
$wr_id = $lists[$ii]['wr_id'];
include ("$board_skin_path/view_comment.php");
?>
</div>
</li>
<? }
// 필터
?>
</ul>
<!-- 페이지 -->
<div class="ui-page">
<?
$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.'&amp;page=');
echo $write_pages;
?>
</div>
</div>
<?}?>
</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;
<? if($board['bo_1']!=''){?>
clap_max=parseInt('<?=$board['bo_1']?>');
<?}?>
let clap_t=parseInt('<?=$clap_t['sum']?>');
<?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;
}
}
});
<?}?>
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>
<? 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>
<? } ?>