127)
$over++;
}
return chop(substr($str,0,$size - $over%2));
}
function sendsms_mysql($msg, $dbConnPgSql, $strSqlpg, $group_seq, $sid)
{
$tmpSqlmy = "";
$tmpSqlpg = "";
$user_count = 0;
$cellphone_list = "";
$dbConnPgSql->query($strSqlpg);
if($dbConnPgSql->nf() == 0)
{
TRACE("fail to pgsql querty : $strSqlpg
", $trace);
return false;
}
// 2010-09-15 huibong SMS RELAY ¼¹ö º¯°æ ¹× °ü·Ã ÄÚµå ¼öÁ¤ ó¸®ÇÔ.
$dbConnMySql = new dbconnect(DB_HOST, DB_USER , DB_PWD, 'sms', __FILE__, __LINE__);
while($dbConnPgSql->next_record())
{
$cellphone = $dbConnPgSql->f("member_cellphone");
if( strlen($cellphone_list) > 0 )
{
$cellphone_list .= "|ktics1^" . $cellphone;
}
else
{
$cellphone_list = "ktics1^" . $cellphone;
}
$user_count ++;
$tmpSqlpg .= "INSERT INTO t_sms_log (group_seq, sms_id, sms_cellphone, sms_message, reg_datetime, update_datetime) ";
$tmpSqlpg .= "VALUES (".$group_seq.", 'SH_".$smsgroup."', '".$cellphone."', '".$msg."', now(), now()); ";
}
$tmpSqlmy = "INSERT INTO SDK_SMS_SEND ( USER_ID, SCHEDULE_TYPE, SUBJECT, NOW_DATE,SEND_DATE, CALLBACK, DEST_COUNT, DEST_INFO, SMS_MSG) ";
$tmpSqlmy .= "VALUES ('ktics1', 0,'ktics1',DATE_FORMAT(now(),'%Y%m%d%H%i%s'),DATE_FORMAT(now(),'%Y%m%d%H%i%s'),'0317810344',$user_count,'$cellphone_list','$msg')";
$res = $dbConnMySql->query($tmpSqlmy,__FILE__, __LINE__);
if( !$res->result )
{
TRACE("fail to send SMS
", $trace);
return false;
}
$dbConnMySql->close();
$dbConnPgSql->query($tmpSqlpg);
return true;
}
function sendsms_oracle($msg, $dbConnPgSql, $strSqlpg, $group_seq, $sid)
{
$tmpSqlmy = "";
$tmpSqlpg = "";
$user_count = 0;
$dbConnPgSql->query($strSqlpg);
if($dbConnPgSql->nf() == 0)
{
TRACE("fail to pgsql querty : $strSqlpg
", $trace);
return false;
}
$dbConnOra = new Oracle_OCI_log;
$dbConnOra->connect(DB_HOST, DB_USER, DB_SID);
if( !$dbConnOra->conn )
TRACE("Oracle Connect Failed
", $trace);
TRACE("Oracle DB SERVER Connecting...
", $trace);
while($dbConnPgSql->next_record())
{
$cellphone = $dbConnPgSql->f("member_cellphone");
$cli_ip = $_SERVER['REMOTE_ADDR'];
$tmpSqlmy = "INSERT INTO SC_TRAN(TR_NUM, TR_SENDDATE, TR_SENDSTAT, TR_PHONE, TR_CALLBACK, TR_MSG, TR_MSGTYPE)";
$tmpSqlmy .= "VALUES ( SC_SEQUENCE.NEXTVAL, SYSDATE, '0', '$cellphone', '$cellphone', '$msg', '0')";
$dbConnOra->parseExec($tmpSqlmy);
if($dbConnOra->error) {
TRACE("fail to send SMS
", $trace);
continue;
}
$user_count ++;
$tmpSqlpg .= "INSERT INTO t_sms_log (group_seq, sms_id, sms_cellphone, sms_message, reg_datetime, update_datetime) ";
$tmpSqlpg .= "VALUES (".$group_seq.", 'SH_".$sid."', '".$cellphone."', '".$msg."', now(), now()); ";
}
$dbConnOra->disconnect();
if($user_count == $dbConnPgSql->nf())
{
TRACE("Success to All send SMS
", $trace);
$dbConnPgSql->query($tmpSqlpg);
return true;
}
return false;
}
$raddr = $_SERVER["REMOTE_ADDR"];
// CHG 2010-06-17 huibong Message ¿¡¼ ±¸ºÐÀÚ : À» Á¦°Åó¸®
//$msg = "[RAID:".$_GET['host']."]::".$time.":".$message;
if($time != "")
{
$time = sprintf("%s-%s %s:%s:%s"
, substr($time, 4, 2)
, substr($time, 6, 2)
, substr($time, 8, 2)
, substr($time, 10, 2)
, substr($time, 12, 2)
);
}
$msg = "[".$type.":".$sendhost."] ".$time." ".$message;
TRACE("1. MAIL : " . $msg . "
", $trace);
$cmd = 'echo `date +"%Y%m%d %H:%M:%S"`'.": $sendhost";
system("$cmd >> logs/".$type.".send.sms.mail.`date +%Y%m%d`.log");
if($type != "RAID")
$body = $msg;
else
$body = trim(htmlBody($raddr));
#$body = trim(MakeHtmlBodyFromArcmondClient($raddr, 8787, 2)); // default value of arcmond
if($mailgroup != "")
{
$to_mail = explode(";", $mailgroup);
$cnt = count($to_mail);
for($i=0; $i < $cnt; $i++)
{
if(ereg("(^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*$)", $to_mail[$i]))
{
$sendmail = new sendmail("127.0.0.1", 25, 30);
$sendmail->open();
$sendmail->send($to_mail[$i], $from_mail, trim($msg), $body);
$sendmail->close();
}
}
}
if($smsgroup != "" && $msg != "")
{
$sms_host = strtok( $sendhost, "." );
$sms_time = $time;
if( strlen($sms_time) > 14 )
{
$sms_time = substr($time, 5);
}
$sms_msg = $message;
if( strncmp( $message, "Controller#", 11) == 0 )
{
$sms_msg = substr( $message, 10 );
}
// $msg = "[RAID:".$sms_host." ".$raddr."] ".$sms_time." ".$sms_msg;
$msg = "[".$type.":".$sms_host."] ".$sms_time." ".$sms_msg;
$dbConnPgSql = new DB_Sql;
$dbConnPgSql->setHostIP(PGDB_HOST);
$strSqlpg = "SELECT group_seq ";
$strSqlpg .= "FROM t_group ";
$strSqlpg .= "WHERE group_id = '".$smsgroup."' AND deleted_yn = 'N'";
$nLength=strlen($msg);
TRACE("2. SMS : $msg (size :$nLength)\n
", $trace);
$dbConnPgSql->query($strSqlpg);
if($dbConnPgSql->nf() == 1)
{
$dbConnPgSql->next_record();
$group_seq = $dbConnPgSql->f("group_seq");
if($group_seq != "")
{
$strSqlpg = "SELECT member_cellphone ";
$strSqlpg .= "FROM t_group_member ";
$strSqlpg .= "WHERE group_seq = ".$group_seq;
if($nLength > 80)
{
$strtmp = $msg;
$msg = cutstr($strtmp,80);
$nLength = strlen($msg);
TRACE("CutSTR Message : $msg Size :$nLength \n
", $trace);
}
$bSendSMS = false;
for($i = 0; $i< 2; $i++)
{
if(!$bSendSMS)
{
if( ORDER_TYPE == "KT" )
$bSendSMS = sendsms_mysql( $msg, $dbConnPgSql, $strSqlpg, $group_seq, $smsgroup );
else if( ORDER_TYPE == "LGU")
$bSendSMS = sendsms_oracle( $msg, $dbConnPgSql, $strSqlpg, $group_seq, $smsgroup );
if( $bSendSMS ) break;
}
}
if(!$bSendSMS)
{
TRACE("Unexpected error was occured
", $trace);
}
}
else
TRACE("PGSQL `group_seq` failed
", $trace);
$dbConnPgSql->close();
echo "success";
}
else // end if($dbConnPgSql->nf() == 1)
TRACE("smsgroup or msg NULL!!!
", $trace);
}
else
TRACE("Unexpected error was occured. id : \"$smsgroup\" msg :\"$msg\"\n
", $trace);
exit;
?>