Files
wenquanauth/function/function_auth.php
T
2021-06-23 22:37:48 +08:00

293 lines
12 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Created by PhpStorm.
* User: 温泉
* Date: 2019/2/9
* Time: 15:50
*/
/**
* 授权操作
* @access public
* @param string $username 用户名、卡密
* @param string $password 密码
* @param string $ip 用户IP、绑定的IP
* @param int $balance 新增授权点数或秒数,-1为永久
* @param string $uqq 用户QQ
* @param string $mail 用户邮箱
* @param int $appid 应用ID
* @param int $agentid 代理ID
* @param string $newkey 返回的卡密
* @param string $tips 提示
* @return int 1为新开成功,2为续费成功,3为卡密新开成功
*/
function auth_add($username,$password,$ip,$balance,$uqq,$mail,$appid,$origin,$oid,$aid,&$newkey,&$tips,$tradeinfo = array()){
include_once 'function_app.php';
global $db,$G,$MailTips;
$appinfo = app_idgetinfo($appid);
if ($appinfo['usetype']=='dqsj'){
if ($balance!='-1'){
$balance=$balance*60;
}
}
if ($appinfo['logintype'] == 'zhmm') {
//账号密码授权方式
if (!$userinfo = $db->select_first_row('sq_user', '*', array('username' => $username, 'appid' => $appid), 'AND')) {
$T['title'] = '您的授权账号已新开成功!';
$T['content'][] = '应用名称:'.$appinfo['appname'];
$T['content'][] = '注册时间:'.Get_Date();
if ($appinfo['usetype']=='dqsj'){
if ($balance!='-1'){
$balance=time()+$balance;
$T['content'][] = '到期时间:'.Get_Date($balance);
}else{
$T['content'][] = '到期时间:永久授权';
}
}else{
if ($balance == '-1'){
$T['content'][] = '开通余额:无限使用';
}else{
$T['content'][] = '开通余额:'.$balance;
}
}
$db->insert_back_id('sq_user', array(
'username' => $username,
'password' =>$password,
'mail' => $mail,
'uqq' => $uqq,
'rtime' => time(),
'status' => '1',
'appid' => $appid,
'aid' => $aid,
'balance'=>$balance,
'origin' => $origin,
'oid'=>$oid
)
);
$T['content'][] = '授权来源:'.GetOriginText($origin);
$T['content'][] = '联系方式:QQ '.$uqq;
$T['content'][] = '授权账号:'.$username;
$T['content'][] = '用户邮箱:'.$mail;
$MailTips[] = $T;
SendTipsMail($mail,$MailTips,$backinfo);
return 1;
}
$T['title'] = '您的授权账号已续费成功!';
$T['content'][] = '应用名称:'.$appinfo['appname'];
$T['content'][] = '注册时间:'.Get_Date($userinfo['rtime']);
if ($balance != '-1') {
if ($appinfo['usetype'] == 'dqsj') {
if ($userinfo['balance'] < time()) {
$usernewinfo['balance'] = time() + $balance;
} else {
$usernewinfo['balance'] = $userinfo['balance'] + $balance;
}
$T['content'][] = '到期时间:'.Get_Date($usernewinfo['balance']);
} else if ($appinfo['usetype'] == 'kcye') {
$usernewinfo['balance'] = $userinfo['balance'] +$balance;
$T['content'][] = '授权余额:'.Get_Date($usernewinfo['balance']);
} else {
$tips='应用使用方式设置异常';
return -3;
}
} else {
$usernewinfo['balance'] = '-1';
$T['content'][] = $appinfo['usetype']=='dqsj' ? '到期时间:永久授权' : '开通余额:无限使用';
}
$T['content'][] = '授权来源:'.GetOriginText($origin);
$T['content'][] = '联系方式:QQ '.$uqq;
$T['content'][] = '授权账号:'.$userinfo['username'];
$T['content'][] = '用户邮箱:'.$userinfo['mail'];
$MailTips[]= $T;
$db->update('sq_user', array('ID'=>$userinfo['ID']), 'AND', $usernewinfo);
SendTipsMail($userinfo['mail'],$MailTips,$backinfo);
return 2;
} else if ($appinfo['logintype'] == 'kmsq') {
//卡密登录方式
if (empty($username)) {
//没有卡密新开授权
$T['title'] = '您的授权卡密已新开成功!';
$T['content'][] = '应用名称:'.$appinfo['appname'];
$T['content'][] = '注册时间:'.Get_Date();
if ($appinfo['usetype']=='dqsj'){
if ($balance!='-1'){
$balance=time()+$balance;
$T['content'][] = '到期时间:'.Get_Date($balance);
}else{
$T['content'][] = '到期时间:永久使用';
}
}else{
if ($balance == '-1'){
$T['content'][] = '开通余额:无限使用';
}else{
$T['content'][] = '开通余额:'.$balance;
}
}
$newkey = rand_str(32);
while ($info = $db->select_first_row('sq_user', 'ID', array('username' => $newkey, 'appid' => $appinfo['ID']), 'AND')) {
$newkey = rand_str(32);
}
//echo $newkey;
$db->insert_back_id('sq_user', array(
'username' => $newkey,
'mail' => $mail,
'rtime' => time(),
'balance' => $balance,
'status' => 1,
'origin' => $origin,
'oid'=>$oid,
'appid' => $appid,
'aid' => $aid,
));
$T['content'][] = '授权来源:'.GetOriginText($origin);
$T['content'][] = '联系方式:QQ '.$uqq;
$T['content'][] = '授权卡密:'.$newkey;
$T['content'][] = '用户邮箱:'.$mail;
$MailTips[] = $T;
SendTipsMail($mail,$MailTips,$backinfo);
return 3;
}
//续费授权
if (!$userinfo = $db->select_first_row('sq_user', '*', array('username' => $username, 'appid' => $appid), 'AND')) {
$tips = '授权卡密不存在';
return -2;
}
$T['title'] = '您的授权卡密已续费成功!';
$T['content'][] = '应用名称:'.$appinfo['appname'];
$T['content'][] = '注册时间:'.Get_Date($userinfo['rtime']);
if ($balance != '-1') {
if ($appinfo['usetype'] == 'dqsj') {
if ($userinfo['balance'] < time()) {
$usernewinfo['balance'] = time() + $balance;
} else {
$usernewinfo['balance'] = $userinfo['balance'] + $balance;
}
$T['content'][] = '到期时间:'.Get_Date($usernewinfo['balance']);
} else if ($appinfo['usetype'] == 'kcye') {
$usernewinfo['balance'] = $userinfo['balance'] +$balance;
$T['content'][] = '授权余额:'.Get_Date($usernewinfo['balance']);
} else {
$tips='应用使用方式设置异常';
return -3;
}
} else {
$usernewinfo['balance'] = '-1';
$T['content'][] = $appinfo['usetype']=='dqsj' ? '到期时间:永久授权' : '开通余额:无限使用';
}
$T['content'][] = '授权来源:'.GetOriginText($origin);
$T['content'][] = '联系方式:QQ '.$uqq;
$T['content'][] = '授权卡密:'.$userinfo['username'];
$T['content'][] = '用户邮箱:'.$userinfo['mail'];
$MailTips[]= $T;
$db->update('sq_user', array('username' => $username, 'appid' => $appinfo['ID']), 'AND', $usernewinfo);
SendTipsMail($userinfo['mail'],$MailTips,$backinfo);
return 2;
} else if ($appinfo['logintype'] == 'jcbd') {
$chect = json_decode($username,true);
if ($appinfo['bindip'] == '1'){
$search['lip'] = $chect['lip'];
$T['content'][] = '绑定IP:'.$chect['lip'];
}
if ($appinfo['bindqq'] == '1'){
$search['rqq'] = $chect['rqq'];
$T['content'][] = '绑定QQ:'.$chect['rqq'];
}
if ($appinfo['bindmac'] == '1'){
$search['mac'] = $chect['mac'];
$T['content'][] = '绑定设备:'.$chect['mac'];
}
$search['appid'] = $appid;
if (!isset($chect['lip'])){
$chect['lip'] = '';
}
if (!isset($chect['rqq'])){
$chect['rqq'] = '';
}
if (!isset($chect['mac'])){
$chect['mac'] = '';
}
if (!$userinfo = $db->select_first_row('sq_user', '*', $search, 'AND')) {
$T['title'] = '您的授权绑定已新开成功!';
$T['content'][] = '应用名称:'.$appinfo['appname'];
$T['content'][] = '注册时间:'.Get_Date();
if ($appinfo['usetype']=='dqsj'){
if ($balance!='-1'){
$balance=time()+$balance;
$T['content'][] = '到期时间:'.Get_Date($balance);
}else{
$T['content'][] = '到期时间:永久使用';
}
}else{
if ($balance == '-1'){
$T['content'][] = '开通余额:无限使用';
}else{
$T['content'][] = '开通余额:'.$balance;
}
}
$db->insert_back_id('sq_user', array(
'mail' => $mail,
'rtime' => time(),
'balance' => $balance,
'status' => 1,
'appid' => $appid,
'uqq' => $uqq,
'mac' => $chect['mac'],
'rqq' => $chect['rqq'],
'rip' => $ip,
'lip' => $chect['lip'],
'aid' => $aid,
'origin' => $origin,
'oid'=>$oid,
));
$T['content'][] = '授权来源:'.GetOriginText($origin);
$T['content'][] = '联系方式:QQ '.$uqq;
$T['content'][] = '用户邮箱:'.$mail;
$MailTips[] = $T;
SendTipsMail($mail,$MailTips,$backinfo);
return 1;
}
$T['title'] = '您的授权卡密已续费成功!';
$T['content'][] = '应用名称:'.$appinfo['appname'];
$T['content'][] = '注册时间:'.Get_Date($userinfo['rtime']);
if ($balance != '-1') {
if ($appinfo['usetype'] == 'dqsj') {
if ($userinfo['balance'] < time()) {
$usernewinfo['balance'] = time() + $balance;
} else {
$usernewinfo['balance'] = $userinfo['balance'] + $balance;
}
$T['content'][] = '到期时间:'.Get_Date($usernewinfo['balance']);
} else if ($appinfo['usetype'] == 'kcye') {
$usernewinfo['balance'] = $userinfo['balance'] +$balance;
$T['content'][] = '授权余额:'.Get_Date($usernewinfo['balance']);
} else {
$tips='应用使用方式设置异常';
return -3;
}
} else {
$usernewinfo['balance'] = '-1';
$T['content'][] = $appinfo['usetype']=='dqsj' ? '到期时间:永久授权' : '开通余额:无限使用';
}
$T['content'][] = '授权来源:'.GetOriginText($origin);
$T['content'][] = '联系方式:QQ '.$uqq;
$T['content'][] = '用户邮箱:'.$userinfo['mail'];
$MailTips[]= $T;
$db->update('sq_user', $search, 'AND', $usernewinfo);
SendTipsMail($userinfo['mail'],$MailTips,$backinfo);
return 2;
}
$tips = '未知授权请求?';
return -2;
}