first commit 2

This commit is contained in:
hmw1001
2026-06-11 18:47:38 +09:00
parent c768729ce6
commit 6f534e33a6
11095 changed files with 1595758 additions and 0 deletions
@@ -0,0 +1,56 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 예약 노출 설정 처리
$wr_is_reserved = isset($_POST['wr_is_reserved']) ? (int)$_POST['wr_is_reserved'] : 0;
$wr_reserved_start = isset($_POST['wr_reserved_start']) ? trim($_POST['wr_reserved_start']) : '';
$wr_reserved_end = isset($_POST['wr_reserved_end']) ? trim($_POST['wr_reserved_end']) : '';
if ($wr_is_reserved == 1) {
if (!$wr_reserved_start || !$wr_reserved_end) {
alert('예약 노출 시작일시와 종료일시를 모두 입력해주세요.');
}
if ($wr_reserved_start > $wr_reserved_end) {
alert('예약 종료일시는 시작일시보다 이후여야 합니다.');
}
// 💡 [핵심 수정] 게시판 설정에 따른 중복 검사
if (isset($board['bo_use_reservation_overlap']) && $board['bo_use_reservation_overlap']) {
$overlap_limit = isset($board['bo_reservation_overlap_count']) ? (int)$board['bo_reservation_overlap_count'] : 0;
// 💡 [변경] 0보다 클 때만 개수 제한 체크 (0이면 무제한 허용)
if ($overlap_limit > 0) {
// 겹치는 게시물 수 조회
$sql = " SELECT count(*) as cnt FROM {$write_table}
WHERE wr_is_comment = 0
AND wr_is_reserved = 1
AND wr_id != '{$wr_id}'
AND (
'{$wr_reserved_start}' <= wr_reserved_end AND '{$wr_reserved_end}' >= wr_reserved_start
) ";
$row = sql_fetch($sql);
// 허용 개수보다 많으면 차단 (현재 등록하려는 글 포함이므로 >= 사용하거나, 이미 등록된 글 수와 비교)
// 이미 등록된 글 수($row['cnt'])가 제한 개수($overlap_limit) 이상이면, 더 이상 등록 불가
if ($row['cnt'] >= $overlap_limit) {
$msg = "선택하신 기간에 예약 가능한 게시물 수({$overlap_limit}개)를 초과했습니다.";
$msg .= "\\n(현재 {$row['cnt']}개 예약됨)";
alert($msg);
}
}
}
} else {
// 예약 미사용 시 날짜 초기화
$wr_reserved_start = '0000-00-00 00:00:00';
$wr_reserved_end = '0000-00-00 00:00:00';
}
// DB 업데이트
$sql = " UPDATE {$write_table}
SET wr_is_reserved = '{$wr_is_reserved}',
wr_reserved_start = '{$wr_reserved_start}',
wr_reserved_end = '{$wr_reserved_end}'
WHERE wr_id = '{$wr_id}' ";
sql_query($sql);
?>