<?
include_once("./_common.php");
include_once("$g4[path]/lib/mailer.lib.php");

/*
ziumsoft. 회원정보 관리
*/

//-- 비밀번호 분실 질문, 아이디 반환 ---ajax로 호출 됨 --------------------------------------------
if($mode == "findidnpswdq") {
	$rd		= sql_fetch("select mb_id, mb_password_q, mb_password_a from $g4[member_table] where mb_id='$mb_id' and mb_name='$mb_name' and mb_nick='$mb_nick' and mb_email='$mb_email'");
	if($rd[mb_id])	$msg	= "<span style='color:#008000'>$rd[mb_password_q]</span>";
	else			$msg	= "<span style='color:#ff0000'>(입력하신 정보가 맞는지 다시 확인 해 주세요.)</span>";

	echo $msg;
	exit;
}




//.. 친구 그룹 변경 ...............................................................................
if($mode == "friendgroup") {
	sql_query("update $zmb[table_friend] set db_group='$in_group' where db_recno='$recno'");

	zm_gourl("./profile.php?mb_id=$member[mb_id]&pcode=adm");
	exit;
}

//.. 친구 관계 해지 ...............................................................................
if($mode == "frienddrop") {
	sql_query("delete from $zmb[table_friend] where db_recno='$no'");

	zm_gourl("./profile.php?mb_id=$member[mb_id]&pcode=adm");
	exit;
}


//.. 친구 신청하기 ................................................................................
if($mode == "friendrequest"){
	$mb		= get_member("$in_friend_id");
	if(!$mb[mb_id])	alert("$in_friend_id"."은(는) 친구 신청 할 수 없는 회원입니다.");
	if($in_friend_id == $member[mb_id]) alert("본인을 친구로 등록 할 수 없습니다.");

	//-- 이미 친구 관계인지 체크
	$rd		= sql_fetch("select db_id, db_state from $zmb[table_friend] where db_friend_id='$in_friend_id'");
	if($rd[db_state] == "1")	alert("친구 신청 중인 회원 입니다.");
	elseif($rd[db_state] == "2")alert("이미 친구 관계입니다.");

	//-- 친구 신청 저장
	$now		= date("Y-m-d H:i:s", $g4[server_time]);
	sql_query("insert into $zmb[table_friend] set db_id='$member[mb_id]', db_friend_id='$in_friend_id', db_datetime='$now', db_state='1'");
	//-- 친구 신청 정보  레코드 번호
	$rs			= sql_fetch("select db_recno, db_id from $zmb[table_friend] where db_id='$member[mb_id]' and db_friend_id='$in_friend_id' and db_state='1'");
	$nc			= $rs[db_recno] * 1004;

	//-- 쪽지로 보낼 문장 생성
	$fid		= md5($in_friend_id . $member[mb_id]);
	$cd			= base64_encode($fid);
	if($in_friend_memo) $memo = "Memo : $in_friend_memo";
	$friend_url	= $g4[url]."/".$g4[bbs]."/zm.userinfo_update.php?nc=".$nc."&cd=".$cd;
	$frndmsg	= $member[mb_nick]."님으로 부터 친구 신청이 도착 했습니다.\n아래 주소를 클릭 하시면 친구 신청을 수락 하게 됩니다.".
				"\n\n$friend_url"."\n\n$memo";

	//-- 쪽지 보내기
	zm_sendmemo($member[mb_id], $in_friend_id, $frndmsg, "2");
	
	alert("친구 신청을 완료 했습니다. ", "./profile.php?pcode=adm&mb_id=$member[mb_id]");
	exit;
}

