Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


 namespace App\Http\Controllers;
 use Illuminate\Cache\RateLimiter;
 use Illuminate\Http\Request;
 use App\Models\Plan;
 use App\Models\PlanRecord;
 use App\Models\BankDetail;
 use App\Models\User;
 use App\Models\DailyIncome;
 use App\Models\Transaction;
 use App\Models\Sponsor;
 use App\Models\UserWithLevel;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Auth;
 use Carbon\Carbon;
	 class HomeController extends Controller {
		 public function __construct() {
		 $this->middleware("auth");
		 
	}
		 public function index() {
		 $plans = Plan::all();
		 $user = Auth::user();
		 return view("home", compact("plans", "user"));
		 
	}
		 public function myprofile() {
		 $user = Auth::user();
		 $sponsorCode = $user->sponsor_code;
		 $level1Commission = Transaction::where("sponsor_code", $sponsorCode)->where("transaction_type", "Level 1 of commission")->sum("amount");
		 $level2Commission = Transaction::where("sponsor_code", $sponsorCode)->where("transaction_type", "Level of commission")->sum("amount");
		 $level3Commission = Transaction::where("sponsor_code", $sponsorCode)->where("transaction_type", "Level 3 of commission")->sum("amount");
		 $totalTransactionCommission = $level1Commission + $level2Commission + $level3Commission;
		 $totalDailyIncome = DailyIncome::where("user_id", $sponsorCode)->sum("amount");
		 $totalIncome = $totalTransactionCommission + $totalDailyIncome;
		 return view("my", array("user" => $user, "totalIncome" => $totalIncome));
		 
	}
		 public function setting() {
		 $user = Auth::user();
		 return view("set", array("user" => $user));
		 
	}
		 public function our_bank() {
		 $user = Auth::user();
		 $bankDetails = BankDetail::where("user_id", $user->sponsor_code)->first();
		 return view("bind_bank", compact("bankDetails"));
		 
	}
		 public function change_pwd() {
		 $user = Auth::user();
		 return view("edit_pwd", array("user" => $user));
		 
	}
		 public function pay_fundpasschange() {
		 $user = Auth::user();
		 return view("edit_deposit_pwd", array("user" => $user));
		 
	}
		 public function companyProfile() {
		 $user = Auth::user();
		 return view("msg", array("user" => $user));
		 
	}
		 public function planRecord() {
		 $user = Auth::user();
		 $planRecords = \App\Models\PlanRecord::where("user_id", $user->sponsor_code)->orderBy("id", "desc")->get();
		 return view("lixibao_list", array("user" => $user, "planRecords" => $planRecords));
		 
	}
		 public function invite() {
		 $user = Auth::user();
		 return view("invite", array("user" => $user));
		 
	}
		 public function BuyProducts(Request $request) {
		 $user = Auth::user();
		 $postcid = $request->input("cid");
		 $date = Carbon::now()->format("d-m-Y");
		 $time = Carbon::now()->format("H:i:s");
		 $limiter = app(RateLimiter::class);
		 $key = "buy-products:" . $user->id;
			 if ($limiter->tooManyAttempts($key, 1, 10)) {
			 return response()->json(array("info" => "Too many requests. Please try again later."));
			 
		}
		 $limiter->hit($key, 10);
		 $userdata = $this->getUserDataBySponsorCode($user->sponsor_code);
		 $user_wallet_balance = $userdata->wallet_balance;
		 $user_recharge = $userdata->recharge;
		 $getpackagedetails = $this->getPackageDetails($postcid);
		 $package_price = trim($getpackagedetails->price);
		 $package_status = $getpackagedetails->status;
		 $package_per_day = $getpackagedetails->daily;
		 $total_days = $getpackagedetails->total_days;
		 $limit = $getpackagedetails->total_limit;
		 $packageType = $getpackagedetails->plan_type;
		 $planName = $getpackagedetails->plan_name;
		 $total_income = $getpackagedetails->total;
		 $getActivePackageCountForUser = $this->getUserPackageCount($user->sponsor_code, $postcid);
			 if ($getActivePackageCountForUser < $limit) {
				 if ($package_status == 1) {
					 if ($user_recharge >= $package_price) {
					 $new_recharge = $user_recharge - $package_price;
					 $this->updateUserFundWallet($user->sponsor_code, $new_recharge);
					 $expiry_date = Carbon::now()->addDays($total_days)->format("d-m-Y");
					 DB::table("plan_record")->insert(array("user_id" => $user->sponsor_code, "phone" => $user->phone, "plan_id" => $postcid, "plan_name" => $planName, "plan_limit" => $limit, "total_income" => $total_income, "amount" => $package_price, "start_date" => $date, "time" => $time, "total_days" => $total_days, "status" => 1, "daily_income" => $package_per_day, "end_date" => $expiry_date, "plan_type" => $packageType));
					 DB::table("transactions")->insert(array("user_id" => $user->id, "phone" => $user->phone, "sponsor_code" => $user->sponsor_code, "transaction_type" => "Plan amount", "cdtype" => "Debit", "amount" => $package_price, "status" => 1, "admin_status" => 1, "created_at" => $date, "time" => $time));
					 $this->distributeCommission($user->sponsor_code, $package_price);
					 return response()->json(array("info" => "Purchased Successful!"));
					 
				}
					 else {
					 return response()->json(array("info" => "The available balance is insufficient, please recharge"));
					 
				}
				 
			}
				 else {
				 return response()->json(array("info" => "Presale, temporarily not for purchase"));
				 
			}
			 
		}
			 else {
			 return response()->json(array("info" => "Plan limit over!"));
			 
		}
		 
	}
		 private function getUserDataBySponsorCode($sponsor_code) {
		 return DB::table("users")->where("sponsor_code", $sponsor_code)->first();
		 
	}
		 private function getPackageDetails($postcid) {
		 return DB::table("plans")->where("id", $postcid)->first();
		 
	}
		 private function getUserPackageCount($sponsor_code, $plan_id) {
		 return DB::table("plan_record")->where("user_id", $sponsor_code)->where("plan_id", $plan_id)->count();
		 
	}
		 private function updateUserFundWallet($sponsor_code, $amount) {
		 DB::table("users")->where("sponsor_code", $sponsor_code)->update(array("recharge" => $amount));
		 
	}
		 private function distributeCommission($sponsor_code, $package_price) {
		 $pinfinal = $sponsor_code;
		 for ($i = 1;
		 $i <= 3;
			 $i++) {
			 $mysponserid = $this->getSponsorId($pinfinal);
			 $sponserdetails = $this->getUserDataBySponsorCode($mysponserid);
				 if (!$sponserdetails) {
				 continue;
				 
			}
			 $spcode = $sponserdetails->sponsor_code;
			 $spamont = $sponserdetails->wallet_balance;
				 if ($i == 1) {
				 $direcamount = $package_price * 20 / 100;
				 $messagenext1 = "Level 1 of commission";
				 
			}
				 elseif ($i == 2) {
				 $direcamount = $package_price * 3 / 100;
				 $messagenext1 = "Level 2 of commission";
				 
			}
				 elseif ($i == 3) {
				 $direcamount = $package_price * 2 / 100;
				 $messagenext1 = "Level of commission";
				 
			}
				 if ($spcode != '') {
				 $total_amount = $spamont + $direcamount;
				 $this->updateUserWallet($spcode, $total_amount);
				 $this->insertTransaction($spcode, $direcamount, $messagenext1, "Credit");
				 
			}
			 $pinfinal = $spcode;
			 
		}
		 
	}
		 private function getSponsorId($sponsor_code) {
		 $user = DB::table("users")->where("sponsor_code", $sponsor_code)->first();
		 return $user ? $user->invite_code : null;
		 
	}
		 private function updateUserWallet($sponsor_code, $amount) {
		 DB::table("users")->where("sponsor_code", $sponsor_code)->update(array("wallet_balance" => $amount));
		 
	}
		 private function insertTransaction($sponsor_code, $amount, $description, $type) {
		 DB::table("transactions")->insert(array("user_id" => "null", "sponsor_code" => $sponsor_code, "transaction_type" => $description, "cdtype" => $type, "amount" => $amount, "status" => 1, "admin_status" => 1, "created_at" => Carbon::now()->format("d-m-Y"), "time" => Carbon::now()->format("H:i:s")));
		 
	}
	 
}



© 2023 Quttera Ltd. All rights reserved.