Files
firstgarden-web-gnu/manager/adm/adm_member.modify.php

72 lines
2.8 KiB
PHP

<?php
include_once ('./_common.php');
if(!$_SESSION['user_id']) exit;
$idx = trim($_POST['idx']);
// 수정 전 데이터 불러오기
$orgdata = $log = sql_fetch("SELECT * FROM {$fg['member_table']} WHERE idx='{$idx}'");
// 권한이 상위 권한이거나 관리자인 경우에는 패스워드 일치여부와 관계없이 수정.
// 입력한 패스워드가 일치하는 경우에만 수정 진행한다.
// 본인 계정을 수정하는경우 패스워드 점검
if ( $_SESSION['user_id'] === $orgdata['user_id'] ) {
$user_pw = trim($_POST['user_pw']);
} else { // 본인 계정이 아닌 경우 $_POST['user_pw'] 값이 없으므로 기존값을 넣어줌
$user_pw = "";
}
if ( password_verify($user_pw, $orgdata['user_pw']) || $_SESSION['user_lv'] > $orgdata['user_lv'] || $_SESSION['user_lv'] == 4 ) {
if ( $_POST['user_pw_new'] ) { // 패스워드 변경이 있다면
$user_pw = password_hash(trim($_POST['user_pw_new']), PASSWORD_DEFAULT); // 바꿀 패스워드 암호화 처리
}
$user_id = trim($_POST['user_id']); // 로그인 ID
$tid = trim($_POST['tid']); // 부서 ID
$user_name = trim($_POST['user_name']); // 사용자이름
$user_lv = trim($_POST['user_lv']); // 권한
$used = trim($_POST['used']); // 사용여부
$memo = trim($_POST['memo']); // 메모
// 변수 값을 DB에 업데이트 하기위한 부분
$update = "UPDATE {$fg['member_table']} SET
user_id='{$user_id}',
tid='{$tid}',
user_name='{$user_name}',
user_lv='{$user_lv}',
used='{$used}',
memo='{$memo}'
";
if( $user_pw != "" ) $update .= ", user_pw='{$user_pw}'"; // 패스워드가 변경되는 경우에만 업데이트
$where = " WHERE idx='{$idx}'";
$query = $update.$where;
// 데이터 입력 쿼리
$result = sql_query($query);
}
// log 기록
$work = "사용자수정";
$w2 = "대상 ID : ".$log['user_id'];
if($log['user_id'] != $user_id) $w2 .= ', ID변경 : '.$log['user_id'].' -> '.$user_id;
if($log['user_pw'] != $user_pw) $w2 .= ', PW변경';
if($log['tid'] != $tid) $w2 .= ', 부서변경 : '.$log['tid'].' -> '.$tid;
if($log['user_lv'] != $user_lv) $w2 .= ', 권한변경 : '.$log['user_lv'].' -> '.$user_lv;
if($log['used'] != $used) {
$w2 .= ', ';
if( $log['used'] == 0 ) $w2 .= '활성화';
if( $log['used'] == 1 ) $w2 .= '비활성화';
}
if($log['user_lv'] != $user_lv) $w2 .= '권한변경 : '.$log['user_lv'].' -> '.$user_lv;
if($log['memo'] != $memo) $w2 .= ', 메모수정 : '.$log['memo'].' -> '.$memo;
$time = date("Y-m-d H:i:s");
$work_detail = $w2.", 처리자 : ".$_SESSION['user_name'];
log_update($work, $work_detail, $_SESSION['user_id'], $time);
$data = array("isSuccess" => $result);
header("Content-Type: application/json");
echo json_encode($data);