//.. 친구 승락 하기 ...............................................................................
if(strlen($cd)) {
	$recno		= $nc / 1004;
	$frd		= sql_fetch("select * from $zmb[table_friend] where db_recno='$recno' and db_friend_id='$member[mb_id]'");

	$fid		= md5($member[mb_id].$frd[db_id]);
	$cd2		= base64_encode($fid);
	if($cd != $cd2) alert("친구 승인을 위한 정보가 충분하지 않습니다.", "./profile.php?mb_id=$member[mb_id]");

	//-- 각각 서로를 친구로 등록
	$now		= date("Y-m-d H:i:s", $g4[server_time]);
	sql_query("update $zmb[table_friend] set db_state='2', db_datetime='$now' where db_id='$frd[db_id]' and db_friend_id='$member[mb_id]'");	//-- 친구요청 했던 레코드
	sql_query("insert into $zmb[table_friend] set db_id='$member[mb_id]', db_friend_id='$frd[db_id]', db_datetime='$now', db_state='2'");		//-- 내 레코드

	zm_artmsg("친구 요청을 승인 했습니다.");
	echo "<script>window.close();</script>";
	exit;
}

//.. 미니 프로필 공개 설정 ........................................................................
if($mode == "openlevel") {
	$openlevel		= $openlevel . "/" . $opencondition;

	//-- $opencondition이 3(비공개)면 회원정보의 mb_open 값도 수정
	if($opencondition == "3")	sql_query("update $g4[member_table] set mb_open='0' where mb_id='$member[mb_id]'");
	else						sql_query("update $g4[member_table] set mb_open='1' where mb_id='$member[mb_id]'");

	sql_query("update $zmb[table_member] set db_profile_open_level='$openlevel' where db_id='$member[mb_id]'");

	alert("공개 설정을 적용 했습니다.", "./profile.php?pcode=adm&mb_id=$member[mb_id]");
	exit;
}

//.................................................................................................




//-- 프로필. 한줄메모 쓰기 ------------------------------------------------------------------------
if($mode == "lineword_write") {
	//-- 태그 제거
	$in_memo	= strip_tags($in_memo);

	$in_datetime	= date("Y-m-d H:i:s", $g4[server_time]);
	sql_query("insert into $zmb[table_lineword] set db_id='$in_id', db_write_id='$member[mb_id]', db_memo='$in_memo', db_datetime='$in_datetime'");
	zm_gourl("./profile.php?mb_id=$in_id");
	exit;
}
//-- 프로필. 한줄메모 삭제 ------------------------------------------------------------------------
if($mode == "lineword_del") {
	$writer		= sql_fetch("select * from $zmb[table_lineword] where db_recno='$recno'");
	$tmp_mem	= get_member("$in_id");
	if(($tmp_mem[mb_id] == $member[mb_id]) || ($writer[db_write_id] == $member[mb_id])) {		//-- 글쓴이와 프로필 주인이 같은 사람.
		sql_query("delete from $zmb[table_lineword] where db_recno='$recno'");
	}
	zm_gourl("./profile.php?mb_id=$in_id");
	exit;
}
//-- 프로필. 사진 올리기 --------------------------------------------------------------------------
if($mode == "pic_upload") {
	if(!$picno) alert("사진 번호가 넘어오지 않았습니다.");

	if($_FILES["in_file"]["name"]) {
		$pinfo		= sql_fetch("select * from $zmb[table_member_pic] where db_id='$member[mb_id]' and db_picno='$picno'");

		//-- 이미 등록 된 사진이 있으면 삭제
		$picpath	= $g4[path] . "/data/zm.exp/profile";					//-- 사진이 저장 되는 경로
		$filepic	= $picpath . "/" . $pinfo[db_dir] . "/" . $pinfo[db_filename];
		$thumbpic	= $picpath . "/" . $pinfo[db_dir] . "/thumb/" . $pinfo[db_filename];
		@unlink($filepic);													//-- 이미 사진이 있다면 삭제
		@unlink($thumbpic);													//-- 썸네일 사진이 있다면 삭제

		$subpath			= ($pinfo[db_dir]) ? $pinfo[db_dir] : date("ym");
		$uploadprofilepath	= $picpath . "/" . $subpath;
		if(!file_exists($uploadprofilepath)) {
			//-- 경로가 없으면 생성
			zm_mkdir($uploadprofilepath);
		}

		//-- zm_imgupload(이미지 이름, 서버 임시 파일, 업로드 경로, #워터마크 이미지, #워터마크 위치, #워터마크 투명도, #썸네일 크기, #이미지 제한 폭
		$res	= zm_imgupload($_FILES['in_file']['name'], $_FILES['in_file']['tmp_name'], "$uploadprofilepath", "", "", "", "110x110", "600");
		if($res[result]) {
			$now		= date("Y-m-d H:i:s", $g4[server_time]);
			if($pinfo[db_recno])
				sql_query("update $zmb[table_member_pic] set db_dir='$subpath', db_datetime='$now', db_filename='$res[savename]' where db_id='$member[mb_id]' and db_picno='$picno'");
			else
				sql_query("insert into $zmb[table_member_pic] set db_id='$member[mb_id]', db_picno='$picno', db_dir='$subpath', db_filename='$res[savename]', db_datetime='$now'");
		}
	}else{
		alert_close("사진 정보가 없습니다.");
	}

	echo "
	<script language='javascript'>
	alert('사진 업로드를 마쳤습니다.\\n\\n프로필 사진이 보이지 않으면 페이지를 새로고침[F5] 하시면 새 이미지를 볼 수 있습니다.');
	opener.document.location.reload();
	window.close();
	</script>
	";
	exit;
}

