PHPSHE B2C商城系統是基于 php+mysql 開發語言,完全面向對象的技術架構設計開發。它是一款開源軟件,二次開發比較方便,今天小編就以替換短信接口為例為大家講解一下如何二次開發,我們今天講解的是1.6版本的,使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。
進行接口替換我們首先進行修改短信配置界面,打開項目\template\default\admin\setting_sms.html 文件,修改如下代碼:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<!--{include(pe_tpl('header.html'));}--><div class="right"> <!--{include(pe_tpl('setting_menu.html'));}--> <form method="post" id="form"> <div class="right_main"> <div class="tixing"> <p><span class="cred">[注]</span> 管理員手機號:用于接收短信通知,多個用“,”隔開</p> </div> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="wenzhang mat20 mab20"> <tr> <td align="right" width="150">短信寶帳號:</td> <td><input type="text" name="info[sms_key]" value="{$info['sms_key']['setting_value']}" class="inputall input300" /> 還沒有賬號? <a href="http://www.gjrencai.com/reg" style="color: red;">請點擊注冊</a></td> </tr> <tr> <td align="right" width="150">短信寶密碼:</td> <td><input type="text" name="info[sms_password]" value="{$info['sms_password']['setting_value']}" class="inputall input300" /></td> </tr> <tr> <td align="right">短信簽名:</td> <td><input type="text" name="info[sms_sign]" value="{$info['sms_sign']['setting_value']}" class="inputall input300" /> <span class="c999">(如:短信寶)</span></td> </tr> <tr> <td align="right">管理員手機號:</td> <td> <input type="text" name="info[sms_admin]" value="{$info['sms_admin']['setting_value']}" class="inputall input300" /> <a href="javascript:;" class="admin_btn mal10" id="sms_test" />發送測試短信</a> <span class="c888">(用于接收訂單通知,多個用“,”隔開)</span> </td> </tr> </table> </div> <div class="right_main2"> <div class="now2"><p>郵箱設置</p></div> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="wenzhang mat20"> <tr> <td align="right" width="150">SMTP地址:</td> <td><input type="text" name="info[email_smtp]" value="{$info['email_smtp']['setting_value']}" class="inputall input200" /> <span class="c888">(例:smtp.qq.com)</span></td> </tr> <tr> <td align="right">SSL協議:</td> <td> <!--{foreach(array(1=>'啟用', 0=>'停用') as $k=>$v):}--> <!--{$checked = $info['email_ssl']['setting_value'] == $k ? 'checked="checked"' : ''}--> <label class="mar20"><input type="radio" name="info[email_ssl]" value="{$k}" class="inputfix" {$checked} /> {$v}</label> <!--{endforeach;}--> </td> </tr> <tr> <td align="right">SMTP端口:</td> <td><input type="text" name="info[email_port]" value="{$info['email_port']['setting_value']}" class="inputall input200" /> <span class="c888">(例:25)</span></td> </tr> <tr> <td align="right">發件人郵箱:</td> <td><input type="text" name="info[email_name]" value="{$info['email_name']['setting_value']}" class="inputall input200" /> <span class="c888">(例:123456@qq.com)</span></td> </tr> <tr> <td align="right">發件人密碼:</td> <td><input type="text" name="info[email_pw]" value="{$info['email_pw']['setting_value']}" class="inputall input200" /></td> </tr> <tr> <td align="right">發件人姓名:</td> <td><input type="text" name="info[email_nname]" value="{$info['email_nname']['setting_value']}" class="inputall input200" /> <span class="c888">(例:簡好網絡)</span></td> </tr> <tr> <td align="right">管理員郵箱:</td> <td> <input type="text" name="info[email_admin]" value="{$info['email_admin']['setting_value']}" class="inputall input350" /> <a href="javascript:;" class="admin_btn mal10" id="email_test" />發送測試郵件</a> <span class="c888">(用于接收郵件通知,多個用“,”隔開)</span> </td> </tr> <tr> <td></td> <td> <input type="hidden" name="pesubmit" /> <input type="hidden" name="pe_token" value="{$pe_token}" /> <input type="submit" value="提 交" class="tjbtn" /> </td> </tr> </table> </div> </form></div><script type="text/javascript">$(function(){ $("#sms_test").click(function(){ $(this).attr("href", "admin.php?mod=setting&act=sms_test&user="+$(":input[name='info[sms_admin]']").val()+"&token={$pe_token}"); }) $("#email_test").click(function(){ $(this).attr("href", "admin.php?mod=setting&act=email_test&user="+$(":input[name='info[email_admin]']").val()+"&token={$pe_token}") })})</script><!--{include(pe_tpl('footer.html'));}--> |
經過上面的替換,后臺顯示頁面就是短信寶的了,接下來我們去修改保存配置信息的文件,打開項目\module\admin\setting.php,我們找到case sms,修改為以下代碼:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
//#####################@ 短信設置 @#####################// case 'sms': if (isset($_p_pesubmit)) { pe_token_match(); $sql = "update `".dbpre."setting` set `setting_value` = case `setting_key` when 'sms_key' then '".pe_dbhold($_p_info['sms_key'])."' when 'sms_password' then '".pe_dbhold($_p_info['sms_password'])."' when 'sms_sign' then '".pe_dbhold($_p_info['sms_sign'])."' when 'sms_admin' then '".pe_dbhold($_p_info['sms_admin'])."' when 'email_smtp' then '".pe_dbhold($_p_info['email_smtp'])."' when 'email_ssl' then '".pe_dbhold($_p_info['email_ssl'])."' when 'email_port' then '".pe_dbhold($_p_info['email_port'])."' when 'email_name' then '".pe_dbhold($_p_info['email_name'])."' when 'email_pw' then '".pe_dbhold($_p_info['email_pw'])."' when 'email_nname' then '".pe_dbhold($_p_info['email_nname'])."' when 'email_admin' then '".pe_dbhold($_p_info['email_admin'])."' else `setting_value` end"; if ($db->sql_update($sql)) { cache_write('setting'); pe_success('設置成功!'); } else { pe_error('設置失敗...'); } } $info = $db->index('setting_key')->pe_selectall('setting'); $seo = pe_seo($menutitle='短信設置', '', '', 'admin'); include(pe_tpl('setting_sms.html')); break; |
短信配置文件修改好了,我們去修改接口發送文件,打開項目\hook\qunfa.hook.php,修改quanfa_sms方法,修改代碼為:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
//發送短信function qunfa_sms($phone, $text, $qunfa_id = 0) { global $db, $cache_setting; $url = 'http://api.smsbao.com/sms?u='.$cache_setting['sms_key'].'&p='.md5($cache_setting['sms_password']).'&m='.$phone.'&c=【'.$cache_setting['sms_sign'].'】'.$text; $result = file_get_contents($url); //更新或插入發送日志 $sql_set['noticelog_stime'] = time(); if ($result == 0) { $sql_set['noticelog_state'] = 'success'; } else { $sql_set['noticelog_state'] = 'fail'; $sql_set['noticelog_error'] = $result; } if ($qunfa_id) { $db->pe_update('noticelog', array('noticelog_id'=>$qunfa_id), pe_dbhold($sql_set)); } else { $sql_set['noticelog_type'] = 'sms'; $sql_set['noticelog_user'] = $phone; $sql_set['noticelog_name'] = ''; $sql_set['noticelog_text'] = $text; $sql_set['noticelog_atime'] = time(); $db->pe_insert('noticelog', pe_dbhold($sql_set)); } return $result;} |
最后我們增加一個數據庫字段,代碼為:
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php/** * msbao.php * 短信寶插件安裝,增加密碼字段 */include('./common.php');$sql_set['setting_key'] = 'sms_password'; $sql_set['setting_value'] = ''; $db->pe_insert('setting',$sql_set);echo '短信寶插件安裝成功,請刪除smsbao.php文件'; |
好了,經過以上的替換,短信寶的短信平臺已經替換成功了,可以正常使用了。
報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,并且免審核了,短信內容3~5秒就可送達。
最新更新
電商類
CMS類
微信類