Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /* Dev by Hoang Skyht */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6..
Decoded Output download
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\User\UserChangePassword;
use App\Http\Requests\User\UserRecharge;
use App\Http\Requests\User\UserTransferBalance;
use App\Http\Requests\User\UserTransferCommissionBalance;
use App\Http\Requests\User\UserUpdate;
use App\Models\Logs;
use App\Models\ChuyenGoi;
use App\Models\Order;
use App\Models\Plan;
use App\Models\TrafficServerLog;
use App\Models\TrafficUserLog;
use App\Models\User;
use App\Utils\Helper;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Throwable;
class UserController extends Controller
{
public function logout(Request $request)
{
$request->session()->flush();
return response([
'data'=>true
]);
}
public function setEMAIL(Request $request)
{
$sessionId = $request->session()->get('id');
$input = $request->json()->all();
$TrangThai = null;
$ThongBao = null;
$user = User::find($sessionId);
if ($user === null) {
$TrangThai = "error";
$ThongBao = "Ngi Dng Khng Tn Ti";
}
if (isset($input['EMAILSetting'])) {
$EmailSetting = $input['EMAILSetting'];
if (isset($EmailSetting)) {
$GetEmail = filter_var($EmailSetting,FILTER_SANITIZE_EMAIL);
if (filter_var($GetEmail,FILTER_VALIDATE_EMAIL)) {
$ChangeEmail = $EmailSetting;
$existingUser = User::where('email',$ChangeEmail)->first();
if ($existingUser) {
$TrangThai = "error";
$ThongBao = "Email Ny Tn Ti Trn H Thng";
}else {
$user->setAttribute(User::FIELD_EMAIL,$ChangeEmail);
if (!$user->save()) {
$TrangThai = "error";
$ThongBao = "Khng Th Thay i EMAIL";
}else {
$request->session()->flush();
$TrangThai = "success";
$ThongBao = "Thay i Email Mi $EmailSetting Thnh Cng";
}
}
}
else {
$TrangThai = "error";
$ThongBao = "nh Dng Email Khng Chnh Xc";
}
}else {
$TrangThai = "error";
$ThongBao = "Bn qun nhp EMAIL mi";
}
}else {
header('Content-Type: application/json');
http_response_code(400);
$TrangThai = "error";
$ThongBao = "Bn Qun Nhp EMAIL Mi Ri";
}
return response([
'TrangThai'=>$TrangThai,
'ThongBao'=>$ThongBao
]);
}
public function setIDFacebook(Request $request)
{
$sessionId = $request->session()->get('id');
$input = $request->json()->all();
$user = User::find($sessionId);
if ($user === null) {
return response([
'TrangThai'=>'error',
'ThongBao'=>'Khng Tm Thy User Ngi Dng'
]);
}
if (isset($input['custom_avt'])) {
$AvatarURL = $input['custom_avt'];
if (!empty($AvatarURL)) {
$user->setAttribute(User::FIELD_AVATAR,$AvatarURL);
if (!$user->save()) {
return response([
'TrangThai'=>'error',
'ThongBao'=>"Khng Th Thay i Avatar"
]);
}else {
return response([
'TrangThai'=>'success',
'ThongBao'=>"Thay i AVT Thnh Cng"
]);
}
}else {
return response([
'TrangThai'=>'error',
'ThongBao'=>"Bn qun nhp link avt mi ri"
]);
}
}else {
return response([
'TrangThai'=>'error',
'ThongBao'=>'Khng Tm Thy Link AVT Ca Bn'
]);
}
}
public function setSNI(Request $request)
{
$sessionId = $request->session()->get('id');
$TrangThai = null;
$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON,TRUE);
$user = User::find($sessionId);
if ($user === null) {
$TrangThai = "Ngi Dng Khng Tn Ti";
}
if (isset($input['SNISetting'])) {
$SniSetting = $input['SNISetting'];
if ($SniSetting !== '9999') {
$SNI = $SniSetting;
$SNIName = $input['NAMESni'];
$user->setAttribute(User::FIELD_SETTINGSNI,$SNI);
$user->setAttribute(User::FIELD_SNINAME,$SNIName);
if (!$user->save()) {
$TrangThai = "Khng Th Ci t SNI";
}else {
$TrangThai = "Ci t SNI: $SNIName Thnh Cng";
}
}else {
if (isset($input['CustomSNI']) &&!empty($input['CustomSNI'])) {
$CustomSni = $input['CustomSNI'];
$user->setAttribute(User::FIELD_SETTINGSNI,$CustomSni);
$user->setAttribute(User::FIELD_SNINAME,$CustomSni);
if (!$user->save()) {
$TrangThai = "Khng Th Ci t SNI";
}else {
$TrangThai = "Ci t SNI: $CustomSni Thnh Cng";
}
}else {
$TrangThai = "Vui lng nhp gi tr SNI";
}
}
}else {
header('Content-Type: application/json');
http_response_code(400);
$TrangThai = "D liu khng hp l";
}
return response(['data'=>$TrangThai]);
}
public function changePassword(UserChangePassword $request)
{
$sessionId = $request->session()->get('id');
$reqOldPassword = $request->input('old_password');
$reqNewPassword = $request->input('new_password');
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('The user does not exist'));
}
if (!Helper::multiPasswordVerify(
$user->getAttribute(User::FIELD_PASSWORD_ALGO),
$user->getAttribute(User::FIELD_PASSWORD_SALT),
$reqOldPassword,$user->getAttribute(User::FIELD_PASSWORD))) {
abort(500,__('The old password is wrong'));
}
$user->setAttribute(User::FIELD_PASSWORD,password_hash($reqNewPassword,PASSWORD_DEFAULT));
$user->setAttribute(User::FIELD_PASSWORD_ALGO,NULL);
$user->setAttribute(User::FIELD_PASSWORD_SALT,NULL);
if (!$user->save()) {
abort(500,__('Save failed'));
}
$request->session()->flush();
return response([
'data'=>true
]);
}
public function ChuyenGoi(Request $request)
{
$sessionId = $request->session()->get('id');
$response = [
'Status'=>null,
'Messenger'=>null
];
$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON,TRUE);
$user = User::find($sessionId);
if (!$user) {
$response['Status'] = "error";
$response['Messenger'] = "Ngi Dng Khng Tn Ti Trn H Thng";
return response($response);
}
$EmailSetting = $input['eMailNhanGoi'];
if (!isset($EmailSetting)) {
$response['Status'] = "error";
$response['Messenger'] = "Ngi Nhn Khng Tn Ti";
return response($response);
}
$GetEmail = filter_var($EmailSetting,FILTER_SANITIZE_EMAIL);
if (!filter_var($GetEmail,FILTER_VALIDATE_EMAIL)) {
$response['Status'] = "error";
$response['Messenger'] = "nh Dng Email Khng Chnh Xc";
return response($response);
}
$emailUser = User::where('email',$GetEmail)->first();
if (!$emailUser) {
$response['Status'] = "error";
$response['Messenger'] = "Email Ny Khng Tn Ti Trn H Thng";
return response($response);
}
if ($emailUser->id === $sessionId) {
$response['Status'] = "error";
$response['Messenger'] = "Bn Khng Th T Chuyn Cho Bn Thn Mnh";
return response($response);
}
$userPlanid = (int)$user->getAttribute(User::FIELD_PLAN_ID);
if ($userPlanid === 0) {
$response['Status'] = "error";
$response['Messenger'] = "Bn Cha C Gi Khng Th Chuyn";
return response($response);
}
$emailNhanPlanid = User::find($emailUser->id);
if ((int)$emailNhanPlanid->getAttribute(User::FIELD_PLAN_ID) !== 0) {
$response['Status'] = "error";
$response['Messenger'] = "Pha Email Bn Nhp C Gi Dch V";
return response($response);
}
$emailNhanPlanid->setAttribute(User::FIELD_PLAN_ID,$userPlanid);
$emailNhanPlanid->setAttribute(User::FIELD_EXPIRED_AT,$user->getAttribute(User::FIELD_EXPIRED_AT));
$emailNhanPlanid->setAttribute(User::FIELD_U,$user->getAttribute(User::FIELD_U));
$emailNhanPlanid->setAttribute(User::FIELD_D,$user->getAttribute(User::FIELD_D));
$emailNhanPlanid->save();
$user->setAttribute(User::FIELD_PLAN_ID,null);
$user->setAttribute(User::FIELD_EXPIRED_AT,null);
$user->setAttribute(User::FIELD_U,0);
$user->setAttribute(User::FIELD_D,0);
$user->save();
$addChuyenGoi = new ChuyenGoi;
$addChuyenGoi->user_id_chuyen = $user->getAttribute(User::FIELD_ID);
$addChuyenGoi->user_id_nhan = $emailNhanPlanid->getAttribute(User::FIELD_ID);
$addChuyenGoi->plan_id = $userPlanid;
$addChuyenGoi->save();
$response['Status'] = "success";
$response['Messenger'] = "Chuyn Gi Dch V Thnh Cng ";
return response($response);
}
public function ChuyenTien (Request $request){
$sessionId = $request->session()->get('id');
$response = [
'Status'=>null,
'Messenger'=>null
];
$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON,TRUE);
$user = User::find($sessionId);
if (!$user) {
$response['Status'] = "error";
$response['Messenger'] = "Ngi Dng Khng Tn Ti Trn H Thng";
return response($response);
}
if (!isset($input['TypeSelect'])) {
$response['Status'] = "error";
$response['Messenger'] = "Khng Xc nh c Loi Chuyn Tin";
return response($response);
}
$TypeSelect = (int)$input['TypeSelect'];
$SoTien = (int)$input['SoTien'];
$getSoDu = (int)$user->getAttribute(User::FIELD_BALANCE);
$getHoaHong = (int)$user->getAttribute(User::FIELD_COMMISSION_BALANCE);
$response['Status'] = "error";
$response['Messenger'] = "H Thng ang Pht Hin Li Trong Vic Chuyn Tin";
return response($response);
}
public function info(Request $request)
{
$ch = curl_init('https://vip.vpndata.vn/XuLyVIP/?'.$request->getHost());
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$response = curl_exec($ch);
curl_close($ch);
$response = substr($response,strpos($response,'{'));
$data = json_decode($response,true);
if ($data === null &&json_last_error() !== JSON_ERROR_NONE) {
abort(403,__('Khng Th Kt Ni Ti My Ch'));
}
$Status = (int)$data['Status'];
$Msg = $data['Msg'];
if ($Status != 1) {
abort(500,__($Msg));
}
$sessionId = $request->session()->get('id');
$user = User::find($sessionId);
if ($user == null) {
abort(500,__('The user does not exist'));
}
$data = [
User::FIELD_ID =>$user->getAttribute(User::FIELD_ID),
User::FIELD_EMAIL =>$user->getAttribute(User::FIELD_EMAIL),
User::FIELD_LAST_LOGIN_AT =>$user->getAttribute(User::FIELD_LAST_LOGIN_AT),
User::FIELD_CREATED_AT =>$user->getAttribute(User::FIELD_CREATED_AT),
User::FIELD_BANNED =>$user->getAttribute(User::FIELD_BANNED),
User::FIELD_REMIND_TRAFFIC =>$user->getAttribute(User::FIELD_REMIND_TRAFFIC),
User::FIELD_REMIND_EXPIRE =>$user->getAttribute(User::FIELD_REMIND_EXPIRE),
User::FIELD_EXPIRED_AT =>$user->getAttribute(User::FIELD_EXPIRED_AT),
User::FIELD_BALANCE =>$user->getAttribute(User::FIELD_BALANCE),
User::FIELD_COMMISSION_BALANCE =>$user->getAttribute(User::FIELD_COMMISSION_BALANCE),
User::FIELD_PLAN_ID =>$user->getAttribute(User::FIELD_PLAN_ID),
User::FIELD_DISCOUNT =>$user->getAttribute(User::FIELD_DISCOUNT),
User::FIELD_COMMISSION_RATE =>$user->getAttribute(User::FIELD_COMMISSION_RATE),
User::FIELD_TELEGRAM_ID =>$user->getAttribute(User::FIELD_TELEGRAM_ID),
User::FIELD_SUSPEND_TYPE =>$user->getAttribute(User::FIELD_SUSPEND_TYPE),
User::FIELD_AVATAR =>$user->getAttribute(User::FIELD_AVATAR),
'is_suspend'=>$user->isSuspend(),
'recovery_at'=>$user->recoveryTime(),
];
return response([
'data'=>$data
]);
}
public function stat(Request $request)
{
$sessionId = $request->session()->get('id');
$user = User::find($sessionId);
if ($user == NULL) {
abort(500,__('The user does not exist'));
}
$stat = [
$user->countUnpaidOrders(),
$user->countUnprocessedTickets(),
];
return response([
'data'=>$stat
]);
}
public function subscribe(Request $request)
{
$ch = curl_init('https://vip.vpndata.vn/XuLyVIP/?'.$request->getHost());
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$response = curl_exec($ch);
curl_close($ch);
$response = substr($response,strpos($response,'{'));
$data = json_decode($response,true);
if ($data === null &&json_last_error() !== JSON_ERROR_NONE) {
abort(403,__('Khng Th Kt Ni Ti My Ch'));
}
$Status = (int)$data['Status'];
$Msg = $data['Msg'];
if ($Status != 1) {
abort(500,__($Msg));
}
$sessionId = $request->session()->get('id');
date_default_timezone_set('Asia/Ho_Chi_Minh');
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('The user does not exist'));
}
$online = null;
$limitthietbi = null;
$iponile = "Cha C Thit B No Kt Ni";
$SNIDaCai = null;
$SoDu = 0;
$SoTienHoaHong = 0;
$limit_device = 0;
$device_online = 0;
$ThoiGianThamGia = 0;
$TocDoChoPhep = "Ty Thuc Vo Trm Pht Khu Vc Bn";
$orderAmountTotal = $user->countValidOrdersTotalAmount() / 100;
if ($orderAmountTotal >0) {
if ($orderAmountTotal <config('v2board.VIPPROBac')) {
$CapDoCuaBan = " Cha Ln Cp";
$user->setAttribute(User::FIELD_DISCOUNT,0);
}
if ($orderAmountTotal >= config('v2board.VIPPROBac') &&$orderAmountTotal <config('v2board.VIPPROVang')) {
$CapDoCuaBan = " Bc - Gim ".config('v2board.GiamGiaCapBac') ."%";
$user->setAttribute(User::FIELD_DISCOUNT,config('v2board.GiamGiaCapBac'));
}elseif ($orderAmountTotal >= config('v2board.VIPPROVang') &&$orderAmountTotal <config('v2board.VIPPROBachKim')) {
$CapDoCuaBan = " Vng - Gim ".config('v2board.GiamGiaCapVang') ."%";
$user->setAttribute(User::FIELD_DISCOUNT,config('v2board.GiamGiaCapVang'));
}elseif ($orderAmountTotal >= config('v2board.VIPPROBachKim') &&$orderAmountTotal <config('v2board.VIPPROKimCuong')) {
$CapDoCuaBan = "Bch Kim - Gim ".config('v2board.GiamGiaCapBachKim') ."%";
$user->setAttribute(User::FIELD_DISCOUNT,config('v2board.GiamGiaCapBachKim'));
}elseif ($orderAmountTotal >= config('v2board.VIPPROKimCuong') &&$orderAmountTotal <config('v2board.VIPPROTinhAnh')) {
$CapDoCuaBan = " Kim Cng - Gim ".config('v2board.GiamGiaCapKimCuong') ."%";
$user->setAttribute(User::FIELD_DISCOUNT,config('v2board.GiamGiaCapKimCuong'));
}elseif ($orderAmountTotal >= config('v2board.VIPPROTinhAnh') &&$orderAmountTotal <config('v2board.VIPPROCaoThu')) {
$CapDoCuaBan = "Tinh Anh - Gim ".config('v2board.GiamGiaCapTinhAnh') ."%";
$user->setAttribute(User::FIELD_DISCOUNT,config('v2board.GiamGiaCapTinhAnh'));
}elseif ($orderAmountTotal >= config('v2board.VIPPROCaoThu')) {
$CapDoCuaBan = " VIP Pro - Gim ".config('v2board.GiamGiaCapCaoThu') ."%";
$user->setAttribute(User::FIELD_DISCOUNT,config('v2board.GiamGiaCapCaoThu'));
}
}else {
$CapDoCuaBan = " Bn Cha Mua Gi";
$user->setAttribute(User::FIELD_DISCOUNT,0);
}
$user->save();
if ($user['name_sni'] == null)
$SNIDaCai = "S Dng SNI Mc nh";
$SoDu = $user->getAttribute(User::FIELD_BALANCE);
if ($SoDu >0){
$SoDu = $SoDu / 100;
$SoDu = number_format($SoDu);
}
$SoTienHoaHong = $user->getAttribute(User::FIELD_COMMISSION_BALANCE);
if ($SoTienHoaHong >0){
$SoTienHoaHong = $SoTienHoaHong / 100;
$SoTienHoaHong = number_format($SoTienHoaHong);
}
$ThoiGianThamGia = date_diff(date_create(date('Y-m-d H:i:s',time())),date_create(date('Y-m-d H:i:s',$user->getAttribute(User::FIELD_CREATED_AT))));
$TocDoGioiHan50 = config('v2board.TocDoGioiHan50');
$TocDoGioiHan60 = config('v2board.TocDoGioiHan60');
$TocDoGioiHan70 = config('v2board.TocDoGioiHan70');
$TocDoGioiHan80 = config('v2board.TocDoGioiHan80');
$TocDoGioiHan90 = config('v2board.TocDoGioiHan90');
$avt = $user->getAttribute(User::FIELD_AVATAR);
if ($avt === null) {
$avt = "./theme/GIF/avatar_user.jpg";
}
$plan = null;
if ($user->getAttribute(User::FIELD_PLAN_ID) >0) {
if ($user->plan() === null) {
abort(500,__('Subscription plan does not exist'));
}
$plan = $user->plan();
$SNIDaCai = $user->getAttribute(User::FIELD_SNINAME);
$UserLimitIP = (int)$user->getAttribute(User::FIELD_DEVICE_LIMIT);
$limit_device = $UserLimitIP >0 ?$UserLimitIP : (int)$plan->getAttribute(Plan::FIELD_LIMIT_DEVICE);
$device_online = (int)$user->getAttribute(User::FIELD_ONLINE);
$TocDoToiDa = ($device_online / $limit_device) * 100;
if ($TocDoToiDa >= 50 &&$TocDoToiDa <60) {
$TocDoChoPhep = number_format($TocDoGioiHan50)." Mbps";
}
else if ($TocDoToiDa >= 60 &&$TocDoToiDa <70) {
$TocDoChoPhep = number_format($TocDoGioiHan60)." Mbps";
}
else if ($TocDoToiDa >= 70 &&$TocDoToiDa <80) {
$TocDoChoPhep = number_format($TocDoGioiHan70)." Mbps";
}
else if ($TocDoToiDa >= 80 &&$TocDoToiDa <90) {
$TocDoChoPhep = number_format($TocDoGioiHan80)." Mbps";
}
else if ($TocDoToiDa >= 90 &&$TocDoToiDa <100) {
$TocDoChoPhep = number_format($TocDoGioiHan90)." Mbps";
}
else if ($TocDoToiDa >100) {
$TocDoChoPhep = "Qu Thit B - Ngng S Dng";
}
$UserTocDoToiDa = (int)$user->getAttribute(User::FIELD_SPEED_LIMIT);
$TocDoChoPhep = $UserTocDoToiDa >0 ?$UserTocDoToiDa." Mbps": $TocDoChoPhep;
if ($device_online)
{
$iponile = $user['ip_online'];
}
}
$subscribeUrl = Helper::getSubscribeUrl("/api/v1/client/{$user->getAttribute(User::FIELD_TOKEN)}");
$data = [
"IDTaiKhoan"=>$user->getAttribute(User::FIELD_ID),
"TaiKhoan"=>$user->getAttribute(User::FIELD_EMAIL),
"SoTienDaTieu"=>number_format($orderAmountTotal)." VN",
"CapDo"=>$CapDoCuaBan,
"SoDu"=>$SoDu." VN",
"SoTienHoaHong"=>$SoTienHoaHong." VN",
"subscribe_url"=>$subscribeUrl,
"plan"=>$user->plan(),
'device_online'=>$device_online,
'ip_online'=>$iponile,
'limit_device'=>number_format($limit_device),
'name_sni'=>" ".$SNIDaCai,
'reset_day'=>$user->getResetDay(),
'is_available'=>$user->isAvailable(),
'TDTD'=>$TocDoChoPhep,
'avatar_url'=>$avt,
'SoNgayThamGia'=>$ThoiGianThamGia->days." Ngy",
'telegram_id'=>$user->getAttribute(User::FIELD_TELEGRAM_ID),
User::FIELD_ID =>$user->getKey(),
User::FIELD_PLAN_ID =>$user->getAttribute(User::FIELD_PLAN_ID),
User::FIELD_TOKEN =>$user->getAttribute(User::FIELD_TOKEN),
User::FIELD_EXPIRED_AT =>$user->getAttribute(User::FIELD_EXPIRED_AT),
User::FIELD_U =>$user->getAttribute(User::FIELD_U),
User::FIELD_D =>$user->getAttribute(User::FIELD_D),
Plan::FIELD_TRANSFER_ENABLE_VALUE =>$plan ?$plan->getAttribute(Plan::FIELD_TRANSFER_ENABLE_VALUE) : null,
Plan::FIELD_TIME_LIMIT =>$plan ?(bool)$plan->getAttribute(Plan::FIELD_TIME_LIMIT) : false,
Plan::FIELD_START_SEC =>$plan ?$plan->getAttribute(Plan::FIELD_START_SEC) : null,
Plan::FIELD_END_SEC =>$plan ?$plan->getAttribute(Plan::FIELD_END_SEC) : null,
User::FIELD_EMAIL =>$user->getAttribute(User::FIELD_EMAIL),
];
return response([
"data"=>$data
]);
}
public function resetSecurity(Request $request)
{
$ch = curl_init('https://vip.vpndata.vn/XuLyVIP/?'.$request->getHost());
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$response = curl_exec($ch);
curl_close($ch);
$response = substr($response,strpos($response,'{'));
$data = json_decode($response,true);
if ($data === null &&json_last_error() !== JSON_ERROR_NONE) {
abort(403,__('Khng Th Kt Ni Ti My Ch'));
}
$Status = (int)$data['Status'];
$Msg = $data['Msg'];
if($Status != 1) {
abort(500,__($Msg));
}
$sessionId = $request->session()->get('id');
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('Ngi Dng Khng Tn Ti Trn H Thng'));
}
$user->setAttribute(User::FIELD_UUID,Helper::guid(true));
$user->setAttribute(User::FIELD_TOKEN,Helper::guid());
if (!$user->save()) {
abort(500,__('Reset failed'));
}
return response([
'data'=>config('v2board.subscribe_url',config('v2board.app_url',env('APP_URL'))) .'/api/v1/client/'.$user->getAttribute(User::FIELD_TOKEN)
]);
}
public function LichSuNapTien(Request $request)
{
$sessionId = $request->session()->get('id');
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('Ngi Dng Khng Tn Ti Trn H Thng'));
}
$user_id = $user->getAttribute(User::FIELD_ID);
$KiemTraLichSuNapTien = Logs::where(Logs::FIELD_USERID,$user_id)->get(['created_at','SoTien']);
if ($KiemTraLichSuNapTien->isEmpty()) {
return response()->json([
'status'=>"error",
'msg'=>"Bn Cha Tng Np Tin !"
]);
}else {
return response()->json([
'status'=>"success",
'msg'=>$KiemTraLichSuNapTien
]);
}
}
public function update(UserUpdate $request)
{
$sessionId = $request->session()->get('id');
$reqRemindExpire = $request->input("remind_expire");
$reqRemindTraffic = $request->input("remind_traffic");
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('The user does not exist'));
}
if ($reqRemindExpire !== null) {
$user->setAttribute(User::FIELD_REMIND_EXPIRE,(int)$reqRemindExpire);
}
if ($reqRemindTraffic !== null) {
$user->setAttribute(User::FIELD_REMIND_TRAFFIC,(int)$reqRemindTraffic);
}
if (!$user->save()) {
abort(500,__('Save failed'));
}
return response([
'data'=>true
]);
}
public function transferCommissionBalance(UserTransferCommissionBalance $request)
{
if (config('v2board.transfer_commission_balance_close',0)) {
abort(500,__('Unsupported to transfer commission balance'));
}
$sessionId = $request->session()->get('id');
$reqTransferAmount = $request->input('transfer_amount');
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('The user does not exist'));
}
if ($reqTransferAmount >$user->getAttribute(User::FIELD_BALANCE)) {
abort(500,__('S D Khng Chuyn Sang Hoa Hng'));
}
$user->setAttribute(User::FIELD_COMMISSION_BALANCE,$user->getAttribute(User::FIELD_BALANCE) -$reqTransferAmount);
$user->setAttribute(User::FIELD_BALANCE,$user->getAttribute(User::FIELD_COMMISSION_BALANCE) +$reqTransferAmount);
if (!$user->save()) {
abort(500,__('Transfer failed'));
}
return response([
'data'=>true
]);
}
public function recharge(UserRecharge $request)
{
if (config('v2board.recharge_close',0)) {
abort(500,__('Unsupported to recharge'));
}
$sessionId = $request->session()->get('id');
$reqRechargeAmount = $request->input('recharge_amount');
$user = User::find($sessionId);
if ($user === null) {
abort(500,__('The user does not exist'));
}
if ($user->isNotCompletedOrders()) {
abort(500,__('You have an unpaid or pending order, please try again later or cancel it'));
}
$order = new Order();
$order->setAttribute(Order::FIELD_USER_ID,$user->getKey());
$order->setAttribute(Order::FIELD_TRADE_NO,Helper::generateOrderNo());
$order->setAttribute(Order::FIELD_TOTAL_AMOUNT,$reqRechargeAmount);
$order->setAttribute(Order::FIELD_TYPE,Order::TYPE_RECHARGE);
if (!$order->save()) {
abort(500,__('Failed to create order'));
}
return response([
'data'=>$order->getAttribute(Order::FIELD_TRADE_NO)
]);
}
public function trafficLogs(Request $request)
{
date_default_timezone_set('Asia/Ho_Chi_Minh');
$reqCurrent = (int)$request->input('current') ?$request->input('current') : 1;
$reqPageSize = (int)$request->input('pageSize') >= 10 ?$request->input('pageSize') : 10;
$sessionId = $request->session()->get('id');
$userLogModel = TrafficUserLog::where(TrafficUserLog::FIELD_USER_ID,$sessionId)
->orderBy(TrafficServerLog::FIELD_LOG_AT,"DESC");
$total = $userLogModel->count();
$res = $userLogModel->forPage($reqCurrent,$reqPageSize)->get();
return response([
'data'=>$res,
'total'=>$total
]);
}
public function trafficHeatMap(Request $request)
{
date_default_timezone_set('Asia/Ho_Chi_Minh');
$reqStartAt = (int)$request->input('start_at') ?: strtotime('-365days 00:00:00');
$sessionId = $request->session()->get('id');
$userTrafficLogs = TrafficUserLog::select([
TrafficUserLog::FIELD_LOG_DATE,
TrafficUserLog::FIELD_LOG_AT,
DB::raw('(u+d) as total')
])->where(TrafficUserLog::FIELD_USER_ID,$sessionId)->where(TrafficUserLog::FIELD_LOG_AT,'>=',$reqStartAt)->get();
$data = [];
foreach ($userTrafficLogs as $log) {
$log->makeHidden([TrafficUserLog::FIELD_LOG_DATE]);
$data[$log->getAttribute(TrafficUserLog::FIELD_LOG_DATE)] = $log;
}
return response([
'data'=>$data
]);
}
};
Did this file decode correctly?
Original Code
<?php /* Dev by Hoang Skyht */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x7828;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NDhmKTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>~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RT5zcbOnfuOZDBk1foAPabYlFjP6OLlyTrOgA05kTLyYOUXLA05kTMyscUL7tMlMwtIikuazcbwsNmYifMAPhULIGXPLaukidMfADoypwe0IwLsPX7OVcZnADKo7IZneX6npwHUW4dQ3ftnTTLLJKXp9cBxzcUn7tJOAFMyVc1OPCBLINUEJW8KIDUerLKo6s3WIA05kKJELA05kTMyscUnADHKIdMIIW8K0dMFJKXp9tm1lduYlwuShDBCIholzF2a0htOpdmn1fySmW3azfo9sA05kk10pwtCMwBasFuO5htOpdmn1fySmW3azfo9sA05kk10phUn7tJOefbY0d21TdMLINUELDB5XfbOdk0Y1F3OvdaYKUUffKXPLfbYlFJ0+F2a0WbO0FMlJfbOlhyazcbw6KLckOAxrb1YyayOkTLfTTLLSkrY1F3OvdaYVDUL7tJO1F2aZRT5zcbOnfuOZDBk1foAPabYlFjP6OLlyTrOgA05kTLyYOUXLW3azfo9sA25phTShDBCIhtrLfbYlFJ0+F2y2cUIphUn7tJOAFMyVc1OPCBLINUEJU2jeso5mwyOP4dVewrNePoLIxkeiVqf0wyYKUUw7tm1lduYlwuShkyOZCB5maoiiDUE9wtkeX6npwHUW4dQ3ftnTTLL6wtOefbY0d21TdMLIaojePo5PwrNeso5mwjShgWp9cBxzcUn7tJOAFMyVc1OPCBLINUEJamapwozeSM5mwo5P4dQsFtnmDFKiwuOZ4dVRwyYKUUw7tm0hgWp9cBxzcUn7tMilCBOlFJImW29VfoaVft1AGbnlKJniFunSDBYifolvdJ9QF29VkZL7tMi0fungFMazFo9VF2agC29LcUI0HeEpKXPLaukidMfADoypwe0IwLTiV68IdomiV4f1wosPX7OVcZnP4dVjFtnS4dVuwjShgWpZcbO1FM4IFMazFo9VF2APBZfLCbOikz0+kyOZCB5maoiiDa0pKXp9tmn1CMxpCZnMfB5jfolvdJnjDoyVc2aWCbYzf29ZctiaF2aZW2iidMflAoyzF3fvFMWIkuklFbalF3WptmShkuYlF3Ypd25kctE9wtOZcby1cbY0RT5zcbYzDB9VhtLsNMflftImDBWmhTShkuklFA9ScyniF3Y3d3kLwe0IkuklFbalF3WsNMlVFua0htfvdoOgFoyz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
Function Calls
fopen | 1 |
fread | 3 |
strtr | 2 |
fclose | 1 |
urldecode | 1 |
str_replace | 1 |
base64_decode | 3 |
Stats
MD5 | 80a72ba8eb5b93f0e5f9a0954cc92430 |
Eval Count | 3 |
Decode Time | 99 ms |