//-- 프로필. 미니 앨범 사진 삭제 ------------------------------------------------------------------
if($mode == "pic_delete") {
	if(!$picno) alert("사진 번호가 없습니다.");

	$pinfo		= sql_fetch("select * from $zmb[table_member_pic] where db_id='$member[mb_id]' and db_picno='$picno'");
	$filepath	= $g4[path]."/data/zm.exp/profile/" . $pinfo[db_dir] . "/" . $pinfo[db_filename];
	$thumbpath	= $g4[path]."/data/zm.exp/profile/" . $pinfo[db_dir] . "/thumb/" . $pinfo[db_filename];
	@unlink($filepath);
	@unlink($thumbpath);

	sql_query("delete from $zmb[table_member_pic] where db_id='$member[mb_id]' and db_picno='$picno'");

	zm_gourl("./profile.php?mb_id=$member[mb_id]");
	exit;
}

//-- 프로필. 배경 이미지 업로드 -------------------------------------------------------------------
if($mode == "bgimageupload"){
	//-- 삭제
	if($in_bgdel == "1") {
		$pinfo	= sql_fetch("select * from $zmb[table_member_pic] where db_id='$member[mb_id]' and db_picno='0'");

		//-- 이미 등록 된 사진이 있으면 삭제
		$picpath	= $g4[path] . "/data/zm.exp/profile";					//-- 사진이 저장 되는 경로
		$filepic	= $picpath . "/" . $pinfo[db_dir] . "/" . $pinfo[db_filename];
		$thumbpic	= $picpath . "/" . $pinfo[db_dir] . "/thumb/" . $pinfo[db_filename];
		@unlink($filepic);													//-- 이미 사진이 있다면 삭제
		@unlink($thumbpic);													//-- 썸네일 사진이 있다면 삭제
		sql_query("delete from $zmb[table_member_pic] where db_id='$member[mb_id]' and db_picno='0'");

		zm_artmsg("배경 이미지를 삭제 했습니다.");
	}else{
		if($_FILES["in_bg_file"]["name"]) {
			$fileinfo	= @getimagesize($_FILES['in_bg_file']['tmp_name']);
			$filetype	= strtolower($fileinfo[mime]);
			if($filetype != "image/gif" && $filetype != "image/jpg" && $filetype != "image/jpeg" && $filetype != "image/png") {
				alert("이미지 파일만 가능 합니다.");
			}

			$pinfo	= sql_fetch("select * from $zmb[table_member_pic] where db_id='$member[mb_id]' and db_picno='0'");

			//-- 이미 등록 된 사진이 있으면 삭제
			$picpath	= $g4[path] . "/data/zm.exp/profile";					//-- 사진이 저장 되는 경로
			$filepic	= $picpath . "/" . $pinfo[db_dir] . "/" . $pinfo[db_filename];
			$thumbpic	= $picpath . "/" . $pinfo[db_dir] . "/thumb/" . $pinfo[db_filename];
			@unlink($filepic);													//-- 이미 사진이 있다면 삭제
			@unlink($thumbpic);													//-- 썸네일 사진이 있다면 삭제

			$subpath	= ($pinfo[db_dir]) ? $pinfo[db_dir] : date("ym");
			$uploadprofilepath	= $picpath . "/" . $subpath;
			if(!file_exists($uploadprofilepath)) {
				@mkdir($uploadprofilepath);										//-- 경로가 없으면 생성
				@chmod($uploadprofilepath, 0707);
			}

			//-- zm_imgupload(이미지 이름, 서버 임시 파일, 업로드 경로, #워터마크 이미지, #워터마크 위치, #워터마크 투명도, #썸네일 크기, #이미지 제한 폭
			$res	= zm_imgupload($_FILES['in_bg_file']['name'], $_FILES['in_bg_file']['tmp_name'], "$uploadprofilepath", "", "", "", "", "900");
			if($res[result]) {
				$now		= date("Y-m-d H:i:s", $g4[server_time]);
				if($pinfo[db_recno])
					sql_query("update $zmb[table_member_pic] set db_dir='$subpath', db_datetime='$now', db_filename='$res[savename]', db_flag='$in_repeat' where db_id='$member[mb_id]' and db_picno='0'");
				else
					sql_query("insert into $zmb[table_member_pic] set db_id='$member[mb_id]', db_picno='0', db_dir='$subpath', db_filename='$res[savename]', db_datetime='$now', db_flag='$in_repeat'");
				zm_artmsg("배경 이미지를 적용 했습니다.");
			}
		}else{
			//-- 위치 변경만 했을 때
			sql_query("update $zmb[table_member_pic] set db_flag='$in_repeat' where db_id='$member[mb_id]' and db_picno='0'");
		}
	}
	zm_gourl("./profile.php?mb_id=$member[mb_id]");
	exit;
}






