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;?>functionSmsApi() {   varapi = $('#sms_api').val();   if(api == 'juhe') {      $('#nm_sms_appid').html('Key');      $('#tr_sms_appsecret').hide();      $('#nm_sms_par').html('备用参数');        $('#tr_sms_template').show();    } elseif(api == 'gyytz') {      $('#sms_link').attr('href', '<?php echo gourl("https://market.aliyun.com/apimarket/detail/cmapi00037415");?>');      $('#nm_sms_appid').html('AppCode');      $('#tr_sms_appsecret').hide();      $('#nm_sms_par').html('签名ID');        $('#tr_sms_template').show();    }elseif(api == 'smsbao') {        $('#nm_sms_appid').html('短信宝账号');        $('#nm_sms_appsecret').html('短信宝密码');        $('#tr_sms_template').hide();    } else{      $('#sms_link').attr('href', '<?php echo gourl("https://market.aliyun.com/apimarket/detail/cmapi00066996");?>');      $('#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 | functionsend_sms($mobile, $message, $word = 0, $cron = 0) {   global $DT, $_username;   if(!$DT['sms'] || !$DT['sms_sign'] || !is_mobile($mobile)) return0;   $message = preg_replace("/&([a-z]{1,});/", '', trim(strip_tags($message)));   if(strlen($message) < 5) return0;   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']) !== falseor 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);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类
微信类