You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

272 lines
7.4 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
// +----------------------------------------------------------------------
// | 徐州梦创信息科技有限公司—专业的游戏运营,推广解决方案.
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.vlcms.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: kefu@vlcms.com QQ97471547
// +----------------------------------------------------------------------
/*
* 根据身份证号判断是否成年
* @param sting $idcard 身份证号码
* @author 鹿文学
*/
function is_adult($idcard, $adult=16) {
$id = substr($idcard,6,8);
$year = substr($id,0,4);
$month = substr($id,4,2);
$day = substr($id,6,2);
$old = (time()-strtotime($year.'-'.$month.'-'.$day))/31536000;
if(intval($old)>=$adult) {
return true;
} else {
return false;
}
}
/* 支付验证 当前只有未成年
* return: array code 1成功 0失败 msg :错误消息
*/
function pay_check($user_id) {
$ret = array(
'code' => 1,
'msg' => '',
);
$idcard = M("user", "tab_")->where(array('id' => $user_id))->getField("idcard");
if (!$idcard) {
$ret['code'] = 1;
$ret['msg'] = '身份证不存在';
return $ret;
}
if (is_adult($idcard, 18)) {
$ret['code'] = 1;
$ret['msg'] = '';
return $ret;
} else {
$ret['code'] = 0;
$ret['msg'] = '未成年,不能充值!';
return $ret;
}
}
/* //获取支付方式 */
function get_pay_way($id=null)
{
if(!isset($id)){
return false;
}
switch ($id) {
case -1:
return "绑币";
break;
case 0:
return "平台币";
break;
case 1:
return "支付宝";
break;
case 2:
case 3:
case 4:
return "微信";
break;
// case 3:
// return "微信APP";
// break;
// case 4:
// return "威富通";
// break;
case 5:
return "聚宝云";
break;
case 6:
return "竣付通";
break;
case 7:
return "苹果支付";
break;
case 8:
return "金猪支付";
break;
case 9:
return "金猪支付-微信";
break;
case 11:
return "酷点支付-支付宝";
break;
case 21:
return "酷点支付-微信";
break;
case 12:
return "丰付支付-支付宝";
break;
case 22:
return "丰付支付-微信";
break;
case 13:
return "趣智连支付-支付宝";
break;
case 23:
return "趣智连支付-微信";
break;
}
}
/*
* 获取添加好友请求总数
* @param integer $userid 我的账户编号
* @author 鹿文学
*/
function get_buddies_unagree_count($userid) {
$count = 0;
if(is_numeric($userid) && $userid>0) {
$map['_string'] = "(inviter_id = {$userid} and inviter_status in(2,3) and invitee_status=1 )";
$map['_complex'] = array('invitee_id'=>$userid,'invitee_status'=>array('in','2,3'),'inviter_status'=>1);
$map['_logic'] = 'or';
$count = M('buddies','tab_')->where($map)->count();
}
return $count;
}
/*
*获取游戏设置信息
*/
function get_game_set_info($game_id = 0){
$game = M('GameSet','tab_');
$map['game_id'] = $game_id;
$data = $game->where($map)->find();
return $data;
}
/**
* 对数据进行编码转换
* @param array/string $data 数组
* @param string $output 转换后的编码
*/
function array_iconv($data, $output = 'utf-8') {
$encode_arr = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');
$encoded = mb_detect_encoding($data, $encode_arr);
if (!is_array($data)) {
return mb_convert_encoding($data, $output, $encoded);
}
else {
foreach ($data as $key=>$val) {
$key = array_iconv($key, $output);
if(is_array($val)) {
$data[$key] = array_iconv($val, $output);
} else {
$data[$key] = mb_convert_encoding($data, $output, $encoded);
}
}
return $data;
}
}
/**
* 获取游戏appstor上线状态
* @param $game_id 游戏id
* @return mixed appstatus 上线状态
* @author zhaochao
*/
function get_game_appstatus($game_id){
$map['id']=$game_id;
$game=M('game','tab_')->where($map)->find();
if($game['sdk_version']==2&&$game['appstatus']==1){
return true;
}elseif($game['sdk_version']==2&&$game['appstatus']==0){
return false;
}elseif($game['sdk_version']==1){
return true;
}
}
/**
* 邮件发送函数
*/
function sendMail($to,$rand) {
Vendor('phpmailer.PHPMailerAutoload');
$mail = new \PHPMailer(); //实例化
$mail->IsSMTP(); // 启用SMTP
$mail->Host=C('email_set.smtp'); //smtp服务器的名称这里以126邮箱为例smtp.126.com
$mail->SMTPAuth = TRUE;//C('MAIL_SMTPAUTH'); //启用smtp认证
$mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权
$mail->Port = C('email_set.smtp_port'); //设置ssl连接smtp服务器的远程服务器端口号
$mail->CharSet = 'UTF-8';
$mail->Username = C('email_set.smtp_account'); //你的邮箱名
$mail->Password = C('email_set.smtp_password') ; //邮箱密码
$mail->From = C('email_set.smtp_account'); //发件人地址(也就是你的邮箱地址)
$mail->FromName = C('email_set.smtp_name'); //发件人姓名
$mail->AddAddress($to,"尊敬的客户");
$mail->WordWrap = 50; //设置每行字符长度
$mail->IsHTML(TRUE); // 是否HTML格式邮件
$mail->CharSet='utf-8'; //设置邮件编码
$mail->Subject =C('email_set.title'); //邮件主题
$content=M("tool",'tab_')->where(array('name'=>'email_set'))->getField('template');
$reg="/#code#/";
$content=preg_replace($reg,$rand,$content);
$mail->Body = $content; //邮件内容
$c = strip_tags($content);
$mail->AltBody = $c; //邮件正文不支持HTML的备用显示
return($mail->Send());
}
/**
* 获取微信app登录参数
* @return [type] [description]
*/
function get_game_param($game_id,$field="",$type=''){
$map['game_id']=0; empty($type) || $map['type'] = $type;
$find=M('param','tab_')->field($field)->where($map)->find();
if(null==$find){
$map['game_id']=$game_id;
$find=M('param','tab_')->field($field)->where($map)->find();
}
return $find;
}
/**
* 生成随机汉字字符串
* @param $num 数量
* @return [type] [description]
*/
function getChinaChar($num)
{
// $string = '';
// for ($i=0; $i<$num; $i++) {
// // 使用chr()函数拼接双字节汉字前一个chr()为高位字节,后一个为低位字节
// $a = chr(mt_rand(0xB0,0xD0)).chr(mt_rand(0xA1, 0xF0));
// // 转码
// $string .= iconv('GB2312', 'UTF-8', $a);
// }
// return $string;
$char = file_get_contents(APP_PATH.'Sdk/SecretKey/Data/chinaChar.txt');
$str = '';
$length = strlen($char);
for($i = 0;$i < $num;$i++)
{
$rand = rand(0,$length);
for(;$rand >= 0;$rand--)
{
if($rand == 0 || $rand %3 ==0)
{
break;
}
}
$str = $str . substr($char,$rand,3);
}
return $str;
}