아이코드(Icode) LMS(SMS)발송샘플 > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

아이코드(Icode) LMS(SMS)발송샘플 정보

아이코드(Icode) LMS(SMS)발송샘플

본문

https://github.com/gnuboard/youngcart5/blob/master/lib/icode.lms.lib.php

2째줄 if (!defined('_GNUBOARD_')) exit; 제외하고 그대로 가져와서 파일로 생성해도 무방합니다.

그리고 샘플코드입니다. 눈으로만 검수했습니다. 디버깅이 필요 할 수 있어요.


<?php
$config['cf_icode_token_key'] = '';//아이코드 토큰
$config['icode_server_ip'] = $_SERVER['SERVER_ADDR'];//서버IP
$config['icode_id'] = '';//아이코드ID
$config['icode_pw'] = '';//아이코드PW
//상수추가 
define('ICODE_JSON_SOCKET_HOST', '211.172.232.124');
define('ICODE_JSON_SOCKET_PORT', '9201');
define('G5_ICODE_LMS_MAX_LENGTH', 1500);    // 구버전 LMS 최대길이
define('G5_ICODE_JSON_MAX_LENGTH', 2000);   // JSON 버전 LMS 최대길이
 
include_once('./icode.lms.lib.php');//라이브러리 위치로 변경 사용
if (!function_exists("get_icode_userinfo")) {
    function get_icode_userinfo($id, $pass)
    {
        $res = get_sock('http://www.icodekorea.com/res/userinfo.php?userid='.$id.'&userpw='.$pass, 2);
        $res = explode(';', $res);
        $userinfo = array(
            'code'      => $res[0], // 결과코드
            'coin'      => $res[1], // 고객 잔액 (충전제만 해당)
            'gpay'      => $res[2], // 고객의 건수 별 차감액 표시 (충전제만 해당)
            'payment'   => $res[3]  // 요금제 표시, A:충전제, C:정액제
        );
 
        return $userinfo;
    }
}
if (!function_exists("get_sock")) {
    function get_sock($url, $timeout=30)
    {
        // host 와 uri 를 분리
        //if (ereg("http://([a-zA-Z0-9_\-\.]+)([^<]*)", $url, $res))
        if (preg_match("/http:\/\/([a-zA-Z0-9_\-\.]+)([^<]*)/", $url, $res))
        {
            $host = $res[1];
            $get  = $res[2];
        }
       
        $header = '';
 
        // 80번 포트로 소캣접속 시도
        $fp = fsockopen ($host, 80, $errno, $errstr, $timeout);
        if (!$fp)
        {
            //die("$errstr ($errno)\n");
 
            echo "$errstr ($errno)\n";
            return null;
        }
        else
        {
            fputs($fp, "GET $get HTTP/1.0\r\n");
            fputs($fp, "Host: $host\r\n");
            fputs($fp, "\r\n");
 
            // header 와 content 를 분리한다.
            while (trim($buffer = fgets($fp,1024)) != "")
            {
                $header .= $buffer;
            }
            while (!feof($fp))
            {
                $buffer .= fgets($fp,1024);
            }
        }
        fclose($fp);
 
        // content 만 return 한다.
        return $buffer;
    }
}

 
$send_name = '발송인';//발송인명
$send_phone_number = '*** 개인정보보호를 위한 전화번호 노출방지 ***';//발송번호
$recv_phone_number = '*** 개인정보보호를 위한 휴대폰번호 노출방지 ***';//받는사람핸드폰
$SMS_CONTENTS = '내용';//발송컨텐츠
 
$port_setting = get_icode_port_type($config['icode_id'], $config['icode_pw']);
 
if($port_setting !== false) {
   
$SMS = new LMS;
    $SMS->SMS_con($config['icode_server_ip'], $config['icode_id'], $config['icode_pw'], $port_setting);
                           
    $strDest     = array();
    $strDest[]   = $recv_phone_number;
    $strCallBack = $send_phone_number;
    //$strCaller   = iconv_euckr(trim($send_name));
    $strCaller   = iconv('utf-8', 'euc-kr', trim($send_name));
    $strSubject  = '';
    $strURL      = '';
    //$strData     = iconv_euckr($SMS_CONTENTS);
    $strData     = iconv('utf-8', 'euc-kr', $SMS_CONTENTS);
    $strDate     = '';
    $nCount      = count($strDest);
    $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount);
    $SMS->Send();
    $rst = $SMS->Result;//발송결과값
    $SMS->Init();
}

 
추천
2

댓글 6개

팁 주셔서 감사합니다.

알려줘도 질문거리가 생기네요..

icode_server_ip 는 본인 서버의 주소인가요?

샘플에는 토큰키 넣는곳이 없는데 토큰없이 사용할수 있는건지요

일단 알려주신데로 해보면 에러가 납니다.

Fatal error: Uncaught Error: Call to undefined function get_icode_userinfo()

@RYANRYAN 5c67a99da3de73f043a50f6c78b737ea_1728351096_9039.png

 

혹시 라이언님은 동작 하시나요?

떠먹여 주시는데 못받아먹어서 너무 죄송하네요.

 

sms.php만들어 올려주신 코드에 토큰 생성해서 입력하고 나머지도 내용에 맞게 입력했는데 에러가 발생하네요.

그누보드 없이 정규식으로만 코딩하는게 얼마나 힘든지 체험중입니다.

참고로 icode.lms.lib.php는 같은 폴더에 존재하고 현재 그누보드를 이용해서는 토큰없이 잘 사용하고 있습니다.


 

 

혹 오류 있으면 다시 말씀주세요.

댓글보니 상수가 필요하여 해당부분 위 코드에 추가하였습니다.

상단부분에

//상수추가

로 올려놓았습니다.

전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT