|
| 1 | +<? |
| 2 | +include "../web/_inc/db.php"; |
| 3 | + |
| 4 | +$stSQL = " |
| 5 | +SELECT s.*, e.message, e.senderNo, p.path, p.fileName, c.coupon_seq |
| 6 | +FROM tomtom.send_list s |
| 7 | + LEFT JOIN event_list e ON s.event_seq = e.seq |
| 8 | + LEFT JOIN pic_list p ON s.event_seq = p.event_seq |
| 9 | + LEFT JOIN coupon_list c ON e.coupon_seq = c.coupon_seq |
| 10 | +where s.rtn_msg is null |
| 11 | +limit 100 |
| 12 | +"; |
| 13 | +$query = mysql_query($stSQL); |
| 14 | + |
| 15 | +$curl_obj = new Curl_class(); |
| 16 | +$curl_obj->init(); |
| 17 | +date_default_timezone_set('GMT-8'); |
| 18 | + |
| 19 | +// TB |
| 20 | +//$curl_obj->url = "http://tdev.vmclub.co.kr/newmms/ext_message.html"; |
| 21 | +// PB |
| 22 | +$curl_obj->url = "http://aoa.sktelecom.com/newmms/ext_message.html"; |
| 23 | + |
| 24 | +while( $row = mysql_fetch_assoc($query) ) |
| 25 | +{ |
| 26 | + |
| 27 | + $sphone = $row[senderNo]; |
| 28 | + $rphone = $row[phoneNo]; |
| 29 | + //$msg = base64_encode(iconv("utf-8", "euc-kr",$row[message])); |
| 30 | + $msg = base64_encode(iconv("utf-8", "euc-kr",$row[smsg])); |
| 31 | + $type = $row[type]; |
| 32 | + $file = $row[path]; |
| 33 | + $send_key = $row[seq]; |
| 34 | + |
| 35 | + //$rphone = "01063643265"; |
| 36 | + echo ">>>>>>>>>>\n"; |
| 37 | + echo "type = $type\n"; |
| 38 | + echo "sphone= $sphone\n"; |
| 39 | + echo "rphone= $rphone\n"; |
| 40 | + echo "msg = $msg\n"; |
| 41 | + echo "file = $file\n"; |
| 42 | + echo "seq = $send_key\n"; |
| 43 | + echo ">>>>>>>>>>\n"; |
| 44 | + |
| 45 | + $data= array(); |
| 46 | + $data[id] = "test1"; // SKT에서 발급 받은 아이디 |
| 47 | + $data[pwd] = "test1"; // SKT에서 발급 받은 비밀번호 |
| 48 | + $data[gubun] = "S"; // S:SMS L:LMS M:MMS |
| 49 | + switch ( $type) |
| 50 | + { |
| 51 | + case "sms": |
| 52 | + $data[gubun] = 'S'; |
| 53 | + break; |
| 54 | + case "lms": |
| 55 | + $data[gubun] = 'L'; |
| 56 | + $data[subject] = ""; |
| 57 | + break; |
| 58 | + case "mms": |
| 59 | + $data[gubun] = 'M'; |
| 60 | + $data[subject] = ""; |
| 61 | + if ( $row[fileName] ) // [kang] |
| 62 | + { |
| 63 | + if ( strpos($row[path],"/") > 0 ) |
| 64 | + { |
| 65 | + $aa = dirname($__FILE__)."../web"; |
| 66 | + $aa .= str_replace("..","", $row[path]); |
| 67 | + $data[file] = "@".$aa; |
| 68 | + } else { |
| 69 | + $data[file] = "@".$row[path]; // /xxx/xx/xxx/sjsjajs.jpg |
| 70 | + } |
| 71 | + } |
| 72 | + break; |
| 73 | + } |
| 74 | + |
| 75 | + $data[send_key] = $send_key; // 발송 서버의 Unique Key 받은데로 리턴. |
| 76 | + $data[send_phone] = $sphone; // 발신자 전화번호 |
| 77 | + $data[recv_phone] = $rphone; // 수신자 전화번호 |
| 78 | + $data[txt] = $msg; |
| 79 | + |
| 80 | + |
| 81 | + $data[returntype] = "TEXT"; // XML , TEXT |
| 82 | + $data[returnurl] = "http://www.naver.com"; // XML , TEXT |
| 83 | + |
| 84 | + echo "\n=== dumpData ===\n"; |
| 85 | + var_dump($data); |
| 86 | + echo "\n=== dumpData ===\n"; |
| 87 | + |
| 88 | + |
| 89 | + $curl_obj->parms = $data; |
| 90 | + |
| 91 | + // 1은 POST 값이 있다는 의미 |
| 92 | + $curl_obj->post = 1; |
| 93 | + |
| 94 | + // POST 값이 폼데이터 형식이 아닌 GET 형식으로 전송 |
| 95 | + $curl_obj->parms_type = 'post'; |
| 96 | + |
| 97 | + //로그인 실행 |
| 98 | + $curl_obj->action(); |
| 99 | + $xml = $curl_obj->recive; |
| 100 | + |
| 101 | + $i = strpos($xml, "code_msg="); $i+=9; |
| 102 | + $j = strpos($xml, ",", $i); |
| 103 | + $code_msg = substr($xml, $i, $j -$i); |
| 104 | + printf("\nCode_Msg : %s\n", $code_msg); |
| 105 | + |
| 106 | + if ($code_msg == "Success") |
| 107 | + { |
| 108 | + $code_msg = "succ"; |
| 109 | + } |
| 110 | + |
| 111 | + $stSQL = "UPDATE send_list |
| 112 | + SET rtn_msg = '$code_msg' |
| 113 | + ,send_date = now() |
| 114 | + WHERE seq = $send_key "; |
| 115 | + mysql_query($stSQL); |
| 116 | +} |
| 117 | +$curl_obj->Close(); |
| 118 | + |
| 119 | +// Report Check |
| 120 | +echo "Report \n"; |
| 121 | + $curl_obj = new Curl_class(); |
| 122 | + $curl_obj->init(); |
| 123 | + $curl_obj->url = "http://aoa.sktelecom.com/newmms/ext_message.html"; |
| 124 | + $data = array(); |
| 125 | + $data[id] = "test1"; // SKT에서 발급 받은 아이디 |
| 126 | + $data[pwd] = "test1"; // SKT에서 발급 받은 비밀번호 |
| 127 | + $data[repchk] = '1'; |
| 128 | + $data[returntype] = "TEXT"; // XML , TEXT |
| 129 | + $curl_obj->parms = $data; |
| 130 | + $curl_obj->post = 1; |
| 131 | + $curl_obj->parms_type = 'post'; |
| 132 | + $curl_obj->action(); |
| 133 | + $xml = $curl_obj->recive; |
| 134 | + |
| 135 | + $ar = explode("\n", $xml); |
| 136 | + foreach($ar as $val) |
| 137 | + { |
| 138 | + $rerr = $serr = ""; |
| 139 | + $tmp = explode(":", $val); |
| 140 | + if ( count($tmp) != 4 ) continue; |
| 141 | + var_dump($tmp); |
| 142 | + $serr = ($tmp[1] == "12" ) ? "succ":"fail"; |
| 143 | + if ($serr == 'succ') |
| 144 | + { |
| 145 | + $rerr = ($tmp[2] == "12" || $tmp[2] == "20" ) ? "succ":"fail"; |
| 146 | + } |
| 147 | + $seqno = $tmp[0]; |
| 148 | + $stSQL = "UPDATE send_list |
| 149 | + SET receive_date = NOW() |
| 150 | + ,rtn_msg = '$serr' |
| 151 | + ,receive_msg = '$rerr' |
| 152 | + WHERE seq = $seqno "; |
| 153 | + echo "$stSQL\n"; |
| 154 | + mysql_query($stSQL); |
| 155 | + } |
| 156 | + |
| 157 | + |
| 158 | + |
| 159 | +?> |
| 160 | + |
| 161 | + |
| 162 | + |
| 163 | + |
| 164 | + |
| 165 | +<?php |
| 166 | + |
| 167 | +class Curl_class { |
| 168 | + var $url = ''; // 접속 URL |
| 169 | + var $cookie = './cookie.txt'; // 쿠키파일 입니다. |
| 170 | + var $post = 0; // post 값 여부 |
| 171 | + var $parms = ''; // 전송할 파라미터 |
| 172 | + var $parms_type = ''; // 전송할 파라미터 타입 |
| 173 | + var $recive = ''; // 결과값 저장 |
| 174 | + var $return = 1; // Curl 옵션 |
| 175 | + var $timeout = 30; // Curl 옵션 |
| 176 | + var $addopt = ''; // 추가 Curl 옵션 |
| 177 | + var $err = ''; |
| 178 | + var $ch = ""; |
| 179 | + function init() |
| 180 | + { |
| 181 | + $this->ch = curl_init(); |
| 182 | + } |
| 183 | + function Close() |
| 184 | + { |
| 185 | + curl_close($this->ch); |
| 186 | + } |
| 187 | + function action(){ |
| 188 | + /* 배열로 저장된 파리미터 값을 Get 타입으로 변경 해줌 */ |
| 189 | + if($this->parms_type == 'get'){ |
| 190 | + if(sizeof($this->parms) > 0){ |
| 191 | + $datas = ''; |
| 192 | + foreach ($this->parms as $obj=>$val){ |
| 193 | + $datas .= $obj.'='.$val.'&'; |
| 194 | + } |
| 195 | + $this->parms = substr($datas,0,-1); |
| 196 | + } |
| 197 | + } |
| 198 | + // Curl 실행 |
| 199 | + |
| 200 | + curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, FALSE); |
| 201 | + curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 0); // 보안 위험 있음 |
| 202 | + curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, 0); // 보안 위험 있음 |
| 203 | + curl_setopt($this->ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); |
| 204 | + curl_setopt ($this->ch, CURLOPT_URL,$this->url); |
| 205 | + curl_setopt ($this->ch, CURLOPT_POST, $this->post); |
| 206 | + curl_setopt ($this->ch, CURLOPT_POSTFIELDS, $this->parms); |
| 207 | + curl_setopt ($this->ch, CURLOPT_COOKIEJAR, $this->cookie); |
| 208 | + curl_setopt ($this->ch, CURLOPT_COOKIEFILE, $this->cookie); |
| 209 | + curl_setopt ($this->ch, CURLOPT_TIMEOUT, $this->timeout); |
| 210 | + curl_setopt ($this->ch, CURLOPT_RETURNTRANSFER, $this->return); |
| 211 | + |
| 212 | + // 추가 Curl옵션이 있을경우 이를 적용 시켜줌 |
| 213 | + if($this->addopt) curl_setopt_array($this->ch, $this->addopt); |
| 214 | + |
| 215 | + $this->recive = curl_exec ($this->ch); |
| 216 | + $this->err = curl_error($this->ch); |
| 217 | + |
| 218 | + } |
| 219 | + |
| 220 | +} |
| 221 | + |
| 222 | +?> |
0 commit comments