diff --git a/adm/css/admin.css b/adm/css/admin.css
index 0d6575409..524dc0a9e 100644
--- a/adm/css/admin.css
+++ b/adm/css/admin.css
@@ -924,4 +924,10 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
#grp_color li span{width:10px;height:10px; display:inline-block;background:rgb(75, 178, 197);margin-right:5px;}
#grp_color li.color2 span{background:rgb(234, 162, 40);}
#chart_wr h5{text-align:center;border:1px solid #eee;padding:30px 0}
-#chart_wr{margin:20px }
+
+#chart_wr{margin:20px }
+
+/*전송실패 문자 재전송 내역*/
+.sms_table{padding:0 20px 40px;}
+.sms_table table th{border:1px solid #ddd;padding:9px 0}
+.sms_table table td{border:1px solid #ddd;text-align:center;width:16%;padding:9px 0}
\ No newline at end of file
diff --git a/adm/sms_admin/_common.php b/adm/sms_admin/_common.php
index e44e58e4d..4afeddf37 100644
--- a/adm/sms_admin/_common.php
+++ b/adm/sms_admin/_common.php
@@ -2,6 +2,7 @@
define('G5_IS_ADMIN', true);
include_once ('../../common.php');
include_once(G5_ADMIN_PATH.'/admin.lib.php');
+include_once(G5_SMS5_PATH.'/sms5.lib.php');
if (!strstr($_SERVER['SCRIPT_NAME'], 'install.php')) {
if(!mysql_num_rows(mysql_query(" show tables like '{$g5['sms5_config_table']}' ")))
diff --git a/adm/sms_admin/config.php b/adm/sms_admin/config.php
index 858cfb313..0b532b447 100644
--- a/adm/sms_admin/config.php
+++ b/adm/sms_admin/config.php
@@ -86,10 +86,6 @@ if ($config['cf_sms_use'] == 'icode') { // 아이코드 사용
-
- | 건별 금액 |
- 원 |
-
|
diff --git a/adm/sms_admin/history_send.php b/adm/sms_admin/history_send.php
index 214815a6a..109dfcc41 100644
--- a/adm/sms_admin/history_send.php
+++ b/adm/sms_admin/history_send.php
@@ -39,7 +39,8 @@ if (!$res['cnt']) {
$sql = sql_query("select * from {$g5['sms5_history_table']} where wr_no='$wr_no' $sql_renum $sql_flag");
while ($res = sql_fetch_array($sql))
{
- $res['bk_hp'] = get_hp($res['bk_hp'], 0);
+ $res['bk_hp'] = get_hp($res['hs_hp'], 0);
+ $res['bk_name'] = $res['hs_name'];
if ($g5['sms5_demo'])
$res['bk_hp'] = '0100000000';
@@ -48,6 +49,7 @@ while ($res = sql_fetch_array($sql))
}
$wr_total = count($list);
+$reply = str_replace('-', '', trim($write['wr_reply']));
if ($config['cf_sms_use'] != 'icode') {
alert('기본환경설정에서 icode sms 사용이 비활성화 되어 있습니다.');
@@ -55,79 +57,170 @@ if ($config['cf_sms_use'] != 'icode') {
include_once(G5_ADMIN_PATH.'/admin.head.php');
$SMS = new SMS5;
-$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
-$reply = str_replace('-', '', trim($write['wr_reply']));
+if($config['cf_sms_type'] == 'LMS') {
+ $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']);
-$result = $SMS->Add($list, $reply, '', '', $write['wr_message'], '', $wr_total);
-
-if ($result)
-{
- $result = $SMS->Send();
-
- if ($result) //SMS 서버에 접속했습니다.
- {
- sql_query("insert into {$g5['sms5_write_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', wr_reply='".addslashes($write['wr_reply'])."', wr_message='".addslashes($write['wr_message'])."', wr_total='$wr_total', wr_datetime='".G5_TIME_YMDHIS."'");
+ if($port_setting !== false) {
+ $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting);
$wr_success = 0;
$wr_failure = 0;
$count = 0;
- foreach ($SMS->Result as $result)
- {
- list($phone, $code) = explode(":", $result);
+ for($i=0; $i<$wr_total; $i++) {
+ $strDest = array();
+ $strDest[] = $list[$i]['bk_hp'];
+ $strCallBack = $reply;
+ $strCaller = $config['cf_title'];
+ $strSubject = '';
+ $strURL = '';
+ $strData = $write['wr_message'];
+ if( !empty($list[$i]['bk_name']) ){
+ $strData = str_replace("{이름}", $list[$i]['bk_name'], $strData);
+ }
+ $strDate = $booking;
+ $nCount = 1;
- if (substr($code,0,5) == "Error")
- {
- $hs_code = substr($code,6,2);
+ $result = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount);
- 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;
+ if($result) {
+ $result = $SMS->Send();
+
+ if ($result) //SMS 서버에 접속했습니다.
+ {
+ foreach ($SMS->Result as $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($phone, 1)."로 전송했습니다.";
+ $wr_success++;
+ $hs_flag = 1;
+ }
+
+ $row = $list[$i];
+ $row['bk_hp'] = get_hp($row['bk_hp'], 1);
+
+ $log = array_shift($SMS->Log);
+ $log = @iconv('euc-kr', 'utf-8', $log);
+
+ sql_query("insert into {$g5['sms5_history_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', bg_no='{$row['bg_no']}', mb_id='{$row['mb_id']}', bk_no='{$row['bk_no']}', hs_name='".addslashes($row['bk_name'])."', hs_hp='{$row['bk_hp']}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='$hs_flag', hs_code='$hs_code', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'", false);
+ }
+
+ $SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
}
- $wr_failure++;
- $hs_flag = 0;
}
- else
- {
- $hs_code = $code;
- $hs_memo = get_hp($phone, 1)."로 전송했습니다.";
- $wr_success++;
- $hs_flag = 1;
- }
-
- $row = array_shift($list);
- $row['bk_hp'] = get_hp($row['bk_hp'], 1);
-
- $log = array_shift($SMS->Log);
- $log = @iconv('euc-kr', 'utf-8', $log);
-
- sql_query("insert into {$g5['sms5_history_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', bg_no='{$row['bg_no']}', mb_id='{$row['mb_id']}', bk_no='{$row['bk_no']}', hs_name='{$row['hs_name']}', hs_hp='{$row['hs_hp']}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='$hs_flag', hs_code='$hs_code', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'", false);
}
- $SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
- sql_query("update {$g5['sms5_write_table']} set wr_success='$wr_success', wr_failure='$wr_failure' where wr_no='$wr_no' and wr_renum='$new_wr_renum'");
+ sql_query("insert into {$g5['sms5_write_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', wr_reply='".addslashes($write['wr_reply'])."', wr_message='".addslashes($write['wr_message'])."', wr_success='$wr_success', wr_failure='$wr_failure', wr_total='$wr_total', wr_datetime='".G5_TIME_YMDHIS."'");
+
sql_query("update {$g5['sms5_write_table']} set wr_re_total=wr_re_total+1 where wr_no='$wr_no' and wr_renum=0");
}
- else alert("에러: SMS 서버와 통신이 불안정합니다.");
+} else {
+ $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
+
+ $reply = str_replace('-', '', trim($write['wr_reply']));
+
+ $result = $SMS->Add($list, $reply, '', '', $write['wr_message'], '', $wr_total);
+
+ if ($result)
+ {
+ $result = $SMS->Send();
+
+ if ($result) //SMS 서버에 접속했습니다.
+ {
+ sql_query("insert into {$g5['sms5_write_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', wr_reply='".addslashes($write['wr_reply'])."', wr_message='".addslashes($write['wr_message'])."', wr_total='$wr_total', wr_datetime='".G5_TIME_YMDHIS."'");
+
+ $wr_success = 0;
+ $wr_failure = 0;
+ $count = 0;
+
+ foreach ($SMS->Result as $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($phone, 1)."로 전송했습니다.";
+ $wr_success++;
+ $hs_flag = 1;
+ }
+
+ $row = array_shift($list);
+ $row['bk_hp'] = get_hp($row['bk_hp'], 1);
+
+ $log = array_shift($SMS->Log);
+ $log = @iconv('euc-kr', 'utf-8', $log);
+
+ sql_query("insert into {$g5['sms5_history_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', bg_no='{$row['bg_no']}', mb_id='{$row['mb_id']}', bk_no='{$row['bk_no']}', hs_name='{$row['hs_name']}', hs_hp='{$row['hs_hp']}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='$hs_flag', hs_code='$hs_code', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'", false);
+ }
+ $SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
+
+ sql_query("update {$g5['sms5_write_table']} set wr_success='$wr_success', wr_failure='$wr_failure' where wr_no='$wr_no' and wr_renum='$new_wr_renum'");
+ sql_query("update {$g5['sms5_write_table']} set wr_re_total=wr_re_total+1 where wr_no='$wr_no' and wr_renum=0");
+ }
+ else alert("에러: SMS 서버와 통신이 불안정합니다.");
+ }
+ else alert("에러: SMS 데이터 입력도중 에러가 발생하였습니다.");
}
-else alert("에러: SMS 데이터 입력도중 에러가 발생하였습니다.");
?>