工会web
This commit is contained in:
354
GonghuiWeb/www/dh/index.php
Normal file
354
GonghuiWeb/www/dh/index.php
Normal file
@@ -0,0 +1,354 @@
|
||||
<?php
|
||||
include_once("../../inc/class.php");
|
||||
include_once("../../inc/admin.smarty.php");
|
||||
include_once("../../inc/virtual.php");
|
||||
$db = new myConn;
|
||||
$db->links();
|
||||
$GG=$db->getpost($GG);
|
||||
$md5 = md5("wn".date('Ym')."mj".$GG['gameid']);
|
||||
if($md5 != $GG['md5']){
|
||||
echo "Error";
|
||||
exit;
|
||||
}
|
||||
$ppxq -> register_function('timename','timename');
|
||||
$ppxq -> assign('GG',$GG);
|
||||
$ppxq -> assign('GradeArr',$GradeArr);
|
||||
$ppxq -> assign('userinfo',$userinfo = $db->fetch_one("select a.UserID,a.GameID,a.NickName,a.SpreaderID,c.ConsumeScore,c.InsureScore,c.PlayCount,c.Grade,c.YuanBao,c.LotteryGame from AccountsInfo as a LEFT JOIN QPTreasureDB.dbo.GameScoreInfo AS c ON(a.UserID=c.UserID) where a.GameID='".$GG['gameid']."'"));
|
||||
if($userinfo['Grade']<100){
|
||||
$mda = 'wn'.date('Ym').'mj'.$GG['gameid'];
|
||||
echo "Upgrades...<br>";
|
||||
exit;
|
||||
}
|
||||
if($GG['ty'] == 'main'){//兑换页面
|
||||
$ppxq -> assign('info',$db->fetch_all("select * from Shop order by ShopSort desc,ShopID asc"));
|
||||
$ppxq -> assign('log',$db->fetch_all("select top 20 convert(char,a.ShopLogTime,120) as Date,b.NickName,c.ShopTitle from ShopLog as a LEFT JOIN AccountsInfo AS b ON(a.UserID=b.UserID) LEFT JOIN Shop AS c ON(a.ShopID=c.ShopID) where a.ShopID>4 and a.YuanBao>0 order by ShopLogID desc"));
|
||||
$ppxq -> display('dh/main.tpl');
|
||||
}elseif($GG['ty'] == 'cj'){//抽奖
|
||||
$zt = date("Y-m-d",time()-86400);
|
||||
$count = $db->fetch_one("select * from YuanBaoDay where Day='".$zt."'");
|
||||
$ppxq -> assign('log',$db->fetch_all("select top 50 convert(char,a.LoTime,120) as Date,a.Types,a.YuanBao,b.NickName from YuanBaoLog as a LEFT JOIN AccountsInfo AS b ON(a.UserID=b.UserID) order by YbID desc"));
|
||||
$ppxq -> assign('logs',$db->fetch_all("select top 3 convert(char,a.LoTime,120) as Date,a.Types,a.YuanBao,b.NickName from YuanBaoLog as a LEFT JOIN AccountsInfo AS b ON(a.UserID=b.UserID) where (Types='lottery' or Types='day' or Types='month') and YuanBao>'49' order by YbID desc"));
|
||||
$ppxq -> assign('count',$count['YuanBao']*8);
|
||||
$ppxq -> display('dh/cj.tpl');
|
||||
}elseif($GG['ty'] == 'day'){//日排行
|
||||
for($i=0;$i<3;$i++){
|
||||
$day[] = date('Y-m-d',strtotime("-".$i." day"));
|
||||
}
|
||||
for($i=0;$i<2;$i++){
|
||||
$month[] = date('Y-m',strtotime("-".$i." month"));
|
||||
}
|
||||
if($GG['time']){
|
||||
$type_num = explode("-",$GG['time']);
|
||||
if(count($type_num) == 2){
|
||||
if(in_array($GG['time'],$month)){
|
||||
$time = $GG['time'];
|
||||
$time_type = 'month';
|
||||
}
|
||||
}else{
|
||||
if(in_array($GG['time'],$day)){
|
||||
$time = $GG['time'];
|
||||
$time_type = 'day';
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$time || !$time_type){
|
||||
$time = date('Y-m-d');
|
||||
$time_type = 'day';
|
||||
}
|
||||
if($GG['sort'] == 'mj'){
|
||||
$order = "Mj";
|
||||
}elseif($GG['sort'] == 'ddz'){
|
||||
$order = "Ddz";
|
||||
}elseif($GG['sort'] == 'nn'){
|
||||
$order = "Niu";
|
||||
}elseif($GG['sort'] == 'pdk'){
|
||||
$order = "Pdk";
|
||||
}elseif($GG['sort'] == 'dz'){
|
||||
$order = "Dz";
|
||||
}elseif($GG['sort'] == 'ss'){
|
||||
$order = "Ss";
|
||||
}elseif($GG['sort'] == 'zjh'){
|
||||
$order = "Zjh";
|
||||
}else{
|
||||
$order = "Pm";
|
||||
}
|
||||
if($time_type == 'month'){
|
||||
$dat = $db->fetch_all("select top 30 a.*,b.GameID,b.NickName,c.HeadHttp,(a.Hit-(a.Niu-a.Niu/4)-(a.Ss-a.Ss/3)-(a.Zjh-a.Zjh/3)) as Pm from CountJf as a LEFT JOIN AccountsInfo AS b ON(a.UserID=b.UserID) LEFT JOIN IndividualDatum as c ON(a.UserID=c.UserID) WHERE Month='".$time."' order by ".$order." desc");
|
||||
}else{
|
||||
$dat = $db->fetch_all("select top 30 a.*,b.GameID,b.NickName,c.HeadHttp,(a.Hit-(a.Niu-a.Niu/4)-(a.Ss-a.Ss/3)-(a.Zjh-a.Zjh/3)) as Pm from CountUserJf as a LEFT JOIN AccountsInfo AS b ON(a.UserID=b.UserID) LEFT JOIN IndividualDatum as c ON(a.UserID=c.UserID) WHERE Days='".$time."' order by ".$order." desc");
|
||||
}
|
||||
foreach($dat as $ka => $va){
|
||||
$dat[$ka]['HeadHttp'] = $dat[$ka]['HeadHttp'];
|
||||
}
|
||||
//虚拟人物
|
||||
foreach($vdata as $k => $v){
|
||||
$xnjs_ar = vmdate($vdata[$k],$time);
|
||||
$xnda[]=[
|
||||
'NickName' => $v['name'],
|
||||
'Mj' => $xnjs_ar['data']['Mj'],
|
||||
'Ddz' => $xnjs_ar['data']['Ddz'],
|
||||
'Niu' => $xnjs_ar['data']['Niu'],
|
||||
'Dz' => $xnjs_ar['data']['Dz'],
|
||||
'Ss' => $xnjs_ar['data']['Ss'],
|
||||
'Zjh' => $xnjs_ar['data']['Zjh'],
|
||||
'Pdk' => $xnjs_ar['data']['Pdk'],
|
||||
'Pm' => ($xnjs_ar['data']['Mj']+$xnjs_ar['data']['Ddz']+$xnjs_ar['data']['Dz']+$xnjs_ar['data']['Pdk']+intval($xnjs_ar['data']['Niu']/4)+intval($xnjs_ar['data']['Ss']/3)+intval($xnjs_ar['data']['Zjh']/3)),
|
||||
'HeadHttp' => $v['tx']
|
||||
];
|
||||
}
|
||||
$data_hb = array_merge($dat,$xnda);
|
||||
$data = $db->array_sort($data_hb,$order,'desc');
|
||||
$ppxq -> assign('time',$time);
|
||||
$ppxq -> assign('day',$day);
|
||||
$ppxq -> assign('month',$month);
|
||||
$ppxq -> assign('data',$data);
|
||||
$ppxq -> display('dh/day.tpl');
|
||||
}elseif($GG['ty'] == 'jf'){//查看自己积分记录
|
||||
$kaig = 0;
|
||||
if($GG['look']){
|
||||
$shopid = 6;
|
||||
$xyyb = 3000;
|
||||
if($userinfo['Grade']>15000 && $GG['gid']==$userinfo['GameID']){
|
||||
$xyyb = 0;
|
||||
$kaig = 1;
|
||||
}
|
||||
}else{
|
||||
$shopid = 5;
|
||||
$xyyb = 1000;
|
||||
if($userinfo['Grade']>6000 && $GG['gid']==$userinfo['GameID']){
|
||||
$xyyb = 0;
|
||||
$kaig = 1;
|
||||
}
|
||||
}
|
||||
if($userinfo['YuanBao'] >= $xyyb){
|
||||
$ppxq -> assign('user', $user = $db->fetch_one("select * from AccountsInfo where GameID='".$GG['gid']."'"));
|
||||
if($kaig==0){
|
||||
//扣除元宝
|
||||
$db->update("QPTreasureDB.dbo.GameScoreInfo",['YuanBao'=>$userinfo['YuanBao']-$xyyb],"UserID='".$userinfo['UserID']."'");
|
||||
//记录元宝日志
|
||||
$ybd = $db->fetch_one("select * from YuanBaoDay where Day='".date('Y-m-d')."'");
|
||||
if($ybd){
|
||||
$db->update('YuanBaoDay',['XYuanBao'=>$ybd['XYuanBao']+$xyyb],"YbdID='".$ybd['YbdID']."'");
|
||||
}else{
|
||||
$db->insert("YuanBaoDay",['Day'=>date('Y-m-d'),'XYuanBao'=>$xyyb]);
|
||||
}
|
||||
}
|
||||
//添加记录
|
||||
$savelog = [
|
||||
'ShopID'=>$shopid,
|
||||
'UserID'=>$userinfo['UserID'],
|
||||
'QYuanBao'=>$userinfo['YuanBao'],
|
||||
'YuanBao'=>$xyyb,
|
||||
'ShopLogCheck'=>1,
|
||||
'ShopTxt'=>$user['NickName']."(".$user['GameID'].")"
|
||||
];
|
||||
$db->insert("ShopLog",$savelog);
|
||||
if($GG['gid']){
|
||||
if($GG['look']){
|
||||
$ppxq -> assign('log',$log = $db->fetch_all("select top 30 * from CountJf where UserID='".$user['UserID']."' order by CjID desc"));
|
||||
}else{
|
||||
$ppxq -> assign('log',$log = $db->fetch_all("select top 30 * from CountUserJf where UserID='".$user['UserID']."' order by CujID desc"));
|
||||
}
|
||||
if($log){
|
||||
foreach ($log as $k => $v) {
|
||||
$zjf += $v['Jf'];
|
||||
}
|
||||
$ppxq -> assign('zjf',$zjf);
|
||||
}
|
||||
}
|
||||
$ppxq -> display('dh/jf.tpl');
|
||||
}else{
|
||||
echo "元宝不够!";
|
||||
}
|
||||
}elseif($GG['ty'] == 'hy'){//我的好友
|
||||
$uid = $userinfo['UserID'];
|
||||
$where = " where a.UserID='".$uid."'";
|
||||
$sql = "SELECT UserID,convert(char,InsertTime,120) as Date,RecordID
|
||||
,(SELECT b.UserID,c.GameID,c.NickName,f.Grade,d.HeadHttp FROM QPTreasureDB.dbo.PrivateGameRecordUserRecordID as b LEFT JOIN AccountsInfo as c ON(b.UserID=c.UserID) LEFT JOIN IndividualDatum as d ON(d.UserID=b.UserID) LEFT JOIN QPTreasureDB.dbo.GameScoreInfo AS f ON(d.UserID=f.UserID) WHERE b.RecordID=a.RecordID order by b.InsertTime asc FOR XML PATH('')) AS users
|
||||
,(SELECT e.UserScore,e.RecordChildID FROM QPTreasureDB.dbo.PrivateGameRecordChild as e WHERE e.RecordID=a.RecordID FOR XML PATH('')) AS log
|
||||
FROM QPTreasureDB.dbo.PrivateGameRecordUserRecordID a ".$where." GROUP BY UserID,RecordID,InsertTime order by InsertTime desc";
|
||||
$data = $db->fetch_all($sql);
|
||||
foreach($data as $k => $v){
|
||||
if($v['users']){
|
||||
$userstr = [];
|
||||
$arr = explode("</HeadHttp>",$v['users']);
|
||||
foreach($arr as $ka => $va){
|
||||
if($va){
|
||||
$userstr[] = str_replace(['</UserID>','</GameID>','</NickName>','</Grade>','<GameID>','<UserID>','<NickName>','<Grade>','<HeadHttp>'],['</>','</>','</>','</>','','','','',''],$va);
|
||||
}
|
||||
}
|
||||
$info[$k]['users'] = $userstr;
|
||||
}
|
||||
$logs = array_filter(explode("</RecordChildID>",str_replace(['</UserScore>','<RecordChildID>','<UserScore>'],['',',',''],$v['log'])));
|
||||
$info[$k]['logs'] = $logs;
|
||||
foreach($logs as $kb => $vb){
|
||||
$ajf = explode(",",$vb);
|
||||
$zf[0] = $zf[0]+$ajf[0];
|
||||
$zf[1] = $zf[1]+$ajf[1];
|
||||
$zf[2] = $zf[2]+$ajf[2];
|
||||
$zf[3] = $zf[3]+$ajf[3];
|
||||
$zhit++;
|
||||
}
|
||||
$info[$k]['zf'] = $zf;
|
||||
$zf = [];
|
||||
//计算总分
|
||||
if($userstr){
|
||||
foreach($userstr as $kzf => $vzf){
|
||||
$arrss = explode("</>",$vzf);
|
||||
if($arrss[0] == $uid){
|
||||
$zzf = $zzf+$info[$k]['zf'][$kzf];
|
||||
}
|
||||
//开房次数
|
||||
if($arrss[0] == $uid && $kzf == 0){
|
||||
$zkf++;
|
||||
}
|
||||
$use[$arrss[0]]['GameID']=$arrss[1];
|
||||
$use[$arrss[0]]['NickName']=$arrss[2];
|
||||
$use[$arrss[0]]['Grade']=$arrss[3];
|
||||
$use[$arrss[0]]['HeadHttp']=$arrss[4];
|
||||
}
|
||||
}
|
||||
}
|
||||
$use = $db->array_sort($use,'Grade','desc');
|
||||
foreach($use as $kp => $vp){
|
||||
if($vp['GameID'] == $userinfo['GameID']){
|
||||
$pm = $kp;
|
||||
}
|
||||
$use[$kp]['HeadHttp'] = $use[$kp]['HeadHttp'];
|
||||
}
|
||||
$ppxq -> register_function('gradetit','gradetit');
|
||||
$ppxq -> assign('pm',$pm+1);//好友排名
|
||||
$ppxq -> assign('zzf',$zzf);//三天内总积分
|
||||
$ppxq -> assign('zkf',$zkf);//三天内创建房间次数
|
||||
$ppxq -> assign('zhit',$zhit);//三天内打牌局数
|
||||
$ppxq -> assign('uses',$use);//好友用户
|
||||
$ppxq -> display('dh/hy.tpl');
|
||||
}elseif($GG['ty'] == 'sj'){//世界排名
|
||||
$sql = "select top 399 a.UserID,c.GameID,c.NickName,b.HeadHttp,a.ConsumeScore,a.InsureScore,a.PlayCount,a.Grade from QPTreasureDB.dbo.GameScoreInfo as a LEFT JOIN IndividualDatum as b ON(a.UserID=b.UserID) LEFT JOIN AccountsInfo AS c ON(a.UserID=c.UserID) where a.Grade>50 order by Grade desc";
|
||||
$data = $db->fetch_all($sql);
|
||||
//虚拟人物
|
||||
foreach($vdata as $k => $v){
|
||||
$top[]=[
|
||||
'NickName' => $v['name'],
|
||||
'Gender' => $v['sex'],
|
||||
'Grade' => vmdata($vdata[$k]),
|
||||
'HeadHttp' => $v['tx']."??"
|
||||
];
|
||||
}
|
||||
$uss = array_merge($top,$data);
|
||||
$use = $db->array_sort($uss,'Grade','desc');
|
||||
foreach($use as $k => $v){
|
||||
if($k<100){
|
||||
$uses[$k]=$v;
|
||||
$uses[$k]['HeadHttp'] = $uses[$k]['HeadHttp'];
|
||||
}
|
||||
if($v['GameID']==$userinfo['GameID']){
|
||||
$pm = $k+1;
|
||||
}
|
||||
}
|
||||
$ppxq -> register_function('gradetit','gradetit');
|
||||
$ppxq -> assign('pm',$pm);//世界排名
|
||||
$ppxq -> assign('uses',$uses);//排名
|
||||
$ppxq -> display('dh/sj.tpl');
|
||||
}elseif($GG['ty'] == 'song'){ //送手机活动
|
||||
$huodong = $db->fetch_all("select * from HuoDong where Hclose=1 order by Hdef desc,Hdid desc");
|
||||
foreach($huodong as $k => $v){
|
||||
$hdat[$v['Hdid']] = $v;
|
||||
if(!$k){
|
||||
$max_hdid = $v['Hdid'];
|
||||
}
|
||||
}
|
||||
if($GG['hdid']){
|
||||
if(in_array($GG['hdid'],array_column($huodong, 'Hdid'))){
|
||||
$hdata = $hdat[$GG['hdid']];
|
||||
}
|
||||
}
|
||||
if(!$hdata){
|
||||
$hdata = $hdat[$max_hdid];
|
||||
}
|
||||
//奖品配置
|
||||
$jp_arr = explode(",",$hdata['HPrize']);
|
||||
$hdy_arr = explode(",",$hdata['Htime']);
|
||||
foreach($hdy_arr as $k => $v){
|
||||
$where .= $where ? " or month='".$v."'" : " month='".$v."'";
|
||||
$use = $db->fetch_all("select top 500 *,(Hit-(Niu-Niu/4)-(Ss-Ss/3)-(Zjh-Zjh/3)) as Pm from CountJf where month='".$v."' order by Pm desc");
|
||||
foreach($use as $ka => $va){
|
||||
$user_pp[$va['UserID']] += $va['Pm'];
|
||||
}
|
||||
}
|
||||
if($user_pp){
|
||||
arsort($user_pp);
|
||||
$i = 1;
|
||||
foreach($user_pp as $ka => $va){
|
||||
if($i <=count($jp_arr)){
|
||||
$user[$ka]=$va;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$info = $db->fetch_all("select a.UserID,a.GameID,a.NickName,a.Gender,b.HeadHttp,c.Grade from AccountsInfo as a LEFT JOIN IndividualDatum as b ON(a.UserID=b.UserID) LEFT JOIN QPTreasureDB.dbo.GameScoreInfo AS c ON(a.UserID=c.UserID) where a.UserID in (".implode(',',array_keys($user)).") ");
|
||||
foreach($info as $kb => $vb){
|
||||
$info[$kb]['Pm'] = $user[$vb['UserID']];
|
||||
$info[$kb]['HeadHttp'] = $info[$kb]['HeadHttp'];
|
||||
}
|
||||
//虚拟人物 配置
|
||||
foreach($vdata as $k => $v){
|
||||
$xnjs = 0;
|
||||
foreach($hdy_arr as $ka => $va){
|
||||
$xnjs_ar = vmdate($vdata[$k],$va);
|
||||
$xnjs += ($xnjs_ar['data']['Mj']+$xnjs_ar['data']['Ddz']+$xnjs_ar['data']['Dz']+$xnjs_ar['data']['Pdk']+intval($xnjs_ar['data']['Niu']/4)+intval($xnjs_ar['data']['Ss']/3)+intval($xnjs_ar['data']['Zjh']/3));
|
||||
}
|
||||
$xninfo[]=[
|
||||
'NickName' => $v['name'],
|
||||
'Gender' => $v['sex'],
|
||||
'Grade' => vmdata($vdata[$k]),
|
||||
'Pm' => $xnjs,
|
||||
'HeadHttp' => $v['tx']
|
||||
];
|
||||
}
|
||||
$uss = array_merge($xninfo,$info);
|
||||
$data = arraySequence($uss,'Pm');
|
||||
}else{
|
||||
$info = $db->fetch_all("select top 30 a.UserID,c.GameID,c.NickName,b.HeadHttp,a.ConsumeScore,a.InsureScore,a.PlayCount,a.Grade from QPTreasureDB.dbo.GameScoreInfo as a LEFT JOIN IndividualDatum as b ON(a.UserID=b.UserID) LEFT JOIN AccountsInfo AS c ON(a.UserID=c.UserID) where a.Grade>50 order by Grade desc");
|
||||
foreach($info as $kb => $vb){
|
||||
$info[$kb]['Pm'] = 0;
|
||||
$info[$kb]['HeadHttp'] = $info[$kb]['HeadHttp'];
|
||||
}
|
||||
//虚拟人物
|
||||
foreach($vdata as $k => $v){
|
||||
$xninfo[]=[
|
||||
'NickName' => $v['name'],
|
||||
'Gender' => $v['sex'],
|
||||
'Pm' => 0,
|
||||
'Grade' => vmdata($vdata[$k]),
|
||||
'HeadHttp' => $v['tx']."??"
|
||||
];
|
||||
}
|
||||
$uss = array_merge($xninfo,$info);
|
||||
$data = $db->array_sort($uss,'Grade','desc');
|
||||
}
|
||||
//我的局数
|
||||
$my = $db->fetch_abc("select SUM(Hit) from CountJf where UserID='".$userinfo['UserID']."' and (".$where.") ");
|
||||
$my_niu = $db->fetch_abc("select SUM(Niu) from CountJf where UserID='".$userinfo['UserID']."' and (".$where.") ");
|
||||
$my_ss = $db->fetch_abc("select SUM(Ss) from CountJf where UserID='".$userinfo['UserID']."' and (".$where.") ");
|
||||
$my_zjh = $db->fetch_abc("select SUM(Zjh) from CountJf where UserID='".$userinfo['UserID']."' and (".$where.") ");
|
||||
$my_nius = $my_niu ? intval($my_niu-intval($my_niu/4)) : 0;
|
||||
$my_sss = $my_ss ? intval($my_ss-intval($my_ss/3)) : 0;
|
||||
$my_zjhs = $my_zjh ? intval($my_zjh-intval($my_zjh/3)) : 0;
|
||||
$xcz = $data[0]['Pm']-($my-$my_nius-$my_sss-$my_zjhs);
|
||||
$ppxq -> assign('xcz',$xcz);//相差局数
|
||||
|
||||
$ppxq -> assign('time',date('Y-m'));
|
||||
$ppxq -> assign('sjks',$hdy_arr[0]);
|
||||
$ppxq -> assign('sjjs',$hdy_arr[(count($hdy_arr)-1)]);
|
||||
$ppxq -> assign('hdy_arr',$hdy_arr);
|
||||
$ppxq -> assign('huodong',$huodong);
|
||||
$ppxq -> assign('jpin',$jp_arr);
|
||||
$ppxq -> assign('hdid',$hdata['Hdid']);
|
||||
$ppxq -> assign('data',$data);//排名
|
||||
$ppxq -> register_function('gradetit','gradetit');
|
||||
$ppxq -> display('dh/song.tpl');
|
||||
}else{
|
||||
$ppxq -> display('dh/index.tpl');
|
||||
}
|
||||
unset($GG,$ppxq);
|
||||
?>
|
||||
Reference in New Issue
Block a user