<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require "./lib/php_mailer/src/PHPMailer.php"; 
require "./lib/php_mailer/src/SMTP.php"; 
require "./lib/php_mailer/src/Exception.php"; 

class Mails{
	function send($receiver, $subject, $body){
		/*
			추가사항 : param 없을때 알려주기.. 
		*/
		/*
		echo "보낸이: ".$receiver."\n";
		echo "제목: ".$subject."\n";
		echo "내용: ".$body."\n"; 
		*/
		$mail = new PHPMailer(true);

		try {
			// 서버세팅
			$mail -> SMTPDebug = 0;								// 디버깅 설정
			$mail -> isSMTP();									// SMTP 사용 설정
			$mail -> Host = "smtps.hiworks.com";				// email 보낼때 사용할 서버를 지정
			$mail -> SMTPAuth = true;							// SMTP 인증을 사용함
			$mail -> Username = "developers@citech.kr";			// 메일 계정
			$mail -> Password = "citech1234";					// 메일 비밀번호
			$mail -> SMTPSecure = "ssl";						// SSL을 사용함
			$mail -> Port = 465;								// email 보낼때 사용할 포트를 지정
			$mail -> CharSet = "utf-8";							// 문자셋 인코딩

			// 메일 내용
			$mail -> setFrom("dont_reply@rose.com", "Rose");	// 보내는 메일 주소
			$mail -> addAddress($receiver);					// 받는 메일 주소
			// $mail -> addAttachment("첨부파일(경로,확장자포함)");	// 첨부파일
			$mail -> isHTML(true);								// HTML 태그 사용 여부
			$mail -> Subject =  $subject;						// 메일 제목
			$mail -> Body = $body;							// 메일 내용

			$result = $mail -> send();									// 메일 전송
			if($result == 1)
				return response();

		}catch (Exception $e){
			$r[result] = 'fail';
			$r[msg] = $e->getMessage();
			reply_json($r);
		}		
	}
}

class 상황별메일보내기 extends Mails{
	function 회원가입확인($a){
		$url = 'http://roseapi.modtv.co.kr';
		$url .= '/user/join_confirm?username='.$a[username].'&hash='.$a[hash];
		
		$subject = '회원 가입을 축하합니다.';
		// gmail hiworks naver ... test
		$html = file_get_contents('./view/mail/join_confirm.html');
		$html = str_replace('{계정}','계정',$html);
		$html = str_replace('{인사말}','안녕하세요 '.$a[username].' 회원님,',$html);
		$html = str_replace('{설명}','로즈커넥트에 가입해 주셔서 감사합니다! </br>
			아래 인증버튼을 눌러 이메일을 인증하시면, 회원가입 절차가 모두 완료 됩니다. </br>
			계정 인증 후 하이파이로즈의 다양한 서비스를 경험하실 수 있습니다. </br>',$html);	
		$html = str_replace('{이메일인증}','이메일 인증',$html);	
		$html = str_replace('{인증주소}',$url,$html);	
		$html = str_replace('{회사정보}','
			(주)씨아이테크 (Kospi 004920 / <font color="#919191">www.citech.kr</font>) </br>
			서울특별시 송파구 양재대로 932 가락몰 업무동 11층 동관 대표전화 : 1899-6042 </br>
			사업자등록번호 : 210-81-01231 대표 : 김종서 통신판매업신고번호 제 2016-서울송파-0555호 </br>
			Copyright 2019. HiFiROSE. All rights reserved		
		',$html);
		return $this->send($a[email], $subject, $html);	
	}
	function 임시비밀번호발급($a){
		$subject = '로즈 사용자 임시비밀번호 발급';
		$html = file_get_contents('./view/mail/temp_pw.html');
		$html = str_replace('{계정}','계정',$html);
		$html = str_replace('{인사말}','안녕하세요 '.$a[username].' 회원님,',$html);		
		$html = str_replace('{설명}','로즈커넥트 임시 비밀번호를 안내드립니다. </br>
			로그인을 하신 후에는 새로운 비밀번호로 변경해주시기 바랍니다.</br>',$html);
		$html = str_replace('{임시비밀번호}',$a[temp_pw],$html);				
		$html = str_replace('{회사정보}','
			(주)씨아이테크 (Kospi 004920 / <font color="#919191">www.citech.kr</font>) </br>
			서울특별시 송파구 양재대로 932 가락몰 업무동 11층 동관 대표전화 : 1899-6042 </br>
			사업자등록번호 : 210-81-01231 대표 : 김종서 통신판매업신고번호 제 2016-서울송파-0555호 </br>
			Copyright 2019. HiFiROSE. All rights reserved		
		',$html);	
		return $this->send($a[email], $subject, $html);		
			
	}
}

$app->action('mail/send', function(){
	$a = $_REQUEST;
	$mail = new Mails;
	$결과 = $mail->send($a[receiver], $a[subject], $a[body]);
	if($결과[result] == 'success')
		reply_json($결과);
});

/*
	join_confirm 
	나중에..한글안쓸까봐 data 미리 빼놓음..
*/
$app->action('mail/join_confirm', function(){
	$상황별메일보내기 = new 상황별메일보내기;
	$결과 = $상황별메일보내기->회원가입확인($_REQUEST);
	if($결과[result] == 'success')
		reply_json($결과);
});

$app->action('user/join_confirm', function(){
	$a = $_REQUEST;
	if(isset($a['username']) && isset($a['hash']))
	{
		$result = query("UPDATE info SET isconfirm='1' WHERE username=:username AND hash=:hash AND isconfirm='0'", $a);
		
		//기본 플레이리스트 생성 (newset)
		$url = 'http://roseapi.modtv.co.kr';
		$url .= '/playlist/new';
		$pass = query('select pw from info where username=:username', $a);
		$a[pw] = $pass[0][pw];
		$a[accesskey] = sha1($a[username].'_'.$a[pw]);

		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

		for($i=1;$i<6;$i++)
		{
			$params = array(
				'username' => $a[username],
				'title' => '별점 '.$i.'점 플레이리스트',
				'isdefault' => 1,
				'accesskey' => $a[accesskey]
			);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
			curl_exec($ch);
		}
		
		$params = array(
			'username' => $a[username],
			'title' => '즐겨찾기 플레이리스트',
			'isdefault' => 1,
			'accesskey' => $a[accesskey]
		);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
		curl_exec($ch);
		
		$params = array(
			'username' => $a[username],
			'title' => '기본 플레이리스트',
			'isdefault' => 1,
			'accesskey' => $a[accesskey]
		);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
		curl_exec($ch);
		
		curl_close($ch);
		//if($result[numAffected] == 1)
		redirect('http://roseapi.modtv.co.kr/join_confirm_done');
	}else
	{
		$result[result]= 'fail';
		$result[msg] = 'wrong address';
		reply_json($result);
	}
});
?>