error_reporting(0);
header("Content-type: text/html; charset=utf-8");
ini_set('date.timezone','Asia/Shanghai');
include 'config.php';
include 'PubSocket.php';
if($_POST){
$checknum=trim($_POST['checknum']);
if($checknum!=$gmcode){
$return=array(
'errcode'=>1,
'info'=>'GM码错误',
);
exit(json_encode($return));
}
$quid=trim($_POST['qu']);
if($quid==''){
$return=array(
'errcode'=>1,
'info'=>'区号错误',
);
exit(json_encode($return));
}
$config=$quarr[$quid];
if(!$config['socket_ip']){
$return=array(
'errcode'=>1,
'info'=>'区配置不存在',
);
exit(json_encode($return));
}
$uid=trim($_POST['uid']);
if($uid==''){
$return=array(
'errcode'=>1,
'info'=>'角色ID错误',
);
exit(json_encode($return));
}
$mysqli=new mysqli($config['db_ip'],$config['db_user'],$config['db_pswd'],$config['db_name'],$config['db_port']);
if(mysqli_connect_errno())
{
$return=array(
'errcode'=>1,
'info'=>'数据库连接失败',
);
exit(json_encode($return));
}
$mysqli->set_charset('utf8');
$query = $mysqli->prepare("select * from charbase where NAME=? limit 1");
$query->bind_param('s', $uid);
$query->execute();
$result = $query->get_result();
if($result==null || $result->num_rows==0){
$return=array(
'errcode'=>1,
'info'=>'角色不存在',
);
exit(json_encode($return));
}
$row = mysqli_fetch_array($result);
$roleid=$row['USERID'];
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
if($_POST['type']){
$type=trim($_POST['type']);
switch ($type){
case 'charge':
$num=intval($_POST['num']);
if($num<1 || $num>999999999){
$return=array(
'errcode'=>1,
'info'=>'充值金额错误',
);
exit(json_encode($return));
}
$data=array(
'server_num'=>1,
'sendType'=>1,
'title'=>'充值成功',
'content'=>'请注意查收',
'attached'=>json_encode(array(
'item'=>array(
array('id'=>'18010315|','bind'=>1,'nums'=>$num),
),
)),
'roleId'=>json_encode(array($roleid)),
'roleName'=>json_encode(array($uid))
);
$log='log/charge_'.date('Y-m-d').'.log';
$date=date('Y-m-d H:i:s');
$PubSocket=new PubSocket($config['socket_ip'],$config['socket_port']);
$rtn=$PubSocket->gmCommandsResult(17,'5015',$data);
if(true==$rtn[0]){
file_put_contents($log,$date."\t".$roleid."\t".$num."\t"."success\t".$user_IP.PHP_EOL,FILE_APPEND);
$return=array(
'errcode'=>0,
'info'=>'充值成功'.$roleid,
);
}else{
file_put_contents($log,$date."\t".$roleid."\t".$num."\t"."failed\t".$user_IP.PHP_EOL,FILE_APPEND);
$return=array(
'errcode'=>1,
'info'=>'充值失败:'.$rtn[1],
);
}
exit(json_encode($return));
break;
case 'bu':
$num=intval($_POST['num']);
if($num<1 || $num>999999999){
$return=array(
'errcode'=>1,
'info'=>'充值金额错误',
);
exit(json_encode($return));
}
$data=array(
'server_num'=>1,
'sendType'=>1,
'title'=>'补偿元宝己发放',
'content'=>'请注意查收',
'attached'=>json_encode(array(
'item'=>array(
array('id'=>'18010029|','bind'=>1,'nums'=>$num),
),
)),
'roleId'=>json_encode(array($roleid)),
'roleName'=>json_encode(array())
);
$log='log/bu_'.date('Y-m-d').'.log';
$date=date('Y-m-d H:i:s');
$PubSocket=new PubSocket($config['socket_ip'],$config['socket_port']);
$rtn=$PubSocket->gmCommandsResult(17,'5015',$data);
if(true==$rtn[0]){
file_put_contents($log,$date."\t".$roleid."\t".$num."\t"."success\t".$user_IP.PHP_EOL,FILE_APPEND);
$return=array(
'errcode'=>0,
'info'=>'发放成功',
);
}else{
file_put_contents($log,$date."\t".$roleid."\t".$num."\t"."failed\t".$user_IP.PHP_EOL,FILE_APPEND);
$return=array(
'errcode'=>1,
'info'=>'发放失败:'.$rtn[1],
);
}
exit(json_encode($return));
break;
case 'mail':
$itemid=intval($_POST['item']);
$num = intval($_POST['num']);
if($itemid<1){
$return=array(
'errcode'=>1,
'info'=>'物品ID错误',
);
exit(json_encode($return));
}
if(in_array($itemid,$disables)){
$return=array(
'errcode'=>1,
'info'=>'该物品不能发送',
);
exit(json_encode($return));
}
if($num<1 || $num>10000){
$return=array(
'errcode'=>1,
'info'=>'数量范围:1-10000',
);
exit(json_encode($return));
}
$data=array(
'server_num'=>1,
'sendType'=>1,
'title'=>'GM邮件',
'content'=>'蓝莓汁老哥屁眼交易',
'attached'=>json_encode(array(
'item'=>array(
array('id'=>$itemid.'|','bind'=>1,'nums'=>$num),
),
)),
'roleId'=>json_encode(array($roleid)),
'roleName'=>json_encode(array())
);
$log='log/mail_'.date('Y-m-d').'.log';
$date=date('Y-m-d H:i:s');
$PubSocket=new PubSocket($config['socket_ip'],$config['socket_port']);
$rtn=$PubSocket->gmCommandsResult(17,'5015',$data);
if(true==$rtn[0]){
file_put_contents($log,$date."\t".$roleid."\t".$itemid."\t".$num."\t"."success\t".$user_IP.PHP_EOL,FILE_APPEND);
$return=array(
'errcode'=>0,
'info'=>'邮件发送成功',
);
}else{
file_put_contents($log,$date."\t".$roleid."\t".$itemid."\t".$num."\t"."failed\t".$user_IP.PHP_EOL,FILE_APPEND);
$return=array(
'errcode'=>1,
'info'=>'邮件发送失败:'.$rtn[1],
);
}
exit(json_encode($return));
break;
case 'addvip':
$pswd=trim($_POST['pswd']);
if($pswd==''){
$return=array(
'errcode'=>1,
'info'=>'后台密码不能为空',
);
exit(json_encode($return));
}
$vipfile='fszx_'.$quid.'.json';
$fp = fopen($vipfile,"a+");
if(filesize($vipfile)>0){
$str = fread($fp,filesize($vipfile));
fclose($fp);
$vipjson=json_decode($str,true);
if($vipjson==null){
$vipjson=array();
}
}else{
$vipjson=array();
}
if(!$vipjson[$roleid]){
$vipjson[$roleid]=$pswd;
file_put_contents($vipfile,json_encode($vipjson));
$return=array(
'errcode'=>0,
'info'=>'加入VIP成功.'
);
exit(json_encode($return));
}else{
$return=array(
'errcode'=>0,
'info'=>'该ID已经是VIP了.'
);
exit(json_encode($return));
}
break;
case 'addczvip':
$pswd=trim($_POST['pswd']);
if($pswd==''){
$return=array(
'errcode'=>1,
'info'=>'后台密码不能为空',
);
exit(json_encode($return));
}
$vipfile='fszx_cz_'.$quid.'.json';
$fp = fopen($vipfile,"a+");
if(filesize($vipfile)>0){
$str = fread($fp,filesize($vipfile));
fclose($fp);
$vipjson=json_decode($str,true);
if($vipjson==null){
$vipjson=array();
}
}else{
$vipjson=array();
}
if(!$vipjson[$roleid]){
$vipjson[$roleid]=$pswd;
file_put_contents($vipfile,json_encode($vipjson));
$return=array(
'errcode'=>0,
'info'=>'加入VIP成功.'
);
exit(json_encode($return));
}else{
$return=array(
'errcode'=>0,
'info'=>'该ID已经是VIP了.'
);
exit(json_encode($return));
}
break;
default:
$return=array(
'errcode'=>1,
'info'=>'type error',
);
exit(json_encode($return));
break;
}
}else{
$return=array(
'errcode'=>1,
'info'=>'no type',
);
exit(json_encode($return));
}
}else{
$return=array(
'errcode'=>1,
'info'=>'must post',
);
exit(json_encode($return));
}