L o a d i n g

파트너 전산 관리자

Category
개발
Customer
(주)빌리고
Date
2022
내용
기존 PHP5 버전대에 있는 관리자를 PHP7.X이상 버전에서도 사용가능하도록 새로 제작
                    # 파트너 전산 프로젝트
- 기존 PHP5 버전대에 있는 관리자를 PHP7.X이상 버전에서도 사용가능하도록 새로 제작

## 로그인
- PHP PDO, AJAX로 이용하여 로그인 체크 
- 쿠키로 자동로그인 기능 구현

## 접수현황
- 쿼리 개선 및 상조신청, 리스트, 페이징 구현
- GET 형식으로 검색 구현 
- 교원 라이프 코드만 출력되게끔 수정 작업
- 첨부파일 기능 구현 
- 마스터 권한은 모든 처리 상태 변경 가능하도록 구현 
- 엑셀 다운로드 기능
- 권한별 코멘트 기능 


## 접수현황
- API를 새로 만들어 파트너 홈페이지에서 빠른상담 입력시 해당 서버 데이터 저장 구현 
- 상태 변경 swal2.js를 통해 상태 변경 상태 쉽게 알아볼 수 있도록 구현
- API를 통한 데이터 저장시에 실제 신청한 URL 가져오도록 구현 
- 접수 버튼 클릭시에 db에 저장되어있는  데이터들 가져와서 자동으로 채워지도록 구현
- GET 형식으로 검색 구현


## 고객센터
- 왼쪽 연락처 데이터는 마스터 정보에서 가져오도록 구현 
- 공지사항 글쓰기 페이지 추가 파일첨부는 최대 5개 까지 가능하도록 구현 
- 공지사항 수정, 삭제 구현
- 이미지 파일의 경우 공지사항에 출력하도록 구현 

## 계정관리
- 최근 접속일자, 권한변경 로그 기능 구현
- 리스트 페이지에서 필요 데이터 출력 
- 계정 추가시 비밀번호는 복호화 불가능하도록 작업

## 정보수정
- 간단하게 비밀번호 변경 가능하도록 구현
                    ## 보내는 쪽 tall_skin.php 부분
var apply_goods = "<?=MT_URL.$_SERVER['REQUEST_URI']?>";
var botUsers = <?=js_array(unserialize($pt["telegram_ids"]))?>;
var author    = $("meta[name='author']").attr("content") ? $("meta[name='author']").attr("content") : "author check";
var message   = "★빠른상담★\n" + author + "\n\n" + objs["cust_name"] + "  " + objs["cust_tel"]+ "\n\n" + apply_goods;
                    
로그인 및 관리페이지

로그인 처리 PHP 부분

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 외부서버에 저장된 보안키 호출
// 양방향 : AES-128 적용
// 단방향 : SHA-256 적용 (로그인 암호)
// 키 변경주기 : 6개월
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function get_security_key($value) {

    $key = hex2bin("키값 비공개");
    $iv = hex2bin("키값 비공개");

    if($value == 2) return array($key,$iv);
    else            return $key;
}

function nDate($no) {
    if($no == 1) { $date=date("YmdHi",time()); return $date; }
    if($no == 2) { $date=date("YmdHis",time()); return $date; }
}

$object = new srms();
$userip = $_SERVER['REMOTE_ADDR'];
$date = nDate(2);

$autoLogin = $_POST["autoLogin"];
$admin_id = $_POST["admin_id"];

//비밀번호 암호화
$key = get_security_key(1);
$admin_pass = php_compat_hash_hmac('sha256', $_POST["admin_pass"], $key) ;


if($autoLogin == "Y") {
    SetCookie("a_cookie_id","$admin_id",time()+31536000,"/");
    SetCookie("a_cookie_pass","$admin_pass",time()+31536000,"/");
}
else {
    SetCookie("a_cookie_id","",time()-31536000,"/");
    setCookie("a_cookie_pass","",time()-31536000,"/");
}


