DESTOON是一款B2B網站管理系統他是基于PHP+MYSQL,二次開發及后期維護方便,小編對這款系統還比較了解,今天就以替換短信接口為例為大家講解一下如何進行二次開發,我們今天講解的是9.0版本,使用的短信接口是我們短信寶短信群發平頭的短信接口,我們短信寶短信群發平臺非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。
1:打開項目:\module\destoon\admin\template\setting.tpl.php 新增短信寶接口
|
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
|
<?php$select = '';$apis = glob(DT_ROOT.'/api/sms/*.php');$nms = array();$nms['smsbao'] = '短信寶';$nms['aliyun'] = '阿里云';$nms['gyytz'] = '杭州國陽';$nms['juhe'] = '聚合數據';foreach($apis as $v) { $v = basename($v, '.php'); if(strpos($v, '.') !== false) continue; $selected = $v == $sms_api ? 'selected' : ''; $select .= "<option value='".$v."' ".$selected.">".(isset($nms[$v]) ? $nms[$v] : $v)."</option>";}$select = '<select name="setting[sms_api]" id="sms_api" onchange="SmsApi();"><option value="">選擇接口</option>'.$select.'</select>';echo $select;?>function SmsApi() { var api = $('#sms_api').val(); if(api == 'juhe') { $('#nm_sms_appid').html('Key'); $('#tr_sms_appsecret').hide(); $('#nm_sms_par').html('備用參數'); $('#tr_sms_template').show(); } else if(api == 'gyytz') { $('#nm_sms_appid').html('AppCode'); $('#tr_sms_appsecret').hide(); $('#nm_sms_par').html('簽名ID'); $('#tr_sms_template').show(); }else if(api == 'smsbao') { $('#nm_sms_appid').html('短信寶賬號'); $('#nm_sms_appsecret').html('短信寶密碼'); $('#tr_sms_template').hide(); } else { $('#nm_sms_appid').html('APP ID'); $('#tr_sms_appsecret').show(); $('#nm_sms_appsecret').html('APP Secret'); $('#nm_sms_par').html('備用參數'); $('#tr_sms_template').show(); }} |
2:打開項目\module\destoon\admin\setting.inc.php ,修改代碼大概95行
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
$setting['gano'] = $setting['wano'] ? cutstr($setting['wano'], '備', '號') : '';$setting['smtp_pass'] = pass_decode($setting['smtp_pass'], $DT['smtp_pass']);$setting['ftp_pass'] = pass_decode($setting['ftp_pass'], $DT['ftp_pass']);$setting['admin_week'] = is_array($setting['admin_week']) ? implode(',', $setting['admin_week']) : '';$setting['check_week'] = is_array($setting['check_week']) ? implode(',', $setting['check_week']) : '';if($setting['logo'] != $DT['logo']) clear_upload($setting['logo'], $_userid, 'setting');$setting['thumb_max'] = intval($setting['thumb_max']);if($setting['thumb_max'] > 99 || $setting['thumb_max'] < 5) $setting['thumb_max'] = 10;in_array($setting['file_ext'], array('html', 'htm', 'shtml', 'shtm')) or $setting['file_ext'] = 'html';$setting['color_pc'] = strlen($css['home_menu']) == 7 ? $css['home_menu'] : '#0679D4';$setting['color_mb'] = strlen($css['mobile_head']) == 7 ? $css['mobile_head'] : '#F7F7F7';$setting['color_mw'] = strtoupper($css['mobile_text']) == '#FFFFFF' ? 1 : 0;if(substr($config['url'], -1) != '/') $config['url'] = $config['url'].'/';if($config['cookie_domain'] && substr($config['cookie_domain'], 0, 1) != '.') $config['cookie_domain'] = '.'.$config['cookie_domain'];if($config['cookie_domain'] != $CFG['cookie_domain']) $config['cookie_pre'] = 'D'.random(2).'_';// if(!is_numeric($config['cloud_uid']) || strlen($config['cloud_key']) != 16) $setting['sms'] = $setting['cloud_express'] = 0;$setting['sms'] = 1;$setting['cloud_express'] =1;$config['cloud_key'] = pass_decode($config['cloud_key'], DT_CLOUD_KEY);$setting['biz'] = is_file(DT_ROOT.'/license.php') ? 1 : 0;$setting['file_register_bak'] = $setting['file_register'];$setting['file_login_bak'] = $setting['file_login'];$setting['file_my_bak'] = $setting['file_my']; |
3:打開項目\include\global.func.php,修改send_sms方法
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
function send_sms($mobile, $message, $word = 0, $cron = 0) { global $DT, $_username; if(!$DT['sms'] || !$DT['sms_sign'] || !is_mobile($mobile)) return 0; $message = preg_replace("/&([a-z]{1,});/", '', trim(strip_tags($message))); if(strlen($message) < 5) return 0; if(strpos($message, substr($DT['sms_sign'], 0, 3)) === false) $message = $DT['sms_sign'].$message; if($DT['sms_api'] && $DT['sms_appid'] && $DT['sms_template'] && $DT['sms_code'] && strpos($message, $DT['sms_code']) !== false) { $code = dcurl(DT_PATH.'api/sms/'.$DT['sms_api'].'.php', 'auth='.encrypt($mobile.'|'.$message, DT_KEY.'SMS', 600)); } else { $data = 'sms_uid='.DT_CLOUD_UID.'&sms_key='.md5(DT_CLOUD_KEY.'|'.DT_TIME.'|'.$mobile.'|'.md5($message)).'&sms_charset='.DT_CHARSET.'&sms_mobile='.$mobile.'&sms_time='.DT_TIME.'&sms_cron='.$cron.'&sms_message='.rawurlencode($message).'&sms_url='.rawurlencode(DT_PATH); $code = dcurl((DT_CLOUD_SSL ? 'https' : 'http').'://sms.destoon.com/send.php', $data); if($code && strpos($code, 'destoon_sms_code=') !== false) { $code = cutstr($code, 'destoon_sms_code=', ''); } else { $code = 'Can Not Connect SMS Server'; } } $word or $word = word_count($message); $status = strpos($code, $DT['sms_ok']) !== false ? 3 : 2; $code = addslashes($code); DB::query("INSERT INTO ".DT_PRE."sms (mobile,message,word,editor,sendtime,ip,status,code) VALUES ('$mobile','$message','$word','$_username','".DT_TIME."','".DT_IP."','$status','$code')"); return $code;} |
4:打開項目\api\sms目錄,新增smsbao.php文件
|
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
|
<?phprequire '../../common.inc.php';$DT['sms_api'] == 'smsbao' or exit('ko.api');$DT['sms_code'] or exit('ko.code');$DT['sms_template'] or exit('ko.template');$DT['sms_appid'] or exit('ko.appid');$DT['sms_appsecret'] or exit('ko.appsecret');$statusStr = array( "0" => "短信發送成功", "-1" => "參數不全", "-2" => "服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解決或者更換空間!", "30" => "密碼錯誤", "40" => "賬號不存在", "41" => "余額不足", "42" => "帳戶已過期", "43" => "IP地址限制", "50" => "內容含有敏感詞");$auth = isset($auth) ? decrypt($auth, DT_KEY.'SMS') : '';if(strpos($auth, '|') === false) exit('ko.auth');list($mobile, $message) = explode('|', $auth);is_mobile($mobile) or exit('ko.mobile');strpos($message, $DT['sms_code']) !== false or exit('ko.code');$code = preg_match("/[0-9]{4,6}/", $message, $matches) ? $matches[0] : '';$code or exit('ko.code');$data = 'u='.$DT['sms_appid'].'&p='.md5($DT['sms_appsecret']).'&m='.$mobile.'&c='.urlencode($message);$res = dcurl('if($res == 0) { $res = $DT['sms_ok'].'/'.$DT['sms_api'];}else{ $res = $statusStr[$res];}echo $res;?> |
好了經過以上的添加,短信寶DESTOON_v9.0系統增加手機驗證就已經安裝成功,可以正常使用了
報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,即便遇到敏感文字我們都不會人工審核,短信內容3~5秒就可送達。
另外:我們已經開發好完整的DESTOON_v9.0系統短信寶插件,點擊此鏈接 下載及查看安裝流程。
最新更新
電商類
CMS類
微信類