<?
//========================================
// dehead(config/function/lib) Include
//========================================
include $_SERVER['DOCUMENT_ROOT']."/front/include/dehead.php";
require_once PATH_LIB."PasswordHash.php"; // 암호화 클래스
require_once PATH_LIB."Valid.php"; // 유효성 검사 클래스
require PATH_LIB."naverLogin.php";
// require PATH_LIB."naverOAuth.php";

//========================================
// Class Connect
//========================================
$Db = new Db(); // 데이터 베이스 클래스
$valid = new Valid(); // 유효성 검사 클래스
$naver = new Naver(array(
    "CLIENT_ID" => NAVER_LOGIN_ID,        // (*필수)클라이언트 ID  
    "CLIENT_SECRET" => NAVER_LOGIN_SECRET,    // (*필수)클라이언트 시크릿
    "RETURN_URL" => NAVER_LOGIN_REDIRECT_URL,
    "AUTO_CLOSE" => true,              // 인증 완료후 팝업 자동으로 닫힘 여부 설정 (추가 정보 기재등 추가행동 필요시 false 설정 후 추가)
    "SHOW_LOGOUT" => false              // 인증 후에 네이버 로그아웃 버튼 표시/ 또는 표시안함
    )
);
$userInfo = json_decode($naver->getUserProfile('JSON'));
$infoArr = array(
    'result' => $userInfo->result->resultcode,
    'message' => $userInfo->result->message,
    'email' => $userInfo->response->email,
    'id' => current(explode("@", $userInfo->response->email)),
    'name' => (string)$userInfo->response->name
);

$del_query = "SELECT del FROM $TABLE_MEMBER WHERE id = '{$infoArr['id']}' ";
$del_row = $Db->row($del_query);

if($del_row['del'] == 'Y')
{
?>
<script type="text/javascript">
    alert('탈퇴한 회원입니다.');
	window.opener.document.getElementById('login_chk').value = 'false'; 
    window.close();
</script>
<?php
	exit;
}else{
?>
<script type="text/javascript">
	window.opener.document.getElementById('login_chk').value = 'true'; 
	window.close();
</script>
<?php
}

// $request = new OAuthRequest( NAVER_LOGIN_ID, NAVER_LOGIN_SECRET, NAVER_LOGIN_REDIRECT_URL );
// $request->call_accesstoken();
// $request->get_user_profile();

// $infoArr = array(
//     'result' => $request->get_resultcode(),
//     'message' => $request->get_message(),
//     'email' => $request->get_email(),
//     'id' => $request->get_userID(),
//     'name' => $request->get_name()
// );

if(!$infoArr['result'] || $infoArr['result'] == "024") {
    //========================================
    // Data Process
    //========================================
    $param = array_merge($param, array(
        'id' => $valid->String($mId, "아이디를 입력하세요.")
    ));

    //========================================
    // Query
    //========================================
    $date = $Db->row("SELECT DATE_FORMAT(mod_date, '%Y-%m-%d') AS mod_date, pwmodify FROM $TABLE_MEMBER WHERE id = :id", $param);

    if($date > 0){        
        //신규회원 및 비밀번호 변경한 기존 회원
        if($date['mod_date'] > "2015-12-15" && $date['pwmodify'] == "Y"){
            if($check = $Db->row("SELECT no, id, pw, name FROM $TABLE_MEMBER WHERE id = :id", $param)){
                if(validate_password(sha1($mPw).SALT, $check['pw'])){
                    $_SESSION['MEMBER_LOGIN_EXIST'] = true;
                    $_SESSION['MEMBER_NO'] = $check['no'];
                    $_SESSION['MEMBER_ID'] = $check['id'];
                    $_SESSION['MEMBER_NAME'] = $check['name'];
                } else {
                    AlertBack("로그인 정보를 확인하세요.");
                }
            } else {
                AlertBack("로그인 정보를 확인하세요.");
            }
            $Db->CloseConnection;
        } else {
            //비밀번호 미변경 기존회원
            if($check = $Db->row("SELECT no, id, pw, name FROM $TABLE_MEMBER WHERE id = :id AND pw = password(:pw)", array('id' => $param['id'], 'pw' => $mPw))){
                $_SESSION['MEMBER_LOGIN_EXIST'] = true;
                $_SESSION['MEMBER_NO'] = $check['no'];
                $_SESSION['MEMBER_ID'] = $check['id'];
                $_SESSION['MEMBER_NAME'] = $check['name'];
            } else {
                AlertBack("로그인 정보를 확인하세요.");
            }
            $Db->CloseConnection;
        }

        if($rurl){
            SilentMove($rurl);
        } else {
            SilentMove("/");
        }
    } else {
        AlertBack("로그인 정보를 확인하세요.");
    }
} else {
    if($infoArr['result'] == 00){
        //========================================
        // Data Process
        //========================================
        $param['id'] = $infoArr['id'];

        //========================================
        // Query
        //========================================
        $check = $Db->single("SELECT COUNT(*) FROM $TABLE_MEMBER WHERE id = :id", $param);

        $param = array_merge($param, array(
            'type' => PARAMETER_N,
            'name' => $infoArr['name'],
            'email' => $infoArr['email'],
            'mailing' => PARAMETER_Y,
            'sms' => PARAMETER_Y
        ));
        if($check == 0){
            $write = $Db->query("INSERT INTO $TABLE_MEMBER (type, id, name, email, mailing, sms, reg_date, mod_date) VALUES(:type, :id, :name, :email, :mailing, :sms, now(), now())", $param);
        }
        $_SESSION['MEMBER_LOGIN_EXIST'] = true;
        $_SESSION['MEMBER_ID'] = $param['id'];
        $_SESSION['MEMBER_NAME'] = $param['name'];
    }
    $logParam = array();
    $logParam = array_merge($logParam, array(
        'result' => $infoArr['result'],
        'message' => $infoArr['message'],
        'id' => $infoArr['id'],
        'name' => $infoArr['name'],
        'email' => $infoArr['email'],
        'ip' => $_SERVER['REMOTE_ADDR']
    ));

    // LOG 기록
    $log = $Db->query("INSERT INTO $TABLE_NAVERLOGINLOG (result, message, id, name, email, ip, reg_date) VALUES(:result, :message, :id, :name, :email, INET_ATON(:ip), now())", $logParam);
    $Db->CloseConnection;

    // LocationMove();
//	echo '<script>alert("'.$rurl.'");</script>';
/*
	if($rurl){
		SilentMove($rurl);
	}*/
//     if(!$rurl){
  //       ParentSilentMove("/");
    // } else {
      //   ParentSilentMove($rurl);
    // }
}
?>
<script>//alert('a:<?=$rurl?>');</script>
