ECSHOP短信通插件开发技术文档

作者:csuper 发表于:2013-04-28

ECSHOP短信通插件开发技术文档

ECSHOP短信通插件开发技术文档

 

 

一、短信通道数据设置参数:

短信通接口:SMS_Interface
短信通账号:SMS_Tsername
短信通密码:SMS_Tassword
商家手机号码:Businesses_Tel
短信发送间隔时间:SMS_Interval
手机短信验证注册:SMS_Verification_Reg
手机短信验证注册内容: SMS_Verification_Reg_Content
是否开启手机号登录:Is_Tel_ Open
是否开启手机短信找回密码:Is_Open_SMS_Back_Password
手机短信找回密码内容:SMS_Back_Password_Content
是否开启用户修改密码提示:Is_Open_User_ Modify_Password
是否开启手机用户手机绑定:Is_Open_User_Mob_ Binding
用户手机绑定内容:User_Mob_Binding_Content
是否开启强制手机绑定:Is_Open_ Enforcement_Mob_Binding
是否开启用户注册成功短信提示:Is_Open_User_Reg_Ok_SMS_ Prompt
用户注册成功短信提示内容:User_Reg_Ok_SMS_Prompt_Content
是否开启用户下订单时给商家发送短信:Is_Open_User_Order_To_ Businesses_SMS
客户下订单给商家发送短信内容:User_ Order_To_Businesses_SMS
 
是否开启客户下订单时给商家发送短信:Is_Open_User_Order_To_Businesses_SMS
客户下订单给商家发短信内容:User_Order_To_Businesses_Content
是否开启客户取消订单时给商家发送短信:
Is_Open_User_ Canceled_Order_To_Businesses_SMS
客户取消订单给商家发送短信内容:User_ Canceled_Order_To_Businesses_SMS
是否开启客户付款给商家发送短信:Is_Open_User_ Payment_To_Businesses_SMS
客户付款给商家发送短信内容:User_Payment_To_Businesses_Content
是否开启客户确认收款时给商家发送短信:
Is_Open_User_ Confirm_Receivables_To_Businesses_SMS
客户确认收款时给商家发送短信内容:User_Confirm_Receivables_To_Businesses_Content
是否开启客户确定收货时给商家发送短信:
Is_Open_User_Confirm_Receiving_To_Businesses_SMS
是否开启客户取消订单时给客户发送短信:
Is_Open_User_Canceled_Order_To_Businesses_SMS
客户取消订单时给客户发送短信内容:User_Canceled_Order_To_Businesses_Content
是否开启客户付款时给客户发送短信:Is_Open_User_Payment_To_User_SMS
客户付款时给客户发送短信内容:User_Payment_To_User_SMS
是否开启客户确认收货时给客户发送短信:
Is_Open_User_Confirm_Receiving_To_User_SMS
客户确认收货时给客户发送短信内容:User_Confirm_Receiving_To_User_Content
是否开启商家配货时给客户发送短信:Is_Open_Businesses_Picking_To_User_SMS
商家配货时给客户发送短信内容:Businesses_Picking_To_User_Content
是否开启商家发货时给客户发送短信:Is_Open_Businesses_Delivery_To_User_SMS
商家发货时候给客户发送短信内容:Businesses_Delivery_To_User_Content
 
二、功能描述:
 1、在ECSHOP后台新增加短信通道功能设置,通过设置每一项的功能开启或者关闭,在相应的操作中会自动判断设置参数,进行管理短信发送
 2、用户设置的参数会自动保存在数据库中,并且在\\temp\\static_caches目录下相应的生成一个静态文件shop_config.php 配置参数,
 3、在用户动作的操作过程中会自动加载静态配置文件,读取配置参数,判断是否发送短信。
 4、在发送短信时候通过三种方式发送数据:封装POST和封装GET,通过内容获取返回值。
Post封装格式:
              $out = "POST $path HTTP/1.0\\r\\n";
              $out .= "Accept: */*\\r\\n";
              //$out .= "Referer: $boardurl\\r\\n";
              $out .= "Accept-Language: zh-cn\\r\\n";
              $out .= "Content-Type: application/x-www-form-urlencoded\\r\\n";
              $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\\r\\n";
              $out .= "Host: $host\\r\\n";
              $out .= \'Content-Length: \'.strlen($post)."\\r\\n";
              $out .= "Connection: Close\\r\\n";
              $out .= "Cache-Control: no-cache\\r\\n";
              $out .= "Cookie: $cookie\\r\\n\\r\\n";
              $out .= $post;
Get封装格式:
              $out = "GET $path HTTP/1.0\\r\\n";
              $out .= "Accept: */*\\r\\n";
              //$out .= "Referer: $boardurl\\r\\n";
              $out .= "Accept-Language: zh-cn\\r\\n";
              $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\\r\\n";
              $out .= "Host: $host\\r\\n";
              $out .= "Connection: Close\\r\\n";
              $out .= "Cookie: $cookie\\r\\n\\r\\n";
以上两个封装格式通过sock连接 ,$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
5、远程数据操作设置阻塞,阻塞的好处是防止排除非正常因素,按照顺序同步读取数据。
6、<span #333333\?="" "="">stream_set_timeout读取流的时间控制,对于读取后连接流超时需要,由于网络环境的不确认
7、ECSHOP需要修改文件,flow.php,user.php, cls_sms.php, cls_template.php, lib_main.php, lib_clips.php
三、发送短信数据管理
1、新增加表ECSHOP_SM_Manage,字段Id,Time,Content,UserID,Action

 

 

版权声明

本文仅代表作者观点,不代表Csuper立场。
本文系作者授权百度百家发表,未经许可,不得转载。