//-- 비밀번호 변경 --------------------------------------------------------------------------------
if($w == "pu") {
	$mb_password		= trim(mysql_escape_string($_POST[mb_password]));
	$mb_new_password	= trim(mysql_escape_string($_POST[mb_new_password]));
	$mb_new_password_re	= trim(mysql_escape_string($_POST[mb_new_password_re]));

	if (!trim($_SESSION["ss_mb_id"]))	alert("로그인 되어 있지 않습니다.");

    if (!$mb_password)			alert('비밀번호가 넘어오지 않았습니다.');
    if (!$mb_new_password)		alert('새 비밀번호가 넘어오지 않았습니다.');
    if (!$mb_new_password_re)	alert('확인 할 새 비밀번호가 넘어오지 않았습니다.');

	if($mb_new_password != $mb_new_password_re)	alert('새 비밀번호가 같지 않습니다.');

	$mb_password_enc	= sql_password($mb_password);

	$row	= sql_fetch(" select mb_password from $g4[member_table] where mb_id = '$member[mb_id]' ");
    $tmp_password = $row['mb_password'];
	
	if($mb_password_enc != $tmp_password) alert('잘 못 된 비밀번호 입니다.');
	if(sql_password($mb_new_password) == $tmp_password) alert('바꾸려는 비밀번호가 사용하던 비밀번호와 같습니다.');

    $sql	= "update $g4[member_table] set mb_password='".sql_password($mb_new_password)."' where mb_id = '$member[mb_id]'";
    sql_query($sql);

	$msg	= "비밀번호를 변경 했습니다.";
	zm_gourl("./logout.php");
}

