106 lines
4.1 KiB
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("잘못된 접근입니다");
|
|
} |