One Hat Cyber Team
Your IP:
216.73.216.63
Server IP:
198.54.114.155
Server:
Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
5.6.40
Create File
|
Create Folder
Execute
Dir :
~
/
proc
/
thread-self
/
cwd
/
View File Name :
User.tar
InvestController.php 0000644 00000035733 15112002061 0010570 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Classes\GeniusMailer; use App\Http\Controllers\Controller; use App\Http\Resources\InvestCheckoutResource; use App\Http\Resources\InvestResource; use App\Models\Currency; use App\Models\Generalsetting; use App\Models\Invest; use App\Models\PaymentGateway; use App\Models\Plan; use App\Models\Referral; use App\Models\ReferralBonus; use App\Models\Transaction; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Session; use Illuminate\Support\Str; class InvestController extends Controller { public $gs; public $allusers = []; public $referral_ids = []; public function __construct() { $this->gs = Generalsetting::findOrFail(1); } public function plans(){ try{ $data = Plan::whereStatus(1) ->orderBy('id','desc') ->get(); return response()->json(['status' => true, 'data' => $data, 'error' => []]); }catch(\Exception $e){ return response()->json(['status' => false, 'data'=> [], 'error'=> $e->getMessage()]); } } public function mainWallet(Request $request){ try{ if($request->amount>0){ if($plan = Plan::whereId($request->invest_id)->first()){ if($plan->invest_type == 'range'){ if(rootPrice($plan->min_amount) > $request->amount ){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be greater than this!']); } if($request->amount > rootPrice($plan->max_amount)){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be less than this!']); } }else{ if(rootPrice($plan->fixed_amount) < $request->amount){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be greater or equal to '.$plan->fixed_amount]); } } if($request->amount <= rootPrice(auth()->user()->balance)){ $currency = Currency::first(); $invest = new Invest(); $invest->transaction_no = Str::random(12); $invest->user_id = auth()->id(); $invest->plan_id = $plan->id; $invest->currency_id = $currency->id; $invest->method = 'Main Wallet'; $invest->amount = investCurrencyAmount($request->amount); $profitAmount = ($request->amount * $plan->profit_percentage)/100; $invest->profit_amount = investCurrencyAmount($profitAmount); if($plan->lifetime_return){ $invest->lifetime_return = 1; } if($plan->captial_return){ $invest->capital_back = 1; $invest->profit_repeat = 0; } $invest->status = 1; $invest->payment_status = "completed"; $invest->profit_time = Carbon::now()->addHours($plan->schedule_hour); $invest->save(); $user = auth()->user(); $user->balance = $user->balance - investCurrencyAmount($request->amount); $user->update(); $trans = new Transaction(); $trans->email = auth()->user()->email; $trans->amount = $invest->amount; $trans->type = "Invest"; $trans->txnid = $invest->transaction_no; $trans->user_id = $invest->user_id; $trans->save(); $this->refferalBonus($invest); return response()->json(['status' => true, 'data' => new InvestResource($invest), 'error'=>[]]); }else{ return response()->json(['status' => false, 'data'=> [], 'error'=> 'You don,t have sufficient balance.']); } return response()->json(['status' => false, 'data'=> [], 'error'=> 'No plan exists.']); } }else{ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount should be greater then 0!']); } }catch(\Exception $e){ return response()->json(['status' => false, 'data'=> [], 'error'=> $e->getMessage()]); } } public function interestWallet(Request $request){ try{ if($request->amount>0){ if($plan = Plan::whereId($request->invest_id)->first()){ if($plan->invest_type == 'range'){ if(rootPrice($plan->min_amount) > $request->amount ){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be greater than this!']); } if($request->amount > rootPrice($plan->max_amount)){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be less than this!']); } }else{ if(rootPrice($plan->fixed_amount) < $request->amount){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be greater or equal to '.$plan->fixed_amount]); } } if($request->amount < rootPrice(auth()->user()->interest_balance)){ $currency = Currency::first(); $invest = new Invest(); $invest->transaction_no = Str::random(12); $invest->user_id = auth()->id(); $invest->plan_id = $plan->id; $invest->currency_id = $currency->id; $invest->method = 'Interest Wallet'; $invest->amount = investCurrencyAmount($request->amount); $profitAmount = ($request->amount * $plan->profit_percentage)/100; $invest->profit_amount = investCurrencyAmount($profitAmount); if($plan->lifetime_return){ $invest->lifetime_return = 1; } if($plan->captial_return){ $invest->capital_back = 1; $invest->profit_repeat = 0; } $invest->status = 1; $invest->payment_status = "completed"; $invest->profit_time = Carbon::now()->addHours($plan->schedule_hour); $invest->save(); $user = auth()->user(); $user->interest_balance =$user->interest_balance - investCurrencyAmount($request->amount); $user->update(); $trans = new Transaction(); $trans->email = auth()->user()->email; $trans->amount = $invest->amount; $trans->type = "Invest"; $trans->txnid = $invest->transaction_no; $trans->user_id = $invest->user_id; $trans->save(); $this->refferalBonus($invest); return response()->json(['status' => true, 'data' => new InvestResource($invest), 'error'=>[]]); }else{ return response()->json(['status' => false, 'data'=> [], 'error'=> 'You don,t have sufficient balance.']); } return response()->json(['status' => false, 'data'=> [], 'error'=> 'No plan exists.']); } }else{ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount should be greater then 0!']); } }catch(\Exception $e){ return response()->json(['status' => false, 'data'=> [], 'error'=> $e->getMessage()]); } } public function investAmount(Request $request){ if($request->amount>0){ if($plan = Plan::whereId($request->plan_id)->first()){ if($plan->invest_type == 'range'){ if(rootPrice($plan->min_amount) > $request->amount ){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be greater than this!']); } if($request->amount > rootPrice($plan->max_amount)){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be less than this!']); } }else{ if(rootPrice($plan->fixed_amount) > $request->amount){ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount Should be greater or equal to '.$plan->fixed_amount]); } } $invest = new Invest(); $invest->transaction_no = Str::random(12); $invest->user_id = $request->user_id; $invest->plan_id = $request->plan_id; $invest->currency_id = $request->currency_id; $invest->amount = investCurrencyAmount($request->amount); $invest->profit_amount = investCurrencyAmount(($request->amount * $plan->profit_percentage)/100); if($plan->lifetime_return){ $invest->lifetime_return = 1; } if($plan->captial_return){ $invest->capital_back = 1; $invest->profit_repeat = 0; } $invest->status = 0; $invest->payment_status = "pending"; $invest->save(); $route = route('api.user.invest.checkout',$invest->id); return response()->json(['status' => true, 'data' => ['invest_data' => new InvestCheckoutResource($invest), 'checkout_route' => $route], 'error'=>[]]); } }else{ return response()->json(['status' => false, 'data'=> [], 'error'=> 'Amount should be greater then 0!']); } } public function checkout($id){ $data['invest'] = Invest::findOrFail($id); $data['invest_currency'] = Currency::findOrFail($data['invest']->currency_id); $data['gateways'] = PaymentGateway::where('status',1)->get(); return view('user.invest.api_checkout',$data); } public function refferalBonus($order){ if($this->gs->is_affilate == 1){ $referralUser = User::whereId($order->user_id)->first(); if(Session::has('affilate') || ($referralUser != NULL && $referralUser->referral_id != 0)){ if(Session::has('affilate')){ $this->referralUsers(Session::get('affilate')); }else{ if($referralUser->referral_id != 0){ $this->referralUsers($referralUser->referral_id); } } $referral_ids = $this->allReferralId(); if(count($this->allusers) >0){ $users = array_reverse($this->allusers); foreach($users as $key=>$data){ $user = User::findOrFail($data); if($referral = Referral::findOrFail($referral_ids[$key])){ $referralAmount = ($order->amount * $referral->percent)/100; $bonus = new ReferralBonus(); $bonus->from_user_id = auth()->id(); $bonus->to_user_id = $user->id; $bonus->percentage = $referral->percent; $bonus->level = $referral->level; $bonus->amount = $referralAmount; $bonus->type = 'invest'; $bonus->save(); $to_user = User::findOrFail($bonus->to_user_id); $trans = new Transaction(); $trans->email = $to_user->email; $trans->amount = $referralAmount; $trans->type = "Referral Bonus"; $trans->txnid = $order->transaction_no; $trans->user_id = $to_user->id; $trans->profit = 'plus'; $trans->save(); if($this->gs->is_smtp == 1) { $data = [ 'to' => $to_user->email, 'type' => "referral bonus", 'cname' => $to_user->name, 'oamount' => $referralAmount, 'aname' => "", 'aemail' => "", 'wtitle' => "", ]; $mailer = new GeniusMailer(); $mailer->sendAutoMail($data); } else { $to = $to_user->email; $subject = "Referral Bonus"; $msg = "Hello ".$to_user->name."!\nYou got bonus from referral.\nThank you."; $headers = "From: ".$this->gs->from_name."<".$this->gs->from_email.">"; mail($to,$subject,$msg,$headers); } $user->increment('balance',$referralAmount); $referralAmount = 0; } } } } } } public function allReferralId(){ $referrals = Referral::where('commission_type','invest')->get(); if(count($referrals)>0){ foreach($referrals as $key=>$data){ $this->referral_ids[] = $data->id; } return $this->referral_ids; } } public function referralUsers($id) { $referral = Referral::where('commission_type','invest')->get(); for($i=1; $i<=count($referral); $i++){ $user = User::findOrFail($id); $this->allusers[] = $user->id; if($user->referral_id){ $id = $user->referral_id; }else{ return false; } } return $this->allusers; } } SupportController.php 0000644 00000007043 15112002061 0010765 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use App\Http\Resources\SupportTicketResource; use App\Http\Resources\TicketReplyResource; use App\Models\AdminUserConversation; use App\Models\AdminUserMessage; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; class SupportController extends Controller { public function allTickets(){ try{ $support_tickets = AdminUserConversation::whereUserId(auth()->id())->paginate(10); return response()->json(['status'=>true, 'data'=>SupportTicketResource::collection($support_tickets), 'error'=>[]]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function store(Request $request) { try{ $rules = [ 'subject' => 'required', 'message' => 'required', 'attachment' => 'required|mimes:png,jpeg,gif', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['status' => false, 'data' => [], 'error' => $validator->errors()]); } $ticket = new AdminUserConversation(); $input = $request->all(); $input['ticket_number'] = '#TKT'.random_int(100000, 999999); $input['user_id'] = auth()->id(); if ($file = $request->file('attachment')) { $name = Str::random(8).time().'.'.$file->getClientOriginalExtension(); $file->move('assets/images',$name); $input['attachment'] = $name; } $ticket->fill($input)->save(); $conversation = new AdminUserMessage(); $conversation->conversation_id = $ticket->id; $conversation->user_id = auth()->id(); $conversation->message = $request->message; $conversation->photo = $ticket->attachment; $conversation->save(); return response()->json(['status' => true, 'data' => new SupportTicketResource($ticket), 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function show($id){ try{ $data = AdminUserConversation::whereId($id)->first(); $replies = $data->messages; return response()->json(['status' => true, 'data' => TicketReplyResource::collection($replies), 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function reply(Request $request, $id){ try{ $data = new AdminUserMessage(); $data->conversation_id = $id; $data->user_id = auth()->id(); $data->message = $request->message; if ($file = $request->file('photo')) { $name = Str::random(8).time().'.'.$file->getClientOriginalExtension(); $file->move('assets/images',$name); $data->photo = $name; } $data->save(); return response()->json(['status' => true, 'data' => new TicketReplyResource($data), 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } } RequestController.php 0000644 00000012651 15112002062 0010743 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use App\Http\Resources\MoneyRequestResource; use App\Models\Generalsetting; use App\Models\MoneyRequest; use App\Models\Transaction; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; class RequestController extends Controller { public function requestHistory(){ try{ $requests = MoneyRequest::orderby('id','desc')->whereUserId(auth()->id())->paginate(10); return response()->json(['status' => true, 'data' => MoneyRequestResource::collection($requests), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function store(Request $request){ try{ $rules = [ 'email' => 'required', 'name' => 'required', 'amount' => 'required|gt:0', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['status' => false, 'data' => [], 'error' => $validator->errors()]); } $user = auth()->user(); $gs = Generalsetting::first(); if($request->email == $user->email){ return response()->json(['status' => false, 'data' => [], 'error' => 'You can not send money yourself!!']); } $user = User::where('email',$request->email)->first(); if($user === null){ return response()->json(['status' => false, 'data' => [], 'error' => 'No register user with this email!']); } $cost = $gs->fixed_request_charge + ($request->amount/100) * $gs->percentage_request_charge; $finalAmount = $request->amount + $cost; $receiver = User::where('email',$request->email)->first(); $txnid = Str::random(4).time(); $data = new MoneyRequest(); $data->user_id = auth()->user()->id; $data->receiver_id = $receiver->id; $data->receiver_name = $receiver->name; $data->transaction_no = $txnid; $data->cost = $cost; $data->amount = $request->amount; $data->status = 0; $data->details = $request->details; $data->save(); $trans = new Transaction(); $trans->email = $user->email; $trans->amount = $finalAmount; $trans->type = "Request Money"; $trans->profit = "plus"; $trans->txnid = $txnid; $trans->user_id = $user->id; $trans->save(); return response()->json(['status' => true, 'data' => 'Request Money Send Successfully', 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function receiveHistory(){ try{ $requests = MoneyRequest::orderby('id','desc')->whereReceiverId(auth()->id())->paginate(10); return response()->json(['status' => true, 'data' => MoneyRequestResource::collection($requests), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function send($id){ try{ $data = MoneyRequest::findOrFail($id); $sender = User::whereId($data->receiver_id)->first(); $receiver = User::whereId($data->user_id)->first(); if($data->amount > $sender->balance){ return response()->json(['status' => false, 'data' => [], 'error' => 'You don,t have sufficient balance!']); } $finalAmount = $data->amount - $data->cost; $sender->decrement('balance',$data->amount); $receiver->increment('balance',$finalAmount); $data->update(['status'=>1]); $trans = new Transaction(); $trans->email = auth()->user()->email; $trans->amount = $data->amount; $trans->type = "Request Money"; $trans->profit = "minus"; $trans->txnid = $data->transaction_no; $trans->user_id = auth()->id(); $trans->save(); $trans = new Transaction(); $trans->email = $receiver->email; $trans->amount = $finalAmount; $trans->type = "Request Money"; $trans->profit = "plus"; $trans->txnid = $data->transaction_no; $trans->user_id = $receiver->id; $trans->save(); return response()->json(['status' => true, 'data' => 'Money Send Successfully', 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function details($id){ try{ $data = MoneyRequest::findOrFail($id); $from = User::whereId($data->user_id)->first(); $to = User::whereId($data->receiver_id)->first(); return response()->json(['status' => true, 'data' => new MoneyRequestResource($data), 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } } DepositController.php 0000644 00000004214 15112002062 0010716 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use App\Http\Resources\DepositResource; use App\Models\Currency; use App\Models\Deposit; use App\Models\PaymentGateway; use Illuminate\Http\Request; use Illuminate\Support\Str; class DepositController extends Controller { public function history(){ try{ $deposits = Deposit::orderby('id','desc')->whereUserId(auth()->id())->paginate(10); return response()->json(['status' => true, 'data' => DepositResource::collection($deposits), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function deposit(Request $request){ try{ $currency = Currency::where('id',$request->currency_id)->first(); $amountToAdd = $request->amount/$currency->value; $deposit = new Deposit(); $deposit['deposit_number'] = Str::random(12); $deposit['user_id'] = $request->user_id; $deposit['currency_id'] = $request->currency_id; $deposit['amount'] = $amountToAdd; $deposit['status'] = "pending"; $deposit->save(); $route = route('api.user.deposit.confirm',$deposit->id); return response()->json(['status' => true, 'data' => ['deposit_data' => new DepositResource($deposit), 'deposit_route' => $route], 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function confirm_deposit($id){ $data['deposit'] = Deposit::findOrFail($id); $data['deposit_currency'] = Currency::findOrFail($data['deposit']->currency_id); $data['availableGatways'] = ['block.io.btc','block.io.ltc','block.io.dgc','flutterwave','authorize.net','paystack','razorpay','mollie','paytm','instamojo','stripe','paypal','mercadopago','skrill','perfectmoney','payeer']; $data['gateways'] = PaymentGateway::OrderBy('id','desc')->whereStatus(1)->get(); return view('user.deposit.api_deposit',$data); } } TransferController.php 0000644 00000010310 15112002062 0011065 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use App\Http\Resources\BalanceTransferResource; use App\Models\BalanceTransfer; use App\Models\Generalsetting; use App\Models\Transaction; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; class TransferController extends Controller { public function history(){ try{ $transfers = BalanceTransfer::whereUserId(auth()->id())->orderBy('id','desc')->paginate(10); return response()->json(['status' => true, 'data' => BalanceTransferResource::collection($transfers), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function store(Request $request){ try{ $rules = [ 'email' => 'required', 'name' => 'required', 'amount' => 'required|gt:0', 'wallet' => 'required', 'password' => 'required' ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['status' => false, 'data' => [], 'error' => $validator->errors()]); } $user = auth()->user(); if(!Hash::check($request->password,$user->password)){ return response()->json(['status' => false, 'data' => [], 'error' => 'Password does not match!']); } if($request->wallet == 'main_balance'){ if($request->amount > $user->balance){ return response()->json(['status' => false, 'data' => [], 'error' => 'Insufficient Main Account Balance.']); } }else{ if($request->amount > $user->interest_balance){ return response()->json(['status' => false, 'data' => [], 'error' => 'Insufficient Main Account Balance.']); } } $gs = Generalsetting::first(); if($request->email == $user->email){ return response()->json(['status' => false, 'data' => [], 'error' => 'You can not send money yourself!!']); } if($receiver = User::where('email',$request->email)->first()){ $txnid = Str::random(4).time(); $data = new BalanceTransfer(); $data->user_id = $user->id; $data->receiver_id = $receiver->id; $data->transaction_no = $txnid; $data->cost = 0; $data->amount = $request->amount; $data->status = 1; $data->save(); $receiver->increment('balance',$request->amount); if($request->wallet == 'main_balance'){ $user->decrement('balance',$request->amount); }else{ $user->decrement('interest_balance',$request->amount); } $trans = new Transaction(); $trans->email = $user->email; $trans->amount = $request->amount; $trans->type = "Send Money"; $trans->profit = "minus"; $trans->txnid = $txnid; $trans->user_id = $user->id; $trans->save(); $receivertrans = new Transaction(); $receivertrans->email = $receiver->email; $receivertrans->amount = $request->amount; $receivertrans->type = "Receive Money"; $receivertrans->profit = "plus"; $receivertrans->txnid = $txnid; $receivertrans->user_id = $receiver->id; $receivertrans->save(); return response()->json(['status' => true, 'data' => 'Money Send Successfully', 'error' => []]); }else{ return response()->json(['status' => false, 'data' => [], 'error' => 'Sender not found!']); } } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } } ReferralController.php 0000644 00000002214 15112002062 0011047 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use App\Http\Resources\ReferralCommissionResource; use App\Http\Resources\ReferrarResource; use App\Models\ReferralBonus; use App\Models\User; use Illuminate\Http\Request; class ReferralController extends Controller { public function referred(){ try{ $referreds = User::where('referral_id',auth()->id())->orderBy('id','desc')->paginate(20); return response()->json(['status' => true, 'data' => ReferrarResource::collection($referreds), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=> false, 'data'=>[], 'error'=> $e->getMessage()]); } } public function commissions(){ try{ $commissions = ReferralBonus::where('to_user_id',auth()->id())->orderBy('id','desc')->paginate(20); return response()->json(['status' => true, 'data' => ReferralCommissionResource::collection($commissions), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=> false, 'data'=>[], 'error'=> $e->getMessage()]); } } } PayoutController.php 0000644 00000014744 15112002062 0010601 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Classes\GeniusMailer; use App\Http\Controllers\Controller; use App\Http\Resources\WithdrawMethodResource; use App\Http\Resources\WithdrawResource; use App\Models\Currency; use App\Models\Generalsetting; use App\Models\Transaction; use App\Models\Withdraw; use App\Models\WithdrawMethod; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; class PayoutController extends Controller { public function methods(){ try { $methods = WithdrawMethod::whereStatus(1)->orderBy('id','desc')->get(); $withdraws = Withdraw::whereUserId(auth()->id())->orderBy('id','desc')->limit(6)->get(); return response()->json(['status' => true, 'data' => ['withdraws'=>WithdrawResource::collection($withdraws),'methods'=>WithdrawMethodResource::collection($methods)], 'error' => []]); } catch (\Exception $e) { return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function history(Request $request){ try{ $transaction_type = ['all','pending','completed','rejected']; $available_type = $withdraws = Withdraw::when($request->trx_no,function($query) use ($request){ return $query->where('txnid', $request->trx_no); }) ->when($request->type,function($query) use ($request){ if($request->type != 'all'){ return $query->where('status',$request->type); }else{ } }) ->whereUserId(auth()->id())->orderBy('id','desc')->paginate(10); return response()->json(['status' => true, 'data' => ['transaction_type'=>$transaction_type,'transactions'=> WithdrawResource::collection($withdraws)], 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function store(Request $request){ try{ $rules = [ 'amount' => 'required|gt:0' ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['status' => false, 'data' => [], 'error' => $validator->errors()]); } $user = auth()->user(); $method = WithdrawMethod::whereId($request->method_id)->first(); if($method->min_amount > $request->amount){ return response()->json(['status' => false, 'data' => [], 'error' => 'Min Amount is '.$method->min_amount]); } if($request->amount > $method->max_amount){ return response()->json(['status' => false, 'data' => [], 'error' => 'Max Amount is '.$method->max_amount]); } $currency = Currency::whereId($method->currency_id)->first(); $amountToDeduct = $request->amount/$currency->value; $fee = (($method->percentage / 100) * $request->amount) + $method->fixed; $fee = $fee/$currency->value; $finalamount = $amountToDeduct + $fee; if($request->withdraw_wallet == 'main_wallet'){ if($finalamount > $user->balance){ return response()->json(['status' => false, 'data' => [], 'error' => 'Insufficient Balance.']); } }else{ if($finalamount > $user->interest_balance){ return response()->json(['status' => false, 'data' => [], 'error' => 'Insufficient Balance.']); } } $finalamount = number_format((float)$finalamount,2,'.',''); if($request->withdraw_wallet == 'main_wallet'){ $user->balance = $user->balance - $finalamount; }else{ $user->interest_balance = $user->interest_balance - $finalamount; } $user->update(); $txnid = Str::random(12); $newwithdraw = new Withdraw(); $newwithdraw['user_id'] = auth()->id(); $newwithdraw['currency_id'] = $method->currency_id; $newwithdraw['method'] = $method->name; $newwithdraw['txnid'] = $txnid; $newwithdraw['amount'] = $amountToDeduct; $newwithdraw['fee'] = $fee; $newwithdraw['details'] = $request->details; $newwithdraw->save(); $trans = new Transaction(); $trans->email = $user->email; $trans->amount = $finalamount; $trans->type = "Payout"; $trans->profit = "minus"; $trans->txnid = $txnid; $trans->user_id = $user->id; $trans->save(); $gs = Generalsetting::findOrFail(1); $to = $user->email; $subject = 'Withdraw'; $msg = "Dear Customer,<br> Your withdraw in process."; if($gs->is_smtp == 1) { $data = [ 'to' => $user->email, 'type' => "Withdraw", 'cname' => $user->name, 'oamount' => $newwithdraw->amount, 'aname' => "", 'aemail' => "", 'wtitle' => "", ]; $mailer = new GeniusMailer(); $mailer->sendAutoMail($data); } else { $headers = "From: ".$gs->from_name."<".$gs->from_email.">"; mail($to,$subject,$msg,$headers); } return response()->json(['status' => true, 'data' => 'Withdraw Requesting Successfully', 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function details($id){ try { $withdraw = Withdraw::findOrFail($id); return response()->json(['status' => true, 'data' => WithdrawResource::collection($withdraw), 'error' => []]); } catch (\Exception $e) { return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } } error_log 0000644 00000013650 15112002062 0006453 0 ustar 00 [25-Nov-2025 18:00:53 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DashboardController.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DashboardController.php on line 15 [25-Nov-2025 18:46:22 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/TransferController.php:16 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/TransferController.php on line 16 [25-Nov-2025 19:55:47 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DepositController.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DepositController.php on line 13 [25-Nov-2025 20:01:47 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/PayoutController.php:18 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/PayoutController.php on line 18 [25-Nov-2025 21:36:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/SupportController.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/SupportController.php on line 14 [25-Nov-2025 21:39:19 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/UserController.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/UserController.php on line 13 [25-Nov-2025 21:39:22 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/UserController.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/UserController.php on line 13 [25-Nov-2025 22:04:13 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/ReferralController.php:12 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/ReferralController.php on line 12 [25-Nov-2025 22:04:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/InvestController.php:23 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/InvestController.php on line 23 [26-Nov-2025 17:09:30 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/RequestController.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/RequestController.php on line 15 [26-Nov-2025 17:33:14 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/InvestController.php:23 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/InvestController.php on line 23 [26-Nov-2025 17:35:46 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/UserController.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/UserController.php on line 13 [26-Nov-2025 17:38:06 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/PayoutController.php:18 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/PayoutController.php on line 18 [26-Nov-2025 18:45:10 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/ReferralController.php:12 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/ReferralController.php on line 12 [26-Nov-2025 19:33:23 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/SupportController.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/SupportController.php on line 14 [26-Nov-2025 19:33:31 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DashboardController.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DashboardController.php on line 15 [26-Nov-2025 19:45:10 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DepositController.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/DepositController.php on line 13 [26-Nov-2025 19:45:42 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/TransferController.php:16 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/app/Http/Controllers/Api/User/TransferController.php on line 16 DashboardController.php 0000644 00000005512 15112002062 0011200 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use App\Http\Resources\TransactionResource; use App\Models\Invest; use App\Models\Deposit; use App\Models\Withdraw; use App\Models\Transaction; use Illuminate\Http\Request; use App\Models\ReferralBonus; use App\Models\AdminUserConversation; class DashboardController extends Controller { public function dashboard(){ try{ $data['user'] = auth()->guard('api')->user(); $data['transactions'] = Transaction::whereUserId(auth()->id())->orderBy('id','desc')->limit(5)->get(); $data['total_deposits'] = showPrice(Deposit::whereUserId(auth()->id())->whereStatus('complete')->sum('amount')); $data['total_invests'] = showPrice(Invest::whereUserId(auth()->id())->whereStatus(1)->sum('amount')); $data['total_withdraws'] = showPrice(Withdraw::whereUserId(auth()->id())->whereStatus('completed')->sum('amount')); $data['total_transactions'] = showPrice(Transaction::whereUserId(auth()->id())->sum('amount')); $data['total_tickets'] = AdminUserConversation::whereUserId(auth()->id())->count(); $data['total_referral_bonus'] = showPrice(ReferralBonus::wheretoUserId(auth()->id())->sum('amount')); return response()->json(['status' => true, 'data' => $data, 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } public function transactions(Request $request){ try{ $transaction_type = ['all','Deposit','Payout','ReferralBonus','SendMoney','ReceiveMoney','Invest','InterestMoney','RequestMoney','PayoutRejected']; $transactions = Transaction::whereUserId(auth()->id()) ->when($request->trx_no,function($query) use ($request){ return $query->where('transaction_no', $request->trx_no); }) ->when($request->type,function($query) use ($request){ if($request->type != 'all'){ return $query->where('type',$request->type); }else{ } }) ->whereUserId(auth()->id())->orderBy('id','desc')->paginate(20); return response()->json(['status' => true, 'data' => ['transaction_type'=>$transaction_type,'transactions'=> TransactionResource::collection($transactions)], 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } } UserController.php 0000644 00000007263 15112002062 0010234 0 ustar 00 <?php namespace App\Http\Controllers\Api\User; use App\Classes\GeniusMailer; use App\Http\Controllers\Controller; use App\Http\Resources\UserResource; use App\Models\Generalsetting; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; class UserController extends Controller { public function update(Request $request) { try{ $rules = [ 'photo' => 'mimes:jpeg,jpg,png,svg', 'email' => 'unique:users,email,'.auth()->user()->id ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['status' => false, 'data' => [], 'error' => $validator->errors()]); } $input = $request->all(); $user = auth()->user(); if ($file = $request->file('photo')) { $name = time().$file->getClientOriginalName(); $file->move('assets/images/',$name); @unlink('assets/images/'.$user->photo); $input['photo'] = $name; $input['is_provider'] = 0; } $user->update($input); $gs = Generalsetting::first(); if($gs->is_smtp == 1) { $data = [ 'to' => $user->email, 'type' => "profile update", 'cname' => $user->name, 'oamount' => "", 'aname' => "", 'aemail' => "", 'wtitle' => "", ]; $mailer = new GeniusMailer(); $mailer->sendAutoMail($data); } else { $to = $data->email; $subject = "Your profile has been update"; $msg = "Hello ".$data->name."!\nYour profile has been updated successfully.\nThank you."; $headers = "From: ".$gs->from_name."<".$gs->from_email.">"; mail($to,$subject,$msg,$headers); } return response()->json(['status' => true, 'data' => new UserResource($user), 'error' => []]); }catch(\Exception $e){ return response()->json(['status'=>false, 'data'=>[], 'error'=>$e->getMessage()]); } } public function updatePassword(Request $request) { $rules = [ 'current_password' => 'required', 'new_password' => 'required', 'renew_password' => 'required', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['status' => false, 'data' => [], 'error' => $validator->errors()]); } try{ $user = auth()->user(); if (Hash::check($request->current_password, $user->password)){ if ($request->new_password == $request->renew_password){ $input['password'] = Hash::make($request->new_password); }else{ return response()->json(['status' => true, 'data' => [], 'error' => ['message' => 'Confirm password does not match.']]); } }else{ return response()->json(['status' => true, 'data' => [], 'error' => ['message' => 'Current password Does not match.']]); } $user->update($input); return response()->json(['status' => true, 'data' => ['message' => 'Successfully changed your password.'], 'error' => []]); } catch(\Exception $e){ return response()->json(['status' => true, 'data' => [], 'error' => $e->getMessage()]); } } }