디딤365의 문자발송 시스템을 이용해서 게시글 작성시 문자가 발송하는 방법입니다.
게시판 스킨에 아래 내용을 추가하고 환경설정 수정하면 문자 발송이 가능합니다.
board / skin / basic / write_update.skin.php 파일을 생성후 아래와 같이 저장합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($w == '' && $bo_table=="게시판") {
//----------------------------------------------------------
// SMS 문자전송 시작
//----------------------------------------------------------
// 환경설정 시작
$sms_admin = ""; // 보내는사람 연락처
$sms_user = $wr_1; // 받는 사람 연락처
$sms_send_admin = "Y"; // 관리자 > 관리자에게 sms 발송 Y: 보내기 / N: 안보내기
$sms_send_user1 = "N"; // 신청자 > 관리자에게 sms 발송 Y: 보내기 / N: 안보내기
$sms_send_user2 = "Y"; // 관리자 > 신청자에게 sms 발송 Y: 보내기 / N: 안보내기
$guest_no = ""; // 디딤365 SMS 계정번호
$guest_key = ""; // 디딤365 SMS 계정인증키
// 다운로드: http://snoopy.sourceforge.net/ 에서 다운로드후 lib 폴더에 업로드
include_once G5_LIB_PATH."/Snoopy.class.php";
// 환경설정 끝
include_once G5_PLUGIN_PATH."/sms5/sms5.lib.php";
if ( ! function_exists('get_hp')) {
function get_hp($hp, $hyphen=1)
{
global $g5;
if (!is_hp($hp)) return '';
if ($hyphen) $preg = "$1-$2-$3"; else $preg = "$1$2$3";
$hp = str_replace('-', '', trim($hp));
$hp = preg_replace("/^(01[016789])([0-9]{3,4})([0-9]{4})$/", $preg, $hp);
if ($g5['sms5_demo'])
$hp = '0100000000';
return $hp;
}
}
if ($sms_send_admin == "Y") {
// 관리자 > 관리자에게 sms 발송
$snoopy = new Snoopy;
$stran_msg2 = G5_BBS_URL."/board.php?bo_table={$bo_table}&wr_id={$wr_id} T. {$sms_user} "; // 문자내용
$tran_phone2 = urlencode($sms_admin); // 받는사람 번호
$tran_callback2 = urlencode($sms_admin); // 보내는사람 번호
//$tran_date = urlencode(iconv('EUC-KR', 'UTF-8', $tran_date)); // 예약전송 일시(생략시 즉시전송)
//$stran_msg2 = urlencode(iconv('EUC-KR', 'UTF-8', $stran_msg2)); // euc-kr 일때만
$tran_msg2 = urlencode($stran_msg2); //전송 메시지
$cmd = "SendSms";
$method = "GET";
$url = "http://www.nesolution.com/service/sms.aspx?cmd={$cmd}";
$url = $url."&method={$method}&guest_no={$guest_no}&guest_key={$guest_key}";
$url = $url."&tran_phone={$tran_phone2}&tran_callback={$tran_callback2}";
$url = $url."&tran_date={$tran_date2}&tran_msg={$tran_msg2}";
$snoopy->fetchtext($url);
$send_result = $snoopy->results;
if ($send_result=="OK")
{
$recv_number = $sms_admin; // 발신자 전화번호
$wr_reply = $sms_user; // 발신자 전화번호
$wr_message = $stran_msg2;
$wr_booking = ""; // 예약전송
$wr_total = "1";
$row = sql_fetch("select max(wr_no) as wr_no from {$g5['sms5_write_table']}");
if ($row)
$wr_no = $row['wr_no'] + 1;
else
$wr_no = 1;
sql_query("insert into {$g5['sms5_write_table']} set wr_no='{$wr_no}', wr_renum=0, wr_reply='{$wr_reply}', wr_message='{$wr_message}', wr_booking='{$wr_booking}', wr_total='{$wr_total}', wr_datetime='".G5_TIME_YMDHIS."'");
$wr_success = 0;
$wr_failure = 0;
$count = 0;
list($phone, $code) = explode(":", $result);
$hs_code = $send_result;
$hs_memo = get_hp($recv_number, 1)."로 전송했습니다.";
$wr_success++;
$hs_flag = 1;
$row = array_shift($list);
$row['bk_hp'] = get_hp($row['bk_hp'], 1);
$log = array_shift($SMS->Log);
sql_query("insert into {$g5['sms5_history_table']} set wr_no='{$wr_no}', wr_renum=0, bg_no='1', mb_id='{$row['mb_id']}', bk_no='1', hs_name='".addslashes($row['bk_name'])."', hs_hp='{$wr_reply}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='{$hs_flag}', hs_code='{$hs_code}', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'");
sql_query("update {$g5['sms5_write_table']} set wr_success='{$wr_success}', wr_failure='{$wr_failure}', wr_memo='{$str_serialize}' where wr_no='{$wr_no}' and wr_renum=0");
}
}
if ($sms_send_user1 == "Y") {
// 신청자 > 관리자에게 sms 발송
$snoopy = new Snoopy;
$stran_msg2 = "글등록 ".G5_BBS_URL."/board.php?bo_table={$bo_table}&wr_id={$wr_id}"; // 문자내용
$tran_phone2 = urlencode($sms_admin); // 받는사람 번호
$tran_callback2 = urlencode($sms_user); // 보내는사람 번호
//$tran_date = urlencode(iconv('EUC-KR', 'UTF-8', $tran_date)); // 예약전송 일시(생략시 즉시전송)
//$stran_msg2 = urlencode(iconv('EUC-KR', 'UTF-8', $stran_msg2)); // euc-kr 일때만
$tran_msg2 = urlencode($stran_msg2); //전송 메시지
$cmd = "SendSms";
$method = "GET";
$url = "http://www.nesolution.com/service/sms.aspx?cmd={$cmd}";
$url = $url."&method={$method}&guest_no={$guest_no}&guest_key={$guest_key}";
$url = $url."&tran_phone={$tran_phone2}&tran_callback={$tran_callback2}";
$url = $url."&tran_date={$tran_date2}&tran_msg={$tran_msg2}";
$snoopy->fetchtext($url);
$send_result = $snoopy->results;
}
if ($sms_send_user2 == "Y") {
// 관리자 > 신청자에게 sms 발송
if ($wr_1) {
$snoopy = new Snoopy;
$stran_msg2 = G5_URL." 문의감사합니다. 빠른시간안에 연락드리겠습니다" ; // 문자내용
$tran_phone2 = urlencode($sms_user); // 받는사람 번호
$tran_callback2 = urlencode($sms_admin); // 보내는사람번호
//$tran_date = urlencode(iconv('EUC-KR', 'UTF-8', $tran_date)); // 예약전송 일시(생략시 즉시전송)
//$stran_msg2 = urlencode(iconv('EUC-KR', 'UTF-8', $stran_msg2)); // euc-kr 일때만
$tran_msg2 = urlencode($stran_msg2); //전송 메시지
$cmd = "SendSms";
$method = "GET";
$url = "http://www.nesolution.com/service/sms.aspx?cmd={$cmd}";
$url = $url."&method={$method}&guest_no={$guest_no}&guest_key={$guest_key}";
$url = $url."&tran_phone={$tran_phone2}&tran_callback={$tran_callback2}";
$url = $url."&tran_date={$tran_date2}&tran_msg={$tran_msg2}";
$snoopy->fetchtext($url);
$send_result = $snoopy->results;
}
}
//echo $url."<br>";
//echo "send_result = ".$send_result."<br>";
//----------------------------------------------------------
// SMS 문자전송 끝
//----------------------------------------------------------
}
?>
'PHP' 카테고리의 다른 글
[CSS] 이미지를 배경으로 지정하여 화면에 맞게 변경 (0) | 2019.11.19 |
---|---|
그누보드 첫화면 접속하면 특정 페이지로 강제 이동하기 (0) | 2019.11.19 |
그누보드 g5 게시글 엑셀 다운로드 (1) | 2019.11.19 |
페이지별 구분 (0) | 2019.11.06 |
영카트 사이트 접속시 메인으로 고정 (0) | 2018.08.28 |