if(isset($_POST["admin_id"]))
{
	$error = '';
	$url = '';
	$data = array(
		':admin_id'	=>	$_POST["admin_id"]
	);

    $object->query = "
        SELECT * FROM green_member 
		WHERE admin_id = :admin_id
	";

	$object->execute($data);
	$total_row = $object->row_count();
    if($total_row == 0)
    {
        $error = '해당 아이디가 존재 하지 않습니다.';
    }
    else
    {
        $result = $object->statement_result();
        foreach($result as $row)
        {
            if($admin_pass == $row["admin_en_pass"])
            {
                if($row['admin_status'] == "Y") {
                    //계정 Y
                    $_SESSION['AGENT_ID']      = $row['admin_id'];
                    $_SESSION['AGENT_NAME']    = $row['admin_name'];
                    $_SESSION['AGENT_GROUP']   = $row['admin_group'];
                    $_SESSION['AGENT_MASTER']   = $row['admin_master'];

                    //로그기록
                    $object->query = "INSERT INTO green_admin_log VALUES('', '$admin_id', '$userip', '$date')";
                    $object->execute();

                    //로그인실패 카운트 초기화 : 1
                    $object->query = "UPDATE green_member SET admin_login_fail_cnt = '1' WHERE admin_id = '$admin_id'";
                    $object->execute();


                    $url = $object->base_url . 'orderList.php';
                } else{
                    //계정 N
                    $error = '관리자에게 문의 하세요';
                }

            }
            else
            {
                //실패시 카운트1 증가
                $admin_login_fail_cnt = $row['admin_login_fail_cnt'] + 1;
                if($admin_login_fail_cnt >= 6) {
                    $object->query = "UPDATE green_member SET admin_login_fail_cnt = 6,  admin_status = 'N' WHERE admin_id = '$admin_id'";
                    $object->execute();
                    $error = '5회 이상 비밀번호가 일치하지 않아 계정이 정지 되었습니다. 관리자에게 문의 하세요';
                }else {
                    $object->query = "UPDATE green_member SET admin_login_fail_cnt = $admin_login_fail_cnt WHERE admin_id = '$admin_id'";
                    $object->execute();
                    $error = '비밀번호가 올바르지 않습니다.';
                }
            }
        }
    }

	$output = array(
		'error'		=>	$error,
		'url'		=>	$url
	);

	echo json_encode($output);
}
접수현황 페이지 처리

프로세서 일부 처리 과정 코드

// 렌탈사
$code3 = $rental;
// 고객명
$name = trim(addslashes($name));
// 생년월일
//$jumin = my_simple_crypt( $jumin, 'e' );
if (Null_Chk($jumin) == false) $en_base64_jumin = "";
else                          $en_base64_jumin = my_simple_crypt( $jumin, 'e' );
// 휴대폰
$hp1 = trim($orderPhone);
$hp_str = explode("-", $orderPhoneNum);
$hp2 = trim($hp_str[0]);
$hp3 = trim($hp_str[1]);
// 추가 연락처
$tel1 = trim($orderTel);
$tel_str = explode("-", $orderTelNum);
$tel2 = trim($tel_str[0]);
$tel3 = trim($tel_str[1]);
// 주소
$address1 = trim(addslashes($address1));
$address2 = trim(addslashes($address2));
// 비고사항
$content = addslashes($content);
// 날짜
$date = nDate(2);
// 아이피
$userip = $_SERVER['REMOTE_ADDR'];
// 진행상태 - 접수요청
$status = "008";
// 그룹 넘버생성
$max_gno = time() . rand(100000, 999999);
$code6 = "001";


