first commit 2
This commit is contained in:
@@ -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);
|
||||
?>
|
||||
Reference in New Issue
Block a user