<?
/* 모듈을 불러오고 객체를 생성한다.
   SMS를 보내기 위한 함수를 정의하고 SMS 정보를 담는 변수를 선언한다.

   $oSms		: SMS 모듈로 선언된 객체
   $zm_sms[residual]	: SMS 남은 건수
*/

//-- 통큰아이 -------------------------------------------------------------------------------------
if($zm_sms[sms_module] == "tongkni") {						//-- 통큰아이 모듈
	$smsmdl	= $g4[path] . "/zm.extend/sms/tongkni/nusoap_tongkni.php";					//-- 캐릭터셋이 UTF-8일 때//euc는 이제 사용 안 함
	include_once($smsmdl);

	//구축 테스트 주소와 일반 웹서비스 선택
	if (substr($smsId,0,3) == "bt_"){
		$webService = "http://webservice.tongkni.co.kr/sms.3.bt/ServiceSMS_bt.asmx?WSDL";
	}
	else{
		$webService = "http://webservice.tongkni.co.kr/sms.3/ServiceSMS.asmx?WSDL";
	}

	$oSms = new SMS($webService);												//-- SMS 객체 생성


	$zm_sms[residual]		= $oSms->GetRemainCount($zm_sms[sms_tki_id], $zm_sms[sms_tki_pw]);
	if($zm_sms[residual] == "0")		$zm_sms[residual]		= "남은 문자가 없습니다.";
	elseif($zm_sms[residual] == "-5")	$zm_sms[residual]		= "비밀번호를 확인 해 주세요";
	elseif($zm_sms[residual] > "0")		$zm_sms[residual]		= number_format($zm_sms[residual]) . " 건";
	else	$zm_sms[residual] = "SMS 등록 아이디/비밀번호를 올바르게 입력해 주세요.";

	//-- SMS 전송 함수 --------------------------
	/*
	받는사람 전화번호, 받는 사람 이름, 보내는 사람 전화번호, 보내는 사람 이름, 문자 내용, 긴문자(1:90바이트만, 2:90씩 나눠서 여러번), 예약전송 여부(1:즉시전송, 2:예약전송), 예약시간[YYYYMMDD][hhmmss], sms 모듈, sms 아이디, sms 비번
	return $result; $result -> "1/실패한 문자 번호@로 구분한 문자열"; // 1:성공, 2:실패. 성공일 때 /뒤의 값은 없음
	*/
	function sendsms($toPcs, $toName, $fromPcs, $fromName, $msg, $resvSend=1, $resvTime="") {
		global	$oSms, $zm_sms, $g4, $member;

		//-- 예약시간을 통큰아이 형식에 맞게. YYYY-mm-dd HH:II:SS 형태로 넘어 옴
		$resvDate	= str_replace("-", "", substr($resvTime, 0, 10));
		$resvTime	= str_replace(":", "", substr($resvTime, 11, 8));

		$smsId		= $zm_sms[sms_tki_id];
		$smsPw		= $zm_sms[sms_tki_pw];
		$reMsg		= "";								//-- 리턴 메시지
		$userdefine	= "ziumsoft";						//-- 예약 취소를 위한 구분자


		if($g4[charset] == "euc-kr") iconv("euc-kr", "utf-8", $msg);

		if($resvSend == "2") {		//--문자 예약 전송
			$res	= $oSms->SendSMSReserve($smsId, $smsPw, $fromPcs, $toPcs, $msg, $resvDate, $resvTime, $userdefine);		
		}else {						//--문자 즉시 전송
			$res	= $oSms->SendSMS($smsId, $smsPw, $fromPcs, $toPcs, $msg);										
		}

		if ($res == "1")			$reMsg		= " [전송 성공]";
		elseif ($res == "0")		$reMsg		= " [잔여량부족]";
		elseif ($res == "-1")		$reMsg		= " [아이디/패스워드 이상]";
		elseif ($res == "-50")		$reMsg		= " [전화번호이상]";
		elseif ($res == "-13")		$reMsg		= " [스팸동의서 미발송]";
		elseif ($res == "-10")		$reMsg		= " [예약날짜 이상 $resvDate $resvTime]";
		elseif ($res == "-11")		$reMsg		= " [예약시간 이상 $resvDate $resvTime]";
		elseif ($res == "-3")		$reMsg		= " [예약 가능 시간 지남]";
		else						$reMsg		= " [전송 실패]";

		if($fromPcs == $toPcs)		$reMsg		= " [송수신 전화번호가 같음]";

		$reMsg	= $toPcs . "/" . $reMsg;		//-- 번호 / 결과

		//-- 전송 성공 시 History에 기록
		if($res > 0 || 1) {
			$resvtime	= $resvDate . $resvTime;
			$msg .= $reMsg;
			smshistory("$fromName", "$fromPcs", "$toName", "$toPcs", "$msg", "$resvSend", "$resvtime");
		}

		return $reMsg;
	}

}
//-------------------------------------------------------------------------------------------------
/*
//-- 다른 SMS 모듈을 추가 했을 때 아래 형식대로 추가
if($zm_sms[sms_module] == "sms_xxxxx") {						//-- 
	include_once("./sms_module/new_sms_module.php");
}
*/

?>