//파일 체크
$agent_attach_upload_url = null;
if ($_FILES['attachment_file'] && $_FILES['attachment_file']['size'] > 0) {
    $max_upload_size = 20; //MB
    $allowed = array("zip");
    $filename = $_FILES['attachment_file']['name'];
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    $icon = "";

    if ($max_upload_size * 1048576 < $_FILES['attachment_file']['size'] || !in_array($ext, $allowed)) {
        $msg = "업로드 실패";
        $icon = "error";
        $msg_sub = "파일첨부는 압축파일(zip)만 첨부가능합니다. (최대 20MB)";
        echo "<script>alert('파일첨부는 압축파일(zip)만 첨부가능합니다. (최대 20MB)'); history.back();</script>";
        exit;
    }
}


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 파일 업로드
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'fileUpload') {
    if(isset($_FILES['attachment_file']))
    {
        if (!empty($_POST["order_id"])) {$order_id = $_POST["order_id"];}
        if (!empty($_POST["order_group_id"])) {$order_group_id = $_POST["order_group_id"];}

        if ($icon != "error") {
            //실제 파일 업로드
            $extension = pathinfo($_FILES['attachment_file']['name'], PATHINFO_EXTENSION);
            $new_name = time() . '.' . $extension;
            move_uploaded_file($_FILES['attachment_file']['tmp_name'], 'upload/agent/' . $new_name);
            $savefile = 'upload/agent/' . $new_name;

            //DB에 경로 저장
            $object->query = "
            INSERT INTO green_order_gigan_files SET
                order_id = '$order_id'
                ,order_group_id = '$order_group_id'
                ,type = 'ZIP'
                ,file_url = '" . $savefile . "'
                ,date = '$date'
    
            ";;
            $object->execute();

            $msg = "업로드 성공";
            $icon = "success";
            $msg_sub = "파일이 업로드 되었습니다";
        }

        $output = array(
            'msg'		=>	$msg,
            'icon'		=>	$icon,
            'msg_sub'		=>	$msg_sub
        );

        echo json_encode($output);
        exit;
    }

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 파일 삭제
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'removeFile') {
    $object->query = "SELECT * FROM green_order_gigan_files where no = {$id} ";
    $fileSelect = $object->get_result();

    foreach ($fileSelect as $row) {
        $file_url = $row['file_url'];
    }

    if (!empty($file_url) || file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$file_url)) {
        $object->query = "DELETE FROM green_order_gigan_files where no = {$id} ";
        $object->execute();
        @unlink($_SERVER['DOCUMENT_ROOT'].'/'.$file_url);
    }
    $data = array(

    );

    echo json_encode($data);
    exit;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 문서 삭제
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'customerDelete') {

    //첨부파일 존재 검색
    $object->query = "SELECT * FROM green_notice_agent WHERE  bbs_no = {$id} ";
    $fileSelect = $object->get_result();

    foreach ($fileSelect as $row) {
        $del_file1 = $row['bbs_file1_micro'];
        $del_file2 = $row['bbs_file2_micro'];
        $del_file3 = $row['bbs_file3_micro'];
        $del_file4 = $row['bbs_file4_micro'];
        $del_file5 = $row['bbs_file5_micro'];
    }
    //파일 삭제
    if(!empty($del_file1)){@unlink($_SERVER['DOCUMENT_ROOT'].'/upload/notice_agent/'.$del_file1);}
    if(!empty($del_file2)){@unlink($_SERVER['DOCUMENT_ROOT'].'/upload/notice_agent/'.$del_file2);}
    if(!empty($del_file3)){@unlink($_SERVER['DOCUMENT_ROOT'].'/upload/notice_agent/'.$del_file3);}
    if(!empty($del_file4)){@unlink($_SERVER['DOCUMENT_ROOT'].'/upload/notice_agent/'.$del_file4);}
    if(!empty($del_file5)){@unlink($_SERVER['DOCUMENT_ROOT'].'/upload/notice_agent/'.$del_file5);}


    $object->query = "DELETE FROM green_notice_agent where bbs_no = {$id} ";
    $object->execute();

    $msg = "ok";

    $data = array(
        'status'		=>	$msg,
    );

    echo json_encode($data);
    exit;
}

if ($mode == 'customerModDelete') {
    //첨부파일 존재 검색
    $object->query = "SELECT * FROM green_notice_agent WHERE  bbs_no = {$id} ";
    $fileSelect = $object->get_result();

    foreach ($fileSelect as $row) {
        $del_file1 = $row['bbs_file1_micro'];
        $del_file2 = $row['bbs_file2_micro'];
        $del_file3 = $row['bbs_file3_micro'];
        $del_file4 = $row['bbs_file4_micro'];
        $del_file5 = $row['bbs_file5_micro'];
    }

    foreach ($fileSelect as $row) {
        $del_file1 = $row['bbs_file1_micro'];
        $del_file2 = $row['bbs_file2_micro'];
        $del_file3 = $row['bbs_file3_micro'];
        $del_file4 = $row['bbs_file4_micro'];
        $del_file5 = $row['bbs_file5_micro'];
    }
    //파일 삭제
    if($id == "bbs_file1") {
        if (!empty($del_file1)) {
            @unlink($_SERVER['DOCUMENT_ROOT'] . '/upload/notice_agent/' . $del_file1);
        }
    }
    //파일 삭제
    if($id == "bbs_file2") {
        if (!empty($del_file2)) {
            @unlink($_SERVER['DOCUMENT_ROOT'] . '/upload/notice_agent/' . $del_file2);
        }
    }
    //파일 삭제
    if($id == "bbs_file3") {
        if (!empty($del_file3)) {
            @unlink($_SERVER['DOCUMENT_ROOT'] . '/upload/notice_agent/' . $del_file3);
        }
    }
    //파일 삭제
    if($id == "bbs_file4") {
        if (!empty($del_file4)) {
            @unlink($_SERVER['DOCUMENT_ROOT'] . '/upload/notice_agent/' . $del_file4);
        }
    }
    //파일 삭제
    if($id == "bbs_file5") {
        if (!empty($del_file5)) {
            @unlink($_SERVER['DOCUMENT_ROOT'] . '/upload/notice_agent/' . $del_file5);
        }
    }

    $object->query = "UPDATE green_notice_agent SET {$id} = '' and {$id}_micro = '' and  {$id}_size = '' WHERE  bbs_no={$bbs_no} ";
    $object->execute();

    $msg = "ok";

    $data = array(
        'status'		=>	$msg,
    );

    echo json_encode($data);
    //echo "<script>opener.location.href='customer.php'; self.close();</script>";
    exit;
}

