⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
public_html
/
app
/
Http
/
Controllers
/
User
/
View File Name :
BuyPlanController.php
<?php namespace App\Http\Controllers\User; use App\Http\Controllers\Controller; use App\Http\Helpers\UserPermissionHelper; use App\Models\Language; use App\Models\Membership; use App\Models\OfflineGateway; use App\Models\Package; use App\Models\PaymentGateway; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Auth; use Session; class BuyPlanController extends Controller { public function index() { if (session()->has('lang')) { $currentLang = Language::where('code', session()->get('lang'))->first(); } else { $currentLang = Language::where('is_default', 1)->first(); } $data['bex'] = $currentLang->basic_extended; $data['packages'] = Package::all(); $nextPackageCount = Membership::query()->where([ ['user_id', Auth::id()], ['expire_date', '>=', Carbon::now()->toDateString()] ])->whereYear('start_date', '<>', '9999')->where('status', '<>', 2)->count(); //current package $data['current_membership'] = Membership::query()->where([ ['user_id', Auth::id()], ['start_date', '<=', Carbon::now()->toDateString()], ['expire_date', '>=', Carbon::now()->toDateString()] ])->where('status', 1)->whereYear('start_date', '<>', '9999')->first(); if($data['current_membership']){ $countCurrMem = Membership::query()->where([ ['user_id', Auth::id()], ['start_date', '<=', Carbon::now()->toDateString()], ['expire_date', '>=', Carbon::now()->toDateString()] ])->where('status', 1)->whereYear('start_date', '<>', '9999')->count(); if ($countCurrMem > 1) { $data['next_membership'] = Membership::query()->where([ ['user_id', Auth::id()], ['start_date', '<=', Carbon::now()->toDateString()], ['expire_date', '>=', Carbon::now()->toDateString()] ])->where('status', '<>', 2)->whereYear('start_date', '<>', '9999')->orderBy('id', 'DESC')->first(); } else { $data['next_membership'] = Membership::query()->where([ ['user_id', Auth::id()], ['start_date', '>', $data['current_membership']->expire_date] ])->whereYear('start_date', '<>', '9999')->where('status', '<>', 2)->first(); } $data['next_package'] = $data['next_membership'] ? Package::query()->where('id', $data['next_membership']->package_id)->first() : null; } $data['current_package'] = $data['current_membership'] ? Package::query()->where('id', $data['current_membership']->package_id)->first() : null; $data['package_count'] = $nextPackageCount; return view('user.buy_plan.index', $data); } public function checkout($package_id) { $packageCount = Membership::query()->where([ ['user_id', Auth::id()], ['expire_date', '>=', Carbon::now()->toDateString()] ])->whereYear('start_date', '<>', '9999')->where('status', '<>', 2)->count(); $hasPendingMemb = UserPermissionHelper::hasPendingMembership(Auth::id()); if($hasPendingMemb) { Session::flash('warning', 'You_already_have_a_Pending_Membership_Request.'); return back(); } if($packageCount >= 2) { Session::flash('warning', 'You have another package to activate after the current package expires. You cannot purchase / extend any package, until the next package is activated'); return back(); } if (session()->has('lang')) { $currentLang = Language::where('code', session() ->get('lang')) ->first(); } else { $currentLang = Language::where('is_default', 1) ->first(); } $be = $currentLang->basic_extended; $online = PaymentGateway::query()->where('status', 1)->get(); $offline = OfflineGateway::all(); $data['offline'] = $offline; $data['payment_methods'] = $online->merge($offline); $data['package'] = Package::query()->findOrFail($package_id); $data['membership'] = Membership::query()->where([ ['user_id', Auth::id()], ['expire_date', '>=', \Carbon\Carbon::now()->format('Y-m-d')] ])->where('status', '<>', 2)->whereYear('start_date', '<>', '9999') ->latest() ->first(); $data['previousPackage'] = null; if(!is_null($data['membership'])) { $data['previousPackage'] = Package::query() ->where('id',$data['membership']->package_id) ->first(); } $data['bex'] = $be; return view('user.buy_plan.checkout', $data); } }