您的位置:首页 > 其它

方维团购系统整合云短信网短信平台,方维系统整合短信平台

2013-08-28 15:03 260 查看
方维团购系统默认的短信平台是翼锋短信平台企信通短信平台 ,现在要添加一个云短信平台;

整合后的云短信平台的代码如下:

<?php
/*--------------------------------

//add by 方维系统程序员 ,wangtongphp , QQ:1006440989
INSERT INTO `fanwe_sms` VALUES ('22', 'Yun', '云短信网', '', 'http://http.yunsms.cn/tx/', '****', '****', '', '0');
--------------------------------*/
include_once("Sms.class.php");

class YunSms implements Sms
{

public $message = "";
public $smsInfo;

public $statusStr = array(
"100" => "发送成功",
"101" => "验证失败",
"102" => "短信不足",
"103" => "操作失败",
"104" => "非法字符",
"105" => "内容过多",
"106" => "号码过多",
"107" => "频率过快",
"108" => "号码内容空",
"109" => "账号冻结",
"110" => "禁止频繁单条发送",
"111" => "系统暂定发送",
"112" => "有错误号码",
"113" => "定时时间不对",
"114" => "账号被锁,10分钟后登录",
"115" => "连接失败",
"116" => "禁止接口发送",
"117" => "系统升级",
);

public function __construct($smsInfo = '')
{
if(!empty($smsInfo))
{
set_time_limit(0);

$this->smsInfo = $smsInfo;
}
}

public function sendSMS($mobiles=array(),$content,$sendTime='')
{
$mobileLen = 50;
$mobileList = array_chunk($mobiles,$mobileLen);

$content = a_utf8ToGB($content);
$contentLen = mb_strlen($content,"GBK");
$smsTotalCount = ceil($contentLen / 70) * count($mobiles);
$successNum = 0;
$code = '';
foreach($mobileList as $mobileItem)
{
$mobile = implode(",",$mobileItem);
//$http = 'http://http.c123.com/tx/';
$http = $this->smsInfo['server_url'];
$data = array
(
'uid'=>$this->smsInfo['user_name'],                    //用户账号
'pwd'=>strtolower(md5($this->smsInfo['password'])),    //MD5位32密码
//'pwd'=>$this->smsInfo['password'],    //MD5位32密码
'mobile'=>$mobile,                //号码
'content'=>urlencode($content),            //内容
//'encode'=>'utf8'
);

$code= trim($this->postSMS($http,$data));            //POST方式提交

$smsLog['send_content'] = a_gbToUtf8($content);;
$smsLog['action_message'] = $this->statusStr[$code];
$sendCount = count($mobileItem);

if($code == "100")
{
$smsLog['success_mobiles'] = $mobile;
$smsLog['fail_mobiles'] = "";
$smsLog['success_count'] = $sendCount;
$smsLog['fail_count'] = 0;

$smsLog['expense_count'] = ceil($contentLen / 70) * $sendCount;

$successNum += $sendCount;
}
else
{
$smsLog['success_mobiles'] = "";
$smsLog['fail_mobiles'] = $mobile;
$smsLog['success_count'] = 0;
$smsLog['fail_count'] = $sendCount;
$smsLog['expense_count'] = 0;
}

$smsLog['send_time'] = a_gmtTime();

if(intval(a_fanweC('SMS_SEND_LOG')) == 1)
{
$sql = "insert into ".$GLOBALS['db_config']['DB_PREFIX']."sms_send_log (class_name,send_content,success_count,success_mobiles,fail_mobiles,expense_count,fail_count,action_message,send_time) values('C123','".$smsLog['send_content']."','".$smsLog['success_count']."','".$smsLog['success_mobiles']."','".$smsLog['fail_mobiles']."','".$smsLog['expense_count']."','".$smsLog['fail_count']."','".$smsLog['action_message']."','".$smsLog['send_time']."')";

$GLOBALS['db']->query($sql);
}
}

if(($code == "100" && count($mobiles) == 1) || ($smsTotalCount == $successNum))
{
$this->message ="成功发送短信【".$content."】,到手机".implode(",",$mobiles);
return 1;
}
else
{
$this->message = $smsTotalCount."条短信中,有".($smsTotalCount - $successNum)."条未成功发送到手机".implode(",",$mobiles);
return 0;
}
}

function postSMS($url,$data='')
{

$row = parse_url($url);
$host = $row['host'];
$port = $row['port'] ? $row['port']:80;
$file = $row['path'];
while (list($k,$v) = each($data))
{
$post .= rawurlencode($k)."=".rawurlencode($v)."&";    //转URL标准码
}
$post = substr( $post , 0 , -1 );
$len = strlen($post);
$fp = @fsockopen( $host ,$port, $errno, $errstr, 10);
if (!$fp) {
return "$errstr ($errno)\n";
} else {
$receive = '';
$out = "POST $file HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: Close\r\n";
$out .= "Content-Length: $len\r\n\r\n";
$out .= $post;
fwrite($fp, $out);
while (!feof($fp)) {
$receive .= fgets($fp, 128);
}
fclose($fp);
$receive = explode("\r\n\r\n",$receive);
unset($receive[0]);

return implode("",$receive);
}
}
}
?>


版权出自:/article/6371201.html ;博主QQ:1006440989
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