if ($mode == 'notice_update') {

    $object->query = "SELECT * FROM green_member WHERE admin_id = '".$_SESSION['AGENT_ID']."'";
    $result = $object->get_result();
    foreach($result as $row){
        //비밀번호는 일단 임시로 입력
        $admin_pass = $row['admin_en_pass'];
    }

    //비밀번호 암호화
    if (Null_Chk($_POST['bbs_pass']) == false) $bbs_pass = "";
    else                          $bbs_pass = my_simple_crypt( $_POST['bbs_pass'], 'e' );

    $z = 1;
    for($i=0; $i<=4; $i=$i+1){
        $file_name = "";
        $filesize = "";
        $new_name = "";
        $extension = "";
        $save_filetmp = "";
        $file_tmpname = "";

        $fileAttach = "attachment_file".$i;
        $bbs_fileSelect = "bbs_file".$z;

        if(isset($_FILES[$fileAttach]))
        {
            if(!empty($_FILES[$fileAttach]['size'])){$filesize = $_FILES[$fileAttach]['size'];}
            if(!empty($_FILES[$fileAttach]['name'])){$file_name = $_FILES[$fileAttach]['name'];}
            if(!empty($_FILES[$fileAttach]['tmp_name'])){$file_tmpname = $_FILES[$fileAttach]['tmp_name'];}
            $extension = pathinfo($_FILES[$fileAttach]['name'], PATHINFO_EXTENSION);
            $new_name = time() . '.' . $extension;
            move_uploaded_file($_FILES[$fileAttach]['tmp_name'], 'upload/notice_agent/' . $file_name);
            $save_filetmp = $new_name;
            $savefile_url[$i] = $file_name;
            $savefile_size[$i] = $filesize;
            $savefile_nane[$i] = $file_name;


            //공지사항 첨부파일 업데이트
            $object->query = "
            UPDATE green_notice_agent SET                 
            {$bbs_fileSelect} = '$savefile_url[$i]'
            ,{$bbs_fileSelect}_size = '$savefile_size[$i]'
            ,{$bbs_fileSelect}_micro = '$savefile_nane[$i]'
            WHERE  bbs_no='{$bbs_no}' ";
            $object->execute();

        }
        $z++;
    }
    //exit;



    //공지사항 내용업데이트
    $object->query = "
        UPDATE green_notice_agent SET
            bbs_name = '$_POST[bbs_name]'
            ,bbs_subject = '$_POST[bbs_subject]'
            ,bbs_content = '$_POST[bbs_content]'
            ,bbs_notice = '$_POST[bbs_notice]'        
            WHERE  bbs_no='{$bbs_no}' ";
    $object->execute();

    echo "<script>alert('정상적으로 수정되었습니다'); opener.location.href='customer.php'; self.close();</script>";
    exit;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 글쓰기
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'write') {

    foreach ($product as $key => $value) {
        if (in_array($_SESSION['AGENT_ID'], array("vuumtech1", "vuumtech2"))) {
            $code3 = "006";
            $code4 = "001";
            $code5 = "039";
            $code6 = (empty($gigan)) ? "002" : $gigan;
            $status = "001";

            array_push($alimTalk, array(
                "name" => $name,
                "receiveNo" => $hp1 . $hp2 . $hp3
            ));
        } else {
            $code4 = "001";
            $code5 = $value;
            $code6 = $gigan[$key];
        }
        // 상품등록
        $object->query = "
        INSERT INTO green_order_gigan SET
             gno = '$max_gno'
            ,code1 = '01'
            ,code2 = '026'
            ,code3 = '$code3'
            ,code4 = '$code4'
            ,code5 = '$code5'
            ,code6 = '$code6'
            ,name = '$name'
            ,jumin = '$en_base64_jumin'
            ,hp1 = '$hp1'
            ,hp2 = '$hp2'
            ,hp3 = '$hp3'
            ,tel1 = '$tel1'
            ,tel2 = '$tel2'
            ,tel3 = '$tel3'
            ,address1 = '$address1'
            ,address2 = '$address2'
            ,content = '$content'
            ,susuryo = '0'
            ,gift_money_status = '0'
            ,status = '$status'
            ,jungsan_status = '001'
			,partner = '000'
            ,group_id = '001'
            ,write_id = '$_SESSION[AGENT_ID]'
            ,userip = '$userip'
            ,date = '$date'

    ";

        $object->execute();

    }

    //렌탈 신청 팝업에서 첨부파일 선택시
    if(!empty($_FILES['attachment_file']['name']))
    {
        //위에 insert 된 no 구하기
        $object->query = "SELECT * FROM green_order_gigan where gno = {$max_gno} and name = '{$name}' ";
        $fileSelect = $object->get_result();
        foreach ($fileSelect as $row) {
            $order_id = $row['no'];
        }

        $extension = pathinfo($_FILES['attachment_file']['name'], PATHINFO_EXTENSION);
        $new_name = time() . '.' . $extension;
        move_uploaded_file($_FILES['attachment_file']['tmp_name'], 'upload/agent/' . $new_name);
        $savefile = 'upload/agent/' . $new_name;

        $object->query = "
        INSERT INTO green_order_gigan_files SET
            order_id = '$order_id'
            ,order_group_id = '$max_gno'
            ,type = 'ZIP'
            ,file_url = '" . $savefile . "'
            ,date = '$date'

        ";;
        $object->execute();
    }

    echo "<script>alert('정상적으로 신청되었습니다');  opener.location.href='orderList.php'; self.close();</script>";
    exit;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  공지사항 글쓰기
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'notice_write') {

    $object->query = "SELECT * FROM green_member WHERE admin_id = '".$_SESSION['AGENT_ID']."'";
    $result = $object->get_result();
    foreach($result as $row){
        //비밀번호는 일단 임시로 입력
        $admin_pass = $row['admin_en_pass'];
    }

    //var_dump($_FILES['attachment_file1']);
    //exit;
    for($i=0; $i<=4; $i=$i+1){
        $file_name = "";
        $filesize = "";
        $new_name = "";
        $extension = "";
        $save_filetmp = "";
        $file_tmpname = "";

        $fileAttach = "attachment_file".$i;
        if(isset($_FILES[$fileAttach]))
        {
            if(!empty($_FILES[$fileAttach]['size'])){$filesize = $_FILES[$fileAttach]['size'];}
            if(!empty($_FILES[$fileAttach]['name'])){$file_name = $_FILES[$fileAttach]['name'];}
            if(!empty($_FILES[$fileAttach]['tmp_name'])){$file_tmpname = $_FILES[$fileAttach]['tmp_name'];}
            $extension = pathinfo($_FILES[$fileAttach]['name'], PATHINFO_EXTENSION);
            $new_name = time() . '.' . $extension;
            move_uploaded_file($_FILES[$fileAttach]['tmp_name'], 'upload/notice_agent/' . $file_name);
            $save_filetmp = $new_name;
            $savefile_url[$i] = $file_name;
            $savefile_size[$i] = $filesize;
            $savefile_nane[$i] = $file_name;
        }
    }


    //비밀번호 암호화
    if (Null_Chk($_POST['bbs_pass']) == false) $bbs_pass = "";
    else                          $bbs_pass = my_simple_crypt( $_POST['bbs_pass'], 'e' );


    //공지사항 인서트
    $object->query = "
        INSERT INTO green_notice_agent SET
            bbs_thread = 'A'
            ,bbs_name = '$_POST[bbs_name]'
            ,bbs_subject = '$_POST[bbs_subject]'
            ,bbs_content = '$_POST[bbs_content]'
            ,bbs_pass = '$admin_pass'
            ,bbs_owner = '$admin_pass'
            ,bbs_notice = '$_POST[bbs_notice]'
            ,bbs_adminid = '$_SESSION[bbs_adminid]'
            ,bbs_file1 = '$savefile_url[0]'
            ,bbs_file1_size = '$savefile_size[0]'
            ,bbs_file1_micro = '$savefile_nane[0]'
            ,bbs_file2 = '$savefile_url[1]'
            ,bbs_file2_size = '$savefile_size[1]'
            ,bbs_file2_micro = '$savefile_nane[1]'
            ,bbs_file3 = '$savefile_url[2]'
            ,bbs_file3_size = '$savefile_size[2]'
            ,bbs_file3_micro = '$savefile_nane[2]'
            ,bbs_file4 = '$savefile_url[3]'
            ,bbs_file4_size = '$savefile_size[3]'
            ,bbs_file4_micro = '$savefile_nane[3]'
            ,bbs_file5 = '$savefile_url[4]'
            ,bbs_file5_size = '$savefile_size[4]'
            ,bbs_file5_micro = '$savefile_nane[4]'
            ,bbs_ip = '$userip'
            ,bbs_date = '$date'

    ";;
    $object->execute();

    echo "<script>alert('정상적으로 추가되었습니다'); opener.location.href='customer.php'; self.close();</script>";
    exit;
}



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  회원추가
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'memberWrite') {

    $key = get_security_key(1);
    $admin_en_pass = php_compat_hash_hmac('sha256', $_POST["admin_pass"], $key) ;

    //공지사항 인서트
    $object->query = "
        INSERT INTO green_member SET
            admin_group = '$_POST[admin_group]'
            ,admin_company = '$_POST[admin_company]'
            ,admin_company_name = '$_POST[admin_name]]'
            ,admin_name = '$_POST[admin_name]'
            ,admin_id = '$_POST[admin_id]'
            ,admin_email = '$_POST[admin_email]'
            ,admin_en_pass = '$admin_en_pass'
            ,admin_hp = '$_POST[admin_hp]'
            ,admin_telegram_id = '$_POST[admin_telegram_id]'
            ,admin_level = '$_POST[admin_level]'
            ,admin_status = '$_POST[admin_status]'
            ,admin_login_fail_cnt = '0'
            ,admin_pass_modify_date = '$_POST[admin_join]'
            ,admin_sort = '0'
            ,admin_join = '$_POST[admin_join]'
            ,admin_memo = '$_POST[admin_memo]'

    ";;
    $object->execute();

    echo "<script>alert('정상적으로 추가되었습니다'); opener.location.href='memberList.php'; self.close();</script>";
    exit;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  회원수정
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($mode == 'memberMod') {

    //비밀번호 암호화
    if(empty($_POST["admin_pass"])){
        $object->query = "
        UPDATE green_member SET
            admin_group = '$_POST[admin_group]'
            ,admin_company = '$_POST[admin_company]'
            ,admin_company_name = '$_POST[admin_name]'
            ,admin_name = '$_POST[admin_name]'
            ,admin_id = '$_POST[admin_id]'
            ,admin_email = '$_POST[admin_email]'                  
            ,admin_hp = '$_POST[admin_hp]'
            ,admin_level = '$_POST[admin_level]'
            ,admin_status = '$_POST[admin_status]'
            ,admin_memo = '$_POST[admin_memo]'
            ,admin_pass_modify_date = '$_POST[admin_join]'
            WHERE  admin_no='{$admin_no}' ";
    } else {
        $key = get_security_key(1);
        $admin_en_pass = php_compat_hash_hmac('sha256', $_POST["admin_pass"], $key);

        $object->query = "
        UPDATE green_member SET
            admin_group = '$_POST[admin_group]'
            ,admin_company = '$_POST[admin_company]'
            ,admin_company_name = '$_POST[admin_name]'
            ,admin_name = '$_POST[admin_name]'
            ,admin_id = '$_POST[admin_id]'
            ,admin_email = '$_POST[admin_email]'
            ,admin_en_pass = '$admin_en_pass'
            ,admin_hp = '$_POST[admin_hp]'
            ,admin_level = '$_POST[admin_level]'
            ,admin_status = '$_POST[admin_status]'
            ,admin_memo = '$_POST[admin_memo]'
            ,admin_pass_modify_date = '$_POST[admin_join]'
            WHERE  admin_no='{$admin_no}' ";
    }
    $object->execute();

    $object->query = "
            INSERT INTO
              green_member_log
            VALUES(
              '',
              '$_SESSION[AGENT_ID]',
              '$_POST[admin_id]',
              '$_POST[admin_level]',
              '$_POST[admin_status]',
              '$date'
            )";
    $object->execute();

    echo "<script>alert('정상적으로 수정되었습니다');  opener.location.href='memberList.php'; self.close();</script>";
    exit;
}


<div class="inquiry_bar animated bounceInUp">
    <div class="call">
        <i class="ico phone"></i>
        <h3>쉽고, 빠른 상조 상담</h3>
        <p class="ff_Cabin">1566-0702</p>
    </div>
    <div class="form">
        <form name="easyCallFrm" id="easyCallFrm" method="post">
            <input type="hidden" name="site" value="http://kyowon-life.com/">
            <div class="inputType_1">
                <input type="text" name="cust_name" id="cust_name" title="이름" placeholder="이름">
            </div>
            <div class="inputType_1 tel">
                <input type="text" name="cust_tel" id="cust_tel" class="phoneNumber" title="연락처" placeholder="연락처 (-없이)" maxlength="14">
            </div>
            <div class="checksType_1 checks on">
                <input type="checkbox" id="chk_agree" name="chk_agree" checked="checked">
                <label for="chk_agree">
                    <p><em class="btn_agree">개인정보 수집·이용</em>에<br>동의합니다.</p>
                </label>
                <div class="agree_info box rnd20 animated fadeInDownShort" style="display: none;">
                    <h3 class="ff_NSR">개인정보 수집·이용 동의</h3>
                    <p>교원라이프의 가입상품 신청을 받기 위해 개인정보를 수집/이용하는 것에 동의 합니다.</p>
                    <ol>
                        <li><span class="num">1.</span>수집항목 : 이름, 연락처</li>
                        <li><span class="num">2.</span>수집 및 이용목적 : 교원라이프 상품 가입 상담을 위한 정보 제공</li>
                        <li><span class="num">3.</span>보유 및 이용기간 : 이용목적이 달성된 후 지체없이 파기</li>
                    </ol>
                </div>
            </div>
            <button type="button" class="btn teal h50 arr_rt" onclick="customerRequests(this);"><span>신청하기</span></button>
        </form>
    </div>
</div>


// Customer Requests
function customerRequests(obj) {

    var f = document.easyCallFrm;
    if(!f.cust_name.value) {
        alert('이름을 입력해 주세요');
        f.cust_name.focus();
        return false;
    }
    if(!f.cust_tel.value) {
        alert('연락처를 입력해 주세요');
        f.cust_tel.focus();
        return false;
    }
    /* 연락처 유효성 검사 강화 */
    if (!isValidPhoneNumber(f.cust_tel.value)) {
        f.cust_tel.focus();
        return false;
    }
    if(f.chk_agree.checked == false) {
        alert('[개인정보 수집동의] 체크를 해주셔야 상담신청이 가능합니다.');
        f.chk_agree.focus();
        return false;
    }

    $(obj).attr("onclick", "");
    $(obj).find("span").html("신청중 입니다.");

    var Parameters      = $(obj.form).serialize();
    var ResponseData    = "";

    //Ajax call
    var AjaxUrl         = "//younghun.xyz/dev/partner_admin/api/request_quick.php";
    var AjaxParameter   = Parameters;
    var AjaxType        = "POST";
    var AjaxDataType    = "JSON";
    var AjaxAsync       = true;
    var AjaxError       = "";
    var AjaxComplete    = "";
    var AjaxGlobal      = true;
    var AjaxSuccess     = function(data) {

        if(data.status === true) {
            try {
                gtag('event', 'counseling');
            }catch (e) {
                console.log(e);
            }
            alert("정상적으로 신청 되었습니다.\n빠르게 연락드리도록 하겠습니다.");
            location.reload();
        }
        //ResponseData = data;
    };

    AjaxLoad(AjaxUrl, AjaxParameter, AjaxType, AjaxDataType, AjaxAsync, AjaxSuccess, AjaxError, AjaxComplete, AjaxGlobal);

    return ResponseData ? ResponseData : "";
}


function onlyNumber(str,field) {
    if(isNaN(str)) {
        //alert('숫자만 입력해 주세요');
        field.value = "";
        field.focus();
        return false;
    }
}