Files
firstgarden-web-gnu/manager/annual_member/annual_member_list.modify.php

106 lines
4.1 KiB
PHP

<?php
include_once '_common.php';
if(!$_SESSION['user_id']) exit;
if ($_SERVER["REQUEST_METHOD"] == "POST") { // POST로 넘어온 값이 있다면
// 변수 선언
$ca_id = trim($_POST['ca_id']); // 권종구분
$mem_no = trim($_POST['mem_no']); // 회원번호
$name = trim($_POST['name']); // 성명
$status = trim($_POST['status']); // 상태
$gender = trim($_POST['gender']); // 성별
$tel = addTelHyphen(trim($_POST['tel'])); // 연락처
$birth = trim($_POST['birth']); // 생일
$email = trim($_POST['email']); // 이메일
$addr = trim($_POST['addr']); // 주소
$sdate = trim($_POST['sdate']); // 시작일
$edate = trim($_POST['edate']); // 종료일
$memo = trim($_POST['memo']); // 메모
$last_editdate = $datetime = date("Y-m-d H:i:s"); // 현재시간
// 기존 정보 가져오기
$q1 = "SELECT * FROM {$fg['annual_member_table']} WHERE mem_no = '{$mem_no}'";
$r = sql_fetch($q1);
// 시작일이 변경된 경우
if (isset($sdate) && $sdate != $r['sdate']) {
$edate = getAnnualEdate($sdate); // 연간회원권이므로 종료일은 1년 후로 지정한다.
}
// 파일 업로드 처리
$dir = "/data/annual_member_photo/"; // 업로드 디렉토리
$uploadDir = FG_MANAGER_PATH . $dir; // 업로드 디렉토리 절대경로
$maxFileSize = 10 * 1024 * 1024; // 10MB
$allowedExtensions = ["jpg", "jpeg", "png", "gif"]; // 허용되는 파일 확장자
$photo_url = $r['photo_url']; // 기존 파일 URL 유지
if (!empty($_FILES['photofile']['name'])) {
$fileName = $_FILES['photofile']['name'];
$fileTmpName = $_FILES['photofile']['tmp_name'];
$fileSize = $_FILES['photofile']['size'];
$fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
if (in_array($fileExtension, $allowedExtensions) && $fileSize <= $maxFileSize) {
$newFileName = uniqid() . "." . $fileExtension;
$uploadPath = $uploadDir . $newFileName;
if (move_uploaded_file($fileTmpName, $uploadPath)) {
$photo_url = FG_MANAGER_URL . $dir . $newFileName;
} else {
alert("파일 업로드 실패");
}
} else {
alert("지원하지 않는 파일 형식이거나 파일 크기가 너무 큽니다. jpg, jpeg, png, gif 파일만 허용되며 최대 파일 크기는 " . ($maxFileSize / (1024 * 1024)) . "MB입니다.");
}
}
// 변수 값을 DB에 업데이트
$query = "UPDATE {$fg['annual_member_table']} SET
ca_id = '{$ca_id}',
status = '{$status}',
sdate = '{$sdate}',
edate = '{$edate}',
name = '{$name}',
tel = '{$tel}',
email = '{$email}',
birth = '{$birth}',
addr = '{$addr}',
memo = '{$memo}',
gender = '{$gender}',
last_edit_id = '{$_SESSION['user_id']}',
last_edit_date = '{$datetime}',
photo_url = '{$photo_url}'";
$query .= " WHERE mem_no='{$mem_no}'";
$result = sql_query($query);
if ($result) { // DB 업데이트가 완료되면 로그를 기록한다.
// log 기록
$work = "연간회원수정";
$work_detail = "번호 : " . $mem_no . " 처리자 : " . $_SESSION['user_name'];
$work_detail .= "수정내역 : ";
if ($r['name'] != $name) $work_detail .= $r['name'] . ' -> ' . $name . ', ';
if ($r['tel'] != $tel) $work_detail .= $r['tel'] . ' -> ' . $tel . ', ';
if ($r['email'] != $email) $work_detail .= $r['email'] . ' -> ' . $email . ', ';
if ($r['birth'] != $birth) $work_detail .= $r['birth'] . ' -> ' . $birth . ', ';
if ($r['addr'] != $addr) $work_detail .= $r['addr'] . ' -> ' . $addr . ', ';
if ($r['memo'] != $memo) $work_detail .= $r['memo'] . ' -> ' . $memo . ', ';
if ($r['gender'] != $gender) $work_detail .= $r['gender'] . ' -> ' . $gender . ', ';
if ($r['ca_id'] != $ca_id) $work_detail .= $r['ca_id'] . ' -> ' . $ca_id . ', ';
if ($r['status'] != $status) $work_detail .= $r['status'] . ' -> ' . $status . ', ';
if ($r['sdate'] != $sdate) $work_detail .= $r['sdate'] . ' -> ' . $sdate . ', ';
// log 기록
$logResult = log_update($work, $work_detail, $_SESSION['user_id'], $datetime);
if ($logResult) {
//$data = array("isSuccess" => $result);
alert("데이터 저장 성공");
} else {
alert("로그 저장 실패");
}
} else {
alert("DB 업데이트 실패");
}
} else {
alert("잘못된 접근입니다");
}