Feat: VIP 관리 시스템 개선 - 모달 구조 정리, 만료일 자동 상태 관리
- VIP 리스트 모달을 루프 내 숨겨진 TR에 통합 (Bootstrap 호환성 유지) - X 아이콘 제거 및 액션 버튼 표시 조건 개선 (status='정상'인 경우만 표시) - 행 높이 표준화 (60px, align-middle) - 만료일이 오늘 이전일 경우 상태 자동 '만료' 처리 (AJAX 및 1회성 실행 모드) - 만료일 설정 페이지 결과 테이블에 상태 변경 정보 추가
This commit is contained in:
@ -14,7 +14,7 @@ if(!$_SESSION['user_id']) {
|
||||
}
|
||||
|
||||
// 권한 체크 (관리자 이상만 가능)
|
||||
if($_SESSION['user_lv'] < 2) {
|
||||
if($_SESSION['user_lv'] < 3) {
|
||||
die('권한이 없습니다.');
|
||||
}
|
||||
|
||||
@ -56,8 +56,12 @@ if(isset($_POST['ajax_mode'])) {
|
||||
$vip_date = date("Y-m-d", strtotime($list['last_ent_date'] . " +1 year"));
|
||||
}
|
||||
|
||||
// 만료 여부 확인 (만료일이 오늘 이전이면 상태를 '만료'로 변경)
|
||||
$today = date('Y-m-d');
|
||||
$new_status = (strtotime($vip_date) < strtotime($today)) ? '만료' : '정상';
|
||||
|
||||
// DB 업데이트
|
||||
$updateQuery = "UPDATE {$fg['vip_list_table']} SET vip_date='{$vip_date}' WHERE idx='{$list['idx']}'";
|
||||
$updateQuery = "UPDATE {$fg['vip_list_table']} SET vip_date='{$vip_date}', status='{$new_status}' WHERE idx='{$list['idx']}'";
|
||||
$update_result = sql_query($updateQuery);
|
||||
|
||||
if ($update_result) {
|
||||
@ -68,7 +72,7 @@ if(isset($_POST['ajax_mode'])) {
|
||||
|
||||
// log 기록
|
||||
$work = "VIP만료일일괄설정";
|
||||
$work_detail = "카드번호 : ".$list['vip_card_no']." 만료일 : ".$vip_date." 처리자 : ".$_SESSION['user_name'];
|
||||
$work_detail = "카드번호 : ".$list['vip_card_no']." 만료일 : ".$vip_date." 상태 : ".$new_status." 처리자 : ".$_SESSION['user_name'];
|
||||
|
||||
$logUpdate = log_update($work, $work_detail, $_SESSION['user_id'], $datetime);
|
||||
}
|
||||
@ -112,8 +116,12 @@ if(isset($_REQUEST['confirm']) && $_REQUEST['confirm'] == 'yes') {
|
||||
$logic_type = "최종이용일 기준";
|
||||
}
|
||||
|
||||
// 만료 여부 확인 (만료일이 오늘 이전이면 상태를 '만료'로 변경)
|
||||
$today = date('Y-m-d');
|
||||
$new_status = (strtotime($vip_date) < strtotime($today)) ? '만료' : '정상';
|
||||
|
||||
// DB 업데이트
|
||||
$updateQuery = "UPDATE {$fg['vip_list_table']} SET vip_date='{$vip_date}' WHERE idx='{$list['idx']}'";
|
||||
$updateQuery = "UPDATE {$fg['vip_list_table']} SET vip_date='{$vip_date}', status='{$new_status}' WHERE idx='{$list['idx']}'";
|
||||
$update_result = sql_query($updateQuery);
|
||||
|
||||
if ($update_result) {
|
||||
@ -124,7 +132,9 @@ if(isset($_REQUEST['confirm']) && $_REQUEST['confirm'] == 'yes') {
|
||||
'old_date' => $list['vip_date'],
|
||||
'new_date' => $vip_date,
|
||||
'logic' => $logic_type,
|
||||
'ent_count' => $ent_count
|
||||
'ent_count' => $ent_count,
|
||||
'new_status' => $new_status,
|
||||
'status_changed' => ($new_status !== $list['status']) ? 'O' : 'X'
|
||||
);
|
||||
} else {
|
||||
$error_count++;
|
||||
@ -132,7 +142,7 @@ if(isset($_REQUEST['confirm']) && $_REQUEST['confirm'] == 'yes') {
|
||||
|
||||
// log 기록
|
||||
$work = "VIP만료일일괄설정";
|
||||
$work_detail = "카드번호 : ".$list['vip_card_no']." 만료일 : ".$vip_date." (" . $logic_type . ") 처리자 : ".$_SESSION['user_name'];
|
||||
$work_detail = "카드번호 : ".$list['vip_card_no']." 만료일 : ".$vip_date." (" . $logic_type . ") 상태 : ".$new_status." 처리자 : ".$_SESSION['user_name'];
|
||||
|
||||
$logUpdate = log_update($work, $work_detail, $_SESSION['user_id'], $datetime);
|
||||
}
|
||||
@ -186,6 +196,8 @@ if(isset($_REQUEST['confirm']) && $_REQUEST['confirm'] == 'yes') {
|
||||
<th>신규 만료일</th>
|
||||
<th>설정 기준</th>
|
||||
<th>방문횟수</th>
|
||||
<th>신규 상태</th>
|
||||
<th>상태변경</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -197,6 +209,8 @@ if(isset($_REQUEST['confirm']) && $_REQUEST['confirm'] == 'yes') {
|
||||
<td><strong><?= $item['new_date'] ?></strong></td>
|
||||
<td><?= $item['logic'] ?></td>
|
||||
<td><?= $item['ent_count'] ?></td>
|
||||
<td><?= $item['new_status'] ?></td>
|
||||
<td><?= ($item['status_changed'] === 'O') ? '<span class="badge bg-warning">변경됨</span>' : '-' ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user