(icode)를 이용하여 SMS 예약전송처리되는데...맞는건지???
본문
작은별님 도움으로 테스트는 정상적으로 처리되었습니다.
/lib/icode.sms.lib.php 내
function Add($dest, $callBack, $Caller, $msg, $rsvTime="") { ... }
함수를 보면 rsvTime 값이 무조건 null이 되고 null 이면 즉시발송
지정한 시간(날짜시분)을 넣으면 예약전송되는듯합니다.
이 부분을
function Add($dest, $callBack, $Caller, $msg, $rsvTime) { ... }
으로 변경 후 시간정보가 입력되면 예약발송이 되는건 확인했는데요..
write_update.skin.php 내
$SMS -> Add ( ... ) 발송하는 부분에 rsvTime 필드를 추가하였습니다.
// 문의글 등록시 관리자에게 전송
$send_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***"; // 보내는 전화번호
$recv_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***"; // 받는 전화번호
$rsvTime = "201808152320"; // 예약시간(12자리라 날짜시분까지만 입력)
$send_hp = str_replace("-","",$send_hp_mb); // - 제거
$recv_hp = str_replace("-","",$recv_hp_mb); // - 제거
$send_number ="$send_hp";
$recv_number = "$recv_hp";
$sms_content = $wr_name." 님이 ".$wr_subject." 신청을 하셨습니다."; // 문자 내용
$SMS = new SMS; // SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), $rsvTime);
$SMS->Send();
alert("성공적으로 접수되었습니다.", "./board.php?bo_table=$bo_table&wr_id=$wr_id");
// 문자보내기 끝
icode 홈페이지 내 발송내역조회에는
예약시간이 지난뒤에 성공 내역이 업데이트 되네요...
답변 1
네, 올바르게 처리하였습니다.
다만 Add 함수는 원본 그대로 두시는 것이 좋겠습니다.
작성자님이 수정한대로 두시면 항상 $rsvTime 변수를 정의해야 합니다.
혹시나 write_update.skin.php 파일 이외에서 즉시발송으로 사용할 때
$rsvTime 변수를 누락하면 오류가 발생하겠지요.
즉시발송할때는 매번 $rsvTime = null; 값을 적어줘야 한다는 의미입니다.