//-- 프로필 정보 업데이트 -------------------------------------------------------------------------
if($mode == "profileupdate") {
	if ($mb_nick_default != $mb_nick) {
		$where =  ", mb_nick_date = '$g4[time_ymd]' ";

		if (preg_match("/[\,]?{$mb_nick}/i", $config[cf_prohibit_id]))
        alert("\'$mb_nick\' 은(는) 예약어로 사용하실 수 없는 별명입니다.");

	    if (!check_string($mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_))
		    alert('별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다.');

		$sql	= " select count(*) as cnt from $g4[member_table] where mb_nick = '$mb_nick' ";
		$row	= sql_fetch($sql);
	    if($row[cnt]) alert("\'$mb_nick\' 은(는) 이미 다른분이 사용중인 별명이므로 사용이 불가합니다.");
	}

	$in_bloodtype	= strtoupper($in_bloodtype);
	if($in_age_open)	$in_age_open	= "1";
	if($mb_open)		$mb_open		= "1"; else $mb_open = "0";
	if($sns_link1)		$sns_link1		= "1";
	if($sns_link2)		$sns_link2		= "1";
	if($sns_link3)		$sns_link3		= "1";
	if($sns_link4)		$sns_link4		= "1";
	$sns_link		= $sns_link1 . "/" . $sns_link2 . "/" . $sns_link3 . "/" . $sns_link4;
	$mb_birth		= $mb_birth_y . "-" . $mb_birth_m . "-" . $mb_birth_d;
	if($mb_homepage == "http://")	$mb_homepage	= "";
	$in_mylocal		= $in_mylocal2 . " " . $in_mylocal;
	$in_school		= $in_school1 . "&" . $in_iphak1 . "/" . $in_school2 . "&" . $in_iphak2 . "/" . $in_school3 . "&" . $in_iphak3;

	$mb_open_date	= date("Y-m-d", $g4[server_time]);

	//-- 회원 기본 테이블 정보
	$mQuery		= "update $g4[member_table] set mb_nick='$mb_nick', mb_birth='$mb_birth', mb_sex='$mb_sex', mb_homepage='$mb_homepage', mb_signature='$mb_signature', mb_profile='$mb_profile', mb_open='$mb_open', mb_open_date='$mb_open_date' $where where mb_id='$member[mb_id]'";
	$res		= sql_query($mQuery);

	//-- 확장 프로필 테이블
	$r			= sql_fetch("select * from $zmb[table_member] where db_id='$member[mb_id]'");
	if($r[db_id]) {
		$pQuery		= "update $zmb[table_member] set db_bloodtype='$in_bloodtype', db_location='$in_mylocal', db_belong='$in_belong', db_school='$in_school', db_sns_link='$sns_link' where db_id='$member[mb_id]'";
	}else{
		$pQuery		= "insert into $zmb[table_member] set db_id='$member[mb_id]', db_age_open='$in_age_open', db_bloodtype='$in_bloodtype', db_location='$in_mylocal', db_belong='$in_belong', db_school='$in_school', db_sns_link='$sns_link'";
	}
	$res		= sql_query($pQuery);

	//-- 이미 등록 된 프로필 사진이 있으면 삭제
	$profilepicpath	= $g4[path] . "/data/zm.exp/profile";				//-- 프로필 사진이 저장 되는 경로
	$oldprofilepic	= $profilepicpath . "/" . $zm_member[profile_pic];	//-- 년월/파일명 ex) 1203/
	if($profile_pic_del) {
		@unlink($oldprofilepic);			
		sql_query("update $zmb[table_member] set db_profile_pic='' where db_id='$member[mb_id]'");
	}
	
	//-- 이미지 업로드
	if($_FILES["in_profile_pic"]["name"]) {
		@unlink($oldprofilepic);											//-- 이미 사진이 있다면 삭제

		$subpath			= date("ym");
		$uploadprofilepath	= $profilepicpath . "/" . $subpath;
		if(!file_exists($uploadprofilepath)) {
			@zm_mkdir($uploadprofilepath);										//-- 경로가 없으면 생성
			@chmod($uploadprofilepath, 0707);
		}

		//-- zm_imgupload(이미지 이름, 서버 임시 파일, 업로드 경로, #워터마크 이미지, #워터마크 위치, #워터마크 투명도, #썸네일 크기, #이미지 제한 폭
		$res	= zm_imgupload($_FILES['in_profile_pic']['name'], $_FILES['in_profile_pic']['tmp_name'], "$uploadprofilepath", "", "", "", "", "110");
		if($res[result]) {
			sql_query("update $zmb[table_member] set db_profile_pic='$subpath/$res[savename]' where db_id='$member[mb_id]'");
		}
	}

	$msg		= "프로필을 수정 했습니다.";
}

if ($msg) echo "<script type='text/javascript'>alert('{$msg}');</script>";

if($url)	goto_url("$g4[path]/bbs/$url");
else		goto_url("{$https_url}/$g4[bbs]/register_result.php");
?>