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類
微信類