




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/* 获得一个 select* param unknown_type $dbNameOrArray数据库名称或一位数组* param unknown_type $namename 与id ,数据库取值用字段* param unknown_type $value值* param unknown_type $choose当前选中的值* param unknown_type $where数据库条件* param unknown_type $attribute属性* param unknown_type $isSelect是否有标题选择* param unknown_type $titleName标题
2、名称* return string返回*/public functiongetSelectByWhere($dbNameOrArray,$name,$value,$choose,$where=null,$attribute='',$isSelect=true,$titleName='请选择')$selected.="<select$attribute$stylename='$name'id='$name'>"$isSelect?$selected.="<option value=
3、39; '>$titleName</option>":""if(is_array($dbNameOrArray)/foreach($dbNameOrArray as $key=>$val)/$selectTrue=($key=$choose &&$choose!='')?"selected=true":""$selected.="<option value='$key' $selectTrue >"$selecte
4、d.="$val"$selected.="</option>"/else$m=M($dbNameOrArray);$list=$m->where($where)->select();/foreach($list as $key=>$val)/$selectTrue=($val'id'=$choose)?"selected=true":""$selected.="<option value='$val"id"' $sel
5、ectTrue >"$selected.="$val$value"$selected.="</option>"/$selected.="</select>"return $selected;/* 获取值* param unknown_type $dbName数据库名* param unknown_type $name字段值名称* param unknown_type $valuevalue(id)* return Ambigous <>*/public function getVal
6、ue($dbName,$name,$value)$m=M($dbName);$list=$m->find($value);return $list$name;/* session 管理函数* param string|array $name session 名称如果为数组则表示进行session 设置* param mixed $value session 值* return mixed*/function session($name='',$value='') $prefix=C('SESSION_PREFIX');if(is_array
7、($name) / session 初始化 在 session_start 之前调用if(isset($name'prefix') C('SESSION_PREFIX',$name'prefix');if(C('VAR_SESSION_ID') &&isset($_REQ('VAR_SESSION_ID')session_id($_REQ('VAR_SESSION_ID');elseif(isset($name'id') session_id($name'id
8、');if('common' != APP_MODE) / 其它模式可能不支持ini_set('session.auto_start', 0);if(isset($name'name')session_name($name'name');if(isset($name'path')session_save_path($name'path');if(isset($name'domain')ini_set('session.cookie_domain', $name
9、'domain');if(isset($name'expire')ini_set('session.gc_maxlifetime',$name'expire');if(isset($name'use_trans_sid')ini_set('session.use_trans_sid',$name'use_trans_sid'?1:0);if(isset($name'use_cookies')ini_set('session.use_cookies',$
10、name'use_cookies'?1:0);if(isset($name'cache_limiter')session_cache_limiter($name'cache_limiter');if(isset($name'cache_expire')session_cache_expire($name'cache_expire');if(isset($name'type')C('SESSION_TYPE',$name'type');if(C('SESSION
11、_TYPE') /session 驱动$type=C('SESSION_TYPE');$class=strpos($type,'')? $type :'ThinkSessionDriver'. ucwords(strtolower($type);$hander =new $class();session_set_save_handler(array(&$hander,"open"),array(&$hander,""),array(&$hander,"")
12、,array(&$hander,"write"),array(&$hander,"destroy"),array(&$hander,"gc");/ 启动 sessionif(C('SESSION_AUTO_START')session_start();elseif('' = $value)if(''=$name)/获取全部的 sessionreturn $prefix ? $_SESSION$prefix : $_SESSION;elseif(0=strpos($
13、name,'') / session 操作if('pause'=$name) / 暂停 sessionsession_write_();elseif('start'=$name) / 启动 sessionsession_start();elseif('destroy'=$name) / 销毁 session$_SESSION =array();session_unset();session_destroy();elseif('regenerate'=$name) / 重新生成 idsession_regenerat
14、e_id();elseif(0=strpos($name,'?') / 检查 session$name=substr($name,1);if(strpos($name,'.') / 支持数组list($name1,$name2) =explode('.',$name);return$prefix?isset($_SESSION$prefix$name1$name2):isset($_SESSION$name1$name2);elsereturn$prefix?isset($_SESSION$prefix$name):isset($_SESSION
15、$name);elseif(is_null($name) / 清空 sessionif($prefix) unset($_SESSION$prefix);else$_SESSION = array();elseif($prefix) / 获取 sessionif(strpos($name,'.')list($name1,$name2) =explode('.',$name);returnisset($_SESSION$prefix$name1$name2)?$_SESSION$prefix$name1$name2:null;elsereturnisset($_S
16、ESSION$prefix$name)?$_SESSION$prefix$name:null;elseif(strpos($name,'.')list($name1,$name2) =explode('.',$name);returnisset($_SESSION$name1$name2)?$_SESSION$name1$name2:null;elsereturnisset($_SESSION$name)?$_SESSION$name:null;elseif(is_null($value) / 删除 sessionif($prefix)unset($_SESSI
17、ON$prefix$name);elseunset($_SESSION$name);else / 设置 sessionif($prefix)if (!isset($_SESSION$prefix) $_SESSION$prefix = array();$_SESSION$prefix$name=$value;else$_SESSION$name=$value;/组装请求 xmlpublic function xmlCreate($phone,$getContent)$spid='22487966040003'/spid$serviceKey='69316940b2a24
18、fc1a4d4aa02a0ade331'/serviceKey$appId='01156129'/应用 ID$appKey="918d761c9a57489083ba430ec4c7479b"/应用 key$="02157862572"/ECP 号码$type="0"$phone2=$phone; /接收号码$functions="sendSms"/的,此不能修改,修改后会导致不能$content=$getContent; /内容date_default_timezone_set('
19、Asia/Chongqing');/时间同步$now = getdate(time();$cur_wday=$now'wday'$date = date("Y-m-d H:i:s",time(); /获得时间$timeStamp= str_replace(' ','',str_replace(':','',str_replace('-','',$date) ;/将时间去- 去空格去:$SiCode=$this->encrypt1($spid.$ser
20、viceKey,$serviceKey);/SiCode加密由 spid+ServiceKey 进行 DES 加密而成,密钥为 ServiceKey$appCode=$this->encrypt1($appId.$appKey,$appKey);/AppCode加密 由 appid+appkey 进行 DES 加密而成,密钥为 appkey$sign=md5($spid.$serviceKey.$appId.$appKey.$timeStamp); /签名,spid+ServiceKey+appid+appkey+TimeStamp 进行 MD5 加密而成。注:签名的各个参数顺序不能颠倒
21、$no=$this->create_guid();/UUID/xml 拼接$sendContent = "<?xml version='1.0'encoding='utf-8'?>"$sendContent.="<xml>"$sendContent.='<SiCode>'. $SiCode . '</SiCode>'$sendContent.='<AppCode>' . $appCode .'</
22、AppCode>'$sendContent.='<appID>' . $appId . '</appID>'$sendContent.='<TimeStamp>' . $timeStamp .'</TimeStamp>'$sendContent.='<sign>' . $sign . '</sign>'$sendContent.='<function>' . $functions .
23、39;</function>'$sendContent.='<RequestData>'$sendContent.='<>' . $.'</>'$sendContent.='<DestinationAddresses>' . $phone2 .'</DestinationAddresses>'$sendContent.='<Message>'.$content .'</Message>
24、39;$sendContent.='</RequestData>'$sendContent.='</xml>'return $sendContent.trim();/生成 UUIDfunction create_guid()$microTime = microtime();list($a_dec, $a_sec) = explode(" ", $microTime);$dec_hex = dechex($a_dec* 1000000);$sec_hex = dechex($a_sec);$this->ensure
25、_length($dec_hex, 5);$this->ensure_length($sec_hex, 6);$guid = ""$guid .= $dec_hex;$guid .=$this->create_guid_section(3);$guid .= '-'$guid .= $this->create_guid_section(4);$guid .= '-'$guid .=$this->create_guid_section(4);$guid .= '-'$guid .=$this->cr
26、eate_guid_section(4);$guid .= '-'$guid .= $sec_hex;$guid .=$this->create_guid_section(6);return $guid;function create_guid_section($characters)$return = ""for($i=0; $i<$characters; $i+)$return .= dechex(mt_rand(0,15);return $return;function ensure_length(&$string, $length
27、)$strlen = strlen($string);if($strlen < $length)$string = str_pad($string,$length,"0");else if($strlen > $length)$string = substr($string, 0, $length);/DES 加密str 为加密的明文, key 为加密的密钥function encrypt1($str,$key) $iv='$r#e2W1Q'$size = mcrypt_get_block_size(MCRYPT_DES,MCRYPT_MODE_
28、CBC);$str =$this->pkcs5Pad($str, $size);$result= base64_encode(mcrypt_cbc(MCRYPT_DES,$key, $str, MCRYPT_ENCRYPT, $iv);return $result;/public function pkcs5Pad($text, $blocksize) /$pad = $blocksize - (strlen($text) % $blocksize);/return $text . str_repeat(chr($pad), $pad);/DES 加密str 为加密的明文, key 为加
29、密的密钥public function encrypt($str) $key='jTanGEcP'$iv='$r#e2W1Q'$size = mcrypt_get_block_size(MCRYPT_DES,MCRYPT_MODE_CBC);$str = $this->pkcs5Pad($str, $size);$result= base64_encode(mcrypt_cbc(MCRYPT_DES,$key, $str, MCRYPT_ENCRYPT, $iv);return $result;function pkcs5Pad($text, $block
30、size) $pad = $blocksize - (strlen($text) % $blocksize);return $text . str_repeat(chr($pad), $pad);/外部调用接口public function sendMessageExternal()if(trim($_SERVER"REMOTE_ADDR")!='120.26.111.81')echo 'N'die;if(isset($_REQUEST'phone')$phone=$_REQUEST'phone'$messag
31、e=$_REQUEST'message'$this->sendMessage($phone,$message);echo 'Y'die;/发送public function sendMessage($phone,$message)$xml=$this->xmlCreate($phone,iconv('UTF-8','GB2312',$message);/生成 xml/echo "<p>请求参数:</p>"/转移<>否则 xml 输出不$beforexml=$xml
32、;$beforexml = str_replace("<", "<", $beforexml);$beforexml = str_replace(">", ">", $beforexml);$beforexml = str_replace("n", "<br />", $beforexml);/echo $beforexml;$desxml=$this->encrypt($xml);/对 xml 进行加密$desxml
33、len=strlen($desxml);/加密后 xml 的长度$wsdl ="" /地址$=new Soap($wsdl);$param = array("args0"=>$desxmllen,"args1"=>$desxml);/参数$str=$->extendService($param); /调用/ 获取 SOAP 类型列表(Returns list of SOAP types )$arr=get_object_vars($str);/echo "<p>返回结果: </p>&
34、quot;/转移<>否则 xml 输出不foreach( $arr as $key=>$val)$val = str_replace("<", "<", $val);$val = str_replace(">", ">", $val);$val = str_replace("n", "<br />", $val);/echo $val;/支付public function weChatPay()$url=&
35、quot;".trim($this->oid)."&total_fee=1"$json=file_get_contents($url);return $json;/支付调用public function createSign()if($this->oid)$appid="wxb07a0043252ac3d2"$mch_id="1286770801"$device_info="1000"$body="test"$nonce_str = $this->random
36、Str(16);$stringA="appid=".$appid."&body=".$body."&device_info=".$device_info."&mch_id=".$mch_id."&nonce_str=".$nonce_str;$key="a10add3849ba56abbe56e056f20f883f"$stringSignTemp=$stringA."&key=".$key;$sign= strto
37、upper(MD5($stringSignTemp);$xml.="<xml>"$xml.="<appid>".$appid."</appid>"$xml.="<attach>支付测试</attach>"$xml.="<body>JSAPI 支付测试</body>"$xml.="<mch_id>".$mch_id."</mch_id>"$xml.=&
38、quot;<nonce_str>".$nonce_str."</nonce_str>"$xml.="<notify_url>gList</notify_url>"$xml.="<openid>".$this->oid."</openid>"$xml.="<out_trade_no>".time()."</out_trade_no>"$xml.="<s
39、pbill_create_ip>".$_SERVER"REMOTE_ADDR"."</spbill_create_ip>"$xml.="<total_fee>1</total_fee>"$xml.="<trade_type>JSAPI</trade_type>"$xml.="<sign>".$sign."</sign>"$xml.="</xml>"
40、;$d= $this->postXmlCurl($xml,'');echo $d;die;/生成随机字符串public function randomStr($number)$arr=array('1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f'
41、,'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E'
42、,'F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');$str=""for ($i=1;$i<=$number;$i+)
43、$randStr=rand(0,61);$str.=$arr$randStr;return $str;/* 以 post 方式提交 xml 到对应的接口 url* param string $xml需要 post 的 xml 数据* param string $urlurl* param bool $useCert 是否需要,默认不需要* param int $secondurl 执行超时时间,默认 30s* throws WxPayException*/privatefunction postXmlCurl($xml, $url, $useCert = false,$second = 30)
44、$ch = curl_init();/设置超时curl_setopt($ch, CURLOPT_TIMEOUT, $second);curl_setopt($ch,CURLOPT_URL, $url);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);/严格校验/设置 headercurl_setopt($ch, CURLOPT_HEADER, FALSE);/要求结果为字符串且输出到屏幕上curl_setopt($ch, CURLOPT_RETURNTRANSFER,
45、TRUE);/post 提交方式curl_setopt($ch, CURLOPT_POST, TRUE);curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);/运行 curl$data = curl_exec($ch);/返回结果if($data)curl_($ch);return $data; else $error = curl_errno($ch);curl_($ch);return "错误"public function shjList()/机查看列表/机$where'equipmentType'='1
46、9;/搜索条件$_REQUEST'devicesId'?$where'equipment.devicesId'=trim($_REQUEST'devicesId'):""$_REQUEST'equipmentName'?$where'equipmentName'=array('like','%'.trim( $_REQUEST'equipmentName').'%'):""$where'status
47、9;=$_REQUEST'status'?$_REQUEST'status':'1'if($_REQUEST'network'='0')/$where'network'=array('lt','0','or');/$where'network'=array('exp','is null');$where'network' = array(array('lt','0&
48、#39;),array('exp','is null'), 'or') ;elseif($_REQUEST'network'='1')$where'network'=array('egt','0');if ($_SESSION'user''groups'!='1')/如果不是超级管理员$did=explode(',', $_SESSION'user''did');$wher
49、e'equipment.id'=array('in',$did);$_REQUEST'holderId'?$where'holderId'=$_REQUEST'holderId':''/print_r($where);$equipmentList=$this->equipmentM->getListPageByWhere($where,true,'work desc');/echo $this->equipmentM->getLastSql();/商户选择$s
50、hList=$this->adminM->where(array('groups'=>'4')->select();$this->assign('shList',$shList);if(isset($_REQUEST'startTime')$startTime=strtotime($_REQUEST'startTime'.' 00:00:00');$endTime=strtotime($_REQUEST'endTime'.' 23:59:59
51、39;);else/默认当天时间戳$startTime=strtotime(date('Y-m-d',time().' 00:00:00');$endTime=strtotime(date('Y-m-d',time().' 23:59:59');/得到所有应该显示的$eqlist=$this->equipmentM->field('equipment.*')->join('devicestate ondevicestate.devicesId=equipment.devicesId'
52、;)->where($where)->select();/echo $this->equipmentM->getLastSql();foreach ($eqlist as $eq)$eqarr=$eq'devicesId'/print_r($eqarr);$totalhaving'dealState'='3'$totalhaving'goodsChange'=array('$ne' => '0');$totalhaving'nowTime'=array('$gt' =>$startTime.'','$lt'=>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 19《大象的耳朵》第二课时教学设计-2024-2025学年二年级下册语文统编版
- Module 6 Unit 2 Happy Mid-Autumn Festival!(教学设计)-2024-2025学年外研版(三起) 四年级上册
- 10 父母多爱我(教学设计)-2024-2025学年道德与法治三年级上册统编版
- 基坑支护合同范本
- 船舶设备采购合同范本
- 3《书的历史》教学设计-2023-2024学年科学二年级上册教科版
- 8《田忌赛马》(教学设计)-2024-2025学年人教版四年级上册数学
- 政策资金申报合同范本
- Module 6 Problems Unit 1 教学设计 2024-2025学年外研版英语九年级上册
- 矿石购销居间合同范本
- 《义务教育数学课程标准(2022年版)》解读
- 如何做好一名IPQC课件
- 《广东省高级会计师资格评审表填表范例》
- 文物保护概论教学课件
- 2021年杭州市中考英语试题及答案
- 安徽药都银行2023年员工招聘考试参考题库含答案详解
- 小学体育与健康人教体育与健康基础知识轻度损伤的自我处理【省一等奖】
- 外贸中英文报价单模版
- 部编版二年级下册科学全册教案
- 妇产科学(第9版)第二章女性生殖系统解剖
- GB/T 700-2006碳素结构钢
评论
0/150
提交评论