From 4c1f0f659384d71ce28be1fc0343e56e75568fe1 Mon Sep 17 00:00:00 2001
From: chengkun <chengkun@ishangstudy.com>
Date: Tue, 20 May 2025 13:31:22 +0800
Subject: [PATCH] 提交

---
 app/model/notice.model.php | 1216 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 611 insertions(+), 605 deletions(-)

diff --git a/app/model/notice.model.php b/app/model/notice.model.php
index cc5dc59..3763f07 100644
--- a/app/model/notice.model.php
+++ b/app/model/notice.model.php
@@ -4,110 +4,112 @@
 /**
  * (email、手机短信)消息发送类 天眼查数据获取
  */
-class notice_model extends model{
-
+class notice_model extends model {
+    
     private $smtpClass = null;
     
-    private function _getSmtp($serverId=''){
-		if($this->config['sy_email_online']==1){
-			 include_once(LIB_PATH.'email.class.php');
-			//获取邮件服务器缓存
-			include(PLUS_PATH.'emailconfig.cache.php');
-			//随机选择一组邮件服务器作为当前发信服务器 
-			if($serverId){
-				if(isset($emailconfig) && is_array($emailconfig)){
-					foreach($emailconfig as $value){
-						if($value['id'] == $serverId){
-						$emailConfig = $value;
-						break;
-						}	
-					}
-				}
-			}else{
-				if(isset($emailconfig) &&  count($emailconfig)>0){
-					$rand = array_rand($emailconfig,1);
-					$emailConfig = $emailconfig[$rand];
-				}
-			}
-			if($emailConfig['smtpserver'] && $emailConfig['smtpuser'] && $emailConfig['smtppass']){
-				if($emailConfig['smtpport']=='465'){
-					$smtpserver = 'ssl://'.$emailConfig['smtpserver'];
-					$smtpserverport = '465';
-				}else{
-					$smtpserver = $emailConfig['smtpserver'];
-					$smtpserverport = '25';
-				}
-				return new smtp($smtpserver,$smtpserverport,true,$emailConfig['smtpuser'],$emailConfig['smtppass'],$emailConfig['smtpnick']);
-			}else{
-				return false;
-			}
-		}
-		if($this->config['sy_email_online']==2){
-			 include_once(LIB_PATH.'aliyunemail.class.php');
-			 $accesskey=$this->config['accesskey'];  //accessKey 
-			 $accesssecret=$this->config['accesssecret'];  //accessSecret 
-			 $accountname=$this->config['ali_email'];  //控制台创建的发信地址 
-			 $fromalias=$this->config['ali_name'];  //发信人昵称
-			 $tagname=$this->config['ali_tag'];  //控制台创建的标签 
-			 
-			 return new aliyun_sendemail($accesskey,$accesssecret,$accountname,$fromalias,$tagname); 
-		}
+    private function _getSmtp($serverId = '') {
+        if ($this->config['sy_email_online'] == 1) {
+            include_once(LIB_PATH . 'email.class.php');
+            //获取邮件服务器缓存
+            include(PLUS_PATH . 'emailconfig.cache.php');
+            //随机选择一组邮件服务器作为当前发信服务器
+            if ($serverId) {
+                if (isset($emailconfig) && is_array($emailconfig)) {
+                    foreach ($emailconfig as $value) {
+                        if ($value['id'] == $serverId) {
+                            $emailConfig = $value;
+                            break;
+                        }
+                    }
+                }
+            } else {
+                if (isset($emailconfig) && count($emailconfig) > 0) {
+                    $rand = array_rand($emailconfig, 1);
+                    $emailConfig = $emailconfig[$rand];
+                }
+            }
+            if ($emailConfig['smtpserver'] && $emailConfig['smtpuser'] && $emailConfig['smtppass']) {
+                if ($emailConfig['smtpport'] == '465') {
+                    $smtpserver = 'ssl://' . $emailConfig['smtpserver'];
+                    $smtpserverport = '465';
+                } else {
+                    $smtpserver = $emailConfig['smtpserver'];
+                    $smtpserverport = '25';
+                }
+                return new smtp($smtpserver, $smtpserverport, true, $emailConfig['smtpuser'], $emailConfig['smtppass'], $emailConfig['smtpnick']);
+            } else {
+                return false;
+            }
+        }
+        if ($this->config['sy_email_online'] == 2) {
+            include_once(LIB_PATH . 'aliyunemail.class.php');
+            $accesskey = $this->config['accesskey'];  //accessKey
+            $accesssecret = $this->config['accesssecret'];  //accessSecret
+            $accountname = $this->config['ali_email'];  //控制台创建的发信地址
+            $fromalias = $this->config['ali_name'];  //发信人昵称
+            $tagname = $this->config['ali_tag'];  //控制台创建的标签
+            
+            return new aliyun_sendemail($accesskey, $accesssecret, $accountname, $fromalias, $tagname);
+        }
     }
     
-    private function addErrorLog($uid,$type='',$content) {
+    private function addErrorLog($uid, $type = '', $content) {
         
-        require_once ('errlog.model.php');
+        require_once('errlog.model.php');
         
         $ErrlogM = new errlog_model($this->db, $this->def);
         
-        return  $ErrlogM -> addErrorLog($uid, $type, $content);
+        return $ErrlogM->addErrorLog($uid, $type, $content);
         
     }
+    
     /**
      * 获取邮件、短信模板
-     * @param array $data  传入参数
+     * @param array $data 传入参数
      * @param string $type 模板类型:email邮箱; msg短信
      * @return mixed
      */
-    public function getTpl($data, $type){
-        $name = $type.$data['type'];
+    public function getTpl($data, $type) {
+        $name = $type . $data['type'];
         
         
-        $row = $this -> select_once('templates',array('name'=>$name));
-		
-        if ($row){
-            $tpl['title']=$this->_tpl($row['title'], $data);
-            $tpl['content']=$this->_tpl($row['content'], $data);
-           
+        $row = $this->select_once('templates', array('name' => $name));
+        
+        if ($row) {
+            $tpl['title'] = $this->_tpl($row['title'], $data);
+            $tpl['content'] = $this->_tpl($row['content'], $data);
+            
             return $tpl;
-        }else{
+        } else {
             return array('status' => -1, 'msg' => '信息模板有误,请联系管理员');
         }
     }
+    
     //替换模板中的变量
-    private function _tpl($tpl, $data){
+    private function _tpl($tpl, $data) {
         unset($data['type']);
         
-        $re     =  array("{webname}","{weburl}","{webtel}");
-        $re2[]  =  $this->config['sy_webname'];
-        $re2[]  =  $this->config['sy_weburl'];
-        $re2[]  =  $this->config['sy_freewebtel'];
-        $tpl    =  str_replace($re,$re2,$tpl);
-
-        foreach($data as $k=>$v){
-            $tpl  =  str_replace("{".$k."}",$v,$tpl);
+        $re = array("{webname}", "{weburl}", "{webtel}");
+        $re2[] = $this->config['sy_webname'];
+        $re2[] = $this->config['sy_weburl'];
+        $re2[] = $this->config['sy_freewebtel'];
+        $tpl = str_replace($re, $re2, $tpl);
+        
+        foreach ($data as $k => $v) {
+            $tpl = str_replace("{" . $k . "}", $v, $tpl);
         }
         return $tpl;
     }
-        
+    
     //判断数组的下标是否存在
-    private function _isKey($key, $arr){
-        if(array_key_exists($key, $arr) && trim($arr[$key]) != ''){
+    private function _isKey($key, $arr) {
+        if (array_key_exists($key, $arr) && trim($arr[$key]) != '') {
             return trim($arr[$key]);
         }
         return false;
     }
-
+    
     /**
      * 传入 email地址、主题、内容等参数,简单发送email方法
      *
@@ -116,85 +118,88 @@
      * @param string $data ['content'] email正文内容
      * @return array
      */
-    public function sendEmail($data){
-		if($this->config['sy_email_online']==1){
-			if(!$this->smtpClass){
-				$serverId = array_key_exists('smtpServerId', $data) ? $data['smtpServerId'] : '';
-				$this->smtpClass = $this->_getSmtp($serverId);
-			}
-			if(!$this->smtpClass){
-				return array('status' => -1, 'msg' => '还没有配置邮箱,请联系管理员!');
-			}
-			
-			if($this->_isKey('email', $data) == false || CheckRegEmail($data['email']) == false){
-				return array('status' => -1, 'msg' => 'email地址错误');
-			}
-			
-			if(!$this->_isKey('subject', $data) || !$this->_isKey('content', $data)){
-				return array('status' => -1, 'msg' => 'email主题/正文为空');
-			}
-			
-			$cc = isset($data['cc']) ? $data['cc'] : '';
-			$bcc = isset($data['bcc']) ? $data['bcc'] : '';
-			$additional_headers = isset($data['additional_headers']) ? $data['additional_headers'] : '';
-			
-			$sendid = $this->smtpClass->sendmail($data['email'],$data['subject'],$data['content'],'HTML',$cc,$bcc,$additional_headers);
-			if($sendid){
-				$state = '1';
-				$retval = array('status' => 1, 'msg' => 'email发送成功!');
-			}else{
-				$state = '0';
-				$retval = array('status' => -1, 'msg' => 'email发送失败!');
-				$this->addErrorLog($data['uid'], 9,'email发送失败!');
-			}
-		}
-		
-		if($this->config['sy_email_online']==2){
-		    if(!$this->smtpClass){
-		        $this->smtpClass = $this->_getSmtp();
-		    }
-		    if(!$this->smtpClass){
-		        return array('status' => -1, 'msg' => '还没有配置邮箱,请联系管理员!');
-		    }
-			$sendid = $this->smtpClass->sendemail($data['email'],$data['subject'],$data['content']);
-			if($sendid){
-				$state = '1';
-				$retval = array('status' => 1, 'msg' => 'email发送成功!');
-			}else{
-				$state = '0';
-				$retval = array('status' => -1, 'msg' => 'email发送失败!');
-				$this->addErrorLog($data['uid'], 9,'email发送失败!');
-			}
-		}
+    public function sendEmail($data) {
+        if ($this->config['sy_email_online'] == 1) {
+            if (!$this->smtpClass) {
+                $serverId = array_key_exists('smtpServerId', $data) ? $data['smtpServerId'] : '';
+                $this->smtpClass = $this->_getSmtp($serverId);
+            }
+            if (!$this->smtpClass) {
+                return array('status' => -1, 'msg' => '还没有配置邮箱,请联系管理员!');
+            }
+            
+            if ($this->_isKey('email', $data) == false || CheckRegEmail($data['email']) == false) {
+                return array('status' => -1, 'msg' => 'email地址错误');
+            }
+            
+            if (!$this->_isKey('subject', $data) || !$this->_isKey('content', $data)) {
+                return array('status' => -1, 'msg' => 'email主题/正文为空');
+            }
+            
+            $cc = isset($data['cc']) ? $data['cc'] : '';
+            $bcc = isset($data['bcc']) ? $data['bcc'] : '';
+            $additional_headers = isset($data['additional_headers']) ? $data['additional_headers'] : '';
+            
+            $sendid = $this->smtpClass->sendmail($data['email'], $data['subject'], $data['content'], 'HTML', $cc, $bcc, $additional_headers);
+            if ($sendid) {
+                $state = '1';
+                $retval = array('status' => 1, 'msg' => 'email发送成功!');
+            } else {
+                $state = '0';
+                $retval = array('status' => -1, 'msg' => 'email发送失败!');
+                $this->addErrorLog($data['uid'], 9, 'email发送失败!');
+            }
+        }
+        
+        if ($this->config['sy_email_online'] == 2) {
+            if (!$this->smtpClass) {
+                $this->smtpClass = $this->_getSmtp();
+            }
+            if (!$this->smtpClass) {
+                return array('status' => -1, 'msg' => '还没有配置邮箱,请联系管理员!');
+            }
+            $sendid = $this->smtpClass->sendemail($data['email'], $data['subject'], $data['content']);
+            if ($sendid) {
+                $state = '1';
+                $retval = array('status' => 1, 'msg' => 'email发送成功!');
+            } else {
+                $state = '0';
+                $retval = array('status' => -1, 'msg' => 'email发送失败!');
+                $this->addErrorLog($data['uid'], 9, 'email发送失败!');
+            }
+        }
         
         //如果email正文内容太多,允许保存其他简短内容到数据表email_msg
-		$tbContent  =  isset($data['tbContent']) ? $data['tbContent'] : $data['content'];
+        $tbContent = isset($data['tbContent']) ? $data['tbContent'] : $data['content'];
         
-        $email_msg  =  array(
-            'uid'         =>  $data['uid'],
-            'cuid'        =>  isset($data['cuid']) ? $data['cuid'] : 0,
-            'email'       =>  $data['email'],
-            'title'       =>  $data['subject'],
-            'content'     =>  $tbContent ,
-            'state'       =>  $state,
-            'ctime'       =>  time(),
-            'smtpserver'  =>  $this->smtpClass->user
+        $email_msg = array(
+            'uid'        => $data['uid'],
+            'cuid'       => isset($data['cuid']) ? $data['cuid'] : 0,
+            'email'      => $data['email'],
+            'title'      => $data['subject'],
+            'content'    => $tbContent,
+            'state'      => $state,
+            'ctime'      => time(),
+            'smtpserver' => $this->smtpClass->user
         );
-        if($data['email'] && !isset($data['repeat'])){
-			$this -> insert_into('email_msg',$email_msg);
+        if ($data['email'] && !isset($data['repeat'])) {
+            $this->insert_into('email_msg', $email_msg);
         }
         return $retval;
     }
-    function insertEmail($data){
-       return $this -> insert_into('email_msg',$data);
+    
+    function insertEmail($data) {
+        return $this->insert_into('email_msg', $data);
     }
-    function insertMsg($data){
-       return $this -> insert_into('moblie_msg',$data);
+    
+    function insertMsg($data) {
+        return $this->insert_into('moblie_msg', $data);
     }
+    
     /**
      * @desc 根据业务类型,判断后台设置是否开启该类型email提醒,选择设定好的email模板,发送指定类型的邮件
      *
-     * @param string $data['type'] 发送email的类型:
+     * @param string $data ['type'] 发送email的类型:
      *            reg注册,yqms邀请面试,fkcg付款成功,zzshtg职位审核成功,sqzw申请职位,getpass找回密码,yqmshf回复面试邀请,login登录验证
      *            'birthday',
      *            'webbirthday',
@@ -207,18 +212,17 @@
      *            $data包括email,moblie,$type
      *            email 要发送的邮箱用户
      *            moblie要发送的手机用户
-     *            
+     *
      */
-    public function sendEmailType($data, $tpl = NULL)
-    {
-        if (! $this->_isKey('type', $data) || ! $this->_isKey('sy_email_'.$data['type'], $this->config) || $this->config['sy_email_'.$data['type']] != 1) {
+    public function sendEmailType($data, $tpl = NULL) {
+        if (!$this->_isKey('type', $data) || !$this->_isKey('sy_email_' . $data['type'], $this->config) || $this->config['sy_email_' . $data['type']] != 1) {
             return array(
-                'status' => - 1,
-                'msg' => '未开启email提醒,请联系管理员!(code:' . $data['type'] . ')'
+                'status' => -1,
+                'msg'    => '未开启email提醒,请联系管理员!(code:' . $data['type'] . ')'
             );
         }
         // 邮件内容,如发送的内容相同,可以先把内容处理好传入,减少数据处理
-        if (! $tpl) {
+        if (!$tpl) {
             $tpl = $this->getTpl($data, 'email');
             if (isset($tpl['status'])) {
                 return $tpl;
@@ -229,281 +233,280 @@
         
         return $this->sendEmail($data);
     }
-
-    private function postSMS($type="msgsend",$data=''){
+    
+    private function postSMS($type = "msgsend", $data = '') {
         $sing = $this->config['sy_msg_appsing'];
-        $data['content'] = str_replace(array(" "," ","\t","\n","\r"),array("","","","",""),$data['content']);
-        $url='http://api.smsbao.com/sms';
-        $url.='?u='.$data['appkey'].'&p='.md5($data['appsecret']).'&m='.$data['phone'].'&c=【'.$sing.'】'.$data['content'];
-        if(function_exists('file_get_contents')){
+        $data['content'] = str_replace(array(" ", " ", "\t", "\n", "\r"), array("", "", "", "", ""), $data['content']);
+        $url = 'http://api.smsbao.com/sms';
+        $url .= '?u=' . $data['appkey'] . '&p=' . md5($data['appsecret']) . '&m=' . $data['phone'] . '&c=【' . $sing . '】' . $data['content'];
+        if (function_exists('file_get_contents')) {
             $file_contents = file_get_contents($url);
-        }else{
+        } else {
             $ch = curl_init();
             $timeout = 5;
-            curl_setopt ($ch, CURLOPT_URL, $url);
-            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
-            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
+            curl_setopt($ch, CURLOPT_URL, $url);
+            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
             $file_contents = curl_exec($ch);
             curl_close($ch);
         }
         return $file_contents;
     }
-
-	private function checkPhone($phone){
-		
-
-		$url='https://u.phpyun.com/phone';
-
-    	$url.='?appSecret='.$this -> config['sy_kh_appsecret'].'&appKey='.$this -> config['sy_kh_appkey'].'&phone='.$phone;
-    	if (extension_loaded('curl')){
-    	    $file_contents = CurlGet($url);
-			
-    	}else if(function_exists('file_get_contents')){
-    	    $file_contents = file_get_contents($url);
-    	}
-		if($file_contents){
-			$msgInfo = json_decode($file_contents,true);
-		}	
-		
-
+    
+    private function checkPhone($phone) {
+        
+        
+        $url = '';
+        
+        $url .= '?appSecret=' . $this->config['sy_kh_appsecret'] . '&appKey=' . $this->config['sy_kh_appkey'] . '&phone=' . $phone;
+        if (extension_loaded('curl')) {
+            $file_contents = CurlGet($url);
+            
+        } else if (function_exists('file_get_contents')) {
+            $file_contents = file_get_contents($url);
+        }
+        if ($file_contents) {
+            $msgInfo = json_decode($file_contents, true);
+        }
+        
+        
         return $msgInfo;
     }
-  
-    /**
-    * $data['moblie'] / $data['mobile'] 手机号(必填)
-    * $data['content'] 短信内容(必填)
-    * 
-    *  (选填) 保存到moblie_msg表的字段:
-    * uid 接收人uid,
-    * cuid 发送人uid,
-    */
-    public function sendSMS($data){
-       if(!checkMsgOpen($this -> config)){
-          return array('status' => -1, 'msg' => '还没有配置短信,请联系管理员!');
-        }
     
+    /**
+     * $data['moblie'] / $data['mobile'] 手机号(必填)
+     * $data['content'] 短信内容(必填)
+     *
+     *  (选填) 保存到moblie_msg表的字段:
+     * uid 接收人uid,
+     * cuid 发送人uid,
+     */
+    public function sendSMS($data) {
+        if (!checkMsgOpen($this->config)) {
+            return array('status' => -1, 'msg' => '还没有配置短信,请联系管理员!');
+        }
+        
         $data['mobile'] = $data['moblie'] ? $data['moblie'] : $data['mobile'];
-        if($this->_isKey('mobile', $data) == false || CheckMobile($data['mobile']) == false){
+        if ($this->_isKey('mobile', $data) == false || CheckMobile($data['mobile']) == false) {
             return array('status' => -1, 'msg' => '手机号错误');
         }
-		if($this->config['sy_web_mobile']!=''){
-			$regnamer=@explode(';',$this->config['sy_web_mobile']);
-			if(in_array($data['mobile'],$regnamer)){
-				return array('status' => -1, 'msg' => '该手机号已被禁止使用');
-			}
-		}
-			
-        if($this->_isKey('content', $data) == false || $data['content'] == ''){
+        if ($this->config['sy_web_mobile'] != '') {
+            $regnamer = @explode(';', $this->config['sy_web_mobile']);
+            if (in_array($data['mobile'], $regnamer)) {
+                return array('status' => -1, 'msg' => '该手机号已被禁止使用');
+            }
+        }
+        
+        if ($this->_isKey('content', $data) == false || $data['content'] == '') {
             return array('status' => -1, 'msg' => '短信内容为空');
         }
-    
+        
         //发送短信
         $row = array(
-               
-                'appsecret'     =>  $this->config['sy_msg_appsecret'],
-                'appkey'		=>  $this->config['sy_msg_appkey'],
-                'appsing'		=>  $this->config['sy_msg_appsing'],
-    			'phone'			=>  $data['mobile'],
-    			'content'		=>  $data['content'],
-                'mid'			=>  isset($data['mid']) ? $data['mid'] : ''
-    		);
-		
-		$location = '';
-
-		//进行空号检测 以及 归属地限制
-		if($this -> config['sy_kh_isopen'] == '1' && in_array($data['type'],array('login','cert','regcode'))){
-	
-			$checkInfo = $this -> checkPhone($data['mobile']);
-			$checkData = json_decode($checkInfo['data'],true);
-
-			//检测出号码不为空号
-			if($checkInfo['code'] == '200' && $checkData['phoneList']['phoneStatus']>0){
-				
-				$location  =	$checkData['phoneList']['province'] . '-' . $checkData['phoneList']['city'];
-
-				//检测归属地
-				if($this -> config['sy_kh_city'] && $checkData['phoneList']['province']!='未知' && $checkData['phoneList']['city']!='未知'){
-
-					$re['code']		=	'502';//归属地检测失败
-					$re['message']	=	'号码检测有误!';
-
-					$kh_province		=	str_replace(",",",",$this -> config['sy_kh_city']);
-					$kh_province_arr	=	explode(',',$kh_province);
-
-					foreach($kh_province_arr as $key => $value)
-					{
-						$kh_city	=	@explode('/',$value);
-						
-						//设定市级地区的情况下优先判断
-						if((!empty($kh_city[1]) && strpos($checkData['phoneList']['city'],$kh_city[1])!==false) || (empty($kh_city[1]) && strpos($checkData['phoneList']['province'],$kh_city[0])!==false)){
-							
-							unset($re);
-							break;
-						
-						}
-					}
-				}
-			}else{
-				$re['code']		=	'501';//空号检测失败
-				$re['message']	=	'号码检测有误!';
-			}
-		}
-		if(!isset($re['code'])){
-			$re= $this->postSMS('msgsend',$row);
-		}
-        //短信记录保存数据库
-        $sql_data  =  array(
-            'uid'		=>  $data['uid'],
-            'cuid'		=>  isset($data['cuid']) ? $data['cuid'] : 0,
-            'moblie'	=>  $data['mobile'],
-            'ctime'		=>  time(),
-            'content'	=>  $data['content'],
-			'port'		=>	$data['port'],
-			'location'	=>	$location
+            
+            'appsecret' => $this->config['sy_msg_appsecret'],
+            'appkey'    => $this->config['sy_msg_appkey'],
+            'appsing'   => $this->config['sy_msg_appsing'],
+            'phone'     => $data['mobile'],
+            'content'   => $data['content'],
+            'mid'       => isset($data['mid']) ? $data['mid'] : ''
         );
         
-    	if(trim($re) =='0'){
+        $location = '';
+        
+        //进行空号检测 以及 归属地限制
+        if ($this->config['sy_kh_isopen'] == '1' && in_array($data['type'], array('login', 'cert', 'regcode'))) {
+            
+            $checkInfo = $this->checkPhone($data['mobile']);
+            $checkData = json_decode($checkInfo['data'], true);
+            
+            //检测出号码不为空号
+            if ($checkInfo['code'] == '200' && $checkData['phoneList']['phoneStatus'] > 0) {
+                
+                $location = $checkData['phoneList']['province'] . '-' . $checkData['phoneList']['city'];
+                
+                //检测归属地
+                if ($this->config['sy_kh_city'] && $checkData['phoneList']['province'] != '未知' && $checkData['phoneList']['city'] != '未知') {
+                    
+                    $re['code'] = '502';//归属地检测失败
+                    $re['message'] = '号码检测有误!';
+                    
+                    $kh_province = str_replace(",", ",", $this->config['sy_kh_city']);
+                    $kh_province_arr = explode(',', $kh_province);
+                    
+                    foreach ($kh_province_arr as $key => $value) {
+                        $kh_city = @explode('/', $value);
+                        
+                        //设定市级地区的情况下优先判断
+                        if ((!empty($kh_city[1]) && strpos($checkData['phoneList']['city'], $kh_city[1]) !== false) || (empty($kh_city[1]) && strpos($checkData['phoneList']['province'], $kh_city[0]) !== false)) {
+                            
+                            unset($re);
+                            break;
+                            
+                        }
+                    }
+                }
+            } else {
+                $re['code'] = '501';//空号检测失败
+                $re['message'] = '号码检测有误!';
+            }
+        }
+        if (!isset($re['code'])) {
+            $re = $this->postSMS('msgsend', $row);
+        }
+        //短信记录保存数据库
+        $sql_data = array(
+            'uid'      => $data['uid'],
+            'cuid'     => isset($data['cuid']) ? $data['cuid'] : 0,
+            'moblie'   => $data['mobile'],
+            'ctime'    => time(),
+            'content'  => $data['content'],
+            'port'     => $data['port'],
+            'location' => $location
+        );
+        
+        if (trim($re) == '0') {
             //检查是否需要发送系统预警
             include_once('warning.model.php');
             
-            $warning  =  new warning_model($this->db,$this->def);
+            $warning = new warning_model($this->db, $this->def);
             
-            $warning -> warning(5);
-    
-            $sql_data['state']  =  0;
+            $warning->warning(5);
             
-            $sql_data['ip']     =  fun_ip_get();
+            $sql_data['state'] = 0;
             
-            $sqlResult  =  $this -> insert_into('moblie_msg',$sql_data);
+            $sql_data['ip'] = fun_ip_get();
+            
+            $sqlResult = $this->insert_into('moblie_msg', $sql_data);
             
             return array('status' => 1, 'msg' => '发送成功!');
-    	}else{
-    		$sql_data['state']  =  $re['code'];
-            $this -> insert_into('moblie_msg',$sql_data);
-          
-            $content = '短信发送失败!手机号:'.$data['mobile'].',状态:'.$re['code']."," . $re['message'];
-            if ($re['code'] == '501'){
+        } else {
+            $sql_data['state'] = $re['code'];
+            $this->insert_into('moblie_msg', $sql_data);
+            
+            $content = '短信发送失败!手机号:' . $data['mobile'] . ',状态:' . $re['code'] . "," . $re['message'];
+            if ($re['code'] == '501') {
                 // 记录空号检测失败,综合平台返回的错误原因
                 $content .= $checkInfo['message'];
             }
             $this->addErrorLog($data['uid'], 8, $content);
-			return array('status' => -1, 'msg' => '发送失败!状态:'.$re['code']."," . $re['message']);
+            return array('status' => -1, 'msg' => '发送失败!状态:' . $re['code'] . "," . $re['message']);
         }
     }
+    
     /**
-     * 
-     * @param array $data  传入参数
+     *
+     * @param array $data 传入参数
      * @param string $content 短信内容
      * @return number[]|string[]
      */
-    public function sendSMSType($data, $content=NULL){
-        if(!$this->_isKey('type', $data) 
-        || !$this->_isKey('sy_msg_'.$data['type'], $this->config) 
-        || $this->config['sy_msg_'.$data['type']] !=1){ //是否后台设置了需要短信提醒
-          return array('status' => -1, 'msg' => '未开启短信提醒,请联系管理员(code:msg'.$data['type'].')');
+    public function sendSMSType($data, $content = NULL) {
+        if (!$this->_isKey('type', $data)
+            || !$this->_isKey('sy_msg_' . $data['type'], $this->config)
+            || $this->config['sy_msg_' . $data['type']] != 1) { //是否后台设置了需要短信提醒
+            return array('status' => -1, 'msg' => '未开启短信提醒,请联系管理员(code:msg' . $data['type'] . ')');
         }
         
         //短信内容,如发送的内容相同,可以先把内容处理好传入,减少数据处理
-        if (!$content){
+        if (!$content) {
             $tpl = $this->getTpl($data, 'msg');
-            if (isset($tpl['status'])){
+            if (isset($tpl['status'])) {
                 return $tpl;
             }
             $content = $tpl['content'];
         }
         
         $data['content'] = $content;
-		
+        
         return $this->sendSMS($data);
     }
-
-    public function getBusinessInfo($name){
-		
-        if($this->config['sy_tyc_appkey'] && $this->config['sy_tyc_appsecret']){
+    
+    public function getBusinessInfo($name) {
+        
+        if ($this->config['sy_tyc_appkey'] && $this->config['sy_tyc_appsecret']) {
             //查询当前数据库中是否存在该名称
-            $comNameNum  =  $this -> select_num('company',array('name'=>$name));
-			
+            $comNameNum = $this->select_num('company', array('name' => $name));
+            
             //企业名称存在
-            if($comNameNum > 0){
-                $url='https://u.phpyun.com/company';
-
-				$url.='?appSecret='.$this->config['sy_tyc_appsecret'].'&appKey='.$this->config['sy_tyc_appkey']."&companyName=".$name;
-                if (extension_loaded('curl')){
+            if ($comNameNum > 0) {
+                $url = 'https://u.phpyun.com/company';
+                
+                $url .= '?appSecret=' . $this->config['sy_tyc_appsecret'] . '&appKey=' . $this->config['sy_tyc_appkey'] . "&companyName=" . $name;
+                if (extension_loaded('curl')) {
                     $file_contents = CurlGet($url);
-                }else if(function_exists('file_get_contents')){
+                } else if (function_exists('file_get_contents')) {
                     $file_contents = file_get_contents($url);
                 }
-                $return = json_decode($file_contents,true);
-               
-                if(!empty($return['data'])){
-					$tycData	= json_decode($return['data'],true);
-					$Info		= $tycData['result'];
- 
-                    if($Info['estiblishTime']){
-                        $msectime = $Info['estiblishTime'] * 0.001;
-                        if(strstr($msectime,'.')){
-                            sprintf('%01.3f',$msectime);
-                            list($usec, $sec) = explode('.',$msectime);
-                            $sec = str_pad($sec,3,'0',STR_PAD_RIGHT);
-                        }else{
-                            $usec = $msectime;
-                            $sec = '000';
-                        }
-                        $est = date('Y-m-d',$usec);
-                        $Info['estiblishTime'] =$est;
-                	}
+                $return = json_decode($file_contents, true);
+                
+                if (!empty($return['data'])) {
+                    $tycData = json_decode($return['data'], true);
+                    $Info = $tycData['result'];
                     
-                    if($Info['fromTime']){
-                		
-                		$msectime = $Info['fromTime'] * 0.001;
-                        if(strstr($msectime,'.')){
-                            sprintf('%01.3f',$msectime);
-                            list($usec, $sec) = explode('.',$msectime);
-                            $sec = str_pad($sec,3,'0',STR_PAD_RIGHT);
-                        }else{
+                    if ($Info['estiblishTime']) {
+                        $msectime = $Info['estiblishTime'] * 0.001;
+                        if (strstr($msectime, '.')) {
+                            sprintf('%01.3f', $msectime);
+                            list($usec, $sec) = explode('.', $msectime);
+                            $sec = str_pad($sec, 3, '0', STR_PAD_RIGHT);
+                        } else {
                             $usec = $msectime;
                             $sec = '000';
                         }
-                        $est = date('Y-m-d',$usec);
-                        $Info['fromTime'] =$est;
-                    }else{
+                        $est = date('Y-m-d', $usec);
+                        $Info['estiblishTime'] = $est;
+                    }
+                    
+                    if ($Info['fromTime']) {
+                        
+                        $msectime = $Info['fromTime'] * 0.001;
+                        if (strstr($msectime, '.')) {
+                            sprintf('%01.3f', $msectime);
+                            list($usec, $sec) = explode('.', $msectime);
+                            $sec = str_pad($sec, 3, '0', STR_PAD_RIGHT);
+                        } else {
+                            $usec = $msectime;
+                            $sec = '000';
+                        }
+                        $est = date('Y-m-d', $usec);
+                        $Info['fromTime'] = $est;
+                    } else {
                         $Info['fromTime'] = '自创立起';
                     }
-                	if($Info['toTime']){
-                		$toTime=new DateTime('@'.substr($Info['toTime'],0,10));
-                		
-                		$toTime->setTimezone(new DateTimeZone('PRC'));
-                		$Info['toTime'] = $toTime->format('Y-m-d');
-                	}else{
-                		$Info['toTime'] = '长期';
-                	}
+                    if ($Info['toTime']) {
+                        $toTime = new DateTime('@' . substr($Info['toTime'], 0, 10));
+                        
+                        $toTime->setTimezone(new DateTimeZone('PRC'));
+                        $Info['toTime'] = $toTime->format('Y-m-d');
+                    } else {
+                        $Info['toTime'] = '长期';
+                    }
                 }
             }
-			
-            return array('content'=>$Info);
+            
+            return array('content' => $Info);
         }
     }
     
     /**
      * @desc    短信验证码时效性
-     * @param   array $data
+     * @param array $data
      * @return  boolean
      */
-  	public function checkTime($data)
-    {
-        $cert_validity  =   $this->config['moblie_codetime'] * 60; // 验证码有效时间
-        $time           =   time();
-        $ctime          =   bcsub($time, $data);
+    public function checkTime($data) {
+        $cert_validity = $this->config['moblie_codetime'] * 60; // 验证码有效时间
+        $time = time();
+        $ctime = bcsub($time, $data);
         
         if ($ctime <= $cert_validity) {
-        
+            
             return true;
         } else {
             
             return false;
         }
     }
-
+    
     /**
      * 发送手机短信/邮件验证码
      * @param string $sended 手机号/邮箱
@@ -515,284 +518,286 @@
      * @param string $port 端口:1-PC;2-WAP;5-ADMIN
      * @return array|number[]|string[]
      */
-    public function  sendCode($sended, $type, $port='', $user = array(), $length = 6, $validity = 120, $kind = 'msg') 
- 	{
-  	    
- 	    $time      =  time();
- 	    $overtime  =  $time - $validity;
- 	    $today     =  strtotime('today');
- 	    $ip        =  fun_ip_get();
- 	    $code      =  gt_Generate_code($length); //验证码
-		
- 	    if ($kind == 'msg'){
- 	        
-			if(!checkMsgOpen($this -> config)){
-			
-				return array('error'=> 107, 'msg'=> '网站没有配置短信,请联系管理员!');
-			
-			}
-			
-			$ip      =   fun_ip_get();
-			
-			$ipnum   =   $this -> select_num('moblie_msg', array('ip'=>$ip , 'ctime' => array('>', strtotime(date('Y-m-d')))));
-			
-			if($ipnum >= $this->config['ip_msgnum']){
-			    
-				return array('error'=> 107, 'msg'=> '当前IP短信发送受限!');
-				
-			}
-			
-			$num     =	  $this -> select_num('moblie_msg', array('moblie' => $sended , 'ctime' => array('>',strtotime(date('Y-m-d')))));
-			
-			if($num	>=	$this->config['moblie_msgnum']){
-			    
-				return array('error'=> 107, 'msg'=> '请不要频繁发送!');
-				
-			}
-			
- 	        if (CheckMobile($sended) == false){
- 	            
- 	            return array('error'=> 106, 'msg'=> '手机号码格式错误');
- 	            
- 	        }
-			
-			if ($type == 'getpass'){
- 	            
- 	            $member  =  $this -> select_once('member',array('moblie'=>$sended),'`uid`,`username` as `name`, `usertype`');
- 	            
- 	            if (!empty($member)){
- 	                
- 	                $user  =  array(
- 	                    'uid'       =>  $member['uid'],
- 	                    'usertype'  =>  $member['usertype'],
- 	                    'name'      =>  $member['name']
- 	                );
- 	                
- 	            }else{
- 	                
- 	                return array('error'=> 105, 'msg'=> '该手机尚未注册');
- 	                
- 	            }
- 	            
- 	            $lastSend  =  $this -> select_once('company_cert',array('check' => $sended, 'type' => 7 ,'orderby'=>'id,desc'),'`ctime`,`type`');
- 	            
- 	        }else {
- 	            
- 	            $lastSend  =  $this -> select_once('company_cert',array('check' => $sended, 'type' => 2,'orderby'=>'id,desc'),'`ctime`,`type`');
- 	        }
- 	        if($lastSend['ctime'] > $overtime){
- 	            
- 	            return array('error' => 102, 'msg' => '两次发送间隔需超过'.$validity.'秒');
- 	            
- 	        }
- 	        if ($type == 'cert'){
- 	            
- 	            $certover  =  $time - ($this->config['cert_msgtime'] * 60);
- 	            
- 	            if ($lastSend['ctime'] > $certover){
- 	                
- 	                return array('error' => 102, 'msg' => '手机认证短信发送间隔需超过'.$this->config['cert_msgtime'].'分钟');
- 	            }
- 	        }
- 	        $sendToday  =  $this -> select_all('moblie_msg', array('moblie' => $sended, 'ctime' => array('>' , $today)), '`ip`');
- 	        
- 	        if(count($sendToday) >= $this->config['moblie_msgnum']){
- 	            
- 	            return array('error' => 103, 'msg' => '同一手机号一天最多发送'.$this->config['moblie_msgnum'].'条');
- 	            
- 	        }
- 	        
- 	        $ipSendNum  =  0;
- 	        
- 	        foreach ($sendToday as $v){
- 	            if ($v['ip'] == $ip){
- 	                $ipSendNum++;
- 	            }
- 	        }
- 	        if($ipSendNum >= $this->config['ip_msgnum']){
- 	            
- 	            return array('error'=> 104, 'msg' => '同一IP一天最多发送'.$this->config['ip_msgnum'].'条');
- 	            
- 	        }
- 	        $result  =  $this -> sendType($sended, $type, $code, 'msg', $user, $port);
- 	        
- 	    }elseif ($kind == 'email'){
- 	        if (CheckRegEmail($sended) ==false){
- 	            
- 	            return array('error'=> 101, 'msg'=> '邮箱格式错误');
- 	        }
-			
-			if($this->config['sy_email_set']!="1"){
-				return array('error'=> 107, 'msg'=> '网站邮件服务器暂不可用');
-			}
-			
-			$num	=	$this->select_num("company_cert" , array('check'=>$sended , 'ctime'=>array('>',strtotime(date('Y-m-d')))) );
-			if($num>=5){
-				$data['errmsg']  = '请不要频繁发送邮件!';
-				$data['error']   = 17;
-				echo json_encode($data);die;
-			}
-			
- 	        if ($type == 'getpass'){
- 	            
- 	            $member  =  $this -> select_once('member',array('email'=>$sended),'`uid`,`username` as `name`, `usertype`');
- 	            
-				if($this->config['sy_email_getpass']=="2"){
-				
-					return array('error'=> 108, 'msg'=> '网站未开启邮件找回密码');
-				}
-				
- 	            if ($member){
- 	                $user  =  array(
- 	                    'uid'      => $member['uid'],
- 	                    'usertype' => $member['usertype'],
- 	                    'name'     => $member['name']
- 	                );
- 	            }else{
- 	                
- 	                return array('error'=> 105, 'msg'=> '该邮箱尚未注册');
- 	            }
- 	            
- 	            $num  =  $this -> select_num('company_cert',array('check'=>$sended,'type'=>7,'ctime'=>array('>',$today)));
- 	            
- 	            if($num >= 5){
- 	                
- 	                return array('error'=> 106, 'msg'=> '请不要频繁发送邮件');
- 	            }
- 	            $lastSend  =  $this -> select_once('company_cert',array('check'=>$sended,'type'=>7),'`ctime`,`type`');
- 	            
- 	            $result    =  $this -> sendType($sended, $type, $code, 'email', $user);
- 	        }
- 	    }
-		
- 	    if($result['status'] != -1){
- 	        
-  	    
- 	        $sendData = array(
- 	            'uid'         =>  intval($user['uid']),
- 	            'status'      =>  0,
- 	            'step'        =>  1,
- 	            'check'       =>  $sended,
- 	            'check2'      =>  $code,
- 	            'ctime'       =>  $time,
- 	            'did'         =>  $this -> config['did'],
- 	            'statusbody'  =>  $this -> codeType($type)
- 	        );
- 	        // 7-找回密码,2-其他短信、邮件验证码
- 	        if ($type == 'getpass'){
- 	            $sendData['type']  =  7;
- 	        }else{
- 	            $sendData['type']  =  2;
- 	        }
- 	        //只修改短信验证码相关的验证
- 	        if($lastSend && ($lastSend['type'] == 2 || $lastSend['type'] == 7)){
- 	            
- 	            if ($lastSend['type'] == 2){
- 	                
-  	                $this -> update_once('company_cert', $sendData, array('check'=>$sended,'type'=>2));
- 	                
- 	            }elseif ($lastSend['type'] == 7){
- 	                
- 	                $this -> update_once('company_cert', $sendData, array('check'=>$sended,'type'=>7));
- 	            }
- 	            
- 	        }else{
- 	            
- 	            $this -> insert_into('company_cert', $sendData);
- 	        }
- 	    }
- 	    return array('error' => $result['status'], 'msg' => $result['msg']);
- 	}
- 	//按类别发送验证码
- 	private function sendType($sended, $type, $code, $kind = 'msg',$user = array(), $port = null){
- 	    
- 	    $finfo    = $this -> forsend($user);       //用户信息
- 	    
- 	    $data = array(
- 	        'uid'       =>  $finfo['uid'],
- 	        'username'  =>  $finfo['name'],
- 	        'cuid'      =>  $finfo['cuid'],
- 	        'cname'     =>  $finfo['cname'],
- 	        'type'      =>  $type,
-			'code'      =>  $code
- 	    );
- 	    if ($kind == 'msg'){
- 	        
- 	        $data['moblie']	=	$sended;
- 	        $data['port']	=	$port;
- 	        
- 	        $result          = $this -> sendSMSType($data);
- 	        
- 	    }elseif ($kind == 'email'){
- 	        
- 	        $data['email']  =  $sended;
- 	        
- 	        $result         =  $this -> sendEmailType($data);
- 	    }
- 	    return $result;
- 	}
- 	//手机验证码类型
- 	private function codeType($type){
- 	    $status = array(
- 	        'login'    =>  '手机登录验证码',
- 	        'regcode'  =>  '手机注册验证码',
- 	        'cert'     =>  '手机认证',
- 	        'getpass'  =>  '找回密码'
- 	    );
- 	}
- 	//查询接收短信、邮件用户信息
- 	private function forsend($user){
- 	    $info = array(
- 	        'uid'   =>  0,
- 	        'name'  =>  '',
- 	        'cuid'  =>  0,
- 	        'cname' =>  '系统'
- 	    );
- 	    if (!empty($user['uid'])){
- 	        
- 	        if (!empty($user['name'])){
- 	            
- 	            $info['uid']  =   $user['uid'];
- 	            $info['name'] =   $user['name'];
- 	            
- 	        }else {
- 	            
- 	            $info  =  $this -> select_once('member', array('uid' => $user['uid']),'`uid`, `username` as `name`');
- 	            
- 	        }
- 	    }
- 	    return $info;
- 	}
-
+    public function sendCode($sended, $type, $port = '', $user = array(), $length = 6, $validity = 120, $kind = 'msg') {
+        
+        $time = time();
+        $overtime = $time - $validity;
+        $today = strtotime('today');
+        $ip = fun_ip_get();
+        $code = gt_Generate_code($length); //验证码
+        
+        if ($kind == 'msg') {
+            
+            if (!checkMsgOpen($this->config)) {
+                
+                return array('error' => 107, 'msg' => '网站没有配置短信,请联系管理员!');
+                
+            }
+            
+            $ip = fun_ip_get();
+            
+            $ipnum = $this->select_num('moblie_msg', array('ip' => $ip, 'ctime' => array('>', strtotime(date('Y-m-d')))));
+            
+            if ($ipnum >= $this->config['ip_msgnum']) {
+                
+                return array('error' => 107, 'msg' => '当前IP短信发送受限!');
+                
+            }
+            
+            $num = $this->select_num('moblie_msg', array('moblie' => $sended, 'ctime' => array('>', strtotime(date('Y-m-d')))));
+            
+            if ($num >= $this->config['moblie_msgnum']) {
+                
+                return array('error' => 107, 'msg' => '请不要频繁发送!');
+                
+            }
+            
+            if (CheckMobile($sended) == false) {
+                
+                return array('error' => 106, 'msg' => '手机号码格式错误');
+                
+            }
+            
+            if ($type == 'getpass') {
+                
+                $member = $this->select_once('member', array('moblie' => $sended), '`uid`,`username` as `name`, `usertype`');
+                
+                if (!empty($member)) {
+                    
+                    $user = array(
+                        'uid'      => $member['uid'],
+                        'usertype' => $member['usertype'],
+                        'name'     => $member['name']
+                    );
+                    
+                } else {
+                    
+                    return array('error' => 105, 'msg' => '该手机尚未注册');
+                    
+                }
+                
+                $lastSend = $this->select_once('company_cert', array('check' => $sended, 'type' => 7, 'orderby' => 'id,desc'), '`ctime`,`type`');
+                
+            } else {
+                
+                $lastSend = $this->select_once('company_cert', array('check' => $sended, 'type' => 2, 'orderby' => 'id,desc'), '`ctime`,`type`');
+            }
+            if ($lastSend['ctime'] > $overtime) {
+                
+                return array('error' => 102, 'msg' => '两次发送间隔需超过' . $validity . '秒');
+                
+            }
+            if ($type == 'cert') {
+                
+                $certover = $time - ($this->config['cert_msgtime'] * 60);
+                
+                if ($lastSend['ctime'] > $certover) {
+                    
+                    return array('error' => 102, 'msg' => '手机认证短信发送间隔需超过' . $this->config['cert_msgtime'] . '分钟');
+                }
+            }
+            $sendToday = $this->select_all('moblie_msg', array('moblie' => $sended, 'ctime' => array('>', $today)), '`ip`');
+            
+            if (count($sendToday) >= $this->config['moblie_msgnum']) {
+                
+                return array('error' => 103, 'msg' => '同一手机号一天最多发送' . $this->config['moblie_msgnum'] . '条');
+                
+            }
+            
+            $ipSendNum = 0;
+            
+            foreach ($sendToday as $v) {
+                if ($v['ip'] == $ip) {
+                    $ipSendNum++;
+                }
+            }
+            if ($ipSendNum >= $this->config['ip_msgnum']) {
+                
+                return array('error' => 104, 'msg' => '同一IP一天最多发送' . $this->config['ip_msgnum'] . '条');
+                
+            }
+            $result = $this->sendType($sended, $type, $code, 'msg', $user, $port);
+            
+        } elseif ($kind == 'email') {
+            if (CheckRegEmail($sended) == false) {
+                
+                return array('error' => 101, 'msg' => '邮箱格式错误');
+            }
+            
+            if ($this->config['sy_email_set'] != "1") {
+                return array('error' => 107, 'msg' => '网站邮件服务器暂不可用');
+            }
+            
+            $num = $this->select_num("company_cert", array('check' => $sended, 'ctime' => array('>', strtotime(date('Y-m-d')))));
+            if ($num >= 5) {
+                $data['errmsg'] = '请不要频繁发送邮件!';
+                $data['error'] = 17;
+                echo json_encode($data);
+                die;
+            }
+            
+            if ($type == 'getpass') {
+                
+                $member = $this->select_once('member', array('email' => $sended), '`uid`,`username` as `name`, `usertype`');
+                
+                if ($this->config['sy_email_getpass'] == "2") {
+                    
+                    return array('error' => 108, 'msg' => '网站未开启邮件找回密码');
+                }
+                
+                if ($member) {
+                    $user = array(
+                        'uid'      => $member['uid'],
+                        'usertype' => $member['usertype'],
+                        'name'     => $member['name']
+                    );
+                } else {
+                    
+                    return array('error' => 105, 'msg' => '该邮箱尚未注册');
+                }
+                
+                $num = $this->select_num('company_cert', array('check' => $sended, 'type' => 7, 'ctime' => array('>', $today)));
+                
+                if ($num >= 5) {
+                    
+                    return array('error' => 106, 'msg' => '请不要频繁发送邮件');
+                }
+                $lastSend = $this->select_once('company_cert', array('check' => $sended, 'type' => 7), '`ctime`,`type`');
+                
+                $result = $this->sendType($sended, $type, $code, 'email', $user);
+            }
+        }
+        
+        if ($result['status'] != -1) {
+            
+            
+            $sendData = array(
+                'uid'        => intval($user['uid']),
+                'status'     => 0,
+                'step'       => 1,
+                'check'      => $sended,
+                'check2'     => $code,
+                'ctime'      => $time,
+                'did'        => $this->config['did'],
+                'statusbody' => $this->codeType($type)
+            );
+            // 7-找回密码,2-其他短信、邮件验证码
+            if ($type == 'getpass') {
+                $sendData['type'] = 7;
+            } else {
+                $sendData['type'] = 2;
+            }
+            //只修改短信验证码相关的验证
+            if ($lastSend && ($lastSend['type'] == 2 || $lastSend['type'] == 7)) {
+                
+                if ($lastSend['type'] == 2) {
+                    
+                    $this->update_once('company_cert', $sendData, array('check' => $sended, 'type' => 2));
+                    
+                } elseif ($lastSend['type'] == 7) {
+                    
+                    $this->update_once('company_cert', $sendData, array('check' => $sended, 'type' => 7));
+                }
+                
+            } else {
+                
+                $this->insert_into('company_cert', $sendData);
+            }
+        }
+        return array('error' => $result['status'], 'msg' => $result['msg']);
+    }
+    
+    //按类别发送验证码
+    private function sendType($sended, $type, $code, $kind = 'msg', $user = array(), $port = null) {
+        
+        $finfo = $this->forsend($user);       //用户信息
+        
+        $data = array(
+            'uid'      => $finfo['uid'],
+            'username' => $finfo['name'],
+            'cuid'     => $finfo['cuid'],
+            'cname'    => $finfo['cname'],
+            'type'     => $type,
+            'code'     => $code
+        );
+        if ($kind == 'msg') {
+            
+            $data['moblie'] = $sended;
+            $data['port'] = $port;
+            
+            $result = $this->sendSMSType($data);
+            
+        } elseif ($kind == 'email') {
+            
+            $data['email'] = $sended;
+            
+            $result = $this->sendEmailType($data);
+        }
+        return $result;
+    }
+    
+    //手机验证码类型
+    private function codeType($type) {
+        $status = array(
+            'login'   => '手机登录验证码',
+            'regcode' => '手机注册验证码',
+            'cert'    => '手机认证',
+            'getpass' => '找回密码'
+        );
+    }
+    
+    //查询接收短信、邮件用户信息
+    private function forsend($user) {
+        $info = array(
+            'uid'   => 0,
+            'name'  => '',
+            'cuid'  => 0,
+            'cname' => '系统'
+        );
+        if (!empty($user['uid'])) {
+            
+            if (!empty($user['name'])) {
+                
+                $info['uid'] = $user['uid'];
+                $info['name'] = $user['name'];
+                
+            } else {
+                
+                $info = $this->select_once('member', array('uid' => $user['uid']), '`uid`, `username` as `name`');
+                
+            }
+        }
+        return $info;
+    }
+    
     /**
      * @desc 极验验证
      * @param $authcode
      * @param $tag
      * @return array
      */
-    function jycheck($authcode, $tag)
-    {
-
-        $image  =   false;
+    function jycheck($authcode, $tag) {
+        
+        $image = false;
         session_start();
         if (!empty($tag)) {
             if (strpos($this->config['code_web'], $tag) !== false) {
                 if ($this->config['code_kind'] > 2) {
-
-                    $check  =   verifytoken($this->config);
-
+                    
+                    $check = verifytoken($this->config);
+                    
                     if ($check['code'] != '200') {
-
+                        
                         return array('error' => 107, 'msg' => $check['msg']);
                     }
                 } else {
-
-                    $image  =   true;
+                    
+                    $image = true;
                 }
             }
         } else {
-
-            $image  =   true;
+            
+            $image = true;
         }
         if ($image) {
             if (md5(strtolower(trim($authcode))) != $_SESSION['authcode'] || trim($authcode) == '') {
@@ -803,7 +808,8 @@
             }
         }
     }
-	
-	
+    
+    
 }
+
 ?>
\ No newline at end of file

--
Gitblit v1.9.0