destoon是很优秀的B2B行业站程序。程序模块化开发契合度很高,二次开发起来也很顺畅。数据缓存,权限分配,SEO功能方面都不错。
但是在使用这套程序的时候,常常要用到发送短信的功能,而destoon本身只接入了自己的短信接口。一些初接触destoon的开发者不知道如何修改。
所以铁牛特此写个文档分享如何修改destoon如何接入外部短信接口。
第一步:找到/include/global.func.php文件,搜索函数send_sms
修改function send_sms为function send_sms_back,新建函数send_sms
<span 1</span> <span function</span> send_sms(<span $mobile</span>, <span $message</span>, <span $word</span> = 0, <span $time</span> = 0<span ){ </span><span 2</span> <span global</span> <span $db</span>, <span $DT</span>, <span $DT_TIME</span>, <span $DT_IP</span>, <span $_username</span><span ; </span><span 3</span> <span if</span>(!<span $DT</span>['sms'] || !<span $DT</span>['sms_uid'] || !<span $DT</span>['sms_key']) <span return</span> <span false</span><span ; </span><span 4</span> <span $sms_url</span> = 'http://app.com/test/sms.php';<span //</span><span 你的短信接口地址 </span><span 5</span> <span //例如你的短信接口是http://app.com/test/sms.php?username=athena&pwd=123456&mobile=15889726201&msg=我的测试短信内容</span> <span 6</span> <span 7</span> <span $word</span> or <span $word</span> = word_count(<span $message</span><span ); </span><span 8</span> <span $sms_message</span> = <span rawurlencode</span>(convert(<span $message</span>, DT_CHARSET, 'UTF-8'<span )); </span><span 9</span> <span //</span><span data是你的url字符串 例如:username=athena&pwd=123456&mobile=15889726201&msg=我的测试短信内容</span> <span 10</span> <span $data</span> = 'username='.<span $DT</span>['sms_uid'<span ] </span><span 11</span> . '&pwd='.<span $DT</span>['sms_key'<span ] </span><span 12</span> . '&mobile='.<span $mobile</span> <span 13</span> . '&msg='.<span $sms_message</span><span ; </span><span 14</span> <span 15</span> <span //</span><span 采用PHP的cURL库推送网页 </span> <span 16</span> <span $cur</span> = curl_init(<span $sms_url</span><span ); </span><span 17</span> curl_setopt(<span $cur</span>, CURLOPT_POST, 1<span ); </span><span 18</span> curl_setopt(<span $cur</span>, CURLOPT_POSTFIELDS, <span $data</span><span ); </span><span 19</span> curl_setopt(<span $cur</span>, CURLOPT_FOLLOWLOCATION, 1<span ); </span><span 20</span> curl_setopt(<span $cur</span>, CURLOPT_HEADER, 0<span ); </span><span 21</span> curl_setopt(<span $cur</span>, CURLOPT_SSL_VERIFYPEER, 0<span ); </span><span 22</span> curl_setopt(<span $cur</span>, CURLOPT_RETURNTRANSFER, 1<span ); </span><span 23</span> <span $rec</span> = curl_exec(<span $cur</span><span ); </span><span 24</span> curl_close(<span $cur</span><span ); </span><span 25</span> <span $code</span>=''<span ; </span><span 26</span> <span if</span>(!<span $rec</span>==<span $DT</span>['sms_ok'<span ]){ </span><span 27</span> <span $code</span> = 'Can Not Connect SMS Server'<span ; </span><span 28</span> <span } </span><span 29</span> <span else</span><span { </span><span 30</span> <span $code</span> =<span $DT</span>['sms_ok'<span ]; </span><span 31</span> <span } </span><span 32</span> <span 33</span> <span $db</span>->query("INSERT INTO {<span $db</span>->pre}sms (mobile,message,word,editor,sendtime,code) VALUES ('<span $mobile</span>','<span $message</span>','<span $word</span>','<span $_username</span>','<span $DT_TIME</span>','<span $code</span>')"<span ); </span><span 34</span> <span 35</span> <span return</span> <span $code</span><span ; </span><span 36</span> }
第二步:设置短信返回值
我的短信接口地址是:http://app.com/test/sms.php,如果短信发送成功,信息是success,这个发送成功的信息需要在destoon管理后台去设置
提示:如果你的curl_init()函数不可用
找到找到php.ini,修改extension=php_curl.dll 把前面的分号去掉
如果你的php库没有php_curl.dll,那么将php_curl.dll php5ts.dlllibeay32.dll ssleay32.dll 复制到 windows/system32下 重启IIS或Apache服务即可。
destoon开发交流群号码:98537090