[G5] 일반페이지에서 SMS5 ( icode ) 연동해서 문자 발송 > 기술자료 | 해피정닷컴

[G5] 일반페이지에서 SMS5 ( icode ) 연동해서 문자 발송 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 일반페이지에서 SMS5 ( icode ) 연동해서 문자 발송 > 기술자료

그누보드 [G5] 일반페이지에서 SMS5 ( icode ) 연동해서 문자 발송

페이지 정보


본문

그누보드5 홈페이지에서 SMS5 ( icode ) 연동 문자 발송하고 그것을 특정 게시판에 저장하는 방법입니다.


1. sms_PC.php



<script>
function input_sms_check() {
    var f = document.sms_form;  // 본문 form에서의 name 값으로 수정

    if(f.sms_name.value == '') {
        alert('이름을 입력해 주십시오.');
        f.sms_name.focus();
        return false;
    }
    function checkPhone(sms_tel) {
        var regExp = /^\d{2,4}-\d{3,4}-\d{4}$/;
        if(regExp.test(sms_tel)) { // test 는 정규 Methods 입니다. test는 변경없음
            return true;
        } else {
            return false;
        }
    }
    if(f.sms_tel.value == '') {
        alert('연락처를 입력해 주십시오.');
        f.sms_tel.focus();
        return false;
    }
    else {
        if(!checkPhone(f.sms_tel.value)) {
            alert('잘못된 전화번호입니다. 숫자, - 를 포함한 숫자만 입력하세요. 예) 02-XXXX-XXXX');
            f.sms_tel.focus();
            return false;
        }
    }

    var agree = document.getElementsByName("sms_agree");
    if (!agree[0].checked) {
        alert("개인정보 수집 및 이용에 동의하셔야 회원가입 하실 수 있습니다.");
        agree[0].focus();
        return false;
    }

}
</script>

<style>
/* 퀵메뉴 */
#quick2 { position:relative; position:fixed; bottom:20px; right:20px; width:197px; margin-left:-px; z-index:9999; }
#quick2 h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#quick2 .quick_brand { width:197px; margin-bottom:11px; }
#quick2 .quick_request { width:197px; font-family:'NanumBarunGothic'; }
#quick2 .quick_request ul {padding: 0;background:#fff;zoom:1; border:1px solid #b2b2b2; }
#quick2 .quick_request ul:after {display:block;visibility:hidden;clear:both;content:"" }
#quick2 .quick_request li { width:100%; padding:1px 0; text-align:center; }

