Files

354 lines
14 KiB
PHP
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
<?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'){//<2F>һ<EFBFBD>ҳ<EFBFBD><D2B3>
$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'){//<2F>
$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'){//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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'];
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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'){//<2F><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ּ<EFBFBD>¼
$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){
//<2F>۳<EFBFBD>Ԫ<EFBFBD><D4AA>
$db->update("QPTreasureDB.dbo.GameScoreInfo",['YuanBao'=>$userinfo['YuanBao']-$xyyb],"UserID='".$userinfo['UserID']."'");
//<2F><>¼Ԫ<C2BC><D4AA><EFBFBD><EFBFBD>־
$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]);
}
}
//<2F><><EFBFBD>Ӽ<EFBFBD>¼
$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 "Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
}elseif($GG['ty'] == 'hy'){//<2F>ҵĺ<D2B5><C4BA><EFBFBD>
$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 = [];
//<2F><><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD>
if($userstr){
foreach($userstr as $kzf => $vzf){
$arrss = explode("</>",$vzf);
if($arrss[0] == $uid){
$zzf = $zzf+$info[$k]['zf'][$kzf];
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$ppxq -> assign('zzf',$zzf);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>
$ppxq -> assign('zkf',$zkf);//<2F><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$ppxq -> assign('zhit',$zhit);//<2F><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ƾ<EFBFBD><C6BE><EFBFBD>
$ppxq -> assign('uses',$use);//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
$ppxq -> display('dh/hy.tpl');
}elseif($GG['ty'] == 'sj'){//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$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);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$ppxq -> assign('uses',$uses);//<2F><><EFBFBD><EFBFBD>
$ppxq -> display('dh/sj.tpl');
}elseif($GG['ty'] == 'song'){ //<2F><><EFBFBD>ֻ<EFBFBD><D6BB>
$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];
}
//<2F><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>
$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'];
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
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'];
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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');
}
//<2F>ҵľ<D2B5><C4BE><EFBFBD>
$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);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$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);//<2F><><EFBFBD><EFBFBD>
$ppxq -> register_function('gradetit','gradetit');
$ppxq -> display('dh/song.tpl');
}else{
$ppxq -> display('dh/index.tpl');
}
unset($GG,$ppxq);
?>