/* SMS CSS */
.sms_input { width:170px; height:31px; border:1px solid #fff; border-bottom:1px solid #b2b2b2; font-size:1.25em; font-family:'NanumBarunGothic'; }
a.sms_button { display:inline-block; padding:3px 4px; border:1px solid #3b3c3f; background:#4b545e; color:#fff; text-decoration:none; vertical-align:middle; font-size:0.9em; }
.sms_submit { width:86%; height:40px; font-weight:bold; background:#a21414; color:#fff;border:0px; font-size:1.3em; }
.go_btn2 { width:197px; height:50px; font-size:1.5em; background:#3e373f; border:0px; color:#FFF; }

/* SMS Layer Popup */
.sms_layer { display:none; position:fixed; _position:absolute; top:0; left:0; width:100%; height:100%; z-index:555; }
.sms_layer .sms_layer_bg { position:absolute; top:0; left:0; width:100%; height:100%; background:#000; opacity:.5; filter:alpha(opacity=50); }
.sms_layer .sms_layer_pop { display:block; }
.sms_layer_pop { display:none; position:absolute; top:50%; left:50%; width:570px; height:auto; background-color:#f7f7f7; z-index:10; }    
.sms_layer_pop .sms_layer_pop_container { padding:20px 20px; overflow:hidden; }
.sms_layer_pop .sms_layer_btn { text-align:right; position:absolute; left:575px; top:-15px; }
.sms_layer_close { padding:0px; font-size:5em; }
</style>

<div id="quick2">
    <!-- 레이어 팝업 -->
    <div class="sms_layer">
        <div class="sms_layer_bg"></div>
        <div id="sms_layer2" class="sms_layer_pop">
            <div class="sms_layer_pop_container">
                <div class="sms_layer_btn">
                    <a href="#" class="sms_layer_close"><i class="fa fa-times" aria-hidden="true"></i></a>
                </div>
                
                개인정보보호법 제30조에 따라 서비스 이용을 위한 아래 개인정보 수집.이용 동의를 받습니다.<br>
                <br>
                1. 개인정보를 다음의 목적을 위하여 개인정보를 처리하고, 그 목적 이외로는 이용하지 않습니다.<br>
                &nbsp;&nbsp;&nbsp;이용자 식별 및 본인여부 확인, 목적 계약 이행을 위한 연락민원 등 고객 고충 처리<br>
                <br>
                2. 개인정보 수집항목 : 성명, 전화번호<br>
                <br>
                3. 개인정보의 처리 및 보유기간 : 게시글 삭제시 즉시 삭제    
            </div>
        </div>
    </div>
    <!-- 레이어 팝업 end -->
    
    <form name="sms_form" method="post" action="<?php echo G5_URL; ?>/page/sms_ok.php" onSubmit="return input_sms_check(this)">
        <input type="hidden" name="w"            value="">
        <input type="hidden" name="sms_secret"   value='secret'>
        <input type="hidden" name="sms_html"     value='html1'>
        <input type="hidden" name="sms_mail"     value='mail'>
        <input type="hidden" name="sms_url"      value="<?php echo $_SERVER['REQUEST_URI']; ?>">
        <input type="hidden" name="sms_subject"  value="상담 신청">
        <input type="hidden" name="sms_email"    value=''>
        <input type="hidden" name="sms_device"  value="PC">
        
        <div id="sms_form" class="quick_request">
            <ul>
                <li style="padding:16px 0;"><img src="<?php echo G5_IMG_URL; ?>/quick_sms_title.png" alt="상담신청"></li>
                <li><input type="text" class="sms_input" name="sms_name" id="sms_name" itemname="이름" placeholder="이름"></li>
                <li><input type="text" class="sms_input" name="sms_tel" id="sms_tel" itemname="연락처" placeholder="연락처 02-XXXX-XXXX"></li>
                <li style="color:#555; padding:10px 0 5px 0; font-size:1.2em">
                    개인정보 취급방침 <a href="#" class="sms_button" onclick="sms_layer_open('sms_layer2');return false;">내용보기</a>
                </li>
                <li style="color:#555; font-size:1.25em; font-weight:bold;">
                    <input type="radio" name="sms_agree" value="1">&nbsp;동의 &nbsp;&nbsp; 
                    <input type="radio" name="sms_agree" value="0">&nbsp;동의안함</span>
                </li>
                <li style="padding:8px 0 10px 0;"><button type="submit" id="send_btn" class="sms_submit">상담신청</button></li>
            </ul>                             
        </div>
    </form>
    
    <div><button type="button" id="go_btn" class="go_btn2">▲ TOP</button></div>
</div>

<script type="text/javascript">
// SMS 레이어 팝업
function sms_layer_open(el){
    var temp = $('#' + el);
    var bg = temp.prev().hasClass('sms_layer_bg');    //dimmed 레이어를 감지하기 위한 boolean 변수
    if(bg){
        $('.sms_layer').fadeIn();    // 'sms_layer_bg' 클래스가 존재하면 레이어가 나타나고 배경은 dimmed 된다. 
    }else{
        temp.fadeIn();
    }

    // 화면의 중앙에 레이어를 띄운다.
    if (temp.outerHeight() < $(document).height() ) temp.css('margin-top', '-'+temp.outerHeight()/2+'px');
    else temp.css('top', '0px');
    if (temp.outerWidth() < $(document).width() ) temp.css('margin-left', '-'+temp.outerWidth()/2+'px');
    else temp.css('left', '0px');

    temp.find('a.sms_layer_close').click(function(e){
        if(bg){
            $('.sms_layer').fadeOut(); // 'sms_layer_bg' 클래스가 존재하면 레이어를 사라지게 한다. 
        }else{
            temp.fadeOut();
        }
        e.preventDefault();
    });

    $('.sms_layer .sms_layer_bg').click(function(e){    // 배경을 클릭하면 레이어를 사라지게 하는 이벤트 핸들러
        $('.sms_layer').fadeOut();
        e.preventDefault();
    });

}            

// 페이지 위로가기
$(function() {
    $("#go_btn").on("click", function() {
        $("html, body").animate({scrollTop:0}, '500');
        return false;
    });
});
</script>



2. sms_MOBILE.php



<script type="text/javascript">
function input_sms_check() {

    var f = document.sms_form;  // 본문 form에서의 name 값으로 수정

    if(f.sms_name.value == '') {
        alert('이름을 입력해 주십시오.');
        f.sms_name.focus();
        return false;
    }
    function checkPhone(sms_tel) {
        var regExp = /^\d{2,4}-\d{3,4}-\d{4}$/;
        if(regExp.test(sms_tel)) { // test 는 정규 Methods 입니다. test는 변경없음
            return true;
        } else {
            return false;
        }
    }
    if(f.sms_tel.value == '') {
        alert('연락처를 입력해 주십시오.');
        f.sms_tel.focus();
        return false;
    }
    else {
        if(!checkPhone(f.sms_tel.value)) {
            alert('잘못된 전화번호입니다. 숫자, - 를 포함한 숫자만 입력하세요. 예) 02-XXXX-XXXX');
            f.sms_tel.focus();
            return false;
        }
    }
    
    if(f.wr_2.value == '') {
        alert('창업희망 브랜드를 입력해 주십시오.');
        f.wr_2.focus();
        return false;
    }

    var agree = document.getElementsByName("sms_agree");
    if (!agree[0].checked) {
        alert("개인정보 수집 및 이용에 동의하셔야 회원가입 하실 수 있습니다.");
        agree[0].focus();
        return false;
    }

}
</script>

<style>
#simpleSearch { position:fixed; right:0; bottom:0; z-index:10; width:100%; margin:0 auto; }

/* SMS CSS */
.sms_input { width:90%; height:25px; text-align:center; border:1px solid #fff; border-bottom:1px solid #fff; font-size:1.1em; font-family:'NanumBarunGothic'; }
a.sms_button { display:inline-block; padding:3px 4px; border:1px solid #3b3c3f; background:#4b545e; color:#fff; text-decoration:none; vertical-align:middle; font-size:0.9em; }
.sms_submit { width:86%; height:40px; font-weight:bold; background:#a21414; color:#fff;border:0px; font-size:1.3em; }
.go_btn2 { width:197px; height:50px; font-size:1.5em; background:#3e373f; border:0px; color:#FFF; }

/* SMS Layer Popup */
.sms_layer { display:none; position:fixed; _position:absolute; top:0; left:0; width:100%; height:100%; z-index:555; }
.sms_layer .sms_layer_bg { position:absolute; top:0; left:0; width:100%; height:100%; background:#000; opacity:.5; filter:alpha(opacity=50); }
.sms_layer .sms_layer_pop { display:block; }
.sms_layer_pop { display:none; position:absolute; top:50%; left:0; width:auto; height:auto; background-color:#f7f7f7; z-index:10; }    
.sms_layer_pop .sms_layer_pop_container { padding:20px 20px; overflow:hidden; }
.sms_layer_pop .sms_layer_btn { text-align:right; position:absolute; left:575px; top:-15px; }
.sms_layer_close { padding:0px; font-size:5em; }
</style>

<div style="height:150px;"><?php // 하단 고정창 간격확보하기용 ?></div>

<div id="simpleSearch">
    <div style="background:#e9e9e9; padding:0px 0; width:100%;">

        <!-- 레이어 팝업 -->
        <div class="sms_layer">
            <div class="sms_layer_bg"></div>
            <div id="sms_layer2" class="sms_layer_pop">
                <div class="sms_layer_pop_container">
                    <div class="sms_layer_btn">
                        <a href="#" class="sms_layer_close"><i class="fa fa-times" aria-hidden="true"></i></a>
                    </div>
                    
                    개인정보보호법 제30조에 따라 서비스 이용을 위한 아래 개인정보 수집.이용 동의를 받습니다.<br>
                    <br>
                    1. 개인정보를 다음의 목적을 위하여 개인정보를 처리하고, 그 목적 이외로는 이용하지 않습니다.<br>
                    &nbsp;&nbsp;&nbsp;이용자 식별 및 본인여부 확인, 목적 계약 이행을 위한 연락민원 등 고객 고충 처리<br>
                    <br>
                    2. 개인정보 수집항목 : 성명, 전화번호<br>
                    <br>
                    3. 개인정보의 처리 및 보유기간 : 게시글 삭제시 즉시 삭제    
                </div>
            </div>
        </div>
        <!-- 레이어 팝업 end -->
    
        <form name="sms_form" method="post" action="<?php echo G5_URL; ?>/page/sms_ok.php" onSubmit="return input_sms_check(this)">
        <input type="hidden" name="w"            value="">
        <input type="hidden" name="sms_secret"   value='secret'>
        <input type="hidden" name="sms_html"     value='html1'>
        <input type="hidden" name="sms_mail"     value='mail'>
        <input type="hidden" name="sms_url"      value="<?php echo $_SERVER['REQUEST_URI']; ?>">
        <input type="hidden" name="sms_subject"  value="상담 신청">
        <input type="hidden" name="sms_email"    value=''>
        <input type="hidden" name="sms_device"  value="MOBILE">
            <div style="background:url(<?php echo G5_IMG_URL; ?>/v1/m_copy_line.png) top repeat-x; text-align:center;">
                <div style="padding:10px 0 10px 0; text-align:center;"><img src="<?php echo G5_IMG_URL; ?>/v1/m_sms_title.png" alt="월간창업 창업상담신청" style="height:20px;"></div>
                
                <center>
                <ul style="margin:0 20px;">
                    <li style="float:left; width:33.3%;"><input type="text" name="sms_name" id="sms_name" class="sms_input" itemname="이름" placeholder="이름"></li>
                    <li style="float:left; width:33.3%;"><input type="number" pattern="[0-9]*" name="sms_tel" id="sms_tel" class="sms_input" itemname="연락처" placeholder="02-XXXX-XXXX"></li>
                    <li style="float:left; width:33.3%;"><input type="text" name="sms_brand" id="sms_brand" class="sms_input" itemname="브랜드" placeholder="브랜드"></li>

                <div style="margin-left:5px; color:#555; padding:10px 0 5px 0; float:left;">개인정보 취급방침 <a href="#" class="sms_button" onclick="sms_layer_open('sms_layer2');return false;">내용보기</a></div>
                <div style="margin-left:15px; color:#555; font-size:1.0em; font-weight:bold; float:left;padding:13px 0 0 0; "><input type="radio" name="sms_agree" value="1">&nbsp;동의 &nbsp;&nbsp; <input type="radio" name="sms_agree" value="0">&nbsp;동의안함</span></div>                            
                    
                </ul>
                </center>
                <div style="clear:both;"></div>
                  
                <div style="padding:5px 0; text-align:center;"><button type="submit" id="send_btn" style="width:90%; height:40px; font-size:1.3em; font-weight:bold; background:#a21414; color:#fff; border:0px;">상담신청</button></div>
            </div>
        </form>
    </div>
</div>

<script>
// SMS 레이어 팝업
function sms_layer_open(el){
    var temp = $('#' + el);
    var bg = temp.prev().hasClass('sms_layer_bg');    //dimmed 레이어를 감지하기 위한 boolean 변수
    if(bg){
        $('.sms_layer').fadeIn();    // 'sms_layer_bg' 클래스가 존재하면 레이어가 나타나고 배경은 dimmed 된다. 
    }else{
        temp.fadeIn();
    }

    // 화면의 중앙에 레이어를 띄운다.
    if (temp.outerHeight() < $(document).height() ) temp.css('margin-top', '-'+temp.outerHeight()/2+'px');
    else temp.css('top', '0px');
    if (temp.outerWidth() < $(document).width() ) temp.css('margin-left', '-'+temp.outerWidth()/2+'px');
    else temp.css('left', '0px');

    temp.find('a.sms_layer_close').click(function(e){
        if(bg){
            $('.sms_layer').fadeOut(); // 'sms_layer_bg' 클래스가 존재하면 레이어를 사라지게 한다. 
        }else{
            temp.fadeOut();
        }
        e.preventDefault();
    });

    $('.sms_layer .sms_layer_bg').click(function(e){    // 배경을 클릭하면 레이어를 사라지게 하는 이벤트 핸들러
        $('.sms_layer').fadeOut();
        e.preventDefault();
    });

}
</script>




3. sms_ok.php

<?php
include_once('_common.php');

$wr_name = $_POST['sms_name'];
$tel     = $_POST["sms_tel"];
$sms_url = $_POST["sms_url"];

if (!($wr_name || $tel)) {
    alert('입력값 확인해주세요.', $sms_url);
    exit;
}

// 게시판 저장 기초자료
$bo_table    = '게시판이름'; // 테이블 정의
$wr_email    = $_POST['sms_email'];

$wr_subject  = $_POST['sms_subject'];
if ($wr_subject == "") {
    $wr_subject = "문자상담";
}

$wr_content  = $_POST['sms_content'];

$wr_password = $_POST['sms_password'];
if ($wr_password=="") $wr_password = $tel;

$ca_name  = "";
$html     = $_POST['sms_html'];
$secret   = $_POST['sms_secret'];
$mail     = $_POST['sms_mail'];
$wr_link1 = "";
$wr_link2 = "";

$wr_1  = $_POST['sms_device'];
$wr_2  = $_POST['sms_name'];
$wr_3  = $_POST['sms_tel'];
$wr_4  = $_POST['wr_4'];
$wr_5  = $_POST['wr_5'];
$wr_6  = $_POST['wr_6'];
$wr_7  = $_POST['wr_7'];
$wr_8  = $_POST['wr_8'];
$wr_9  = $_POST['wr_9'];
$wr_10 = $_POST['wr_10'];

$write_table = $g5['write_prefix'].$bo_table;

if($member['mb_id']) {
    $mb_id       = $member['mb_id']; 
    if (!$wr_name) {
    $wr_name     = $member['mb_name'];;
    }
    $wr_password = $member['mb_password'];
    $wr_email    = $member['mb_email'];
} else {
    $wr_name     = $wr_name;
    $wr_password = get_encrypt_string($wr_password); //비밀번호 
    $wr_email    = $wr_email;
}


// 게시판이 실제 존재할때만 게시판에 저장
$qry_sms = "select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";
$row_sms = sql_fetch_array(sql_query($qry_sms));
if (!$row_sms['bo_table']) {
    alert('존재하지 않는 게시판입니다.', G5_URL);
    exit;
}


if ($row_sms['bo_table']) {
    $wr_num = get_next_num($write_table);
    //제목 내용을 변경해 주시면 됩니다
    $sql_sms1 = "insert into {$write_table}
                set wr_num       = '{$wr_num}',
                    wr_reply     = '',
                    wr_id        = '{$wr_id}',
                    wr_comment   = 0,
                    ca_name      = '{$ca_name}',
                    wr_option    = '{$html},{$secret},{$mail}',
                    wr_subject   = '{$wr_subject}',
                    wr_content   = '{$wr_content}',
                    wr_link1     = '{$wr_link1}',
                    wr_link2     = '{$wr_link2}',
                    wr_link1_hit = 0,
                    wr_link2_hit = 0,
                    wr_hit       = 0,
                    wr_good      = 0,
                    wr_nogood    = 0,
                    mb_id        = '{$mb_id}',
                    wr_password  = '{$wr_password}',
                    wr_name      = '{$wr_name}',
                    wr_email     = '{$wr_email}',
                    wr_datetime  = '".G5_TIME_YMDHIS."',
                    wr_last      = '".G5_TIME_YMDHIS."',
                    wr_ip        = '{$_SERVER['REMOTE_ADDR']}',
                    wr_1         = '{$wr_1}',
                    wr_2         = '{$wr_2}',
                    wr_3         = '{$wr_3}',
                    wr_4         = '{$wr_4}',
                    wr_5         = '{$wr_5}',
                    wr_6         = '{$wr_6}',
                    wr_7         = '{$wr_7}',
                    wr_8         = '{$wr_8}',
                    wr_9         = '{$wr_9}',
                    wr_10        = '{$wr_10}'
    ";
    sql_query($sql_sms1);
    $wr_id = sql_insert_id();

    // 부모 아이디에 UPDATE
    sql_query(" update {$write_table} set wr_parent = '{$wr_id}' where wr_id = '{$wr_id}' ");

    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");

    // 게시글  증가
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
}


// icode 문자발송(SMS)
if (!$config['cf_icode_server_ip'])   $config['cf_icode_server_ip'] = '211.172.232.124';
if (!$config['cf_icode_server_port']) $config['cf_icode_server_port'] = '7295';
if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    $userinfo = get_icode_userinfo($config['cf_icode_id'], $config['cf_icode_pw']);
}

if ($userinfo['payment'] == 'A') {
    $cf_icode_server_port = "7295";
    $icode_check = "y";
} else if ($userinfo['payment'] == 'C') {
    $cf_icode_server_port = "7296";
    $icode_check = "y";
} else {
    $cf_icode_server_port = "7295";
    $icode_check = "n";
}

if ($tel && $wr_content && $icode_check=="y") {
    // 문자전송 코드 시작
    include_once(G5_LIB_PATH."/icode.sms.lib.php");

    // sms 발송 기초자료
    $Caller     = $wr_name; // 발신자 이름
    $wr_reply   = $tel; // 발신자 전화번호
    $wr_message = $wr_content;  // 문자내용
    
    $recv_number = $sms5['cf_phone'];  // SMS5 환경설정 전화번호
    //echo $recv_number
    
    // 예약자 연락처의 유효성을 검사한다
    $var = explode('-', $wr_reply);
    $arr = array('02', '031', '032', '033', '041', '042', '043', '044', '051', '052', '053', '054', '055', '061', '062', '063', '064', '070', '010', '011', '016', '017', '018', '019');
    if(in_array($var['0'], $arr) == false || preg_match('/^[0-9]{3,4}$/', $var['1']) == false || preg_match('/^[0-9]{4}$/', $var['2']) == false)
        alert('연락처가 올바른 형식이 아닙니다.');
    
    if (!trim($wr_reply))
        win_close_alert('회신 번호를 입력해주세요.');
    
    if (!trim($wr_message))
        win_close_alert('메세지를 입력해주세요.');
    
    if (!trim($recv_number))
        win_close_alert('문자 메세지를 받을 휴대폰번호를 입력해주세요.');
    
    
    $wr_total = "1";
    
    $wr_by = $_POST["wr_by"];  // 예약전송 - 년
    $wr_bm = $_POST["wr_bm"];  // 예약전송 - 월
    $wr_bd = $_POST["wr_bd"];  // 예약전송 - 일
    $wr_bh = $_POST["wr_bh"];  // 예약전송 - 시
    $wr_bi = $_POST["wr_bi"];  // 예약전송 - 분
    
    // 예약전송
    if ($wr_by && $wr_bm && $wr_bd && $wr_bh && $wr_bi) {
        $wr_booking = "$wr_by-$wr_bm-$wr_bd $wr_bh:$wr_bi"; // DB저장
        $booking = $wr_by.$wr_bm.$wr_bd.$wr_bh.$wr_bi; // icode 전송
    } else {
        $wr_booking = '';
        $booking = '';
    }
    
    if ($config['cf_sms_use'] != 'icode') {
        alert('기본환경설정에서 icode sms 사용이 비활성화 되어 있습니다.');
    }
    
    
    //include_once "sms_function.php";
    
    $dest = str_replace('-', '', trim($recv_number)); // icode 전송
    $callBack = str_replace('-', '', trim($wr_reply)); // icode 전송
    $wr_message = conv_unescape_nl($wr_message);
    
    
    $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($dest, $callBack, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($wr_message)), "");
    $SMS->Send();
    
    
    $SMS = new SMS5;
    $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $result = $SMS->Add($dest, $callBack, $Caller, $wr_message, $booking, $wr_total);
    

    include 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 ($result)
    {
        $result = $SMS->Send();
    
        if ($result) //SMS 서버에 접속했습니다.
        {
            $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;
            
            $result = $SMS->Result;
                
            list($phone, $code) = explode(":", $result);
    
            if (substr($code,0,5) == "Error") {
            
                $hs_code = substr($code,6,2);
    
                switch ($hs_code) {
                    case '02':     // "02:형식오류"
                        $hs_memo = "형식이 잘못되어 전송이 실패하였습니다.";
                        break;
                    case '23':     // "23:인증실패,데이터오류,전송날짜오류"
                        $hs_memo = "데이터를 다시 확인해 주시기바랍니다.";
                        break;
                    case '97':     // "97:잔여코인부족"
                        $hs_memo = "잔여코인이 부족합니다.";
                        break;
                    case '98':     // "98:사용기간만료"
                        $hs_memo = "사용기간이 만료되었습니다.";
                        break;
                    case '99':     // "99:인증실패"
                        $hs_memo = "인증 받지 못하였습니다. 계정을 다시 확인해 주세요.";
                        break;
                    default:     // "미 확인 오류"
                        $hs_memo = "알 수 없는 오류로 전송이 실패하었습니다.";
                        break;
                }
                $wr_failure++;
                $hs_flag = 0;
            } else {
                $hs_code = $code;
                $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)."'");
            
            
            $SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
    
            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");
        }
        else win_close_alert("에러: SMS 서버와 통신이 불안정합니다.");
    }
    else win_close_alert("에러: SMS 데이터 입력도중 에러가 발생하였습니다.");
    
    
    function win_close_alert($msg) {
        $html = "<script>
        act = window.open('".G5_ADMIN_URL."/sms_admin/sms_ing.php', 'act', 'width=300, height=200');
        act.close();
        alert('$msg');
        history.back();</script>";
    
        echo $html;
        exit;
    }
}


if ($bo_table && $tel && $wr_content) {
    alert("신청되었습니다.",$sms_url);
} elseif ($bo_table) {
    alert("등록되었습니다.",$sms_url);
} else {
    alert("Thanks",G5_URL);
}
?>


참고자료
http://sir.co.kr/qa/?wr_id=14933
https://sir.kr/qa/282849

댓글목록

등록된 댓글이 없습니다.


Total 459건 12 페이지
  • RSS
기술자료 목록
239
그누보드   11454  2015-06-25 18:15  
238
그누보드   13872  2015-06-16 18:05 ~ 2015-06-25 00:00  
237
그누보드   23479  2015-06-14 11:48 ~ 2016-12-05 00:00  
236
그누보드   13411  2015-05-19 01:43 ~ 2015-05-19 00:00  
235
그누보드   11240  2015-05-19 01:39 ~ 2015-05-19 00:00  
234
그누보드   12599  2015-04-20 20:50  
233
그누보드   12634  2015-04-01 12:03  
232
그누보드   14669  2015-03-31 17:48  
231
그누보드   13810  2015-03-20 20:58 ~ 2018-10-17 03:51  
230
그누보드   13980  2015-03-12 17:06  
229
그누보드   17126  2015-05-10 19:17 ~ 2018-11-15 07:37  
열람
그누보드   21778  2015-02-22 18:06 ~ 2019-09-19 23:16  
227
그누보드   13119  2015-01-12 22:59  
226
그누보드   13975  2015-01-02 14:43 ~ 2017-11-17 05:34  
225
그누보드   12430  2015-01-02 14:39 ~ 2015-01-09 00:00  
224
그누보드   10526  2015-01-02 11:41 ~ 2015-01-13 00:00  
223
그누보드   10230  2015-01-02 11:33 ~ 2015-01-13 00:00  
222
그누보드   20605  2014-12-18 17:24 ~ 2024-01-30 14:30  
221
그누보드   12006  2014-12-12 13:15 ~ 2020-10-17 06:36  
220
그누보드   32680  2014-10-29 12:27 ~ 2020-10-21 18:52  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.