消える飛行機雲 僕たちは見送った 眩しくて逃げた いつだって弱くて あの日から変わらず いつまでも変わらずに いられなかったこと 悔しくて指を離す あの鳥は まだ うまく飛べないけど いつかは 風を切って知る 届かない場所が まだ遠くにある 願いだけ秘めて 見つめてる 子供たちは 夏の線路 歩く 吹く風に素足をさらして 遠くには幼かった日びを 両手には 飛び立つ希望を 消える飛行機雲 追いかけて 追いかけて この丘を越えた あの日から変わらず いつまでも 真っ直ぐに 僕たちはあるように わたつみのような 強さを守れるよ きっと ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!PK8\?̑ Kernel.phpnu[ [ \App\Http\Middleware\DetectRegion::class, \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, ], 'api' => [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ], ]; /** * The application's middleware aliases. * * Aliases may be used to conveniently assign middleware to routes and groups. * * @var array */ protected $middlewareAliases = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class, 'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class, 'valid.user' => \App\Http\Middleware\CheckUserIsValid::class, 'subscription' => \App\Http\Middleware\CheckSubscription::class, 'vcardSubscription' => \App\Http\Middleware\CheckVcardSubscription::class, 'multi_tenant' => \App\Http\Middleware\MultiTenantMiddleware::class, 'xss' => XSS::class, 'language' => \App\Http\Middleware\languageChangeMiddleware::class, 'analytics' => \App\Http\Middleware\Analytics::class, 'setLanguage' => SetLanguage::class, 'checkVcardEdit' => checkVcardEdit::class, 'checkVcardAnalyst' => CheckVcardAnalytics::class, 'checkVcardEnquiry' => CheckVcardEnquiry::class, 'freshInstall' => \App\Http\Middleware\FreshInstall::class, ]; } PK8\|string> */ public function rules(): array { return Blog::$rules; } } PK8\%н!Requests/UpdateSettingRequest.phpnu[payment_gateway; $rules = Setting::$rules; $rules['email'] = 'required|email:filter'; $rules['address'] = 'required'; $rules['home_page_banner'] = 'nullable|mimes:jpg,jpeg,png'; $rules['affiliation_amount'] = 'numeric|min:1'; if (isset($paymentGateways[Plan::STRIPE])) { $rules['stripe_key'] = 'required'; $rules['stripe_secret'] = 'required'; } if (isset($paymentGateways[Plan::PAYPAL])) { $rules['paypal_client_id'] = 'required'; $rules['paypal_secret'] = 'required'; } if (isset($paymentGateways[Plan::RAZORPAY])) { $rules['razorpay_key'] = 'required'; $rules['razorpay_secret'] = 'required'; } return $rules; } } PK8\gg&Requests/UpdateVcardServiceRequest.phpnu[ 'The name field is required.', 'description.string' => 'The description field is required.', // 'service_url.url' => 'The Service URL must be a valid URL' ]; } } PK8\IUDRequests/HomeBannerRequest.phpnu[ */ public function rules(): array { $rules = [ 'banner_url' => 'url', 'banner_title' => 'required|string', 'banner_description' => 'required|string', 'banner_button' => 'required|string', ]; return $rules; } public function messages(): array { return [ 'banner_url.url' => (__('messages.flash.url_required')), ]; } } PK8\"P"Requests/CreateFrontFaqRequest.phpnu[|string> */ public function rules(): array { $rules = Iframe::$rules; return $rules; } public function messages(): array { return [ 'url.required' => (('messages.flash.url_required')), 'url.url' => (('messages.flash.url_is_valid')), ]; } } PK8\пSSRequests/CreateEcardRequest.phpnu[ 'required', 'first_name' => 'required|max:10', 'last_name' => 'required|max:10', 'email' => 'required|email:filter', 'occupation' => 'required|max:20', 'phone' => 'required|numeric', 'location' => 'required', 'website' => 'required', 'ecard-logo' => 'required|image|mimes:jpeg,png,jpg|dimensions:width=150,height=150', ]; } /** * Get the validation rules that apply to the request. */ public function messages(): array { return [ 'vcard_id.required' => __('messages.common.vcard_name_required'), ]; } } PK8\"DvvRequests/ProductBuyRequest.phpnu[ */ public function rules(): array { $product = Product::whereId($this->product_id)->first(); $dynamicRules = [ 'name' => 'required', 'email' => 'required|email:filter', 'address' => 'required', 'payment_method' => 'required', ]; if (!empty($product->vcard->privacy_policy) || !empty($product->vcard->term_condition)) { $dynamicRules['product_terms'] = 'required'; } return $dynamicRules; } public function messages(): array { return [ 'product_terms' => (__('messages.placeholder.agree_term')), ]; } } PK8\?}>>"Requests/UpdateFrontCmsRequest.phpnu[ 'required', 'sub_text' => 'required', 'home_page_banner' => 'mimes:jpg,jpeg,png', 'website_link' => 'nullable|url', 'facebook_link' => 'nullable|url', 'youtube_link' => 'nullable|url', 'reddit_link' => 'nullable|url', 'whatsapp_link' => 'nullable|url', 'tiktok_link' => 'nullable|url', 'twitter_link' => 'nullable|url', 'instagram_link' => 'nullable|url', 'tumbir_link' => 'nullable|url', 'linkedin_link' => 'nullable|url', 'pinterest_link' => 'nullable|url', ]; } } PK8\CdttRequests/UpdateBlogRequest.phpnu[|string> */ public function rules(): array { Blog::$rules['blog_image'] = 'nullable|mimes:jpg,jpeg,png'; return Blog::$rules; } } PK8\C*Requests/UpdateFrontTestimonialRequest.phpnu[ 'The name field is required.', 'description.string' => 'The description field is required.', ]; } } PK8\[Requests/UpdatePlanRequest.phpnu[route('plan'); if (!$this->custom_select && !$this->custom_vcard_number) { $rules['price'] = 'required|numeric'; $rules['no_of_vcards'] = 'required|integer|min:1'; } else { $rules['custom_vcard_number'] = 'required|min:1'; } return $rules; } public function messages() { return [ 'custom_vcard_number.*.required_if' => 'The custom vcard numbert is required.', 'custom_vcard_price.*.required_if' => 'The custom vcard price is required.', ]; } } PK8\ .BB$Requests/UpdateCustomLinkRequest.phpnu[|string> */ public function rules(): array { return CustomLink::$rules; } } PK8\z Requests/CreateVcardRequest.phpnu[ __('messages.vcard.alias_url_required'), 'name.string' => __('messages.vcard.vcard_name_required'), 'url_alias.min' => __('messages.vcard.alias_url_min'), 'url_alias.max' => __('messages.vcard.alias_url_max'), 'url_alias.unique' => __('messages.vcard.alias_url_unique'), 'cover_img.max' => __('messages.vcard.cover_img_max'), ]; } } PK8\N)+Requests/CreateEmailSubscriptionRequest.phpnu[ __('messages.placeholder.email_already_subscribed'), ]; } } PK8\+#Requests/CreateVcardBlogRequest.phpnu[ 'The name field is required.', 'description.string' => 'The description field is required.', ]; } } PK8\/hۢRequests/CreatePlanRequest.phpnu[custom_select) { $rules['no_of_vcards'] = 'required|integer|min:1'; $rules['price'] = 'required|numeric'; } else { $rules['custom_vcard_number'] = 'required|min:1'; } return $rules; } public function messages() { return [ 'custom_vcard_number.*.required' => 'The custom vcard number field is required.', 'custom_vcard_number.*.numeric' => 'The custom vcard number must be a number.', 'custom_vcard_price.*.required' => 'The custom vcard price field is required.', 'custom_vcard_price.*.numeric' => 'The custom vcard price must be a number.', ]; } } PK8\!Requests/UpdateProductRequest.phpnu[ __('messages.vcard.product_name_string'), 'currency_id.required_with' => __('messages.vcard.currency_id_required_with'), ]; } } PK8\XZYY(Requests/createWithdrawAmountRequest.phpnu[ */ public function rules(): array { return [ 'amount' => 'required|numeric|gt:0', // 'paypal_email' => 'email|regex:/(.*)@(.*)\.(.*)/', ]; } } PK8\)!Requests/AddCouponCodeRequest.phpnu[ */ public function rules(): array { return [ 'coupon_name' => 'required|max:50|regex:/[a-zA-Z]/|unique:coupon_codes,coupon_name', 'type' => 'required', 'discount' => 'required|numeric|min:1', 'expire_at' => 'required', ]; } public function messages(): array { return [ 'coupon_name.regex' => __('messages.coupon_code.coupon_name_regex'), 'discount.min' => __('messages.coupon_code.coupon_discount_validation'), ]; } } PK8\0!Requests/UpdatePaymentRequest.phpnu[ */ public function rules(): array { $rules = []; $paymentGateways = request()->payment_gateway; if (isset($paymentGateways[Plan::STRIPE])) { $rules['stripe_key'] = 'required'; $rules['stripe_secret'] = 'required'; } if (isset($paymentGateways[Plan::PAYPAL])) { $rules['paypal_client_id'] = 'required'; $rules['paypal_secret'] = 'required'; } if (isset($paymentGateways[Plan::RAZORPAY])) { $rules['razorpay_key'] = 'required'; $rules['razorpay_secret'] = 'required'; } if (isset($paymentGateways[Plan::PAYSTACK])) { $rules['paystack_key'] = 'required'; $rules['paystack_secret'] = 'required'; } if (isset($paymentGateways[Plan::FLUTTERWAVE])) { $rules['flutterwave_key'] = 'required'; $rules['flutterwave_secret'] = 'required'; } if (isset($paymentGateways[Plan::PHONEPE])) { $rules['phonepe_merchant_id'] = 'required'; $rules['phonepe_merchant_user_id'] = 'required'; $rules['phonepe_env'] = 'required'; $rules['phonepe_salt_key'] = 'required'; $rules['phonepe_salt_index'] = 'required'; } return $rules; } } PK8\$~amm"Requests/CreateLanguageRequest.phpnu[ 'The title field is required.', 'title.*.max' => 'The title not be greater then 100 characters.', 'description.*.string' => 'The description field is required.', 'description.*.max' => 'The description not be greater then 500 characters.', ]; } } PK8\!Requests/UpdateNfcCardRequest.phpnu[ */ public function rules(): array { $rules = Nfc::$rules; $rules['nfc_img'] = 'nullable|mimes:jpg,jpeg,png'; $rules['nfc_back_img'] = 'nullable|mimes:jpg,jpeg,png'; return $rules; } } PK8\Ҧ9$Requests/HomePageSettingRrequest.phpnu[ */ public function rules(): array { $rules['app_logo'] = 'nullable|mimes:jpg,jpeg,png|dimensions:max_width=60,max_height=90'; $rules['favicon'] = 'nullable|mimes:jpg,jpeg,png|dimensions:max_width=16,max_height=16'; $rules['register_image'] = 'nullable|mimes:jpg,jpeg,png|dimensions:max_width=16,max_height=16'; $rules['dashboard_logo'] = 'nullable|mimes:jpg,jpeg,png|dimensions:max_width=60,max_height=60'; return $rules; } } PK8\yd%Requests/UpdateUserProfileRequest.phpnu[|string> */ public function rules(): array { return MailSetting::$rules; } } PK8\)ZllRequests/CreateUserRequest.phpnu[|string> */ public function rules(): array { $rules = ContactRequest::$rules; if (Auth::check()) { $rules['phone'] = 'nullable|numeric'; $rules['email'] = ['nullable']; } return $rules; } } PK8\݊(Requests/UpdateInstagramEmbedRequest.phpnu[route()->id; $rules['iso_code'] = 'required|max:2|min:2|unique:languages,iso_code,'.$this->route()->id; return $rules; } public function messages(): array { $messages['iso_code.required'] = 'The ISO Code field is required.'; return $messages; } } PK8\VH1$Requests/UpdateCouponCodeRequest.phpnu[ */ public function rules(): array { return [ 'coupon_name' => 'required|max:50|regex:/[a-zA-Z]/|unique:coupon_codes,coupon_name,' . request()->id, 'type' => 'required', 'discount' => 'required|numeric|min:1', 'expire_at' => 'required', ]; } public function messages(): array { return [ 'coupon_name.regex' => __('messages.coupon_code.coupon_name_regex'), 'discount.min' => __('messages.coupon_code.coupon_discount_validation'), ]; } } PK8\_9%Requests/UpdateTestimonialRequest.phpnu[ (__('messages.flash.name_is_required')), 'description.string' =>(__('messages.flash.decription_is_required')), ]; } } PK8\SdRequests/UpdateUserRequest.phpnu[route('user') !== null ? $this->route('user')->id : $this->route('admin'); $rules = User::$rules; $rules['profile'] = 'mimes:jpg,bmp,png,apng,avif,jpeg,'; $rules['email'] = 'required|email|regex:/(.*)@(.*)\.(.*)/|unique:users,email,'.$requestId; return $rules; } } PK8\< Requests/CreateiframeRequest.phpnu[|string> */ public function rules(): array { return Iframe::$rules; } public function messages(): array { return [ 'url.required' => (__('messages.flash.url_required')), 'url.url' => (__('messages.flash.url_is_valid')), ]; } } PK8\xO%Requests/CreateTestimonialRequest.phpnu[ (__('messages.flash.name_is_required')), 'description.string' => (__('messages.flash.decription_is_required')), ]; } } PK8\^=Requests/NfcOrderRequest.phpnu[ */ public function rules(): array { return NfcOrders::$rules; } public function messages(): array { return [ 'card_type.required' => (__('messages.nfc.select_card')), 'vcard_id.required' => (__('messages.nfc.required_vcard')), 'vcard_id.integer' => (__('messages.nfc.required_vcard')), 'logo' => (__('messages.nfc.required_logo')), 'phone.integer' => (__('messages.nfc.required_phone')), ]; } } PK8\>ղn*Requests/CreateEmailSubscribersRequest.phpnu[ */ public function rules(): array { return VcardEmailSubscription::$rules; } public function messages(): array { return [ 'email' => (__('messages.flash.email_required')), ]; } } PK8\-*Requests/CreateFrontTestimonialRequest.phpnu[ 'The name field is required.', 'description.string' => 'The description field is required.', ]; } } PK8\::!Requests/CreateGalleryRequest.phpnu[type == Gallery::TYPE_IMAGE) { $rules['image'] = 'mimes:jpg,png,jpeg,webp|required'; } if ($this->type == Gallery::TYPE_FILE) { $rules['gallery_upload_file'] = 'file|mimes:txt,xls,xlsx,csv,xml,pdf,doc,docx|required'; } if ($this->type == Gallery::TYPE_VIDEO) { $rules['video_file'] = 'file|mimes:mpeg,ogg,mp4,webm,3gp,mov,flv,avi,wmv,ts|max:100040|required'; } if ($this->type == Gallery::TYPE_AUDIO) { $rules['audio_file'] = 'mimes:mp3,wav,ogg|max:100040|required'; } return $rules; } } PK8\/-Requests/CreateScheduleAppointmentRequest.phpnu[ 'Phone must be a number', ]; } } PK8\VRequests/CreateNfcRequest.phpnu[ */ public function rules(): array { return Nfc::$rules; } public function messages(): array { return [ 'nfc_img' => (__('messages.nfc.nfc_image_required')), 'nfc_back_img' => (__('messages.nfc.nfc_back_image_required')), ]; } } PK8\E Requests/UpdateRoleRequest.phpnu[ 'Name field is required', 'permission_id.required' => 'Please select any one permission', ]; } } PK8\Š0cc(Requests/UpdateChangePasswordRequest.phpnu[ 'required', 'new_password' => 'required|min:8|same:confirm_password', 'confirm_password' => 'required|min:8', ]; } } PK8\9!Requests/CreateProductRequest.phpnu[ __('messages.vcard.product_name_string'), 'currency_id.required_with' => __('messages.vcard.currency_id_required_with'), ]; } } PK8\e##Requests/UpdateCityRequest.phpnu[route('city')->id; return $rules; } } PK8\EPiRequests/CreateStateRequest.phpnu[ */ public function rules(): array { return [ 'email' => ['required', 'string', 'email'], 'password' => ['required', 'string'], ]; } /** * Attempt to authenticate the request's credentials. * * @throws \Illuminate\Validation\ValidationException */ public function authenticate(): void { $this->ensureIsNotRateLimited(); if (! Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) { RateLimiter::hit($this->throttleKey()); throw ValidationException::withMessages([ 'email' => __('auth.failed'), ]); } RateLimiter::clear($this->throttleKey()); } /** * Ensure the login request is not rate limited. * * @throws \Illuminate\Validation\ValidationException */ public function ensureIsNotRateLimited(): void { if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) { return; } event(new Lockout($this)); $seconds = RateLimiter::availableIn($this->throttleKey()); throw ValidationException::withMessages([ 'email' => trans('auth.throttle', [ 'seconds' => $seconds, 'minutes' => ceil($seconds / 60), ]), ]); } /** * Get the rate limiting throttle key for the request. */ public function throttleKey(): string { return Str::transliterate(Str::lower($this->input('email')).'|'.$this->ip()); } } PK8\QpRequests/Auth/error_lognu[[16-Jun-2026 08:06:07 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php on line 12 [18-Jun-2026 08:23:47 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php on line 12 [20-Jun-2026 23:21:34 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php on line 12 [17-Jul-2026 04:19:55 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/Auth/LoginRequest.php on line 12 PK8\w|99%Requests/UpdateUserSettingRequest.phpnu[ */ public function rules(): array { return [ 'pwa_icon' => 'image|mimes:jpeg,png,jpg|dimensions:width=512,height=512', ]; } } PK8\6VV&Requests/CreateVcardServiceRequest.phpnu[ 'The name field is required.', 'description.string' => 'The description field is required.', // 'service_url.url' => 'The Service URL must be a valid URL' 'service_icon' => (__('messages.flash.vcard_service_icon')), ]; } } PK8\P:BB$Requests/CreateCustomLinkRequest.phpnu[|string> */ public function rules(): array { return CustomLink::$rules; } } PK8\000"Requests/CreateRegisterRequest.phpnu[ __('messages.placeholder.agree_term'), 'g-recaptcha-response.required' => __('messages.placeholder.required_captcha'), ]; } } PK8\tt!Requests/UpdateCountryRequest.phpnu[route('country')->id; $rules['short_code'] = $rules['short_code'].$this->route('country')->id; $rules['phone_code'] = $rules['phone_code'].$this->route('country')->id; return $rules; } public function messages(): array { return [ 'short_code.alpha' => __('messages.placeholder.short_code_only_alpha'), ]; } } PK8\3 Q Requests/CreateBannerRequest.phpnu[ */ public function rules(): array { return Banner::$rules; } public function messages(): array { return [ 'url.url' => (__('messages.flash.url_required')), ]; } } PK8\wdRequests/MobileRequest.phpnu[ */ public function rules(): array { $rules = [ 'mobile_app_enable' => 'boolean', ]; if ($this->input('mobile_app_enable')) { if ($this->input('play_store_link') == null && $this->input('app_store_link') == null) { $rules['play_store_link'] = 'required'; } else { $rules['play_store_link'] = ''; } if ($this->input('play_store_link') != null) { $rules['play_store_link'] .= '|url'; } if ($this->input('app_store_link') != null) { if (!isset($rules['app_store_link'])) { $rules['app_store_link'] = ''; } $rules['app_store_link'] .= '|url'; } } return $rules; } public function messages() { return [ 'play_store_link.url' => __('messages.play_store_url'), 'app_store_link.url' => __('messages.app_store_url'), ]; } } PK8\ss!Requests/CreateCountryRequest.phpnu[ __('messages.placeholder.short_code_only_alpha'), ]; } } PK8\Q;[I!Requests/CreateContactRequest.phpnu[route('state')->id; return $rules; } } PK8\m6=!!!Requests/UpdateFeatureRequest.phpnu[vcard->privacy_policy) || !empty($this->vcard->term_condition)) { $dynamicRules['terms_condition'] = 'required'; } if (getUserSettingValue('enable_attachment_for_inquiry', $this->vcard->user->id) === '1') { $dynamicRules['attachment'] = 'mimes:jpg,png,jpeg'; } return $dynamicRules; } public function messages(): array { return [ 'terms_condition' => (__('messages.placeholder.agree_term')), ]; } } PK8\lgg!Requests/UpdateGalleryRequest.phpnu[route('gallery')->id)->first(); $rule = 'mimes:jpg,png,jpeg,webp'; $rule1 = 'file|mimes:txt,xls,xlsx,csv,xml,pdf,doc,docx'; if ($gallery->type != $this->type) { $rule = 'required|mimes:jpg,png,jpeg,webp'; $rule1 = 'required|file|mimes:txt,xls,xlsx,csv,xml,pdf,doc,docx'; } if ($this->type == Gallery::TYPE_IMAGE) { $rules['image'] = $rule; } if ($this->type == Gallery::TYPE_FILE) { $rules['gallery_upload_file'] = $rule1; } if ($this->type == Gallery::TYPE_VIDEO) { $rules['video_file'] = 'file|mimes:mpeg,ogg,mp4,webm,3gp,mov,flv,avi,wmv,ts|max:100040|required'; } if ($this->type == Gallery::TYPE_AUDIO) { $rules['audio_file'] = 'mimes:mp3,wav,ogg|max:100040|required'; } return $rules; } } PK8\mGo(Requests/CreateInstagramEmbedRequest.phpnu[ 'The name field is required.', 'description.string' => 'The description field is required.', ]; } } PK8\Gv33&Requests/UpdateUserPasswordRequest.phpnu[ 'required|min:8|same:confirm_password', 'confirm_password' => 'required|min:8', ]; } } PK8\ IIRequests/SendMailRequest.phpnu[ */ public function rules(): array { $rules = SendEmail::$rules; return $rules; } } PK8\>Requests/CreateRoleRequest.phpnu[ 'Name field is required', 'permission_id.required' => 'Please select any one permission', ]; } } PK8\DRequests/UpdateVcardRequest.phpnu[route('vcard')->id; $rules['current_password'] = 'nullable|min:6'; $rules['profile_img'] = 'mimes:jpg,bmp,png,apng,avif,jpeg,'; $rules['cover_img'] = 'mimes:jpg,bmp,png,apng,avif,jpeg,mp4,mpeg,ogg,webm,3gp,mov,flv,avi,wmv,ts|max:10240'; $rules['qr_code_download_size'] = ['numeric', 'in:100,200,300,400,500']; if ($this->input('location_type') == 0) { $rules['location_url'] = 'nullable|url'; } else { $rules['iframe_content'] = 'nullable|string'; } return $rules; } public function messages(): array { return [ 'url_alias.string' => __('messages.vcard.alias_url_required'), 'name.string' => __('messages.vcard.vcard_name_required'), 'url_alias.min' => __('messages.vcard.alias_url_min'), 'url_alias.max' => __('messages.vcard.alias_url_max'), 'url_alias.unique' => __('messages.vcard.alias_url_unique'), 'occupation.string' => 'The occupation field is required.', 'description.string' => ' The description field is required.', 'first_name.string' => ('messages.vcard.first_name_required'), 'last_name.string' => ('messages.vcard.last_name_required'), 'is_paid' => __('messages.vcard.is_paid'), 'cover_img.max' => __('messages.vcard.cover_img_max'), ]; } } PK8\s^^ Controllers/PaypalController.phpnu[subscriptionRepository = $subscriptionRepository; } /** * @throws Throwable * @throws HttpException */ public function onBoard(Request $request): JsonResponse { $plan = Plan::with('currency')->findOrFail($request->planId); if ($plan->currency->currency_code != null && ! in_array( strtoupper($plan->currency->currency_code), getPayPalSupportedCurrencies() )) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported')); } $data = $this->subscriptionRepository->manageSubscription($request->all()); if (! isset($data['plan'])) { // 0 amount plan or try to switch the plan if it is in trial mode // returning from here if the plan is free. if (isset($data['status']) && $data['status'] == true) { return $this->sendSuccess($data['subscriptionPlan']->name . ' ' . __('messages.subscription_pricing_plans.has_been_subscribed')); } else { if (isset($data['status']) && $data['status'] == false) { return $this->sendError(__('messages.placeholder.cannot_switch_to_zero')); } } } $subscriptionsPricingPlan = $data['plan']; $subscription = $data['subscription']; $mode = getSelectedPaymentGateway('paypal_mode'); $clientId = getSelectedPaymentGateway('paypal_client_id'); $clientSecret = getSelectedPaymentGateway('paypal_secret'); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient(); $provider->getAccessToken(); $data = [ 'intent' => 'CAPTURE', 'purchase_units' => [ [ 'reference_id' => $subscription->id, 'amount' => [ 'value' => $data['amountToPay'], 'currency_code' => $subscription->plan->currency->currency_code, ], ], ], 'application_context' => [ 'cancel_url' => route('paypal.failed'), 'return_url' => route('paypal.success'), ], ]; $order = $provider->createOrder($data); return response()->json(['link' => $order['links'][1]['href'], 'status' => 200]); } /** * @throws HttpException * @throws HttpException|Throwable */ public function userOnBoard($userId, $vcard, $input): JsonResponse { $amount = $input['amount']; $currencyCode = $input['currency_code']; $mode = getUserSettingValue('paypal_mode', $userId); $clientId = getUserSettingValue('paypal_client_id', $userId); $clientSecret = getUserSettingValue('paypal_secret', $userId); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient(); $provider->getAccessToken(); $data = [ 'intent' => 'CAPTURE', 'purchase_units' => [ [ 'reference_id' => $vcard->id, 'amount' => [ 'value' => $amount, 'currency_code' => $currencyCode, ], ], ], 'application_context' => [ 'cancel_url' => route('user.paypal.failed'), 'return_url' => route('user.paypal.success'), ], ]; $order = $provider->createOrder($data); session()->put(['appointment_details' => $input]); session(['vcard_user_id' => $userId, 'tenant_id' => $vcard->tenant->id, 'vcard_id' => $vcard->id]); return response()->json(['link' => $order['links'][1]['href'], 'status' => 200]); } /** * @return Application|RedirectResponse|Redirector|void * * @throws IOException * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface|Throwable */ public function userSuccess(Request $request): RedirectResponse { $userId = session()->get('vcard_user_id'); $clientId = getUserSettingValue('paypal_client_id', $userId); $clientSecret = getUserSettingValue('paypal_secret', $userId); $mode = getUserSettingValue('paypal_mode', $userId); $currencyCode = Currency::whereId(getUserSettingValue('currency_id', $userId))->first(); $config = [ 'mode' => $mode, // Can only be 'sandbox' Or 'live'. If empty or invalid, 'live' will be used. $mode => [ 'client_id' => $clientId, 'client_secret' => $clientSecret, ], 'payment_action' => config('paypal.payment_action'), // Can only be 'Sale', 'Authorization' or 'Order' 'currency' => $currencyCode->currency_code, 'notify_url' => config('paypal.notify_url'), // Change this accordingly for your application. 'locale' => config('paypal.locale'), // force gateway language i.e. it_IT, es_ES, en_US ... (for express checkout only) 'validate_ssl' => config('paypal.validate_ssl'), // Validate SSL when creating api client. ]; config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient; $provider->getAccessToken(); $token = $request->get('token'); $orderInfo = $provider->showOrderDetails($token); try { // Call API with your client and get a response for your call $response = $provider->capturePaymentOrder($token); // If call returns body in response, you can get the deserialized version from the result attribute of the response $vcardId = $response['purchase_units'][0]['reference_id']; $tenantId = session()->get('tenant_id'); $amount = $response['purchase_units'][0]['payments']['captures'][0]['amount']['value']; $currencyCode = $response['purchase_units'][0]['payments']['captures'][0]['amount']['currency_code']; $currencyId = Currency::whereCurrencyCode($currencyCode)->first()->id; $transactionId = $response['id']; $vcard = Vcard::with('tenant.user')->where('id', $vcardId)->first(); $transactionDetails = [ 'vcard_id' => $vcardId, 'transaction_id' => $transactionId, 'currency_id' => $currencyId, 'amount' => $amount, 'tenant_id' => $tenantId, 'type' => Appointment::PAYPAL, 'status' => Transaction::SUCCESS, 'meta' => json_encode($response), ]; $appointmentTran = AppointmentTransaction::create($transactionDetails); $appointmentInput = session()->get('appointment_details'); session()->forget('appointment_details'); $appointmentInput['appointment_tran_id'] = $appointmentTran->id; /** @var AppointmentRepository $appointmentRepo */ $appointmentRepo = App::make(AppointmentRepository::class); $vcardEmail = is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email; $appointmentRepo->appointmentStoreOrEmail($appointmentInput, $vcardEmail); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id']); Flash::success(__('messages.placeholder.payment_done')); App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); return redirect(route('vcard.show', [$vcard->url_alias, __('messages.placeholder.appointment_created')])); } catch (HttpException $ex) { print_r($ex->getMessage()); } } /** * @return Application|RedirectResponse|Redirector */ public function userFailed(): RedirectResponse { $vcardId = session('vcard_id'); $vcard = Vcard::findOrFail($vcardId); session()->forget('appointment_details'); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id']); Flash::error('Your Payment is Cancelled'); return redirect(route('vcard.show', $vcard->url_alias)); } /** * @return Application|Factory|View|void * * @throws IOException */ public function success(Request $request): \Illuminate\View\View { $mode = getSelectedPaymentGateway('paypal_mode'); $clientId = getSelectedPaymentGateway('paypal_client_id'); $clientSecret = getSelectedPaymentGateway('paypal_secret'); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient; $provider->getAccessToken(); $token = $request->get('token'); $orderInfo = $provider->showOrderDetails($token); $subscriptionId = null; try { // Call API with your client and get a response for your call $response = $provider->capturePaymentOrder($token); if (isset($response['purchase_units'][0]['reference_id'])) { $subscriptionId = $response['purchase_units'][0]['reference_id']; } if (isset($response['purchase_units'][0]['payments']['captures'][0]['amount']['value'])) { $subscriptionAmount = $response['purchase_units'][0]['payments']['captures'][0]['amount']['value']; } if (isset($response['id'])) { $transactionID = $response['id']; } Subscription::findOrFail($subscriptionId)->update([ 'payment_type' => Subscription::PAYPAL, 'status' => Subscription::ACTIVE ]); // De-Active all other subscription Subscription::whereTenantId(getLogInTenantId()) ->where('id', '!=', $subscriptionId) ->where('status', '!=', Subscription::REJECT) ->update([ 'status' => Subscription::INACTIVE, ]); $transaction = Transaction::create([ 'transaction_id' => $transactionID, 'type' => Transaction::PAYPAL, 'amount' => $subscriptionAmount, 'status' => Subscription::ACTIVE, 'meta' => json_encode($response), ]); // updating the transaction id on the subscription table $subscription = Subscription::findOrFail($subscriptionId); $planName = $subscription->plan->name; $subscription->update(['transaction_id' => $transaction->id]); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if ($affiliateAmountType == 1) { AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount, 'is_verified' => 1]); } else if ($affiliateAmountType == 2) { $amount = $subscriptionAmount * $affiliateAmount / 100; AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount, 'is_verified' => 1]); } $userEmail = getLogInUser()->email; $firstName = getLogInUser()->first_name; $lastName = getLogInUser()->last_name; $emailData = [ 'subscriptionId' => $subscriptionId, 'subscriptionAmount' => $subscriptionAmount, 'transactionID' => $transactionID, 'planName' => $planName, 'first_name' => $firstName, 'last_name' => $lastName, ]; manageVcards(); Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); return view('sadmin.plans.payment.paymentSuccess'); } catch (HttpException $ex) { print_r($ex->getMessage()); } } /** * @return Application|Factory|View */ public function failed(): \Illuminate\View\View { return view('sadmin.plans.payment.paymentcancel'); } public function buyProductOnboard($input, $product): JsonResponse { $userId = $product->vcard->user->id; if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyCode = Currency::whereId($product->currency_id)->first()->currency_code; $clientId = getUserSettingValue('paypal_client_id', $userId); $clientSecret = getUserSettingValue('paypal_secret', $userId); $mode = getUserSettingValue('paypal_mode', $userId); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient(); $provider->getAccessToken(); $data = [ 'intent' => 'CAPTURE', 'purchase_units' => [ [ 'reference_id' => $product->id, 'amount' => [ 'value' => $product->price, 'currency_code' => $currencyCode, ], ], ], 'application_context' => [ 'cancel_url' => route('paypal.buy.product.failed'), 'return_url' => route('paypal.buy.product.success'), ], ]; $order = $provider->createOrder($data); session()->put([ 'input' => $input, ]); return response()->json(['link' => $order['links'][1]['href'], 'status' => 200]); } public function productBuySuccess(Request $request) { $input = session()->get('input'); $product = Product::whereId($input['product_id'])->first(); $userId = $product->vcard->user->id; if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyId = Currency::whereId($product->currency_id)->first()->id; $clientId = getUserSettingValue('paypal_client_id', $userId); $clientSecret = getUserSettingValue('paypal_secret', $userId); $mode = getUserSettingValue('paypal_mode', $userId); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient; $provider->getAccessToken(); $token = $request->get('token'); try { $response = $provider->capturePaymentOrder($token); $amount = $response['purchase_units'][0]['payments']['captures'][0]['amount']['value']; DB::beginTransaction(); ProductTransaction::create([ 'product_id' => $input['product_id'], 'name' => $input['name'], 'email' => $input['email'], 'phone' => $input['phone'], 'address' => $input['address'], 'currency_id' => $currencyId, 'meta' => json_encode($response), 'type' => $input['payment_method'], 'transaction_id' => $response['id'], 'amount' => $amount, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $input['name'], 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $input['phone'], 'address' => $input['address'], 'payment_type' => __('messages.paypal'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $userId)) { Mail::to($input['email'])->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $userId)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $vcard = $product->vcard; App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); session()->forget('input'); DB::commit(); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias, __('messages.placeholder.product_purchase')])); } catch (HttpException $ex) { print_r($ex->getMessage()); } } public function productBuyFailed() { $input = session()->get('input'); session()->forget('input'); $product = Product::whereId($input['product_id'])->first(); $vcard = $product->vcard; Flash::error(__('messages.placeholder.payment_cancel')); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias])); } public function nfcOrderOnboard($orderId, $email, $nfc, $currency) { $mode = getSelectedPaymentGateway('paypal_mode'); $clientId = getSelectedPaymentGateway('paypal_client_id'); $clientSecret = getSelectedPaymentGateway('paypal_secret'); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient(); $provider->getAccessToken(); $data = [ 'intent' => 'CAPTURE', 'purchase_units' => [ [ 'reference_id' => $orderId, 'amount' => [ 'value' => $nfc->nfcCard->price * $nfc->quantity, 'currency_code' => $currency, ], ], ], 'application_context' => [ 'cancel_url' => route('nfc.paypal.failed'), 'return_url' => route('nfc.paypal.success'), ], ]; $order = $provider->createOrder($data); session()->put(['order_details' => $nfc, 'order_id' => $orderId]); return response()->json(['link' => $order['links'][1]['href'], 'status' => 200]); } public function nfcPurchaseSuccess(Request $request) { $mode = getSelectedPaymentGateway('paypal_mode'); $clientId = getSelectedPaymentGateway('paypal_client_id'); $clientSecret = getSelectedPaymentGateway('paypal_secret'); config([ 'paypal.mode' => $mode, 'paypal.sandbox.client_id' => $clientId, 'paypal.sandbox.client_secret' => $clientSecret, 'paypal.live.client_id' => $clientId, 'paypal.live.client_secret' => $clientSecret, ]); $provider = new PayPalClient; $provider->getAccessToken(); $token = $request->get('token'); $orderInfo = $provider->showOrderDetails($token); try { // Call API with your client and get a response for your call $response = $provider->capturePaymentOrder($token); // If call returns body in response, you can get the deserialized version from the result attribute of the response $orderId = session()->get('order_id'); $type = NfcOrders::PAYPAL; $transactionId = $response['id']; $amount = $response['purchase_units'][0]['payments']['captures'][0]['amount']['value']; $userId = NfcOrders::findOrFail($orderId)->user_id; $status = NfcOrders::SUCCESS; $nfcOrder = NfcOrders::get()->find($orderId); $transactionDetails = [ 'nfc_order_id' => $orderId, 'type' => $type, 'transaction_id' => $transactionId, 'amount' => $amount, 'user_id' => $userId, 'status' => $status, ]; $vcardName = VCard::find($nfcOrder['vcard_id'])->name; $cardType = Nfc::find($nfcOrder['card_type'])->name; NfcOrderTransaction::create($transactionDetails); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id', 'order_details', 'order_id']); Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder, $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); return redirect(route('user.orders')); } catch (HttpException $ex) { print_r($ex->getMessage()); } } public function nfcPurchaseFailed() { $orderId = session()->get('order_id'); $type = NfcOrders::PAYPAL; $amount = session('order_details')->nfcCard->price; $userId = NfcOrders::findOrFail($orderId)->user_id; $transactionDetails = [ 'nfc_order_id' => $orderId, 'type' => $type, 'amount' => $amount, 'user_id' => $userId, 'status' => NfcOrders::FAIL, ]; NfcOrderTransaction::create($transactionDetails); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id', 'order_details', 'order_id']); Flash::error(__('messages.placeholder.payment_cancel')); return redirect(route('user.orders')); } } PK8\J(n(nControllers/VcardController.phpnu[vcardRepository = $vcardRepository; } /** * @return Application|Factory|View */ public function index(): \Illuminate\View\View { $makeVcard = $this->vcardRepository->checkTotalVcard(); return view('vcards.index', compact('makeVcard')); } /** * @return Application|Factory|View */ public function template(): \Illuminate\View\View { return view('sadmin.vcards.index'); } public function download($id): JsonResponse { $data = Vcard::with('socialLink')->find($id); return $this->sendResponse($data, __('messages.flash.vcard_retrieve')); } /** * @return Application|Factory|View */ public function vcards(): \Illuminate\View\View { $makeVcard = $this->vcardRepository->checkTotalVcard(); return view('vcards.templates', compact('makeVcard')); } public function verified(Vcard $vcard): JsonResponse { $vcard->update([ 'is_verified' => ! $vcard->is_verified, ]); return $this->sendResponse($vcard, __('messages.flash.vcard_verified')); } /** * @return Application|Factory|View */ public function create() { $makeVcard = $this->vcardRepository->checkTotalVcard(); if (! $makeVcard) { return redirect(route('vcards.index')); } $partName = 'basics'; return view('vcards.create', compact('partName')); } /** * @return Application|RedirectResponse|Redirector */ public function store(CreateVcardRequest $request): RedirectResponse { $input = $request->all(); $vcard = $this->vcardRepository->store($input); Flash::success(__('messages.flash.vcard_create')); return redirect(route('vcards.edit', $vcard->id)); } /** * @return Application|Factory|View */ public function show($alias, $id = null) { if (request()->has('fbclid')) { $cleanUrl = request()->fullUrlWithoutQuery('fbclid'); return redirect()->to($cleanUrl); } $vcard = Vcard::with([ 'businessHours' => function ($query) { $query->where('end_time', '!=', '00:00'); }, 'services', 'testimonials', 'products', 'blogs', 'privacy_policy', 'term_condition', 'user', 'banners', 'iframes', 'dynamic_vcard', ])->whereUrlAlias($alias)->first(); $vcardProducts = $vcard->products()->orderBy('id', 'desc')->get(); $blogSingle = ''; if (isset($id)) { $blogSingle = VcardBlog::where('id', $id)->first(); } $setting = Setting::pluck('value', 'key')->toArray(); $vcard_name = $vcard->template->name; $url = explode('/', $vcard->location_url); $appointmentDetail = AppointmentDetail::where('vcard_id', $vcard->id)->first(); $instagramEmbed = AppointmentDetail::where('vcard_id', $vcard->id)->first(); $managesection = VcardSections::where('vcard_id', $vcard->id)->first(); $banners = Banner::where('vcard_id', $vcard->id)->first(); $iframes = Iframe::where('vcard_id', $vcard->id)->first(); $dynamicVcard = DynamicVcard::where('vcard_id', $vcard->id)->first(); $customLink = CustomLink::where('vcard_id', $vcard->id)->get(); $userSetting = UserSetting::where('user_id', $vcard->user->id)->pluck('value', 'key')->toArray(); $currency = ''; $paymentMethod = null; if (isset($userSetting['currency_id']) && count($userSetting) > 0) { $currency = Currency::where('id', $userSetting['currency_id'])->first(); $paymentMethod = getPaymentMethod($userSetting); } $reqpage = str_replace('/' . $vcard->url_alias, '', \Request::getRequestUri()); $reqpage = empty($reqpage) ? 'index' : $reqpage; $reqpage = preg_replace("/\.$/", '', $reqpage); $reqpage = preg_replace('/[0-9]+/', '', $reqpage); $reqpage = str_replace('/', '', $reqpage); $reqpage = str_contains($reqpage, '?') ? substr($reqpage, 0, strpos($reqpage, '?')) : $reqpage; $vcard_name = $vcard_name == 'vcard11' ? 'vcard11.' . $reqpage : $vcard_name; // PWA Support $userId = $vcard->user->id; $inquiry = getUserSettingValue('enable_attachment_for_inquiry', $userId); $contactRequest = getUserSettingValue('ask_details_before_downloading_contact', $userId); $pwa_icon = getUserSettingValue('pwa_icon', $userId); $pwa_icon = (!$pwa_icon) ? 'logo.png' : str_replace(rtrim(env('APP_URL'), '/'), '', $pwa_icon); // notifation // if(getUserSettingValue('notifation_enable',$userId)){ // config([ // 'app.one_signal_app_id' => getUserSettingValue('onesignal_app_id',$userId), // 'onesignal.app_id' => getUserSettingValue('onesignal_app_id',$userId), // 'onesignal.rest_api_key' => getUserSettingValue('onesignal_rest_api_key',$userId), // ]); // } $pwa_name = $vcard->url_alias; $path = public_path('pwa/1.json'); $json = json_decode(file_get_contents($path), true); $json['name'] = $pwa_name; $json['short_name'] = $pwa_name; $json['start_url'] = route('vcard.show', ['alias' => $vcard->url_alias]); if (isset($userSetting['enable_pwa']) && $userSetting['enable_pwa'] == "1") { $json['display'] = "fullscreen"; } else { unset($json['display']); } $json['icons'] = [ [ "src" => $pwa_icon, "sizes" => "512x512", "type" => "image/png", "purpose" => "any maskable", ], ]; file_put_contents($path, json_encode($json)); $businessDaysTime = []; if ($vcard->businessHours->count()) { $dayKeys = [1, 2, 3, 4, 5, 6, 7]; $openDayKeys = []; $openDays = []; $closeDays = []; foreach ($vcard->businessHours as $key => $openDay) { $openDayKeys[] = $openDay->day_of_week; $openDays[$openDay->day_of_week] = $openDay->start_time . ' - ' . $openDay->end_time; } $closedDayKeys = array_diff($dayKeys, $openDayKeys); foreach ($closedDayKeys as $closeDayKey) { $closeDays[$closeDayKey] = null; } $businessDaysTime = $openDays + $closeDays; ksort($businessDaysTime); } $customQrCode = QrcodeEdit::whereTenantId($vcard->user->tenant_id)->where('vcard_id', $vcard->id)->pluck('value', 'key')->toArray(); if ($customQrCode == null) { $customQrCode['qrcode_color'] = '#000000'; $customQrCode['background_color'] = '#ffffff'; } $qrcodeColor['qrcodeColor'] = Hex::fromString($customQrCode['qrcode_color'])->toRgb(); $qrcodeColor['background_color'] = Hex::fromString($customQrCode['background_color'])->toRgb(); if (empty(getLocalLanguage())) { $alias = $vcard->url_alias; $languageName = $vcard->default_language; session(['languageChange_' . $alias => $languageName]); setLocalLang(getLocalLanguage()); } if ($vcard->status) { return view( 'vcardTemplates.' . $vcard_name, compact( 'vcard', 'setting', 'url', 'appointmentDetail', 'banners', 'managesection', 'userSetting', 'currency', 'paymentMethod', 'blogSingle', 'businessDaysTime', 'customQrCode', 'qrcodeColor', 'vcardProducts', 'dynamicVcard', 'instagramEmbed', 'iframes', 'inquiry', 'customLink', 'contactRequest', ) ); } abort('404'); } public function checkPassword(Request $request, Vcard $vcard): JsonResponse { setLocalLang(checkLanguageSession($vcard->url_alias)); if (Crypt::decrypt($vcard->password) == $request->password) { session(['password_' => '1']); return $this->sendSuccess(__('messages.placeholder.password_is_correct')); } return $this->sendError(__('messages.placeholder.password_invalid')); } /** * @return Application|Factory|View|RedirectResponse|Redirector */ public function edit(Vcard $vcard, Request $request) { $partName = ($request->part === null) ? 'basics' : $request->part; if ($partName !== TermCondition::TERM_CONDITION && $partName !== PrivacyPolicy::PRIVACY_POLICY) { if (! checkFeature($partName)) { return redirect(route('vcards.edit', $vcard->id)); } } $data = $this->vcardRepository->edit($vcard); $data['partName'] = $partName; $appointmentDetail = AppointmentDetail::where('vcard_id', $vcard->id)->first(); $banners = Banner::where('vcard_id', $vcard->id)->first(); $privacyPolicy = PrivacyPolicy::where('vcard_id', $vcard->id)->first(); $termCondition = TermCondition::where('vcard_id', $vcard->id)->first(); $managesection = VcardSections::where('vcard_id', $vcard->id)->first(); $dynamicVcard = DynamicVcard::where('vcard_id', $vcard->id)->first(); $instagramEmbed = AppointmentDetail::where('vcard_id', $vcard->id)->first(); $iframes = Iframe::where('vcard_id', $vcard->id)->first(); $customLink = CustomLink::where('vcard_id', $vcard->id)->first(); return view('vcards.edit', compact('appointmentDetail', 'privacyPolicy', 'termCondition', 'iframes', 'managesection', 'instagramEmbed', 'banners', 'dynamicVcard', 'customLink'))->with($data); } public function updateStatus(Vcard $vcard): JsonResponse { if ($vcard->status == 0) { $user = getLogInUser(); $vCards = Vcard::where('tenant_id', $user->tenant_id)->where('status', 1)->get(); $limitOfVcards = Subscription::whereTenantId($user->tenant_id)->where('status', Subscription::ACTIVE)->latest()->first()->no_of_vcards; if ($limitOfVcards <= $vCards->count()) { return $this->sendError(__('messages.vcard.you_have_reached_vcard_limit')); } } $vcard->update([ 'status' => ! $vcard->status, ]); return $this->sendSuccess(__('messages.flash.vcard_status')); } public function update(UpdateVcardRequest $request, Vcard $vcard): RedirectResponse { $request->except('url_alias'); $input = $request->all(); $edit_alias_url = getSuperAdminSettingValue('url_alias'); if ($edit_alias_url == 0 && isset($input['url_alias']) && $input['url_alias'] != $vcard->url_alias) { Flash::error(__('messages.flash.url_alias')); return redirect()->back(); } $vcard = $this->vcardRepository->update($input, $vcard); if ($vcard) { Session::flash('success', ' ' . __('messages.flash.vcard_update')); } // $userId = getLogInUserId(); // if(getUserSettingValue('notifation_enable',$userId)){ // config([ // 'app.one_signal_app_id' => getUserSettingValue('onesignal_app_id',$userId), // 'onesignal.app_id' => getUserSettingValue('onesignal_app_id',$userId), // 'onesignal.rest_api_key' => getUserSettingValue('onesignal_rest_api_key',$userId), // ]); // sendVcardNotifications($vcard->id); // } return redirect()->back(); } public function destroy(Vcard $vcard): JsonResponse { $termCondition = TermCondition::whereVcardId($vcard->id)->first(); if (! empty($termCondition)) { $termCondition->delete(); } $privacyPolicy = PrivacyPolicy::whereVcardId($vcard->id)->first(); if (! empty($privacyPolicy)) { $privacyPolicy->delete(); } $vcard->clearMediaCollection(Vcard::PROFILE_PATH); $vcard->clearMediaCollection(Vcard::COVER_PATH); $vcard->delete(); $data['make_vcard'] = $this->vcardRepository->checkTotalVcard(); return $this->sendResponse($data, __('messages.flash.vcard_delete')); } public function getSlot(Request $request): JsonResponse { $day = $request->get('day'); $slots = getSchedulesTimingSlot(); $html = view('vcards.appointment.slot', ['slots' => $slots, 'day' => $day])->render(); return $this->sendResponse($html, 'Retrieved successfully.'); } public function getSession(Request $request): JsonResponse { try { setLocalLang(getLocalLanguage()); $vcardId = $request->get('vcardId'); $appointmentDate = $request->date; if (!$vcardId || !$appointmentDate) { return $this->sendError(__('messages.placeholder.invalid_request_parameters')); } $buttonStyle = DynamicVcard::where('vcard_id', $vcardId)->value('button_style'); $date = \Carbon\Carbon::parse($appointmentDate); $dayOfWeek = $date->dayOfWeek == 0 ? 7 : $date->dayOfWeek; $weekDaySessions = Appointment::where('day_of_week', $dayOfWeek) ->where('vcard_id', $vcardId) ->get(); if ($weekDaySessions->isEmpty()) { return $this->sendError(__('messages.placeholder.there_is_not_available_slot')); } $bookedAppointments = ScheduleAppointment::where('vcard_id', $vcardId) ->whereDate('date', $appointmentDate) ->get(); $userId = Vcard::with('user')->find($vcardId)->user->id; $timeFormat = getUserSettingValue('time_format', $userId) == UserSetting::HOUR_24 ? 'H:i' : 'h:i A'; $bookedSlot = $bookedAppointments->map(function ($appointment) use ($timeFormat) { return date($timeFormat, strtotime($appointment->from_time)) . ' - ' . date($timeFormat, strtotime($appointment->to_time)); })->toArray(); $bookingSlot = $weekDaySessions->map(function ($session) use ($timeFormat) { if ($timeFormat == 'H:i') { $startTime = substr($session->start_time, 0, 5); $endTime = substr($session->end_time, 0, 5); } else { $startTime = substr($session->start_time, 0, 8); $endTime = substr($session->end_time, 0, 8); } return date($timeFormat, strtotime($startTime)) . ' - ' . date($timeFormat, strtotime($endTime)); })->toArray(); $availableSlots = array_diff($bookingSlot, $bookedSlot); if (empty($availableSlots)) { return $this->sendError(__('messages.placeholder.there_is_not_available_slot')); } $buttonStyle = $buttonStyle ?? ''; return $this->sendResponse($availableSlots, $buttonStyle, 'Retrieved successfully.'); } catch (\Exception $e) { return $this->sendError(__('messages.placeholder.something_went_wrong')); } } public function language($languageName, $alias) { $currentLanguage = getLocalLanguage(); session(['languageChange_' . $alias => $languageName]); setLocalLang(getLocalLanguage()); return $this->sendSuccess(__('messages.flash.language_update', [], $currentLanguage)); } /** * @return Application|Factory|View */ public function analytics(Vcard $vcard, Request $request): \Illuminate\View\View { $input = $request->all(); $data = $this->vcardRepository->analyticsData($input, $vcard); $partName = ($request->part === null) ? 'overview' : $request->part; return view('vcards.analytic', compact('vcard', 'partName', 'data')); } public function chartData(Request $request): JsonResponse { try { $input = $request->all(); $data = $this->vcardRepository->chartData($input); return $this->sendResponse($data, 'Users fetch successfully.'); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } /** * @return mixed */ public function dashboardChartData(Request $request) { try { $input = $request->except('_'); $data = $this->vcardRepository->dashboardChartData($input); return $this->sendResponse($data, 'Data fetch successfully.'); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } /** * @return Application|Factory|View */ public function showBlog($alias, $id): \Illuminate\View\View { setLocalLang(getLocalLanguage()); $blog = VcardBlog::with('vcard:id,template_id')->whereRelation('vcard', 'url_alias', '=', $alias) ->whereRelation('vcard', 'status', '=', 1) ->where('id', $id) ->firstOrFail(); $dynamicVcard = DynamicVcard::where('vcard_id', $blog->vcard_id)->first(); return view('vcards.blog', compact('blog', 'dynamicVcard')); } /** * @return Application|Factory|View */ public function showPrivacyPolicy($alias, $id) { $vacrdTemplate = vcard::find($id); setLocalLang(getLocalLanguage()); $privacyPolicy = PrivacyPolicy::with('vcard')->where('vcard_id', $id)->first(); $termCondition = TermCondition::with('vcard')->where('vcard_id', $id)->first(); $dynamicVcard = DynamicVcard::with('vcard')->where('vcard_id', $id)->first(); if ($vacrdTemplate->template_id == 11) { return redirect()->route('vcard.show.privacy-policy', [$alias, $id]); // return view('vcardTemplates.vcard11.portfolio', compact('privacyPolicy', 'alias', 'termCondition')); } return view('vcards.privacy-policy', compact('privacyPolicy', 'alias', 'termCondition', 'dynamicVcard')); } public function duplicateVcard($id): JsonResponse { try { $vcard = Vcard::with([ 'services', 'testimonials', 'products', 'blogs', 'privacy_policy', 'term_condition', 'socialLink', 'customeLink', 'banners', 'iframes', 'InstagramEmbed', 'Qrcode', ])->where('id', $id)->first(); $this->vcardRepository->getDuplicateVcard($vcard); return $this->sendSuccess('Duplicate Vcard Create successfully.'); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } public function getUniqueUrlAlias() { return getUniqueVcardUrlAlias(); } public function checkUniqueUrlAlias($urlAlias) { $isUniqueUrl = isUniqueVcardUrlAlias($urlAlias); if ($isUniqueUrl === true) { return $this->sendResponse(['isUnique' => true], 'URL Alias is available to use.'); } $response = ['isUnique' => false, 'usedInVcard' => $isUniqueUrl]; return $this->sendResponse($response, 'This URL Alias is already in use'); } public function addContact(Vcard $vcard) { ini_set('memory_limit', '-1'); $vcfVcard = new VCardVCard(); $lastname = $vcard->last_name; $firstname = $vcard->first_name; $vcfVcard->addName($lastname, $firstname); $vcfVcard->addCompany($vcard->company); $vcfVcard->addJobtitle($vcard->job_title); if (! empty($vcard->email)) { $vcfVcard->addEmail($vcard->email); } if (! empty($vcard->alternative_email)) { $vcfVcard->addEmail($vcard->alternative_email, 'EMAIL;type=Alternate Email'); } if (! empty($vcard->phone)) { $vcfVcard->addPhoneNumber('+' . $vcard->region_code . $vcard->phone, 'TEL;type=CELL'); } if (! empty($vcard->alternative_phone)) { $vcfVcard->addPhoneNumber('+' . $vcard->alternative_region_code . $vcard->alternative_phone, 'TEL;type=Alternate Phone'); } $vcfVcard->addAddress($vcard->location); if (! empty($vcard->location_url)) { $vcfVcard->addURL($vcard->location_url, 'TYPE=Location URL'); } $socialLinks = SocialLink::whereVcardId($vcard->id)->first()->toArray(); $customSocialLinks = SocialIcon::with('media')->whereSocialLinkId($socialLinks['id'])->get(); unset($socialLinks['id']); unset($socialLinks['media']); unset($socialLinks['created_at']); unset($socialLinks['updated_at']); unset($socialLinks['social_icon']); unset($socialLinks['vcard_id']); foreach ($customSocialLinks as $link) { $socialLinks = array_merge($socialLinks, [$link->media[0]['name'] => $link->link]); } foreach ($socialLinks as $key => $link) { $name = Str::camel($key); $vcfVcard->addURL($link, 'TYPE=' . $name); } $vcfVcard->addURL(URL::to($vcard->url_alias)); if ($media = $vcard->getMedia(\App\Models\Vcard::PROFILE_PATH)->first()) { $vcfVcard->addPhotoContent(file_get_contents($media->getFullUrl())); } return \Response::make( $vcfVcard->getOutput(), 200, $vcfVcard->getHeaders(true) ); } public function showProducts($id, $alias) { $vcard = Vcard::with([ 'businessHours' => function ($query) { $query->where('end_time', '!=', '00:00'); }, 'services', 'testimonials', 'products', 'blogs', 'privacy_policy', 'term_condition', 'user', ])->whereUrlAlias($alias)->first(); $userSetting = UserSetting::where('user_id', $vcard->user->id)->pluck('value', 'key')->toArray(); $vcardProducts = $vcard->products->sortDesc()->take(6); $products = Product::with('vcard')->whereVcardId($id)->get(); $template_id = $products->first()->vcard->template_id; if ($vcard->status) { return view( 'vcardTemplates/products/vcard' . $template_id, compact( 'vcard', 'vcardProducts', 'products', 'userSetting' ) ); } } public function deleteAccount() { setLocalLang(getCurrentLanguageName()); return view('vcards.delete_account'); } public function getCookie(Request $request) { $fullUrl = $request->url; $urlWithoutDomain = trim(parse_url($fullUrl, PHP_URL_PATH), '/'); $vcard = Vcard::whereUrlAlias($urlWithoutDomain)->first(); $valuedata = 5 * 1000; if ($vcard) { $user = $vcard->user; if ($user) { $value = getUserSettingValue('subscription_model_time', $user->id); $timeValue = empty($value) ? 5 : $value; $valuedata = intval($timeValue) * 1000; } } return $this->sendResponse($valuedata, ''); } public function emailSubscriprionStore(CreateEmailSubscribersRequest $request) { $input = $request->all(); VcardEmailSubscription::create($input); return $this->sendSuccess(__('messages.flash.email_send')); } public function showSubscribers(Vcard $vcard) { $vcardId = $vcard->id; return view('vcards.vcard-subscribers', compact('vcardId')); } public function showContact(Vcard $vcard) { $vcardId = $vcard->id; return view('vcards.vcard-contact', compact('vcardId')); } public function vcardViewType(Request $request): JsonResponse { $viewType = $request->input('vcard_table_view_type'); $user = getLogInUser(); $user->update(['vcard_table_view_type' => $viewType]); return $this->sendSuccess(__('messages.vcard_table_view_changed')); } public function servicesSliderView(Vcard $vcard): JsonResponse { if ($vcard) { $vcard->services_slider_view = !$vcard->services_slider_view; $vcard->save(); return $this->sendSuccess(__('messages.flash.services_slider_view')); } return $this->sendError('Something went wrong', 200); } public function cloneTo(Vcard $vcard) { $users = User::role('admin') ->where('tenant_id', '!=', $vcard->user->tenant_id) ->get() ->mapWithKeys(function ($user) { return [$user->id => $user->full_name]; }) ->toArray(); $data = [ 'vcard' => $vcard, 'users' => $users ]; return $this->sendResponse($data, 'Vcard Retrieved Successfully.'); } public function sadminDuplicateVcard($id, $userId = null): JsonResponse { try { $vcard = Vcard::with([ 'services', 'testimonials', 'products', 'blogs', 'privacy_policy', 'term_condition', 'socialLink', 'customeLink', 'banners', 'iframes', 'InstagramEmbed', 'Qrcode', ])->where('id', $id)->first(); $this->vcardRepository->getDuplicateVcard($vcard, $userId); return $this->sendSuccess('Duplicate Vcard Create successfully.'); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\3++Controllers/Controller.phpnu[subscriptionRepository = $subscriptionRepository; } public function flutterwaveSubscription(Request $request) { $clientId = getSelectedPaymentGateway('flutterwave_key'); $clientSecret = getSelectedPaymentGateway('flutterwave_secret'); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); $supportedCurrency = ['GBP', 'CAD', 'XAF', 'CLP', 'COP', 'EGP', 'EUR', 'GHS', 'GNF', 'KES', 'MWK', 'MAD', 'NGN', 'RWF', 'SLL', 'STD', 'ZAR', 'TZS', 'UGX', 'USD', 'XOF', 'ZMW']; $plan = Plan::with('currency')->findOrFail($request->planId); if ($plan->currency->currency_code != null && !in_array(strtoupper($plan->currency->currency_code), $supportedCurrency)) { Flash::error(__('messages.placeholder.this_currency_is_not_supported_flutterwave')); return Redirect()->back(); } $data = $this->subscriptionRepository->manageSubscription($request->all()); if (!isset($data['plan'])) { if (isset($data['status']) && $data['status'] == true) { Flash::error(__('messages.subscription_pricing_plans.has_been_subscribed')); return Redirect()->back(); } else { if (isset($data['status']) && $data['status'] == false) { Flash::error(__('messages.placeholder.cannot_switch_to_zero')); return Redirect()->back(); } } } $subscriptionsPricingPlan = $data['plan']; $subscription = $data['subscription']; // FlutterWave $reference = FlutterWave::generateReference(); $data = [ 'payment_options' => 'card,banktransfer', 'amount' => $data['amountToPay'], 'email' => $request->user()->email, 'tx_ref' => $reference, 'currency' => $plan->currency->currency_code, 'redirect_url' => route('flutterwave.subscription.success'), 'customer' => [ 'email' => getLogInUser()->email, ], 'customizations' => [ 'title' => 'Purchase Subscription Payment', ], 'meta' => [ 'subscription_id' => $subscription->id, 'amount' => $data['amountToPay'] * 100, 'payment_mode' => Subscription::FLUTTERWAVE, ], ]; $payment = FlutterWave::initializePayment($data); if ($payment['status'] !== 'success') { return redirect(route('subscription.index')); } $url = $payment['data']['link']; return redirect()->away($url); } public function flutterwaveSubscriptionSuccess(Request $request) { $clientId = getSelectedPaymentGateway('flutterwave_key'); $clientSecret = getSelectedPaymentGateway('flutterwave_secret'); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); $input = $request->all(); if ($input['status'] == 'successful') { $transactionID = FlutterWave::getTransactionIDFromCallback(); $flutterWaveData = FlutterWave::verifyTransaction($transactionID); $data = $flutterWaveData['data']; $amount = $data['amount']; $subscriptionId = $data['meta']['subscription_id']; Subscription::findOrFail($subscriptionId)->update([ 'payment_type' => Subscription::FLUTTERWAVE, 'status' => Subscription::ACTIVE ]); // De-Active all other subscription Subscription::whereTenantId(getLogInTenantId()) ->where('id', '!=', $subscriptionId) ->where('status', '!=', Subscription::REJECT) ->update([ 'status' => Subscription::INACTIVE, ]); $transaction = Transaction::create([ 'transaction_id' => $input['transaction_id'], 'type' => Transaction::FLUTTERWAVE, 'amount' => $amount, 'status' => Subscription::ACTIVE, 'meta' => json_encode($data), ]); // updating the transaction id on the subscription table $subscription = Subscription::findOrFail($subscriptionId); $planName = $subscription->plan->name; $subscription->update(['transaction_id' => $transaction->id]); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if($affiliateAmountType == 1){ AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount,'is_verified' => 1]); }else if($affiliateAmountType == 2){ $amount = $amount * $affiliateAmount / 100; AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount,'is_verified' => 1]); } $userEmail = getLogInUser()->email; $firstName = getLogInUser()->first_name; $lastName = getLogInUser()->last_name; $emailData = [ 'first_name' => $firstName, 'last_name' => $lastName, 'planName' => $planName, ]; manageVcards(); Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); return view('sadmin.plans.payment.paymentSuccess'); } } public function nfcOrder($orderId, $email, $nfc, $currency) { $clientId = getSelectedPaymentGateway('flutterwave_key'); $clientSecret = getSelectedPaymentGateway('flutterwave_secret'); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); try { $reference = FlutterWave::generateReference(); $data = [ 'payment_options' => 'card,banktransfer', 'amount' => $nfc->nfcCard->price * $nfc->quantity, 'email' => getLogInUser()->email, 'tx_ref' => $reference, 'currency' => $currency, 'redirect_url' => route('flutterwave.nfcOrder.success'), 'customer' => [ 'email' => $nfc->email, ], 'customizations' => [ 'title' => 'Purchase NFC Order Payment', ], 'meta' => [ 'order_id' => $orderId, 'amount' => $nfc->nfcCard->price * $nfc->quantity, 'payment_mode' => Subscription::FLUTTERWAVE, ], ]; $payment = FlutterWave::initializePayment($data); if ($payment['status'] !== 'success') { return redirect(route('user.orders')); } $url = $payment['data']['link']; return $url; } catch (\Exception $e) { Flash::error(__('messages.setting.paystack_credential')); return Redirect()->back(); } } public function flutterwaveNfcOrderSuccess(Request $request) { $clientId = getSelectedPaymentGateway('flutterwave_key'); $clientSecret = getSelectedPaymentGateway('flutterwave_secret'); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); $input = $request->all(); if ($input['status'] == 'successful') { $transactionID = FlutterWave::getTransactionIDFromCallback(); $flutterWaveData = FlutterWave::verifyTransaction($transactionID); $data = $flutterWaveData['data']; try { $orderId = $data['meta']['order_id']; $userId = NfcOrders::findOrFail($orderId)->user_id; $status = NfcOrders::SUCCESS; $nfcOrder = NfcOrders::get()->find($orderId); $type = NfcOrders::FLUTTERWAVE; $transactionId = $input['transaction_id']; $amount = $data['amount']; $transactionDetails = [ 'nfc_order_id' => $orderId, 'type' => $type, 'transaction_id' => $transactionId, 'amount' => $amount, 'user_id' => $userId, 'status' => $status, ]; NfcOrderTransaction::create($transactionDetails); $vcardName = Vcard::find($nfcOrder['vcard_id'])->name; $cardType = Nfc::find($nfcOrder['card_type'])->name; Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder, $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); return redirect(route('user.orders')); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } } } PK8\aVAA$Controllers/CouponCodeController.phpnu[all(); $couponLimit = $input['coupon_limit']; $input['coupon_limit_left'] = $couponLimit; // $endDate = $input['expire_at']; // $format = getSuperAdminSettingValue('datetime_method'); // $formattedDate = ($format == 1) // ? Carbon::createFromFormat('d M, Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 2) // ? Carbon::createFromFormat('M d, Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 3) // ? Carbon::createFromFormat('d/m/Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 4) // ? Carbon::createFromFormat('Y/m/d', $endDate)->format('Y-m-d H:i:s') // : (($format == 5) // ? Carbon::createFromFormat('m/d/Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 6) // ? Carbon::createFromFormat('Y-m-d', $endDate)->format('Y-m-d H:i:s') // : Carbon::parse($endDate)->format('Y-m-d H:i:s') // ) // ) // ) // ) // ); // $input['expire_at'] = $formattedDate; $input['status'] = isset($input['status']); CouponCode::create($input); return $this->sendSuccess(__('messages.coupon_code.coupon_code_created')); } public function edit($couponCodeId) { $couponCode = CouponCode::findOrFail($couponCodeId); return $this->sendResponse($couponCode, 'Coupon Code Retrieved Successfully.'); } public function update(UpdateCouponCodeRequest $request, $id) { $input = $request->all(); $couponCode = CouponCode::findOrFail($id); $couponCodeLimit = $couponCode->coupon_limit_left; $input['coupon_limit'] = isset($input['coupon_limit'])? $input['coupon_limit']: null; if($input['coupon_limit'] == $couponCodeLimit ){ $input['coupon_limit_left'] = $input['coupon_limit']; }else{ $input['coupon_limit_left'] = $couponCodeLimit - ($input['coupon_limit'] ) ; } if($input['coupon_limit'] > $couponCodeLimit ){ $input['coupon_limit_left'] = $input['coupon_limit']; } if($input['coupon_limit'] < $couponCodeLimit ){ $input['coupon_limit_left'] = $input['coupon_limit']; } if($input['coupon_limit'] == null){ $input['coupon_limit_left'] = null; } // $endDate = $input['expire_at']; // $format = getSuperAdminSettingValue('datetime_method'); // $formattedDate = ($format == 1) // ? Carbon::createFromFormat('d M, Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 2) // ? Carbon::createFromFormat('M d, Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 3) // ? Carbon::createFromFormat('d/m/Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 4) // ? Carbon::createFromFormat('Y/m/d', $endDate)->format('Y-m-d H:i:s') // : (($format == 5) // ? Carbon::createFromFormat('m/d/Y', $endDate)->format('Y-m-d H:i:s') // : (($format == 6) // ? Carbon::createFromFormat('Y-m-d', $endDate)->format('Y-m-d H:i:s') // : Carbon::parse($endDate)->format('Y-m-d H:i:s') // ) // ) // ) // ) // ); // $input['expire_at'] = $formattedDate; $input['status'] = isset($input['status']); $couponCode->update($input); return $this->sendSuccess(__('messages.coupon_code.coupon_code_updated')); } public function destroy($couponCodeId) { $couponCode = CouponCode::findOrFail($couponCodeId); $couponCode->delete(); return $this->sendSuccess('Coupon Code deleted Successfully.'); } public function changeCouponCodeStatus(Request $request, $couponCodeId) { $couponCode = CouponCode::findOrFail($couponCodeId); $couponCode->status = $request->get('status') == 'true' ? 1 : 0; $couponCode->update(); return $this->sendSuccess(__('messages.coupon_code.coupon_code_status_updated')); } public function applyCouponCode(Request $request, $couponCode = null) { $input = $request->all(); $input['couponCode'] = $couponCode; $couponCodeRepo = App(CouponCodeRepository::class); $newPlan = $couponCodeRepo->getAfterDiscountData($input); if (isset($newPlan['afterDiscount'])) { $couponId = $newPlan['afterDiscount']['couponId']; $coupon = CouponCode::find($couponId); if ($coupon) { if ($coupon->coupon_limit != null) { if ($coupon->coupon_limit_left <= 0) { return $this->sendError(__('messages.coupon_code.coupon_limit_reached')); } } } } return $this->sendResponse($newPlan, __('messages.coupon_code.coupon_code_applied')); } } PK8\w,Controllers/ProductTransactionController.phpnu[first(); return view('product_transactions.show', compact('productTransaction')); } public function updateSendCustomerMail(Request $request) { $setting = UserSetting::where('user_id', Auth::id())->where('key', 'product_order_send_mail_customer')->first(); try { DB::beginTransaction(); if (! $setting) { $setting = UserSetting::create([ 'user_id' => Auth::id(), 'key' => 'product_order_send_mail_customer', 'value' => $request->customer_mail ?? '1', ]); } else { $setting->update(['value' => $request->customer_mail ?? '1']); } DB::commit(); } catch (\Exception $e) { DB::rollBack(); return $this->sendError($e->getMessage()); } return $this->sendSuccess(__('messages.flash.send_email_to_customer_success')); } public function updateSendUserMail(Request $request) { $setting = UserSetting::where('user_id', Auth::id())->where('key', 'product_order_send_mail_user')->first(); try { DB::beginTransaction(); if (! $setting) { $setting = UserSetting::create([ 'user_id' => Auth::id(), 'key' => 'product_order_send_mail_user', 'value' => $request->user_mail ?? '1', ]); } else { $setting->update(['value' => $request->user_mail ?? '1']); } DB::commit(); } catch (\Exception $e) { DB::rollBack(); return $this->sendError($e->getMessage()); } return $this->sendSuccess(__('messages.flash.send_email_to_user_success')); } } PK8\fFҤ Controllers/RoleController.phpnu[roleRepository = $roleRepo; } /** * @return Application|Factory|View * * @throws Exception */ public function index(Request $request): \Illuminate\View\View { $permissions = Permission::toBase()->get(); return view('roles.index', compact('permissions')); } /** * @return Application|Factory|View */ public function create(): \Illuminate\View\View { $permissions = $this->roleRepository->getPermissions(); return view('roles.create', compact('permissions')); } /** * Store a newly created Role in storage. * * @return Application|RedirectResponse|Redirector */ public function store(CreateRoleRequest $request): RedirectResponse { $input = $request->all(); $this->roleRepository->store($input); Flash::success(__('messages.placeholder.role_created')); return redirect(route('roles.index')); } /** * Show the form for editing the specified Role. * * @return Application|Factory|View */ public function edit(Role $role): \Illuminate\View\View { $permissions = $this->roleRepository->getPermissions(); $selectedPermissions = $role->getAllPermissions()->keyBy('id'); return view('roles.edit', compact('role', 'permissions', 'selectedPermissions')); } /** * Update the specified Role in storage. * * @return Application|Redirector|RedirectResponse */ public function update(UpdateRoleRequest $request, Role $role): RedirectResponse { $this->roleRepository->update($request->all(), $role->id); Flash::success('Role updated successfully.'); return redirect(route('roles.index')); } /** * Remove the specified Role from storage. */ public function destroy(Role $role): JsonResponse { if ($role->is_default == 1) { return $this->sendError('Default role do not deleted.'); } $role->delete(); return $this->sendSuccess('Role deleted successfully.'); } } PK8\K   -Controllers/API/RegistrationAPIController.phpnu[input('referral-code'); $referral_user = ''; if ($referral_code) { $referral_user = User::where('affiliate_code', $referral_code)->first(); } try { DB::beginTransaction(); // Check if the user already exists $existingUser = User::where('email', $request->email)->first(); if ($existingUser) { // Handle case where email is already registered return $this->sendError("Email is already registered."); } $tenant = MultiTenant::create(['tenant_username' => $request->first_name]); $userDefaultLanguage = Setting::where('key', 'user_default_language')->first()->value ?? 'en'; $user = User::create([ 'first_name' => $request->first_name, 'last_name' => $request->last_name, 'email' => $request->email, 'language' => $userDefaultLanguage, 'password' => Hash::make($request->password), 'tenant_id' => $tenant->id, 'affiliate_code' => generateUniqueAffiliateCode(), ])->assignRole(Role::ROLE_ADMIN); $plan = Plan::whereIsDefault(true)->first(); Subscription::create([ 'plan_id' => $plan->id, 'plan_amount' => $plan->price, 'plan_frequency' => Plan::MONTHLY, 'starts_at' => Carbon::now(), 'ends_at' => Carbon::now()->addDays($plan->trial_days), 'trial_ends_at' => Carbon::now()->addDays($plan->trial_days), 'status' => Subscription::ACTIVE, 'tenant_id' => $tenant->id, 'no_of_vcards' => $plan->no_of_vcards, ]); if ($referral_user) { $affiliateUser = new AffiliateUser(); $affiliateUser->affiliated_by = $referral_user->id; $affiliateUser->user_id = $user->id; $affiliateUser->amount = 0; $affiliateUser->save(); } DB::commit(); $token = Password::getRepository()->create($user); $data['url'] = config('app.url').'/verify-email/'.$user->id.'/'.$token; $data['user'] = $user; Mail::to($user->email)->send(new VerifyMail($data)); return $this->sendSuccess("Registration successfully."); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\5Controllers/API/BusinessCards/GroupsAPIController.phpnu[ $request->name, 'tenant_id' => getLogInTenantId(), ]); return $this->sendSuccess('Group created successfully.'); } public function groupData() { $groupsData = Group::all(); $data = []; foreach ($groupsData as $groupData) { $data[] = [ 'id' => $groupData->id, 'name' => $groupData->name, 'tenant_id' => $groupData->tenant_id, 'created_at' => $groupData->created_at, ]; } return $this->sendResponse($data, 'Groups data retrieved successfully.'); } public function deleteGroup($group) { $enquiry = Group::find($group); if (empty($group)) { return $this->sendSuccess('Group not found'); } $enquiry->delete(); return $this->sendSuccess('Group deleted successfully.'); } } PK8\y@@'Controllers/API/BusinessCards/error_lognu[[17-Jun-2026 15:45:27 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/GroupsAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/GroupsAPIController.php on line 10 [17-Jun-2026 21:34:47 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/BusinessAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/BusinessAPIController.php on line 12 [19-Jun-2026 12:29:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/BusinessAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/BusinessAPIController.php on line 12 [19-Jun-2026 23:54:37 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/GroupsAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/GroupsAPIController.php on line 10 [17-Jul-2026 13:46:39 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/BusinessAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/BusinessAPIController.php on line 12 [17-Jul-2026 13:48:41 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/GroupsAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/BusinessCards/GroupsAPIController.php on line 10 PK8\; ; 7Controllers/API/BusinessCards/BusinessAPIController.phpnu[url_alias; $urlAlias = null; $parsedUrl = parse_url($url); if (isset($parsedUrl['path'])) { $pathParts = explode('/', $parsedUrl['path']); $urlAlias = end($pathParts); } if (isset($urlAlias)) { $vcard = Vcard::where('url_alias', $urlAlias)->first(); if ($vcard) { BusinessCards::create([ 'tenant_id' => getLogInTenantId(), 'vcard_id' => $vcard->id, 'url' => route('vcard.show', ['alias' => $vcard->url_alias]), 'group_id' => $request->group_id, ]); return $this->sendSuccess('Business card created successfully.'); } } // If no matching Vcard found, create business card with provided data BusinessCards::create([ 'tenant_id' => getLogInTenantId(), 'vcard_id' => $request->id, 'url' => $url, // Use the provided URL 'group_id' => $request->group_id, ]); return $this->sendSuccess('Business card created successfully.'); } public function businessCardData(Request $request) { $filter = $request->all(); $businessCards = BusinessCards::with(['vcard', 'groups']) ->when(!empty($filter), function ($q) use ($filter) { $q->whereIn('group_id', $filter['filter']); }) ->get(); $data = []; foreach ($businessCards as $businessCard) { $data[] = [ 'id' => $businessCard->id, 'vcard_id' => $businessCard->vcard_id, 'url' => $businessCard->url, 'name' => $businessCard->vcard ? $businessCard->vcard->name : null, 'occupation' => $businessCard->vcard ? $businessCard->vcard->occupation : null, 'created_at' => $businessCard->vcard ? $businessCard->vcard->created_at : null, 'group_name' => $businessCard->groups->name, 'phone' => $businessCard->vcard->phone ?? null, 'alternative_phone' => $businessCard->vcard->alternative_phone ?? null, 'vcard_image' => !empty($businessCard->vcard->template) ? $businessCard->vcard->template->template_url : null, ]; } return $this->sendResponse($data, 'Business Data Retrieve Successfully.'); } } PK8\^.Controllers/API/Admin/EnquiryAPIController.phpnu[pluck('id')->toArray(); $enquirys = Enquiry::with('vcard')->whereIn('vcard_id', $vcardIds)->get(); $data = []; foreach ($enquirys as $enquiry) { $data[] = [ 'id' => $enquiry->id, 'vcard_name' => $enquiry->vcard->name, 'name' => $enquiry->name, 'created_at' => $enquiry->created_at, ]; } return $this->sendResponse($data, 'Enquiry data retrieved successfully.'); } public function enquiry($enquiry) { $enquirys = Enquiry::with('vcard')->whereId($enquiry)->first(); if(empty($enquirys)){ return $this->sendError('Enquiry not found', 404); } $data[] = [ 'id' => $enquirys->id, 'vcard_name' => $enquirys->vcard->name, 'name' => $enquirys->name, 'email' => $enquirys->email, 'phone' => $enquirys->phone, 'message' => $enquirys->message, 'created_at' => $enquirys->created_at, ]; return $this->sendResponse($data, 'Enquiry data retrieved successfully.'); } public function deleteEnquiry($enquiry) { $enquiry = Enquiry::find($enquiry); if (empty($enquiry)) { return $this->sendSuccess('Appointment not found'); } $enquiry->delete(); return $this->sendSuccess('Enquiry deleted successfully.'); } } PK8\.R A A 2Controllers/API/Admin/AppointmentAPIController.phpnu[pluck('id')->toArray(); $scheduleAppointments = ScheduleAppointment::with('vcard')->whereIn('vcard_id', $vcardIds)->get(); $data = []; foreach ($scheduleAppointments as $appointment) { $data[] = [ 'id' => $appointment->id, 'vcard_name' => $appointment->vcard->name, 'name' => $appointment->name, 'date' => $appointment->date, 'from_time' => $appointment->from_time, 'to_time' => $appointment->to_time, 'status' => $appointment->status, 'paid_amount' => $appointment->paid_amount, ]; } return $this->sendResponse($data, 'Appointment data retrieved successfully.'); } public function appointment($scheduleAppointmentsId) { $scheduleAppointments = ScheduleAppointment::with('vcard')->whereId($scheduleAppointmentsId)->first(); if(empty($scheduleAppointments)){ return $this->sendError('Appointment not found', 404); } $data[] = [ 'id' => $scheduleAppointments->id, 'vcard_name' => $scheduleAppointments->vcard->name, 'name' => $scheduleAppointments->name, 'email' => $scheduleAppointments->email, 'phone' => $scheduleAppointments->phone, 'date' => $scheduleAppointments->date, 'from_time' => $scheduleAppointments->from_time, 'to_time' => $scheduleAppointments->to_time, 'status' => $scheduleAppointments->status, 'paid_amount' => $scheduleAppointments->paid_amount, ]; return $this->sendResponse($data, 'Appointment data retrieved successfully.'); } public function deleteAppointment($scheduleAppointmentsId) { $appointment = ScheduleAppointment::find($scheduleAppointmentsId); if (empty($appointment)) { return $this->sendSuccess('Appointment not found'); } $appointment->delete(); return $this->sendSuccess('Appointment deleted successfully.'); } public function appointmentCompleted(ScheduleAppointment $scheduleAppointmentsId) { $appointments = ScheduleAppointment::find($scheduleAppointmentsId->id); $appointments->update([ 'status' => ScheduleAppointment::COMPLETED, ]); return $this->sendSuccess('Appointment completed successfully;'); } } PK8\OJ ,Controllers/API/Admin/GroupAPIController.phpnu[ $request->name, 'tenant_id' => getLogInTenantId(), ]); return $this->sendSuccess('User Group created successfully.'); } public function groupData() { $tenantId = getLogInTenantId(); $groupsData = Group::where('tenant_id', $tenantId)->get(); $data = []; foreach ($groupsData as $groupData) { $data[] = [ 'id' => $groupData->id, 'name' => $groupData->name, 'tenant_id' => $groupData->tenant_id, 'created_at' => $groupData->created_at, ]; } return $this->sendResponse($data, 'User groups data retrieved successfully.'); } public function deleteGroup($groupId) { $tenantId = getLogInTenantId(); $userVcard = Group::where('id', $groupId) ->where('tenant_id', $tenantId) ->first(); if (!$userVcard) { return $this->sendError('User Groups not found'); } $userVcard->delete(); return $this->sendSuccess('User Groups deleted successfully.'); } } PK8\,Controllers/API/Admin/VcardAPIController.phpnu[pluck('id')->toArray(); $vcards = Vcard::whereIn('id', $vcardIds)->get(); $data = []; foreach ($vcards as $vcard) { $data[] = [ 'id' => $vcard->id, 'name' => $vcard->name, 'url_alias' => route('vcard.show', ['alias' => $vcard->url_alias]), 'occupation' => $vcard->occupation, 'image' => !empty($vcard->template) ? $vcard->template->template_url : asset('assets/images/default_cover_image.jpg'), ]; } return $this->sendResponse($data, 'Vcards Data Retrieve Successfully.'); } public function vcard(Request $vcard) { $tenantId = getLogInTenantId(); $userVcard = Vcard::where('id', $vcard->id) ->where('tenant_id', $tenantId) ->first(); if (empty($userVcard)) { return $this->sendError('Vcard not found'); } $data = [ 'id' => $userVcard->id, 'name' => $userVcard->name, 'occupation' => $userVcard->occupation, 'image' => !empty($userVcard->template) ? $userVcard->template->template_url : asset('assets/images/default_cover_image.jpg'), 'created_at' => $userVcard->created_at, ]; return $this->sendResponse($data, 'Vcard Data Retrieved Successfully.'); } public function deleteVcard($vcardId) { $tenantId = getLogInTenantId(); $userVcard = Vcard::where('id', $vcardId) ->where('tenant_id', $tenantId) ->first(); if (!$userVcard) { return $this->sendError('Vcard not found'); } $userVcard->delete(); return $this->sendSuccess('Vcard deleted successfully.'); } public function appointmentVcard($vcard) { if (!is_array($vcard)) { $vcard = [$vcard]; } $tenantId = getLogInTenantId(); $scheduleAppointment = ScheduleAppointment::with('vcard') ->whereIn('vcard_id', $vcard) ->whereHas('vcard', function ($query) use ($tenantId) { $query->where('tenant_id', $tenantId); }) ->get(); $data = []; foreach ($scheduleAppointment as $scheduleAppointments) { $data[] = [ 'id' => $scheduleAppointments->id, 'vcard_id' => $scheduleAppointments->vcard->id, 'vcard_name' => $scheduleAppointments->vcard->name, 'name' => $scheduleAppointments->name, 'date' => $scheduleAppointments->date, 'from_time' => $scheduleAppointments->from_time, 'to_time' => $scheduleAppointments->to_time, 'status' => $scheduleAppointments->status, 'paid_amount' => $scheduleAppointments->paid_amount, ]; } return $this->sendResponse($data, 'Vcard Appointment Data Retrieve Successfully.'); } public function enquiresVcard($vcard) { $tenantId = getLogInTenantId(); $enquiriesDatas = Enquiry::whereHas('vcard', function ($query) use ($vcard, $tenantId) { $query->where('id', $vcard) ->where('tenant_id', $tenantId); }) ->get(); $data = []; foreach ($enquiriesDatas as $enquiriesData) { $data[] = [ 'id' => $enquiriesData->id, 'vcard_name' => $enquiriesData->vcard->name, 'name' => $enquiriesData->name, 'email' => $enquiriesData->email, 'phone' => $enquiriesData->phone, 'message' => $enquiriesData->message, 'created_at' => $enquiriesData->created_at, ]; } return $this->sendResponse($data, 'Vcard Enquiries Data Retrieve Successfully.'); } } PK8\gk 0Controllers/API/Admin/DashboardAPIController.phpnu[dashboardRepository = $dashboardRepo; $this->vcardRepository = $vcardRepo; } public function index() { $data['activeVcard'] = Vcard::whereTenantId(auth()->user()->tenant_id)->whereStatus(1)->count(); $data['deActiveVcard'] = Vcard::whereTenantId(auth()->user()->tenant_id)->whereStatus(0)->count(); $data['enquiry'] = $this->dashboardRepository->getEnquiryCountAttribute(); $data['appointment'] = $this->dashboardRepository->getAppointmentCountAttribute(); return $this->sendResponse($data, 'Admin Dashboard retrieve Successfully.'); } public function todayAppointment() { $vcardIds = Vcard::toBase()->whereTenantId(getLogInTenantId())->pluck('id')->toArray(); $today = Carbon::now()->format('Y-m-d'); $appointments = ScheduleAppointment::with('vcard')->whereIn('vcard_id', $vcardIds) ->whereDate('date', $today) ->orderBy('created_at', 'DESC') ->get(); $data = []; foreach ($appointments as $appointment) { $data[] = [ 'id' => $appointment->id, 'vcard_name' => $appointment->vcard->name, 'name' => $appointment->name, 'phone' => $appointment->phone, 'email' => $appointment->email, 'date' => $appointment->date, 'from_time' => $appointment->from_time, 'to_time' => $appointment->to_time, 'status' => $appointment->status, 'paid_amount' => $appointment->paid_amount, ]; } return $this->sendResponse($data, 'Admin Today Appointment data retrieve Successfully.'); } public function incomeChartData() { try { $input = [ 'start_date' => Carbon::now()->subDays(7)->format("Y-m-d H:m:s"), 'end_date' => Carbon::now()->format("Y-m-d H:m:s"), ]; $data = $this->vcardRepository->dashboardChartData($input); return $this->sendResponse($data, 'Data fetch successfully.'); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\zG/ 7Controllers/API/Admin/SubscriptionPlanAPIController.phpnu[subscriptionRepo = $subscriptionRepo; } Public function subscriptionPlan() { $plans = Plan::with(['currency', 'planFeature'])->whereStatus(Plan::IS_ACTIVE)->get(); $data = []; foreach($plans as $plan){ $data[] = [ 'id' => $plan->id, 'name' => $plan->name, 'currency' => $plan->currency->currency_code, 'no_of_vcards' => $plan->no_of_vcards, 'trial_days' => $plan->trial_days, 'frequency' => $plan->frequency, 'price' => $plan->price, 'features' => getPlanFeature($plan), 'current_active_subscription' => (!empty(getCurrentSubscription()) && $plan->id == getCurrentSubscription()->plan_id && !getCurrentSubscription()->isExpired()), ]; } return $this->sendResponse($data, 'Subscription data retrieved successfully.'); } public function paymentStatus() { $tenantId = getLogInTenantId(); $plan = Subscription::whereTenantId($tenantId)->latest()->first(); $data = ($plan->status == Subscription::PENDING) ? 'Pending' : 'Approved'; return $this->sendResponse($data, 'Subscription data retrieved successfully.'); } public function buyPlan(Plan $plan) { $existingSubscription = Subscription::where('tenant_id', getLogInTenantId()) ->where('status', Subscription::PENDING) ->first(); if ($existingSubscription) { return $this->sendError('There is already a pending subscription request.'); } if ($plan->frequency == Plan::MONTHLY) { $newPlanDays = 30; } else { if ($plan->frequency == Plan::YEARLY) { $newPlanDays = 365; } else { $newPlanDays = 36500; } } $startsAt = Carbon::now(); $input = [ 'tenant_id' => getLogInTenantId(), 'plan_id' => $plan->id, 'plan_amount' => $plan->price, 'payable_amount' => $plan->price, 'plan_frequency' => $plan->frequency, 'starts_at' => Carbon::now(), 'ends_at' => $startsAt->copy()->addDays($newPlanDays), 'status' => Subscription::PENDING, 'no_of_vcards' => $plan->no_of_vcards, 'payment_type' => 'Cash', ]; $subscription = Subscription::create($input); return $this->sendSuccess('Subscription Plan purchase Successfully.'); } } PK8\#DD.Controllers/API/Admin/SettingAPIController.phpnu[userSettingRepository = $userSettingRepository; } public function editSettings() { $setting = UserSetting::where('user_id', getLogInUserId())->pluck('value', 'key')->toArray(); $language = Language::where('iso_code', getCurrentLanguageName())->value('name'); $data[] = [ 'language' => $language, 'time_format' => $setting['time_format'], ]; return $this->sendResponse($data, 'Setting data retrieved successfully.'); } public function updateSettings(UpdateUserSettingRequest $request) { $input = $request->all(); $id = Auth::id(); $setting = UserSetting::where('user_id', getLogInUserId())->where('key', 'time_format')->first(); $userVcards = Vcard::where('tenant_id', getLogInTenantId())->pluck('id')->toArray(); $bookedAppointment = ScheduleAppointment::whereIn('vcard_id', $userVcards)->where('status', ScheduleAppointment::PENDING)->count(); $timeFormat = $setting->value == UserSetting::HOUR_24 ? UserSetting::HOUR_24 : UserSetting::HOUR_12; $requestTimeFormat = isset($request->time_format) ? $request->time_format : $timeFormat; $this->userSettingRepository->updateAPI($input, $id); return $this->sendSuccess("Setting updated successfully"); } } PK8\5bControllers/API/Admin/error_lognu[[17-Jun-2026 09:30:26 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/VcardAPIController.php:15 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/VcardAPIController.php on line 15 [17-Jun-2026 12:11:56 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/EnquiryAPIController.php:11 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/EnquiryAPIController.php on line 11 [17-Jun-2026 15:46:02 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/DashboardAPIController.php:17 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/DashboardAPIController.php on line 17 [17-Jun-2026 18:07:54 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/BusinessAPIController.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/BusinessAPIController.php on line 13 [18-Jun-2026 02:42:41 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/AppointmentAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/AppointmentAPIController.php on line 12 [18-Jun-2026 14:20:41 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SubscriptionPlanAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SubscriptionPlanAPIController.php on line 18 [18-Jun-2026 14:20:45 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/GroupAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/GroupAPIController.php on line 10 [19-Jun-2026 07:34:25 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SettingAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SettingAPIController.php on line 18 [19-Jun-2026 23:54:39 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/EnquiryAPIController.php:11 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/EnquiryAPIController.php on line 11 [19-Jun-2026 23:54:43 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/DashboardAPIController.php:17 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/DashboardAPIController.php on line 17 [19-Jun-2026 23:55:03 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/VcardAPIController.php:15 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/VcardAPIController.php on line 15 [20-Jun-2026 06:55:16 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/BusinessAPIController.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/BusinessAPIController.php on line 13 [20-Jun-2026 21:45:47 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/AppointmentAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/AppointmentAPIController.php on line 12 [16-Jul-2026 23:01:32 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SubscriptionPlanAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SubscriptionPlanAPIController.php on line 18 [16-Jul-2026 23:27:00 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/AppointmentAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/AppointmentAPIController.php on line 12 [17-Jul-2026 13:24:14 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/BusinessAPIController.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/BusinessAPIController.php on line 13 [17-Jul-2026 14:52:18 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/DashboardAPIController.php:17 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/DashboardAPIController.php on line 17 [17-Jul-2026 18:58:45 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SettingAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/Admin/SettingAPIController.php on line 18 PK8\#Yr /Controllers/API/Admin/BusinessAPIController.phpnu[url_alias; $urlAlias = null; $parsedUrl = parse_url($url); if (isset($parsedUrl['path'])) { $pathParts = explode('/', $parsedUrl['path']); $urlAlias = end($pathParts); } $group = Group::where('tenant_id', getLogInTenantId())->first(); if (!$group) { return $this->sendError('Not group found & Add group'); } if (isset($urlAlias)) { $vcard = Vcard::where('url_alias', $urlAlias)->first(); if ($vcard) { BusinessCards::create([ 'tenant_id' => getLogInTenantId(), 'vcard_id' => $vcard->id, 'url' => route('vcard.show', ['alias' => $vcard->url_alias]), 'group_id' => $request->group_id, ]); return $this->sendSuccess('Business card created successfully.'); } } BusinessCards::create([ 'tenant_id' => getLogInTenantId(), 'vcard_id' => $request->id, 'url' => $url, 'group_id' => $request->group_id, ]); return $this->sendSuccess('Business card created successfully.'); } public function businessCardData(Request $request) { $filter = $request->all(); $tenantId = getLogInTenantId(); $businessCards = BusinessCards::with(['vcard', 'groups']) ->where('tenant_id', $tenantId)->when(!empty($request->filter), function ($query) use ($request) { $query->whereIn('group_id', $request->filter); })->get(); $data = []; foreach ($businessCards as $businessCard) { $data[] = [ 'id' => $businessCard->id, 'vcard_id' => $businessCard->vcard_id, 'url' => $businessCard->url, 'name' => $businessCard->vcard ? $businessCard->vcard->name : null, 'occupation' => $businessCard->vcard ? $businessCard->vcard->occupation : null, 'phone' => $businessCard->vcard ? $businessCard->vcard->phone : null, 'created_at' => $businessCard->vcard ? $businessCard->vcard->created_at : null, 'group_name' => $businessCard->groups->name, 'vcard_image' => !empty($businessCard->vcard->template) ? $businessCard->vcard->template->template_url : null, ]; } return $this->sendResponse($data, 'Business Data Retrieved Successfully.'); } } PK8\ `2r%Controllers/API/AuthAPIController.phpnu[userRepo = $userRepository; } public function login(Request $request): JsonResponse { $email = $request->get('email'); $password = $request->get('password'); if (empty($email) or empty($password)) { return $this->sendError(__('Username and password required.'), 422); } $user = User::whereRaw('lower(email) = ?', [$email])->first(); if (empty($user)) { return $this->sendError(__('Invalid username or password.'), 422); } if (!Hash::check($password, $user->password)) { return $this->sendError(__('Invalid username or password.'), 422); } if (!$user->email_verified_at) { return $this->sendError(__('Email not verified. Please verify your email before logging in.'), 422); } $token = $user->createToken('token')->plainTextToken; $user->last_name = $user->last_name ?? ''; if ($user->hasRole(Role::ROLE_SUPER_ADMIN)) { $data = [ 'token' => $token, 'user_id' => $user->id, 'role' => 'Super Admin', ]; } elseif ($user->hasRole(Role::ROLE_ADMIN)) { $data = [ 'token' => $token, 'user_id' => $user->id, 'role' => 'Admin', ]; } elseif ($user->hasRole(Role::ROLE_USER)){ $data = [ 'token' => $token, 'user_id' => $user->id, 'role' => 'User', ]; } else { return $this->sendError(__('Invalid username or password.'), 422); } return $this->sendResponse($data, __('Logged in successfully.')); } public function logout(): JsonResponse { auth()->user()->tokens()->where('id', Auth::user()->currentAccessToken()->id)->delete(); return $this->sendSuccess(__('Logout successfully.')); } public function sendPasswordResetLinkEmail(Request $request): JsonResponse { $request->validate(['email' => 'required|email', 'url_domain' => 'required']); $data['user'] = User::whereEmail($request->email)->first(); if (! $data['user']) { return $this->sendError(__('We can\'t find user with this email address.')); } $data['token'] = encrypt($data['user']->email.' '.$data['user']->id); $data['url'] = $request->url_domain.'//nfcdemo.com/createNewPassword?token='.$data['token'].'&email='.$request->email.'&apn=com.example.infyvcards_flutter'; Mail::to($data['user']->email) ->send(new ForgetPasswordMail('emails.forget_password', 'Reset Password Notification', $data)); $user = DB::table('password_reset_tokens')->where('email', $request->email)->first(); if ($user) { DB::table('password_reset_tokens')->where('email', $user->email)->update([ 'email' => $request->email, 'token' => $data['token'], 'created_at' => Carbon::now(), ]); } else { DB::table('password_reset_tokens')->insert([ 'email' => $request->email, 'token' => $data['token'], 'created_at' => Carbon::now(), ]); } return $this->sendSuccess(__('We have e-mailed your password reset link!')); } public function resetPassword(Request $request) { $passwordToken = DB::table('password_reset_tokens')->where('token', $request->token)->first(); if (empty($passwordToken)) { return $this->sendError('Invalid or expired password reset token.'); } $user = User::where('email', $passwordToken->email)->first(); $user->update([ 'password' => Hash::make($request->password), 'remember_token' => Str::random(60), ]); DB::table('password_reset_tokens')->where('token', $request->token)->delete(); return $this->sendSuccess('Password updated successfully.'); } public function changePassword(Request $request): JsonResponse { $user = User::where('email', $request->email)->first(); if (!$user) { return $this->sendError(__('Email not found.')); } if ($request->has('old_password') && !Hash::check($request->old_password, $user->password)) { return $this->sendError(__('Please enter correct old password')); } $user->password = Hash::make($request->password); $user->save(); return $this->sendSuccess(__('Password updated successfully')); } public function userDelete(User $user) { $tenant_id = getLogInTenantId(); $userData = User::where('tenant_id', $tenant_id)->where('id', $user->id)->first(); if ($userData && !$userData->hasRole(Role::ROLE_SUPER_ADMIN)) { $result = $this->userRepo->userDataDelete($userData); if ($result) { return $this->sendSuccess(__('User deleted successfully')); } } return $this->sendError('Error deleting user.'); } } PK8\Controllers/API/error_lognu[[17-Jun-2026 01:40:30 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/RegistrationAPIController.php:23 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/RegistrationAPIController.php on line 23 [17-Jun-2026 01:40:33 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/AuthAPIController.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/AuthAPIController.php on line 19 [19-Jun-2026 18:40:44 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/RegistrationAPIController.php:23 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/RegistrationAPIController.php on line 23 [19-Jun-2026 18:40:45 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/AuthAPIController.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/AuthAPIController.php on line 19 [16-Jul-2026 22:47:26 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/RegistrationAPIController.php:23 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/RegistrationAPIController.php on line 23 [16-Jul-2026 23:27:40 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/AuthAPIController.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/AuthAPIController.php on line 19 PK8\6c֎2Controllers/API/SuperAdmin/GroupsAPIController.phpnu[ $request->name, 'tenant_id' => getLogInTenantId(), ]); return $this->sendSuccess('Group created successfully.'); } public function groupData() { $groupsData = Group::all(); $data = []; foreach ($groupsData as $groupData) { $data[] = [ 'id' => $groupData->id, 'name' => $groupData->name, 'tenant_id' => $groupData->tenant_id, 'created_at' => $groupData->created_at, ]; } return $this->sendResponse($data, 'Groups data retrieved successfully.'); } public function deleteGroup($groupId) { $tenantId = getLogInTenantId(); $userVcard = Group::where('id', $groupId) ->where('tenant_id', $tenantId) ->first(); if (!$userVcard) { return $this->sendError('User Groups not found'); } $userVcard->delete(); return $this->sendSuccess('User Groups deleted successfully.'); } } PK8\:92Controllers/API/SuperAdmin/VcardsAPIController.phpnu[vcardRepository = $vcardRepository; } public function vcardsData() { $vcards = Vcard::all(); if ($vcards->isEmpty()) { return $this->sendError('No Vcards found', 404); } $data = []; foreach ($vcards as $vcard) { $data[] = [ 'id' => $vcard->id, 'name' => $vcard->name, 'url_alias' => route('vcard.show', ['alias' => $vcard->url_alias]), 'occupation' => $vcard->occupation, 'image' => !empty($vcard->template) ? $vcard->template->template_url : asset('assets/images/default_cover_image.jpg'), ]; } return $this->sendResponse($data, 'Vcards Data Retrieve Successfully.'); } public function vcard($vcard) { $vcard = Vcard::find($vcard); if (empty($vcard)) { return $this->sendError('Vcard not found', 404); } $data[] = [ 'id' => $vcard->id, 'name' => $vcard->name, 'occupation' => $vcard->occupation, 'image' => !empty($vcard->template) ? $vcard->template->template_url : asset('assets/images/default_cover_image.jpg'), 'created_at' => $vcard->created_at, ]; return $this->sendResponse($data, 'Vcards Data Retrieve Successfully.'); } public function qrcodeVcard($vcard) { $vcard = Vcard::where('id', $vcard)->first(); $data[] = [ 'url' => route('vcard.show', ['alias' => $vcard->url_alias]), ]; return $this->sendResponse($data, "Vcard Qr Code Retrieve Successfully."); } } PK8\5j 3Controllers/API/SuperAdmin/ProfileAPIController.phpnu[userRepository = $userRepository; } public function editProfile() { $user = Auth::user(); $settings = Setting::all(); $manualPaymentGuide = $settings->where('key', 'manual_payment_guide')->first(); $language = Language::where('iso_code', getCurrentLanguageName())->value('name'); $data = [ 'profile_image' => $user->profile_image, 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'email' => $user->email, 'region_code' => $user->region_code, 'contact' => $user->contact, 'language' => $language, 'manual_payment_guide' => $manualPaymentGuide ? $manualPaymentGuide->value : null, ]; return $this->sendResponse([$data], 'Profile Data Retrieved Successfully.'); } public function updateProfile(Request $request) { $this->userRepository->updateProfileAPI($request->all()); $input = $request->all(); $input = Arr::except($input, ['_token']); $input['manual_payment_guide'] = $input['manual_payment_guide'] ?? null; foreach ($input as $key => $value) { $manualPaymentGuide = Setting::where('key', $key)->first(); if ($manualPaymentGuide) { $manualPaymentGuide->update(['value' => $value]); } } return $this->sendSuccess('Profile updated Successfully.'); } public function updateLanguage(Request $request) { $input = $request->all(); $user = Auth::user(); if ($user !== null) { $user->update($input); } return $this->sendSuccess('Language update successfully.'); } } PK8\BaGG5Controllers/API/SuperAdmin/DashboardAPIController.phpnu[dashboardRepository = $dashboardRepo; } public function index() { $data['activeUsersCount'] = User::whereHas('roles', function ($q) { $q->where('name', '!=', 'super_admin'); })->where('is_active', 1)->count(); $data['deActiveUsersCount'] = User::whereHas('roles', function ($q) { $q->where('name', '!=', 'super_admin'); })->where('is_active', 0)->count(); if (Auth()->user()->hasRole(Role::ROLE_SUPER_ADMIN)) { $data['activeVcard'] = Vcard::whereStatus(1)->count(); $data['deActiveVcard'] = Vcard::whereStatus(0)->count(); return $this->sendResponse($data, 'Super Admin Dashboard retrieve Successfully'); } $data['activeVcard'] = Vcard::whereTenantId(auth()->user()->tenant_id)->get(); $data['deActiveVcard'] = Vcard::whereTenantId(auth()->user()->tenant_id)->whereStatus(0)->count(); return $this->sendResponse($data, 'Super Admin Dashboard retrieve Successfully'); } public function incomeChartData() { $input = [ 'start_date' => Carbon::now()->subDays(7)->format("Y-m-d H:m:s"), 'end_date' => Carbon::now()->format("Y-m-d H:m:s"), ]; $data = $this->dashboardRepository->incomeChartData($input); return $this->sendResponse($data, 'Income chart data fetch successfully.'); } } PK8\LL$Controllers/API/SuperAdmin/error_lognu[[17-Jun-2026 09:30:31 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/GroupsAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/GroupsAPIController.php on line 10 [17-Jun-2026 10:54:59 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/VcardsAPIController.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/VcardsAPIController.php on line 16 [17-Jun-2026 12:11:41 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php on line 12 [17-Jun-2026 12:11:51 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/BusinessAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/BusinessAPIController.php on line 12 [18-Jun-2026 02:42:37 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php on line 18 [19-Jun-2026 14:56:00 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php on line 12 [19-Jun-2026 14:56:04 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/VcardsAPIController.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/VcardsAPIController.php on line 16 [19-Jun-2026 16:14:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/BusinessAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/BusinessAPIController.php on line 12 [19-Jun-2026 23:55:09 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/GroupsAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/GroupsAPIController.php on line 10 [20-Jun-2026 23:21:38 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php on line 18 [17-Jul-2026 18:01:12 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php on line 12 [17-Jul-2026 18:01:43 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/BusinessAPIController.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/BusinessAPIController.php on line 12 [17-Jul-2026 18:02:43 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/VcardsAPIController.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/VcardsAPIController.php on line 16 [17-Jul-2026 18:03:44 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php on line 18 [17-Jul-2026 18:04:48 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/GroupsAPIController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/API/SuperAdmin/GroupsAPIController.php on line 10 PK8\*%b b 4Controllers/API/SuperAdmin/BusinessAPIController.phpnu[url_alias; $urlAlias = null; $parsedUrl = parse_url($url); if (isset($parsedUrl['path'])) { $pathParts = explode('/', $parsedUrl['path']); $urlAlias = end($pathParts); } if (isset($urlAlias)) { $vcard = Vcard::where('url_alias', $urlAlias)->first(); if ($vcard) { BusinessCards::create([ 'tenant_id' => getLogInTenantId(), 'vcard_id' => $vcard->id, 'url' => route('vcard.show', ['alias' => $vcard->url_alias]), 'group_id' => $request->group_id, ]); return $this->sendSuccess('Business card created successfully.'); } } BusinessCards::create([ 'tenant_id' => getLogInTenantId(), 'vcard_id' => $request->id, 'url' => $url, 'group_id' => $request->group_id, ]); return $this->sendSuccess('Business card created successfully.'); } public function businessCardData(Request $request) { $filter = $request->all(); $businessCards = BusinessCards::with(['vcard','groups']) ->when(!empty($filter) ,function($q) use ($filter) { $q->whereIn('group_id', $filter['filter']); }) ->get(); $data = []; foreach ($businessCards as $businessCard) { $data[] = [ 'id' => $businessCard->id, 'vcard_id' => $businessCard->vcard_id, 'url' => $businessCard->url, 'name' => $businessCard->vcard ? $businessCard->vcard->name : null, 'occupation' => $businessCard->vcard ? $businessCard->vcard->occupation : null, 'phone' => $businessCard->vcard ? $businessCard->vcard->phone : null, 'created_at' => $businessCard->vcard ? $businessCard->vcard->created_at : null, 'group_name' => $businessCard->groups->name, 'vcard_image' => !empty($businessCard->vcard->template) ? $businessCard->vcard->template->template_url : null, ]; } return $this->sendResponse($data, 'Business Data Retrieve Successfully.'); } } PK8\Fb "Controllers/LanguageController.phpnu[languageRepository = $languageRepo; } /** * Display a listing of the resource. * * @return Factory|View */ public function index(): View { return view('sadmin.languages.index'); } public function language(): View { return view('sadmin.languages.default-language'); } public function updateStatus(Language $language): JsonResponse { if ($language->iso_code == getSuperAdminSettingValue('default_language')) { return $this->sendError(__('messages.flash.language_status_default')); } else { $language->update([ 'status' => !$language->status, ]); return $this->sendSuccess(__('messages.flash.language_status')); } } /** * Store a newly created resource in storage. */ public function store(CreateLanguageRequest $request): JsonResponse { $input = $request->all(); $allLanguagesArr = []; $languages = File::directories(base_path('lang')); foreach ($languages as $language) { $allLanguagesArr[] = substr($language, -2); } if (in_array($input['iso_code'], $allLanguagesArr)) { throw new UnprocessableEntityHttpException($input['iso_code'].' '.__('messages.placeholder.lang_already_exists')); } $language = $this->languageRepository->create($input); if (isset($input['flag']) && ! empty($input['flag'])) { $language->addMedia($input['flag'])->toMediaCollection(Language::LANGUAGE_PATH, config('app.media_disc')); } $translation = $this->languageRepository->translationFileCreate($language); Artisan::call('lang:js'); return $this->sendResponse($language, __('messages.placeholder.language_save')); } /** * Show the form for editing the specified resource. */ public function edit(Language $language): JsonResponse { return $this->sendResponse($language, 'Language retrieved successfully.'); } /** * Show the form for editing the specified resource. */ public function show(Language $language): JsonResponse { return $this->sendResponse($language, 'Language retrieved successfully.'); } /** * @param Language $language */ public function update(UpdateLanguageRequest $request, $id): JsonResponse { $language = Language::whereId($id)->firstOrFail(); $input = $request->all(); $this->languageRepository->updateLanguage($input, $language); return $this->sendSuccess(__('messages.flash.language_update')); } /** * Remove the specified resource from storage. * * * @throws \Exception */ public function destroy(Language $language): JsonResponse { if ($language->is_default == true) { return $this->sendError('Default Language can\'t be deleted.'); } $usesLang = User::whereIsActive(1)->pluck('language')->toArray(); if (in_array($language->iso_code, $usesLang)) { return $this->sendError('Uses Language can\'t be deleted.'); } if ($language->iso_code == getSuperAdminSettingValue('default_language')) { return $this->sendError('Default Setting Language can\'t be deleted.'); } $path = base_path('lang/').$language->iso_code; if (\File::exists($path)) { \File::deleteDirectory($path); $language->delete(); } else { return $this->sendError('Language not deleted.'); } Artisan::call('lang:js'); return $this->sendSuccess('Language deleted successfully.'); } /** * @return Application|Factory|\Illuminate\Contracts\View\View|RedirectResponse */ public function showTranslation(Language $language, Request $request) { $selectedLang = $request->get('name', $language->iso_code); $selectedFile = $request->get('file', 'messages.php'); $langExists = $this->languageRepository->checkLanguageExistOrNot($selectedLang); if (! $langExists) { return redirect()->back()->withErrors($selectedLang.' language not found.'); } $fileExists = $this->languageRepository->checkFileExistOrNot($selectedLang, $selectedFile); if (! $fileExists) { return redirect()->back()->withErrors($selectedFile.' file not found.'); } $oldLang = app()->getLocale(); $data = $this->languageRepository->getSubDirectoryFiles($selectedLang, $selectedFile); $data['id'] = $language->id; app()->setLocale($oldLang); return view('sadmin.languages.translation-manager.index', compact('selectedLang', 'selectedFile'))->with($data); } public function updateTranslation(Language $language, Request $request): RedirectResponse { $lName = $language->iso_code; $fileName = $request->get('file_name'); $fileExists = $this->languageRepository->checkFileExistOrNot($lName, $fileName); if (! $fileExists) { return redirect()->back()->withErrors('File not found.'); } if (! empty($lName)) { $result = $request->except(['_token', 'translate_language', 'file_name']); File::put(base_path('lang/').$lName.'/'.$fileName, ''); } Artisan::call('lang:js'); Flash::success(__('messages.flash.language_update')); return redirect()->route('languages.translation', $language->id); } public function getAllLanguage() { $getAllLanguage = Language::where('status', 1)->get(); $currentLanguage = Language::where([ 'status' => 1, 'iso_code' => getCurrentLanguageName(), ])->value('iso_code'); if (empty($currentLanguage)) { $currentLanguage = Language::where('status', 1)->value('iso_code'); } return $this->sendResponse(['getAllLanguage' => $getAllLanguage, 'currentLanguage' => $currentLanguage], 'language retrieve successfully'); } } PK8\'E|!Controllers/AboutUsController.phpnu[aboutUsRepository = $aboutUsRepository; } /** * @return Application|Factory|View */ public function index(): \Illuminate\View\View { $language = (getLogInUser()->language) ? getLogInUser()->language: 'en'; $aboutUs = AboutUs::where('language',$language)->with('media')->get(); if(!$aboutUs->first()){ $aboutUs =json_decode(json_encode( [ ['id'=>1, 'title'=>'', 'description'=>''], ['id'=>2, 'title'=>'', 'description'=>''], ['id'=>3, 'title'=>'', 'description'=>''] ] ), FALSE); } return view('sadmin.aboutUs.index', compact('aboutUs')); } public function store(CreateAboutUsRequest $request): RedirectResponse { $this->aboutUsRepository->store($request->all()); Flash::success(__('messages.flash.about_us_create')); return redirect(route('aboutUs.index')); } }PK8\lIz.h h 0Controllers/Webhooks/BrasilWebhookController.phpnuIwheader('asaas-access-token') ?? $request->header('x-asaas-token'); $expectedToken = config('services.asaas.webhook_token'); if ($expectedToken && $token !== $expectedToken) { Log::warning('[BrasilWebhook] Invalid token: ' . $token); return response()->json(['error' => 'Unauthorized'], 401); } $payload = $request->all(); $event = $payload['event'] ?? ''; Log::info('[BrasilWebhook] Event: ' . $event, [ 'payment_id' => $payload['payment']['id'] ?? null, 'external_ref' => $payload['payment']['externalReference'] ?? null, ]); return match ($event) { 'PAYMENT_CONFIRMED', 'PAYMENT_RECEIVED' => $this->handlePaymentConfirmed($payload), 'PAYMENT_OVERDUE' => $this->handlePaymentOverdue($payload), 'PAYMENT_DELETED', 'PAYMENT_REFUNDED' => $this->handlePaymentRefunded($payload), default => response()->json(['status' => 'event_ignored']), }; } private function handlePaymentConfirmed(array $payload): JsonResponse { $externalRef = $payload['payment']['externalReference'] ?? null; if (!$externalRef || !str_starts_with($externalRef, 'vcard_')) { Log::warning('[BrasilWebhook] Unknown externalReference: ' . $externalRef); return response()->json(['status' => 'skipped']); } $vcardId = (int) str_replace('vcard_', '', $externalRef); $vcard = Vcard::withTrashed()->find($vcardId); if (!$vcard) { Log::error('[BrasilWebhook] VCard not found: #' . $vcardId); return response()->json(['error' => 'vcard_not_found'], 404); } // Activate the card $vcard->update([ 'status' => 'active', 'payment_deadline' => null, 'nfc_status' => $vcard->nfc_status === 'none' ? 'none' : 'pending', ]); // Restore if soft-deleted before payment if ($vcard->trashed()) { $vcard->restore(); } Log::info("[BrasilWebhook] VCard#{$vcardId} ACTIVATED via PIX/Asaas"); return response()->json(['status' => 'activated', 'vcard_id' => $vcardId]); } private function handlePaymentOverdue(array $payload): JsonResponse { $externalRef = $payload['payment']['externalReference'] ?? null; Log::warning('[BrasilWebhook] Payment OVERDUE: ' . $externalRef); return response()->json(['status' => 'noted']); } private function handlePaymentRefunded(array $payload): JsonResponse { $externalRef = $payload['payment']['externalReference'] ?? null; Log::info('[BrasilWebhook] Payment REFUNDED: ' . $externalRef); return response()->json(['status' => 'noted']); } } PK8\u6Controllers/Webhooks/MultibancoPagamentoController.phpnuIwentityKey = config('services.ifthen.entity_key', ''); $this->subEntityKey = config('services.ifthen.sub_entity_key', ''); $this->antiPhishing = config('services.ifthen.anti_phishing', ''); } /** * Generate a Multibanco reference for a VCard payment * POST /pagamento/multibanco/{vcard} */ public function generate(Request $request, Vcard $vcard): JsonResponse { if ($vcard->user_id !== auth()->id()) { return response()->json(['error' => 'Unauthorized'], 403); } $region = config('app.region', 'PT'); $amount = $region === 'PT' ? 7.00 : 40.00; // Setup 5 + 1 month 2 $orderId = 'vcard_' . $vcard->id . '_' . time(); // Check if already has pending reference $existing = MultibancoReference::where('vcard_id', $vcard->id) ->where('status', 'pending') ->first(); if ($existing) { return response()->json([ 'status' => 'existing', 'entity' => $existing->entity, 'reference' => $existing->reference, 'amount' => $existing->amount, 'expires_at'=> $existing->expires_at, ]); } // Generate reference via IfthenPay API try { $response = Http::post('https://ifthenpay.com/api/multibanco/reference/init', [ 'mbKey' => $this->entityKey, 'orderId' => $orderId, 'amount' => number_format($amount, 2, '.', ''), 'expiryDays'=> 3, ]); if (!$response->ok()) { Log::error('[Multibanco] IfthenPay API error: ' . $response->status()); return response()->json(['error' => 'Gateway error'], 502); } $data = $response->json(); // Store reference in database $ref = MultibancoReference::create([ 'vcard_id' => $vcard->id, 'order_id' => $orderId, 'entity' => $data['Entity'] ?? '11249', 'reference' => $data['Reference'] ?? '', 'amount' => $amount, 'status' => 'pending', 'expires_at' => now()->addDays(3), ]); Log::info("[Multibanco] Reference generated: {$ref->entity}/{$ref->reference} for vcard#{$vcard->id}"); return response()->json([ 'status' => 'created', 'entity' => $ref->entity, 'reference' => $ref->reference, 'amount' => $ref->amount, 'expires_at'=> $ref->expires_at->format('d/m/Y'), 'message' => 'Utilize o ATM ou homebanking para efectuar o pagamento', ]); } catch (\Exception $e) { Log::error('[Multibanco] Exception: ' . $e->getMessage()); return response()->json(['error' => 'Internal error'], 500); } } /** * IfthenPay Webhook payment confirmed * POST /webhooks/portugal */ public function webhook(Request $request): JsonResponse { // Anti-phishing key validation $receivedKey = $request->input('chave') ?? $request->input('anti_phishing_key') ?? $request->header('x-ifthen-key'); if ($this->antiPhishing && $receivedKey !== $this->antiPhishing) { Log::warning('[PortugalWebhook] Invalid anti-phishing key'); return response()->json(['error' => 'Unauthorized'], 401); } $entity = $request->input('entidade') ?? $request->input('entity'); $reference = $request->input('referencia') ?? $request->input('reference'); $amount = (float)($request->input('valor') ?? $request->input('amount') ?? 0); Log::info("[PortugalWebhook] Payment received: {$entity}/{$reference} amount={$amount}"); $ref = MultibancoReference::where('reference', $reference) ->where('entity', $entity) ->where('status', 'pending') ->first(); if (!$ref) { Log::warning("[PortugalWebhook] Reference not found: {$entity}/{$reference}"); return response()->json(['status' => 'reference_not_found']); } // Validate amount (tolerance 1 cent) if (abs($amount - $ref->amount) > 0.01) { Log::warning("[PortugalWebhook] Amount mismatch: expected {$ref->amount}, got {$amount}"); } // Mark reference as paid $ref->update(['status' => 'paid', 'paid_at' => now()]); // Activate VCard $vcard = Vcard::withTrashed()->find($ref->vcard_id); if ($vcard) { $vcard->update([ 'status' => 'active', 'payment_deadline' => null, 'nfc_status' => 'pending', 'nfc_requested_at' => now(), ]); if ($vcard->trashed()) { $vcard->restore(); } Log::info("[PortugalWebhook] VCard#{$vcard->id} ACTIVATED via Multibanco"); } return response()->json(['status' => 'ok', 'vcard_id' => $ref->vcard_id]); } } PK8\bLLControllers/Webhooks/error_lognu[[17-Jun-2026 09:06:12 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/BrasilWebhookController.php:17 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/BrasilWebhookController.php on line 17 [18-Jun-2026 13:29:55 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/MultibancoPagamentoController.php:22 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/MultibancoPagamentoController.php on line 22 [16-Jul-2026 14:57:34 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/MultibancoPagamentoController.php:22 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/MultibancoPagamentoController.php on line 22 [16-Jul-2026 14:58:39 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/BrasilWebhookController.php:17 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Webhooks/BrasilWebhookController.php on line 17 PK8\9_ _ Controllers/AsaasController.phpnuIwapiKey = env('ASAAS_API_KEY'); $this->baseUrl = env('ASAAS_BASE_URL', 'https://api.asaas.com/v3'); } public function showCheckout($planId) { $plan = Plan::with('currency')->findOrFail($planId); abort_unless($plan->currency->currency_code === 'BRL', 403); return view('asaas.checkout', compact('plan')); } public function processPayment(Request $request, $planId) { $request->validate([ 'cpf_cnpj' => ['required','string','min:11','max:18'], 'name' => ['required','string'], 'email' => ['required','email'], ]); $plan = Plan::with('currency')->findOrFail($planId); $cpf = preg_replace('/[^0-9]/', '', $request->cpf_cnpj); $customer = $this->createOrFindCustomer($cpf, $request->name, $request->email); if (!$customer || isset($customer['errors'])) { return back()->withErrors(['asaas' => 'Erro cliente: '.json_encode($customer['errors'] ?? [])]); } $userId = Auth::id(); $charge = $this->createPixCharge($customer['id'], $plan->price, 'Plano '.$plan->name, $planId, $userId); if (!$charge || isset($charge['errors'])) { return back()->withErrors(['asaas' => 'Erro cobranca: '.json_encode($charge['errors'] ?? [])]); } $pixData = $this->getPixQrCode($charge['id']); return view('asaas.pix', compact('plan', 'charge', 'pixData')); } private function createOrFindCustomer($cpfCnpj, $name, $email) { $search = Http::withHeaders(['access_token' => $this->apiKey]) ->get($this->baseUrl.'/customers', ['cpfCnpj' => $cpfCnpj]); if ($search->ok() && $search->json('totalCount') > 0) { return $search->json('data')[0]; } return Http::withHeaders(['access_token' => $this->apiKey]) ->post($this->baseUrl.'/customers', ['name' => $name, 'email' => $email, 'cpfCnpj' => $cpfCnpj]) ->json(); } private function createPixCharge($customerId, $value, $description, $planId, $userId) { return Http::withHeaders(['access_token' => $this->apiKey]) ->post($this->baseUrl.'/payments', [ 'customer' => $customerId, 'billingType' => 'PIX', 'value' => $value, 'dueDate' => date('Y-m-d', strtotime('+1 day')), 'description' => $description, 'externalReference' => 'plan_'.$planId.'_user_'.$userId, ])->json(); } private function getPixQrCode($chargeId) { return Http::withHeaders(['access_token' => $this->apiKey]) ->get($this->baseUrl.'/payments/'.$chargeId.'/pixQrCode') ->json(); } } PK8\t" " !Controllers/EnquiryController.phpnu[all(); $input['vcard_id'] = $vcard->id; $input['vcard_name'] = $vcard->name; $enquiry = Enquiry::create($input); if (isset($input['attachment']) && !empty($input['attachment'])) { $enquiry->addMedia($input['attachment'])->toMediaCollection(Enquiry::ATTACHMENT, config('app.media_disc')); } $email = empty($vcard->email) ? $vcard->user->email : $vcard->email; if (!empty($email)) { Mail::to($email)->send(new ContactUsMail($input, $email)); } setLocalLang(getLocalLanguage()); return $this->sendSuccess(__('messages.placeholder.enquiry_sent')); } public function show($id): JsonResponse { $enquiry = Enquiry::with('vcard', 'media')->where('id', '=', $id)->first(); return $this->sendResponse($enquiry, 'Testimonial successfully retrieved.'); } /** * @return Application|Factory|View * * @throws Exception */ public function enquiryList(Request $request): \Illuminate\View\View { return view('enquiry.list'); } public function destroy(Enquiry $enquiry): JsonResponse { $enquiry->delete(); return $this->sendSuccess('Enquiry deleted successfully.'); } public function inquiriesAttachmentDownload($id) { try { $enquiry = Enquiry::findOrFail($id); $documentMedia = $enquiry->media[0]; $documentPath = $documentMedia->getPath(); if (config('app.media_disc') === 'public') { $documentPath = Str::after($documentMedia->getUrl(), '/uploads'); } $file = Storage::disk(config('app.media_disc'))->get($documentPath); $headers = [ 'Content-Type' => $documentMedia->mime_type, 'Content-Description' => 'File Transfer', 'Content-Disposition' => "attachment; filename={$documentMedia->file_name}", 'filename' => $documentMedia->file_name, ]; return response($file, 200, $headers); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\&|!"&Controllers/PaypalPayoutController.phpnu[get('withdrawalId')); $referenceId = $withdrawal->id; $email = $withdrawal->email; $amount = $withdrawal->amount; $currency = getSuperAdminSettingValue('default_currency'); $clientId = getSelectedPaymentGateway('paypal_client_id'); $clientSecret = getSelectedPaymentGateway('paypal_secret'); $mode = config('paypal.mode'); if ($mode == 'live') { $environment = new ProductionEnvironment($clientId, $clientSecret); } else { $environment = new SandboxEnvironment($clientId, $clientSecret); } if ($currency != null && ! in_array(strtoupper($currency), getPayPalSupportedCurrencies())) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported')); } $client = new PayPalHttpClient($environment); $request = new PayoutsPostRequest(); $note = 'Your '.currencyFormat($amount, 2).' Payout'; $body = json_decode( '{ "sender_batch_header": { "email_subject": "SDK payouts test txn" }, "items": [ { "recipient_type": "EMAIL", "receiver": '.json_encode($email).', "note": "'.$note.'", "sender_item_id": '.json_encode($referenceId).', "amount": { "currency": '.json_encode($currency).', "value": '.json_encode($amount).' } }] }', true); $request->body = $body; $response = $client->execute($request); return $this->sendResponse($response, __('messages.placeholder.withdrawal_request_send')); } } PK8\D@ Controllers/BannerController.phpnu[bannerRepo = $bannerRepo; } public function store(CreateBannerRequest $request) { $input = $request->all(); $this->bannerRepo->store($input ); return redirect()->back()->with('success', ' '.__('messages.flash.vcard_update')); } } PK8\'%L&&#Controllers/NfcOrdersController.phpnu[nfcOrderRepository = $nfcOrderRepository; } public function index() { return view('nfc.index'); } public function create() { $vcards = Vcard::whereTenantId(getLogInTenantId())->where('status', Vcard::ACTIVE)->pluck('name', 'id')->toArray(); $nfcCards = Nfc::all(); $paymentTypes = getPaymentGateway(); $currency = getCurrencyIcon(getSuperAdminSettingValue('default_currency')); return view('nfc.order', compact('vcards', 'nfcCards', 'paymentTypes', 'currency')); } public function getVcardData(Request $request) { $input = $request->all(); $vcard = Vcard::with('socialLink')->findOrFail($input['vcardId']); $data = [ 'id' => $vcard['id'], 'first_name' => $vcard['first_name'], 'last_name' => $vcard['last_name'], 'email' => $vcard['email'], 'occupation' => $vcard['occupation'], 'location' => $vcard['location'], 'phone' => $vcard['phone'], 'region_code' => $vcard['region_code'], 'company' => $vcard['company'], ]; return response()->json(['data' => $data, 'success' => true]); } public function store(NfcOrderRequest $request) { try { DB::beginTransaction(); $input = $request->all(); $input['user_id'] = getLogInUserId(); if($input['payment_method'] != NfcOrders::RAZOR_PAY){ $nfcOrder = NfcOrders::create($input); $nfcOrder->addMedia($input['logo'])->toMediaCollection(NfcOrders::LOGO_PATH); $orderId = $nfcOrder->id; $userId = $nfcOrder->user_id; $email = $input['email']; $nfc = NfcOrders::with('nfcCard')->findOrFail($orderId); } $currency = getSuperAdminSettingValue('default_currency'); if (isset($input['payment_method'])) { // PhonePe if ($input['payment_method'] == 6) { if($currency != "INR") { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_phonepe')); } /** @var PhonepeController $phonepe */ $phonepe = App::make(PhonepeController::class); $result = $phonepe->nfcOrder($orderId, $email, $nfc, $currency); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.phonepe_created')); } // Paystack if ($input['payment_method'] == 5) { if (isset($currency) && !in_array(strtoupper($currency), getPayStackSupportedCurrencies())) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_paystack')); } /** @var PaystackController $paystack */ $paystack = App::make(PaystackController::class); $result = $paystack->nfcOrder($orderId, $email, $nfc, $currency); DB::commit(); $targetUrl = $result->getTargetUrl(); return $this->sendResponse(['payment_method' => $input['payment_method'], $targetUrl], __('messages.placeholder.paystack_created')); } // Flutterwave if ($input['payment_method'] == 7) { $supportedCurrency = ['GBP', 'CAD', 'XAF', 'CLP', 'COP', 'EGP', 'EUR', 'GHS', 'GNF', 'KES', 'MWK', 'MAD', 'NGN', 'RWF', 'SLL', 'STD', 'ZAR', 'TZS', 'UGX', 'USD', 'XOF', 'ZMW']; if (isset($currency) && !in_array(strtoupper($currency), $supportedCurrency)) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_flutterwave')); } /** @var FlutterwaveController $paystack */ $flutterwave = App::make(FlutterwaveController::class); $targetUrl = $flutterwave->nfcOrder($orderId, $email, $nfc, $currency); DB::commit(); return $this->sendResponse(['payment_method' => $input['payment_method'], $targetUrl], __('messages.placeholder.flutterwave_created')); } //Stripe if ($input['payment_method'] == NfcOrders::STRIPE) { $repo = App::make(NfcOrderRepository::class); $result = $repo->userCreateSession($orderId, $email, $nfc, $currency); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.stripe_created')); } // Razor Pay if ($input['payment_method'] == NfcOrders::RAZOR_PAY) { $nfc = Nfc::get()->find($input['card_type']); $nfcOrder = NfcOrders::create($input); $nfcOrder->addMedia($input['logo'])->toMediaCollection(NfcOrders::LOGO_PATH); $orderId = $nfcOrder->id; $userId = $nfcOrder->user_id; $email = $input['email']; Session::put('orderid', $orderId); $repo = App::make(NfcOrderRepository::class); $result = $repo->userCreateRazorPaySession($input, $nfc, $currency); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.nfc.razorpay_session_success')); } //PayPal if ($input['payment_method'] == NfcOrders::PAYPAL) { if (isset($currency) && !in_array( strtoupper($currency), getPayPalSupportedCurrencies() )) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported')); } /** @var PaypalController $payPalCont */ $payPalCont = App::make(PaypalController::class); $result = $payPalCont->nfcOrderOnboard($orderId, $email, $nfc, $currency); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.paypal_created')); } //manual if ($input['payment_method'] == NfcOrders::MANUALLY) { NfcOrderTransaction::create([ 'nfc_order_id' => $orderId, 'type' => NfcOrders::MANUALLY, 'transaction_id' => null, 'amount' => $nfc->nfcCard->price * $nfc->quantity, 'user_id' => $userId, 'status' => NfcOrders::PENDING, ]); $vcardName = VCard::find($nfcOrder['vcard_id'])->name; $cardType = Nfc::find($nfcOrder['card_type'])->name; Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder, $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); DB::commit(); return redirect(route('user.orders')); } } } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } public function updatePaymentStatus(NfcOrderTransaction $transaction) { $transaction->update([ 'status' => NfcOrders::SUCCESS, ]); return $this->sendSuccess(__('messages.nfc.payment_status_update_success')); } public function updateOrderStatus(Request $request, NfcOrders $order) { $status = $request['status']; $order->update([ 'order_status' => $status, ]); Mail::to($order['email'])->send(new NfcOrderStatusMail($order,$status)); return $this->sendSuccess(__('messages.nfc.order_status_update_success')); } public function show($nfcOrder) { $nfcCardOrder = NfcOrders::with('nfcTransaction','vcard','nfcCard','nfcPaymentType')->select('*')->findOrFail($nfcOrder); return view('nfc.columns.show', compact('nfcCardOrder')); } public function nfcCardDetails(Request $request): JsonResponse { $nfcCardDetails = Nfc::with('media') // Eager load the 'media' relationship ->whereId($request->id) ->first(); $currency = getCurrencyIcon(getSuperAdminSettingValue('default_currency')); return $this->sendResponse($nfcCardDetails,$currency, 'Nfc Card data successfully retrieved.'); } } PK8\jr-- Controllers/StripeController.phpnu[findOrFail($request->plan_id); setStripeApiKey(); $session = Session::create([ 'payment_method_types' => ['card'], 'customer_email' => getLogInUser()->email, 'line_items' => [ [ 'name' => $plan->name, 'amount' => ! in_array( $plan->currency->currency_code, zeroDecimalCurrencies() ) ? removeCommaFromNumbers($plan->price) * 100 : removeCommaFromNumbers($plan->price), 'currency' => $plan->currency->currency_code, 'quantity' => 1, ], ], 'success_url' => route('stripe.success', $plan->id) . '?session_id={CHECKOUT_SESSION_ID}', 'cancel_url' => route('stripe.failed') . '?error=payment_cancelled', ]); $result = [ 'sessionId' => $session['id'], ]; return $this->sendResponse($result, 'Subscription resumed successfully.'); } /** * @return Application|RedirectResponse|Redirector * * @throws Exception */ public function paymentSuccess(Request $request, Plan $plan): View { $sessionId = $request->get('session_id'); if (empty($sessionId)) { throw new UnprocessableEntityHttpException('session_id required'); } try { setStripeApiKey(); $sessionData = Session::retrieve($sessionId); DB::beginTransaction(); Transaction::create([ 'transaction_id' => $sessionData->payment_intent, 'amount' => $sessionData->amount_total / 100, 'type' => Transaction::STRIPE, ]); Subscription::whereTenantId(getLogInTenantId()) ->whereIsActive(true)->update(['is_active' => false]); $expiryDate = setExpiryDate($plan); Subscription::create([ 'plan_id' => $plan->id, 'expiry_at' => $expiryDate, 'is_active' => true, ]); AffiliateUser::whereUserId(getLogInUserId())->withoutGlobalScopes() ->update(['is_verified' => 1]); DB::commit(); Flash::success(__('messages.placeholder.purchased_plan')); return view('sadmin.plans.payment.paymentSuccess'); } catch (ApiErrorException $e) { DB::rollBack(); throw new Exception($e->getMessage(), $e->getCode()); } } public function paymentFailed(Request $request): View { return view('sadmin.plans.payment.paymentcancel'); } /** * @return Application|RedirectResponse|Redirector * * @throws Exception */ public function userPaymentSuccess(Request $request): RedirectResponse { $sessionId = $request->get('session_id'); if (empty($sessionId)) { throw new UnprocessableEntityHttpException('session_id required'); } $vcard = Vcard::with('tenant.user', 'template')->where('id', $request->get('vcard_id'))->first(); $userId = $vcard->tenant->user->id; try { setUserStripeApiKey($userId); $sessionData = Session::retrieve($sessionId); $currencyId = Currency::whereCurrencyCode($sessionData->currency)->first()->id; DB::beginTransaction(); $appointmentTran = AppointmentTransaction::create([ 'vcard_id' => $vcard->id, 'transaction_id' => $sessionData->payment_intent, 'currency_id' => $currencyId, 'amount' => $sessionData->amount_total / 100, 'tenant_id' => $vcard->tenant->id, 'type' => Appointment::STRIPE, 'status' => Transaction::SUCCESS, 'meta' => json_encode($sessionData), ]); $appointmentInput = session()->get('appointment_details'); session()->forget('appointment_details'); $appointmentInput['appointment_tran_id'] = $appointmentTran->id; /** @var AppointmentRepository $appointmentRepo */ $appointmentRepo = App::make(AppointmentRepository::class); $vcardEmail = is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email; $appointmentRepo->appointmentStoreOrEmail($appointmentInput, $vcardEmail); $url = ($vcard->template->name == 'vcard11') ? $vcard->url_alias . '/contact' : $vcard->url_alias; App::setLocale(FacadesSession::get('languageChange_' . $vcard->url_alias)); DB::commit(); Flash::success('Payment successfully done'); return redirect(route('vcard.show', [$url, __('messages.placeholder.appointment_created')])); } catch (ApiErrorException $e) { DB::rollBack(); throw new Exception($e->getMessage(), $e->getCode()); } } /** * @return Application|RedirectResponse|Redirector */ public function userHandleFailedPayment(Request $request): RedirectResponse { session()->forget('appointment_details'); $vcardId = $request->get('vcard_id'); $vcard = Vcard::findOrFail($vcardId); Flash::error(__('messages.placeholder.payment_cancel')); return redirect(route('vcard.show', $vcard->url_alias)); } public function productBuySuccess(Request $request): RedirectResponse { $sessionId = $request->get('session_id'); if (empty($sessionId)) { throw new UnprocessableEntityHttpException('session_id required'); } $input = session()->get('input'); session()->forget('input'); $product = Product::whereId($input['product_id'])->first(); $userId = $product->vcard->user->id; if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyId = Currency::whereId($product->currency_id)->first()->id; try { setUserStripeApiKey($userId); $sessionData = Session::retrieve($sessionId); DB::beginTransaction(); ProductTransaction::create([ 'product_id' => $input['product_id'], 'name' => $input['name'], 'email' => $input['email'], 'phone' => $input['phone'], 'address' => $input['address'], 'currency_id' => $currencyId, 'meta' => json_encode($sessionData), 'type' => $input['payment_method'], 'transaction_id' => $sessionData->payment_intent, 'amount' => $sessionData->amount_total / 100, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $input['name'], 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $input['phone'], 'address' => $input['address'], 'payment_type' => __('messages.stripe'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $userId)) { Mail::to($input['email'])->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $userId)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $vcard = $product->vcard; App::setLocale(FacadesSession::get('languageChange_' . $vcard->url_alias)); DB::commit(); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias, __('messages.placeholder.product_purchase')])); } catch (ApiErrorException $e) { DB::rollBack(); throw new Exception($e->getMessage(), $e->getCode()); } } public function productBuyFailed(): RedirectResponse { $input = session()->get('input'); session()->forget('input'); $product = Product::whereId($input['product_id'])->first(); $vcard = $product->vcard; return redirect(route('showProducts', [$vcard->id, $vcard->url_alias])); } public function nfcPurchaseSuccess(Request $request) { $input = $request->all(); $nfcOrder = NfcOrders::get()->find($input['order_id']); $sessionId = $input['session_id']; setStripeApiKey(); $sessionData = Session::retrieve($sessionId); if (empty($sessionId)) { throw new UnprocessableEntityHttpException('session_id required'); } NfcOrderTransaction::create([ 'nfc_order_id' => $input['order_id'], 'type' => NfcOrders::STRIPE, 'transaction_id' => $sessionData->payment_intent, 'amount' => $sessionData->amount_total / 100, 'user_id' => getLogInUser()->id, 'status' => NfcOrders::SUCCESS, ]); $vcardName = VCard::find($nfcOrder['vcard_id'])->name; $cardType = Nfc::find($nfcOrder['card_type'])->name; App::setLocale(getLogInUser()->language); Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder, $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); return redirect(route('user.orders')); } public function nfcPurchaseFailed(Request $request) { $input = $request->all(); $sessionId = $input['session_id']; setStripeApiKey(); $sessionData = Session::retrieve($sessionId); NfcOrderTransaction::create([ 'nfc_order_id' => $input['order_id'], 'type' => NfcOrders::STRIPE, 'amount' => $sessionData->amount_total / 100, 'user_id' => getLogInUser()->id, 'status' => NfcOrders::FAIL, ]); Flash::error(__('messages.placeholder.payment_cancel')); return redirect(route('user.orders')); } } PK8\7f f #Controllers/DashboardController.phpnu[dashboardRepository = $dashboardRepo; } /** * @return Application|Factory|View */ public function index(): \Illuminate\View\View { $activeUsersCount = User::whereHas('roles', function ($q) { $q->where('name', '!=', 'super_admin'); })->where('is_active', 1)->count(); $deActiveUsersCount = User::whereHas('roles', function ($q) { $q->where('name', '!=', 'super_admin'); })->where('is_active', 0)->count(); $enquiry = $this->dashboardRepository->getEnquiryCountAttribute(); $appointment = $this->dashboardRepository->getAppointmentCountAttribute(); if (\Request::is('sadmin/dashboard')) { $activeVcard = Vcard::whereStatus(1)->count(); $deActiveVcard = Vcard::whereStatus(0)->count(); return view('dashboard.index', compact('activeUsersCount', 'deActiveUsersCount', 'activeVcard', 'deActiveVcard')); } $activeVcard = Vcard::whereTenantId(auth()->user()->tenant_id)->whereStatus(1)->count(); $deActiveVcard = Vcard::whereTenantId(auth()->user()->tenant_id)->whereStatus(0)->count(); return view('dashboard.index', compact('enquiry', 'appointment', 'activeVcard', 'deActiveVcard')); } public function getUsersList(Request $request): JsonResponse { $input = $request->all(); $data['users'] = $this->dashboardRepository->usersData($input); return $this->sendResponse($data, 'Users retrieved successfully.'); } public function appointments(): JsonResponse { $vcardIds = Vcard::toBase()->whereTenantId(getLogInTenantId())->pluck('id')->toArray(); $today = Carbon::now()->format('Y-m-d'); $appointments = ScheduleAppointment::with('vcard')->whereIn('vcard_id', $vcardIds)->whereDate('date', $today)->orderBy('created_at', 'DESC') ->paginate(5); return $this->sendResponse($appointments, 'Appointment retrieved successfully.'); } public function planChartData(): JsonResponse { $data = $this->dashboardRepository->planChartData(); return $this->sendResponse($data, 'Plan chart data fetch successfully.'); } public function incomeChartData(Request $request): JsonResponse { $input = $request->all(); $data = $this->dashboardRepository->incomeChartData($input); return $this->sendResponse($data, 'Income chart data fetch successfully.'); } } PK8\LELL%Controllers/TestimonialController.phpnu[testimonialRepo = $testimonialRepo; } public function store(CreateTestimonialRequest $request): JsonResponse { $input = $request->all(); $testimonial = $this->testimonialRepo->store($input); return $this->sendResponse($testimonial, __('messages.flash.create_testimonial')); } public function edit(Testimonial $testimonial): JsonResponse { return $this->sendResponse($testimonial, 'Testimonial successfully retrieved.'); } public function update(UpdateTestimonialRequest $request, Testimonial $testimonial): JsonResponse { $input = $request->all(); $testimonial = $this->testimonialRepo->update($input, $testimonial->id); return $this->sendResponse($testimonial, __('messages.flash.update_testimonial')); } public function destroy(Testimonial $testimonial): JsonResponse { $testimonial->clearMediaCollection(Testimonial::TESTIMONIAL_PATH); $testimonial->delete(); return $this->sendSuccess('Testimonial deleted successfully.'); } } PK8\C&&)Controllers/UserFlutterwaveController.phpnu[ $clientId, 'flutterwave.secretKey' => $clientSecret, ]); $reference = FlutterWave::generateReference(); $data = [ 'payment_options' => 'card,banktransfer', 'amount' => $amount, 'email' => $vcard->tenant->user->email, 'tx_ref' => $reference, 'currency' => $currencyCode, 'redirect_url' => route('flutterwave.appointment.success'), 'customer' => [ 'email' => getLogInUser()->email, ], 'customizations' => [ 'title' => 'Appointment Book Payment', ], 'meta' => [ 'vcard_id' => $vcard->id, 'amount' => $amount, 'payment_mode' => Appointment::FLUTTERWAVE, ], ]; $payment = FlutterWave::initializePayment($data); if ($payment['status'] !== 'success') { return redirect()->route('vcard.show', ['alias' => $vcard->url_alias]); } session(['vcard_user_id' => $userId, 'tenant_id' => $vcard->tenant->id, 'vcard_id' => $vcard->id, 'appointment_details' => $input]); $url = $payment['data']['link']; return $url; } public function flutterwaveAppointmentSuccess(Request $request) { $input = $request->all(); $userId = session()->get('vcard_user_id'); $currencyCode = Currency::whereId(getUserSettingValue('currency_id', $userId))->first(); $clientId = getUserSettingValue('flutterwave_key', $userId); $clientSecret = getUserSettingValue('flutterwave_secret', $userId); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); if ($input['status'] == 'successful') { $transactionID = FlutterWave::getTransactionIDFromCallback(); $flutterWaveData = FlutterWave::verifyTransaction($transactionID); $data = $flutterWaveData['data']; $amount = $data['amount']; $vcardId = $data['meta']['vcard_id']; $tenantId = session()->get('tenant_id'); $transactionId = $input['transaction_id']; $currencyCode = $data['currency']; $currencyId = Currency::whereCurrencyCode($currencyCode)->first()->id; $vcard = Vcard::with('tenant.user')->where('id', $vcardId)->first(); $transactionDetails = [ 'vcard_id' => $vcardId, 'transaction_id' => $transactionId, 'currency_id' => $currencyId, 'amount' => $amount, 'tenant_id' => $tenantId, 'type' => Appointment::FLUTTERWAVE, 'status' => Transaction::SUCCESS, 'meta' => json_encode($data), ]; $appointmentTran = AppointmentTransaction::create($transactionDetails); $appointmentInput = session()->get('appointment_details'); session()->forget('appointment_details'); $appointmentInput['appointment_tran_id'] = $appointmentTran->id; /** @var AppointmentRepository $appointmentRepo */ $appointmentRepo = App::make(AppointmentRepository::class); $vcardEmail = is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email; $appointmentRepo->appointmentStoreOrEmail($appointmentInput, $vcardEmail); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id']); Flash::success(__('messages.placeholder.payment_done')); App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); return redirect(route('vcard.show', [$vcard->url_alias, __('messages.placeholder.appointment_created')])); } } public function productBuy($input, $product) { $userId = $product->vcard->user->id; $vcard = $product->vcard; $clientId = getUserSettingValue('flutterwave_key', $userId); $clientSecret = getUserSettingValue('flutterwave_secret', $userId); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyCode = Currency::whereId($product->currency_id)->first()->currency_code; $email = $input['email']; $productId = $product->id; $productAmount = $product->price; $reference = FlutterWave::generateReference(); $data = [ 'payment_options' => 'card,banktransfer', 'amount' => $productAmount, 'email' => is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email, 'tx_ref' => $reference, 'currency' => $currencyCode, 'redirect_url' => route('flutterwave.product.success'), 'customer' => [ 'email' => $email, ], 'customizations' => [ 'title' => 'Product Buy Payment', ], 'meta' => [ 'product_id' => $productId, 'amount' => $productAmount, 'payment_mode' => Product::FLUTTERWAVE, ], ]; $payment = FlutterWave::initializePayment($data); if ($payment['status'] !== 'success') { return redirect()->route('showProducts', [$vcard->id, $vcard->url_alias]); } session()->put(['input' => $input]); session()->put(['vcard_user_id' => $userId]); $url = $payment['data']['link']; return $url; } public function flutterwaveProductSuccess(Request $request) { $input = $request->all(); $userId = session()->get('vcard_user_id'); $clientId = getUserSettingValue('flutterwave_key', $userId); $clientSecret = getUserSettingValue('flutterwave_secret', $userId); config([ 'flutterwave.publicKey' => $clientId, 'flutterwave.secretKey' => $clientSecret, ]); if ($input['status'] == 'successful') { $transactionID = FlutterWave::getTransactionIDFromCallback(); $flutterWaveData = FlutterWave::verifyTransaction($transactionID); $data = $flutterWaveData['data']; $amount = $data['amount']; $transactionId = $input['transaction_id']; $sessionInput = session()->get('input'); $product = Product::whereId($sessionInput['product_id'])->first(); if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyId = Currency::whereId($product->currency_id)->first()->id; ProductTransaction::create([ 'product_id' => $sessionInput['product_id'], 'name' => $sessionInput['name'], 'email' => $sessionInput['email'], 'phone' => $sessionInput['phone'], 'address' => $sessionInput['address'], 'currency_id' => $currencyId, 'meta' => json_encode($data), 'type' => $sessionInput['payment_method'], 'transaction_id' => $transactionId, 'amount' => $amount, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $sessionInput['name'], 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $sessionInput['phone'], 'address' => $sessionInput['address'], 'payment_type' => __('messages.flutterwave'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $userId)) { Mail::to($sessionInput['email'])->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $userId)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $vcard = $product->vcard; App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); session()->forget('input'); session()->forget('vcard_user_id'); DB::commit(); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias, __('messages.placeholder.product_purchase')])); } } } PK8\[55*Controllers/VcardSubscribersController.phpnu[all(); $input['vcard_id'] = Vcard::whereUrlAlias($input['vcard_alias'])->first()->id; if (isset($input['subscribe']) && $input['subscribe'] == "true") { VcardSubscribers::create($input); return $this->sendSuccess('User subscribed successfully.'); } $playerExist = VcardSubscribers::where('player_id', $input['player_id'])->first(); if ($playerExist) { $exist = VcardSubscribers::where('player_id', $input['player_id']) ->where('vcard_id', $input['vcard_id']) ->first(); if (!$exist) { return $this->sendError("Error"); } } else { VcardSubscribers::create($input); } return $this->sendSuccess('User subscribed successfully.'); } } PK8\>Ł##"Controllers/PaystackController.phpnu[subscriptionRepository = $subscriptionRepository; } public function redirectToGateway(Request $request) { $clientId = getSelectedPaymentGateway('paystack_key'); $clientSecret = getSelectedPaymentGateway('paystack_secret'); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); $supportedCurrency = ['NGN', 'USD', 'GHS', 'ZAR', 'KES']; $plan = Plan::with('currency')->findOrFail($request->planId); if ($plan->currency->currency_code != null && !in_array(strtoupper($plan->currency->currency_code), getPayStackSupportedCurrencies())) { Flash::error(__('messages.placeholder.this_currency_is_not_supported_paystack')); return Redirect()->back(); } $data = $this->subscriptionRepository->manageSubscription($request->all()); if (!isset($data['plan'])) { if (isset($data['status']) && $data['status'] == true) { Flash::error(__('messages.subscription_pricing_plans.has_been_subscribed')); return Redirect()->back(); } else { if (isset($data['status']) && $data['status'] == false) { Flash::error(__('messages.placeholder.cannot_switch_to_zero')); return Redirect()->back(); } } } $subscriptionsPricingPlan = $data['plan']; $subscription = $data['subscription']; try { $request->merge([ 'email' => $request->user()->email, 'orderID' => $subscription->id, 'amount' => $data['amountToPay'] * 100, 'quantity' => 1, 'currency' => $plan->currency->currency_code, 'reference' => Paystack::genTranxRef(), 'metadata' => json_encode(['subscription_id' => $subscription->id]), ]); return Paystack::getAuthorizationUrl()->redirectNow(); } catch (\Exception $e) { Flash::error(__('messages.setting.paystack_credential')); return Redirect()->back(); } } public function handleGatewayCallback(Request $request) { $clientId = getSelectedPaymentGateway('paystack_key'); $clientSecret = getSelectedPaymentGateway('paystack_secret'); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); $response = Paystack::getPaymentData(); $transactionID = $response['data']['id']; $transactionAmount = $response['data']['requested_amount'] / 100; $subscriptionId = $response['data']['metadata']['subscription_id'] ?? null; try { if(isset($subscriptionId)){ Subscription::findOrFail($subscriptionId)->update([ 'payment_type' => Subscription::PAYSTACK, 'status' => Subscription::ACTIVE ]); // De-Active all other subscription Subscription::whereTenantId(getLogInTenantId()) ->where('id', '!=', $subscriptionId) ->where('status', '!=', Subscription::REJECT) ->update([ 'status' => Subscription::INACTIVE, ]); $transaction = Transaction::create([ 'transaction_id' => $transactionID, 'type' => Transaction::PAYSTACK, 'amount' => $transactionAmount, 'status' => Subscription::ACTIVE, 'meta' => json_encode($response), ]); // updating the transaction id on the subscription table $subscription = Subscription::findOrFail($subscriptionId); $planName = $subscription->plan->name; $subscription->update(['transaction_id' => $transaction->id]); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if($affiliateAmountType == 1){ AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount,'is_verified' => 1]); }else if($affiliateAmountType == 2){ $amount = $transactionAmount * $affiliateAmount / 100; AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount,'is_verified' => 1]); } $userEmail = getLogInUser()->email; $firstName = getLogInUser()->first_name; $lastName = getLogInUser()->last_name; $emailData = [ 'first_name' => $firstName, 'last_name' => $lastName, 'planName' => $planName, ]; manageVcards(); Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); return view('sadmin.plans.payment.paymentSuccess'); }else{ $orderId = session()->get('order_id'); $type = NfcOrders::PAYSTACK; $transactionId = $response['data']['id']; $amount = $response['data']['requested_amount']/100; $userId = NfcOrders::findOrFail($orderId)->user_id; $status = NfcOrders::SUCCESS; $nfcOrder = NfcOrders::get()->find($orderId); $transactionDetails = [ 'nfc_order_id' => $orderId, 'type' => $type, 'transaction_id' => $transactionId, 'amount' => $amount, 'user_id' => $userId, 'status' => $status, ]; NfcOrderTransaction::create($transactionDetails); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id', 'order_details', 'order_id']); $vcardName = Vcard::find($nfcOrder['vcard_id'])->name; $cardType = Nfc::find($nfcOrder['card_type'])->name; Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder, $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); return redirect(route('user.orders')); } } catch (HttpException $ex) { print_r($ex->getMessage()); } } public function nfcOrder($orderId, $email, $nfc, $currency) { $clientId = getSelectedPaymentGateway('paystack_key'); $clientSecret = getSelectedPaymentGateway('paystack_secret'); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); try { $data = [ 'email' => $nfc->email, 'orderID' => $orderId, 'amount' => $nfc->nfcCard->price * $nfc->quantity * 100, 'quantity' => 1, 'currency' => $currency, 'reference' => Paystack::genTranxRef(), 'metadata' => json_encode(['nfc_id' => $orderId]), ]; $result = Paystack::getAuthorizationUrl($data)->redirectNow(); session()->put(['order_details' => $nfc,'order_id' => $orderId]); return $result; } catch (\Exception $e) { Flash::error(__('messages.setting.paystack_credential')); return Redirect()->back(); } } } PK8\V3Controllers/HomeController.phpnu[where('language', $language)->get(); $faqs = FrontFAQs::where('language', $language)->first(); $metas = Meta::first(); if (! empty($metas)) { $metas = $metas->toArray(); } $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $aboutUS = AboutUs::with('media')->where('language', $language)->get()->toArray(); $features = Feature::where('language', $language)->get(); // Isolamento regional de planos por hostname $host = request()->getHost(); $currencyCode = 'EUR'; // default Europa if (str_contains($host, '.com.br')) { $currencyCode = 'BRL'; } elseif (str_contains($host, '.pt')) { $currencyCode = 'EUR'; } $plans = Plan::with(['currency', 'planFeature', 'hasZeroPlan', 'planCustomFields']) ->whereIsDefault(Plan::IS_DEACTIVE) ->whereStatus(Plan::IS_ACTIVE) ->whereHas('currency', function ($q) use ($currencyCode) { $q->where('currency_code', $currencyCode); }) ->get(); $homePage = getSuperAdminSettingValue('home_page_theme') == 1 ? 'home' : 'home1'; $view = getSuperAdminSettingValue('is_front_page') ? view("front.home.$homePage", compact('plans', 'setting', 'features', 'testimonials', 'aboutUS', 'metas', 'faqs')) : redirect(route('login')); return $view; } public function store(CreateContactRequest $request) { $input = $request->all(); $user = getSuperAdminEmail(); ContactUs::create($input); Mail::to($user) ->send(new LandingContactUsMail( $input, __('messages.placeholder.message_sent') )); return $this->sendSuccess(__('messages.placeholder.message_sent')); } /** * @return Application|Factory|View */ public function showContactUs(): \Illuminate\View\View { return view('sadmin.contactus.index'); } public function destroyContactUs(ContactUs $enquiry): JsonResponse { $enquiry->delete(); return $this->sendSuccess(__('messages.flash.enquiry_delete')); } public function themeConfiguration(): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key'); $view = view('settings.theme_config.index', compact('setting')); return $view; } public function changeLanguage(Request $request): RedirectResponse { Session::put('languageName', $request->input('languageName')); return redirect()->back(); } public function banner(Request $request): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key'); return view('sadmin.supportBanner.index', compact('setting')); } public function appDownload(Request $request): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key'); return view('sadmin.supportMobile.index', compact('setting')); } /** * @return Application|Factory|View|RedirectResponse|Redirector */ public function termCondition() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); $view = view('front.terms_conditions', compact('setting', 'faqs')); return $view; } /** * @return Application|Factory|View */ public function privacyPolicy(): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); return view('front.privacy_policy', compact('setting', 'faqs')); } public function declineCookie() { session(['declined' => 1]); } public function vcardTemplates() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); return view('front.home.vcards-templates', compact('setting', 'faqs')); } public function forntFaq() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $blogs = Blog::where('status', '1')->get(); $faq = FrontFAQs::where('language', $language)->get(); $faqs = FrontFAQs::where('language', $language)->first(); if (getSuperAdminSettingValue('home_page_theme') == 2) { return view('front.home.home-faq1', compact('setting', 'faq', 'faqs', 'blogs')); } else { return view('front.home.home-faq', compact('setting', 'faq', 'faqs', 'blogs')); } } public function ForntBlog() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $blogs = Blog::where('status', '1')->get(); $faqs = FrontFAQs::where('language', $language)->first(); if (getSuperAdminSettingValue('home_page_theme') == 2) { return view('front.home.home-blog1', compact('blogs', 'faqs', 'setting')); } else { return view('front.home.home-blog', compact('blogs', 'faqs', 'setting')); } } public function ForntBlogShow($slug) { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); $blog = Blog::where('slug', $slug)->first(); if (!$blog->status) { abort(404); } if (getSuperAdminSettingValue('home_page_theme') == 2) { return view('front.home.home-blog-show1', compact('blog', 'faqs', 'setting')); } else { return view('front.home.home-blog-show', compact('blog', 'faqs', 'setting')); } } } PK8\:ʨ0!Controllers/GalleryController.phpnu[galleryRepo = $galleryRepo; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request, $id) { } /** * Store a newly created resource in storage. * * @return \Illuminate\Http\Response */ public function store(CreateGalleryRequest $request) { $input = $request->all(); $this->galleryRepo->store($input); return $this->sendSuccess(__('messages.placeholder.gallery_created')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Gallery $gallery) { return $this->sendResponse($gallery, 'Gallery successfully retrieved.'); } /** * Update the specified resource in storage. * * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdateGalleryRequest $request, Gallery $gallery) { $input = $request->all(); $this->galleryRepo->update($input, $gallery->id); return $this->sendSuccess(__('messages.placeholder.gallery_updated')); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(gallery $gallery) { $gallery->clearMediaCollection(GALLERY::GALLERY_PATH); $gallery->delete(); return $this->sendSuccess('VCard service deleted successfully.'); } } PK8\C  -Controllers/AffiliationWithdrawController.phpnu[plan; if (! $currentPlan->planFeature->affiliation) { return redirect()->route('admin.dashboard'); } $currentUserId = Auth::id(); $totalAmount = AffiliateUser::whereAffiliatedBy($currentUserId)->sum('amount'); $currentAmount = currentAffiliateAmount($currentUserId); return view('user-settings.affiliationWithdraw.index', compact('totalAmount', 'currentAmount')); } public function withdrawAmount(createWithdrawAmountRequest $request) { $currentUserId = getLogInUserId(); $inProcessWithdrawal = Withdrawal::whereUserId($currentUserId)->whereIsApproved(Withdrawal::INPROCESS)->first(); if ($inProcessWithdrawal) { return $this->sendError(__('messages.affiliation.withdraw_pending')); } $input = $request->all(); if ($input['amount'] > currentAffiliateAmount()) { return $this->sendError(__('messages.affiliation.withdraw_more_than_balance')); } if ($input['paypal_email'] == null && $input['bank_details'] == null) { return $this->sendError(__('Enter your PayPal Email or Bank Details')); } if (!empty($input['paypal_email']) && (getUserSettingValue('paypal_email', $currentUserId) != $input['paypal_email'])) { return $this->sendError(__('messages.affiliation.paypal_email_not_match')); } $withdrawal = new Withdrawal(); $withdrawal->amount = $input['amount']; $withdrawal->user_id = $currentUserId; $withdrawal->email = $input['paypal_email'] ?? null; $withdrawal->bank_details = $input['bank_details'] ?? null; $withdrawal->is_approved = Withdrawal::INPROCESS; $withdrawal->save(); return $this->sendResponse($withdrawal, __('messages.affiliation.withdraw_request_sent')); } public function affiliationWithdraw(): View { return view('sadmin.affiliationWithdraw.index'); } public function changeWithdrawalStatus(Request $request, $id, $approval) { $rejectionNote = $request->rejectionNote; $meta = $request->meta; $withdrawal = Withdrawal::find($id); $withdrawal->update([ 'is_approved' => $approval, 'rejection_note' => ($approval == Withdrawal::REJECTED) ? $rejectionNote : null, ]); if ($approval == Withdrawal::APPROVED) { WithdrawalTransaction::create([ 'withdrawal_id' => $withdrawal->id, 'amount' => $withdrawal->amount, 'paid_by' => $meta ? WithdrawalTransaction::PAYPAL : WithdrawalTransaction::MANUALLY, 'payment_meta' => $meta, ]); } SendWithdrawRequestMailJob::dispatch($withdrawal->id, $approval); return $this->sendResponse($withdrawal, __('messages.affiliation.withdrawal_update')); } public function withdrawTransaction(): View { return view('sadmin.withdrawalTransactions.index'); } public function showAffiliationWithdraw($id) { $affiliationWithdraw = Withdrawal::with('user')->find($id); $affiliationWithdraw['formattedAmount'] = currencyFormat($affiliationWithdraw->amount, 2); if (isAdmin() && $affiliationWithdraw->user_id !== getLogInUserId()) { return $this->sendError('Withdrawal data not found'); } return $this->sendResponse($affiliationWithdraw, 'Withdrawal data retrieved successfully.'); } public function sendInvite(Request $request) { $affiliateCode = getLogInUser()->affiliate_code; $affliateName = getLogInUser()->full_name; $referralURL = URL::to('/register?referral-code=' . $affiliateCode); $input = [ 'referralUrl' => $referralURL, 'username' => $affliateName, ]; Mail::to($request['email']) ->send(new SendinviteMail($input, $request['email'])); return $this->sendSuccess('Successfully send'); } } PK8\ZG::!Controllers/PhonepeController.phpnu[subscriptionRepository = $subscriptionRepository; } public function phonePe(Request $request) { $data = $this->subscriptionRepository->manageSubscription($request->all()); $subscription = $data['subscription']; $currency =$subscription->plan->currency->currency_code; if($currency != "INR") { Flash::error(__('messages.placeholder.this_currency_is_not_supported_phonepe')); return redirect()->back(); } $email = $request->user()->email; $amount = $data['amountToPay']; $redirectbackurl = route('phonepe-subscription-response'). '?' . http_build_query(['subscriptionId' => $subscription->id , 'userId' => getLogInUserId()]); $merchantId = getSelectedPaymentGateway('phonepe_merchant_id'); $merchantUserId = getSelectedPaymentGateway('phonepe_merchant_id'); $baseUrl = getSelectedPaymentGateway('phonepe_env') == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getSelectedPaymentGateway('phonepe_salt_key'); $saltIndex = getSelectedPaymentGateway('phonepe_salt_index'); $callbackurl = route('phonepe-subscription-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.redirectUrl' => $redirectbackurl, 'phonepe.callBackUrl' => $callbackurl, ]); $transactionId = date('dmYhmi') . rand(111111, 999999); $data = array( 'merchantId' => $merchantId, 'merchantTransactionId' => $transactionId, 'merchantUserId' => $merchantUserId, 'amount' => $amount * 100, 'redirectUrl' => $redirectbackurl, 'redirectMode' => 'POST', 'callbackUrl' => $callbackurl, 'paymentInstrument' => array( 'type' => 'PAY_PAGE', ), ); $encode = base64_encode(json_encode($data)); $string = $encode . '/pg/v1/pay' . $saltKey; $sha256 = hash('sha256', $string); $finalXHeader = $sha256 . '###' . $saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl . '/pg/v1/pay', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode(['request' => $encode]), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'X-VERIFY: ' . $finalXHeader ), )); $response = curl_exec($curl); curl_close($curl); $rData = json_decode($response); $url = $rData->data->instrumentResponse->redirectInfo->url; return redirect()->away($url); } public function callbackPhonePe(Request $request) { $merchantId = getSelectedPaymentGateway('phonepe_merchant_id'); $merchantUserId = getSelectedPaymentGateway('phonepe_merchant_id'); $baseUrl = getSelectedPaymentGateway('phonepe_env') == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getSelectedPaymentGateway('phonepe_salt_key'); $saltIndex = getSelectedPaymentGateway('phonepe_salt_index'); $callbackurl = route('phonepe-subscription-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.callBackUrl' => $callbackurl, ]); $finalXHeader = hash('sha256','/pg/v1/status/'.$request['merchantId'].'/'.$request['transactionId'].$saltKey).'###'.$saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl.'/pg/v1/status/'.$request['merchantId'].'/'.$request['transactionId'], CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'accept: application/json', 'X-VERIFY: '.$finalXHeader, 'X-MERCHANT-ID: '.$request['merchantId'] ), )); $responses = curl_exec($curl); $response = json_decode($responses); curl_close($curl); try { $transactionID = $response->data->transactionId; $transactionAmount = $response->data->amount / 100; $subscriptionId = request()->input('subscriptionId'); $userId = request()->input('userId'); Auth::loginUsingId($userId); Subscription::findOrFail($subscriptionId)->update([ 'payment_type' => Subscription::PHONEPE, 'status' => Subscription::ACTIVE ]); Subscription::findOrFail($subscriptionId)->get(); // De-Active all other subscription Subscription::whereTenantId(getLogInTenantId()) ->where('id', '!=', $subscriptionId) ->where('status', '!=', Subscription::REJECT) ->update([ 'status' => Subscription::INACTIVE, ]); $transaction = Transaction::create([ 'transaction_id' => $transactionID, 'type' => Transaction::PHONEPE, 'amount' => $transactionAmount, 'status' => Subscription::ACTIVE, 'meta' => json_encode($response), ]); // updating the transaction id on the subscription table $subscription = Subscription::findOrFail($subscriptionId); $subscription->update(['transaction_id' => $transaction->id]); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if($affiliateAmountType == 1){ AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount,'is_verified' => 1]); }else if($affiliateAmountType == 2){ $amount = $transactionAmount * $affiliateAmount / 100; AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount,'is_verified' => 1]); } $planName = $subscription->plan->name; $userEmail = getLogInUser()->email; $firstName = getLogInUser()->first_name; $lastName = getLogInUser()->last_name; $emailData = [ 'subscriptionId' => $subscriptionId, 'subscriptionAmount' => $transactionAmount, 'transactionID' => $transactionID, 'planName' => $planName, 'first_name' => $firstName, 'last_name' => $lastName, ]; manageVcards(); Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); return view('sadmin.plans.payment.paymentSuccess'); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } public function nfcOrder($orderId, $email, $nfc, $currency) { $amount = $nfc->nfcCard->price * $nfc->quantity; $redirectbackurl = route('phonepe-nfcorder-response'). '?' . http_build_query(['nfcorderId' => $orderId]); $merchantId = getSelectedPaymentGateway('phonepe_merchant_id'); $merchantUserId = getSelectedPaymentGateway('phonepe_merchant_id'); $baseUrl = getSelectedPaymentGateway('phonepe_env') == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getSelectedPaymentGateway('phonepe_salt_key'); $saltIndex = getSelectedPaymentGateway('phonepe_salt_index'); $callbackurl = route('phonepe-nfcorder-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.redirectUrl' => $redirectbackurl, 'phonepe.callBackUrl' => $callbackurl, ]); $transactionId = date('dmYhmi') . rand(111111, 999999); $data = array( 'merchantId' => $merchantId, 'merchantTransactionId' => $transactionId, 'merchantUserId' => $merchantUserId, 'amount' => $amount * 100, 'redirectUrl' => $redirectbackurl, 'redirectMode' => 'POST', 'callbackUrl' => $callbackurl, 'paymentInstrument' => array( 'type' => 'PAY_PAGE', ), ); $encode = base64_encode(json_encode($data)); $string = $encode . '/pg/v1/pay' . $saltKey; $sha256 = hash('sha256', $string); $finalXHeader = $sha256 . '###' . $saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl . '/pg/v1/pay', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode(['request' => $encode]), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'X-VERIFY: ' . $finalXHeader ), )); $response = curl_exec($curl); curl_close($curl); $rData = json_decode($response); $url = $rData->data->instrumentResponse->redirectInfo->url; return response()->json(['link' => $url, 'status' => 200]); } public function nfcOrderSuccess(Request $request) { $merchantId = getSelectedPaymentGateway('phonepe_merchant_id'); $merchantUserId = getSelectedPaymentGateway('phonepe_merchant_id'); $baseUrl = getSelectedPaymentGateway('phonepe_env') == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getSelectedPaymentGateway('phonepe_salt_key'); $saltIndex = getSelectedPaymentGateway('phonepe_salt_index'); $callbackurl = route('phonepe-subscription-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.callBackUrl' => $callbackurl, ]); $finalXHeader = hash('sha256','/pg/v1/status/'.$request['merchantId'].'/'.$request['transactionId'].$saltKey).'###'.$saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl.'/pg/v1/status/'.$request['merchantId'].'/'.$request['transactionId'], CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'accept: application/json', 'X-VERIFY: '.$finalXHeader, 'X-MERCHANT-ID: '.$request['merchantId'] ), )); $responses = curl_exec($curl); $response = json_decode($responses); curl_close($curl); try { $orderId = request()->input('nfcorderId'); $userId = NfcOrders::findOrFail($orderId)->user_id; Auth::loginUsingId($userId); $status = NfcOrders::SUCCESS; $nfcOrder = NfcOrders::get()->find($orderId); $type = NfcOrders::PHONEPE; $transactionId = $response->data->transactionId ; $amount = $response->data->amount / 100; $transactionDetails = [ 'nfc_order_id' => $orderId, 'type' => $type, 'transaction_id' => $transactionId, 'amount' => $amount, 'user_id' => $userId, 'status' => $status, ]; NfcOrderTransaction::create($transactionDetails); $vcardName = Vcard::find($nfcOrder['vcard_id'])->name; $cardType = Nfc::find($nfcOrder['card_type'])->name; Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder, $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); Auth::loginUsingId($userId); return redirect(route('user.orders')); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\@ Controllers/ECardsController.phpnu[tenant_id; $vCards = Vcard::whereTenantId($tenantId)->pluck('name', 'id'); return view('virtual-backgrounds.index', compact('vCards')); } public function getVcardData(Request $request): JsonResponse { $input = $request->all(); $vcard = Vcard::with('socialLink')->findOrFail($input['vcardId']); $data = [ 'id' => $vcard['id'], 'first_name' => $vcard['first_name'], 'last_name' => $vcard['last_name'], 'email' => $vcard['email'], 'occupation' => $vcard['occupation'], 'location' => $vcard['location'], 'region_code' => $vcard['region_code'], 'phone' => $vcard['phone'], 'website' => $vcard['socialLink']['website'], ]; return response()->json(['data' => $data, 'success' => true]); } public function downloadEcard(CreateEcardRequest $request): RedirectResponse { $input = $request->all(); $path = asset('uploads/ecard'); if (! Storage::exists($path)) { Storage::disk('public')->makeDirectory('uploads/ecard'); } $zipFile = public_path('virtual_backgrounds/virtual-backgrounds.zip'); if (File::exists($zipFile)) { File::delete($zipFile); } if ($input['e-card-id'] == 1) { $data = retriveH1Card($input); } if ($input['e-card-id'] == 2) { $data = retriveH2Card($input); } if ($input['e-card-id'] == 3) { $data = retriveH3Card($input); } if ($input['e-card-id'] == 4) { $data = retriveH4Card($input); } if ($input['e-card-id'] == 5) { $data = retriveH5Card($input); } if ($input['e-card-id'] == 6) { $data = retriveH6Card($input); } if ($input['e-card-id'] == 7) { $data = retriveH7Card($input); } if ($input['e-card-id'] == 8) { $data = retriveH8Card($input); } if ($input['e-card-id'] == 9) { $data = retriveH9Card($input); } if ($input['e-card-id'] == 10) { $data = retriveH10Card($input); } if ($input['e-card-id'] == 11) { $data = retriveH11Card($input); } if ($input['e-card-id'] == 12) { $data = retriveH12Card($input); } if ($input['e-card-id'] == 13) { $data = retriveH13Card($input); } // delete images after generate zip file $vcardId = $input['vcard_id']; $qrCodeImage = public_path('ecard/'.$vcardId.'-qr.png'); $frontImage = public_path('virtual_backgrounds/Front.jpg'); $backImage = public_path('virtual_backgrounds/Back.jpg'); $frontImage1 = public_path('uploads/ecard/'.$vcardId .'/Front.png'); $backImage1 = public_path('uploads/ecard/'.$vcardId.'/Back.png'); $directory = public_path('uploads/ecard/'.$vcardId); if (File::exists($qrCodeImage)) { File::delete($qrCodeImage); } if (File::exists($frontImage)) { File::delete($frontImage); } if (File::exists($backImage)) { File::delete($backImage); } if (File::exists($frontImage1)) { File::delete($frontImage1); } if (File::exists($backImage1)) { File::delete($backImage1); File::deleteDirectory($directory); } return redirect(asset($data[0])); } public function getEcard(Request $request): \Illuminate\View\View { return view(); } public function create($ecard): \Illuminate\View\View { $vcards = Vcard::whereTenantId(getLogInTenantId())->where('status', Vcard::ACTIVE)->pluck('name', 'id')->toArray(); return view('virtual-backgrounds.create', compact('vcards', 'ecard')); } public function store(Request $request, $cardImageId) { } public function custom(): View|Factory|Application { $tenantId = Auth::user()->tenant_id; $vcards = Vcard::whereTenantId($tenantId)->pluck('name', 'id'); return view('virtual-backgrounds.custom', compact('vcards')); } public function qrCode(Request $request) { $link = $request->input('link'); $qrcode = QrCode::size(100)->generate($link); return $qrcode; } } PK8\Ǻ'Controllers/AffiliateUserController.phpnu[subscriptionRepository = $subscriptionRepository; } public function onBoard(Request $request): JsonResponse { $data = $this->subscriptionRepository->manageSubscription($request->all()); $subscription = $data['subscription']; $api = new Api(getSelectedPaymentGateway('razorpay_key'), getSelectedPaymentGateway('razorpay_secret')); $orderData = [ 'receipt' => 1, 'amount' => $data['amountToPay'] * 100, 'currency' => $subscription->plan->currency->currency_code, 'notes' => [ 'email' => Auth::user()->email, 'name' => Auth::user()->full_name, 'subscriptionId' => $subscription->id, 'amountToPay' => $data['amountToPay'], ], ]; session(['payment_type' => request()->get('payment_type')]); $razorpayOrder = $api->order->create($orderData); $data['id'] = $razorpayOrder->id; $data['amount'] = $data['amountToPay']; $data['name'] = Auth::user()->full_name; $data['email'] = Auth::user()->email; $data['contact'] = Auth::user()->contact; return $this->sendResponse($data, 'Order created successfully'); } /** * @return false|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse */ public function paymentSuccess(Request $request) { $input = $request->all(); Log::info('RazorPay Payment Successfully'); Log::info($input); $api = new Api(getSelectedPaymentGateway('razorpay_key'), getSelectedPaymentGateway('razorpay_secret')); if (count($input) && ! empty($input['razorpay_payment_id'])) { try { $payment = $api->payment->fetch($input['razorpay_payment_id']); $generatedSignature = hash_hmac( 'sha256', $payment['order_id'] . '|' . $input['razorpay_payment_id'], getSelectedPaymentGateway('razorpay_secret') ); if ($generatedSignature != $input['razorpay_signature']) { return redirect()->back(); } // Create Transaction Here $subscriptionID = $payment['notes']['subscriptionId']; $amountToPay = $payment['notes']['amountToPay']; $subscription = Subscription::findOrFail($subscriptionID); Subscription::findOrFail($subscriptionID)->update([ 'payment_type' => Subscription::RAZORPAY, 'status' => Subscription::ACTIVE ]); // De-Active all other subscription Subscription::whereTenantId(getLogInTenantId()) ->where('id', '!=', $subscriptionID) ->where('status', '!=', Subscription::REJECT) ->update([ 'status' => Subscription::INACTIVE, ]); $transaction = Transaction::create([ 'tenant_id' => $subscription->tenant_id, 'transaction_id' => $payment->id, 'type' => session('payment_type'), 'amount' => $amountToPay, 'status' => Subscription::ACTIVE, 'meta' => json_encode($payment->toArray()), ]); $subscription = Subscription::findOrFail($subscriptionID); $planName = $subscription->plan->name; $subscription->update(['transaction_id' => $transaction->id]); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if ($affiliateAmountType == 1) { AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount, 'is_verified' => 1]); } else if ($affiliateAmountType == 2) { $amount = $amountToPay * $affiliateAmount / 100; AffiliateUser::whereUserId(getLogInUserId())->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount, 'is_verified' => 1]); } $userEmail = getLogInUser()->email; $firstName = getLogInUser()->first_name; $lastName = getLogInUser()->last_name; $emailData = [ 'subscriptionID' => $subscriptionID, 'amountToPay' => $amountToPay, 'planName' => $planName, 'first_name' => $firstName, 'last_name' => $lastName, ]; manageVcards(); Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); return view('sadmin.plans.payment.paymentSuccess'); } catch (Exception $e) { return false; } } return redirect()->back(); } /** * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View */ public function paymentFailed(): View { return view('sadmin.plans.payment.paymentcancel'); } public function nfcPaymentSuccess(Request $request) { $input = $request->all(); $api = new Api(getSelectedPaymentGateway('razorpay_key'), getSelectedPaymentGateway('razorpay_secret')); if (count($input) && ! empty($input['razorpay_payment_id'])) { try { $payment = $api->payment->fetch($input['razorpay_payment_id']); $generatedSignature = hash_hmac( 'sha256', $payment['order_id'] . '|' . $input['razorpay_payment_id'], getSelectedPaymentGateway('razorpay_secret') ); if ($generatedSignature != $input['razorpay_signature']) { return redirect()->back(); } // $nfcOrder = NfcOrders::create([ // 'name' => $payment['notes']['customer_name'], // 'designation' => $payment['notes']['designation'], // 'phone' => $payment['notes']['phone'], // 'email' => $payment['notes']['email'], // 'address' => $payment['notes']['address'], // 'company_name' => $payment['notes']['company_name'], // 'order_status' => NfcOrders::PENDING, // 'card_type' => $payment['notes']['card_type'], // 'user_id' => getLogInUserId(), // 'vcard_id' => $payment['notes']['vcard_id'], // ]); $id = session()->get('orderid'); NfcOrders::where('id', $id)->update(['order_status' => NfcOrders::PENDING]); $nfcOrder = NfcOrders::where('id', $id)->get(); $vcardName = VCard::find($nfcOrder[0]->vcard_id)->name; $cardType = Nfc::find($nfcOrder[0]->card_type)->name; NfcOrderTransaction::create([ 'nfc_order_id' => $id, 'type' => NfcOrders::RAZOR_PAY, 'transaction_id' => $payment->id, 'amount' => $payment['notes']['amountToPay'], 'user_id' => getLogInUser()->id, 'status' => NfcOrders::SUCCESS, ]); Mail::to(getSuperAdminSettingValue('email'))->send(new AdminNfcOrderMail($nfcOrder[0], $vcardName, $cardType)); Flash::success(__('messages.nfc.order_placed_success')); return redirect(route('user.orders')); } catch (Exception $e) { Log::info($e->getMessage()); return false; } } return redirect()->back(); } public function nfcPaymentFailed(Request $request): View { $input = $request->all(); $api = new Api(getSelectedPaymentGateway('razorpay_key'), getSelectedPaymentGateway('razorpay_secret')); $payment = $api->payment->fetch($input['razorpay_payment_id']); $id = session()->get('orderid'); NfcOrders::where('id', $id)->update(['order_status' => NfcOrders::PENDING]); $nfcOrder = NfcOrders::where('id', $id)->get(); NfcOrderTransaction::create([ 'nfc_order_id' => $id, 'type' => NfcOrders::RAZOR_PAY, 'transaction_id' => $payment->id, 'amount' => $payment['notes']['amountToPay'], 'user_id' => getLogInUser()->id, 'status' => NfcOrders::FAIL, ]); return view('sadmin.plans.payment.paymentcancel'); } public function productPaymentSuccess(Request $request) { $input = $request->all(); $product = Session::get('productId'); $userId = $product->vcard->user->id; $api = new Api(getUserSettingValue('razorpay_key', $userId), getUserSettingValue('razorpay_secret', $userId)); $payment = $api->payment->fetch($input['razorpay_payment_id']); $generatedSignature = hash_hmac( 'sha256', $payment['order_id'] . '|' . $input['razorpay_payment_id'], getSelectedPaymentGateway('razorpay_secret') ); if ($generatedSignature != $input['razorpay_signature']) { return redirect()->back(); } if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyId = Currency::whereId($product->currency_id)->first()->id; $name = $payment['notes']['name']; $email = $payment['notes']['email']; $contact = $payment['contact']; $address = $payment['notes']['address']; $currency = $payment['currency']; $payment_type = $payment['notes']['payment_type']; $amount = $payment['amount'] / 100; $transaction_id = $payment['id']; try { DB::beginTransaction(); ProductTransaction::create([ 'product_id' => $product->id, 'name' => $name, 'email' => $email, 'phone' => $contact, 'address' => $address, 'currency_id' => $currencyId, 'meta' => json_encode($payment), 'type' => $payment_type, 'transaction_id' => $transaction_id, 'amount' => $amount, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $name, 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $contact, 'address' => $address, 'payment_type' => __('messages.razorpay'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $userId)) { Mail::to($email)->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $userId)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $vcard = $product->vcard; App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); session()->forget('productId'); DB::commit(); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias, __('messages.placeholder.product_purchase')])); } catch (HttpException $ex) { print_r($ex->getMessage()); } } public function productPaymentFailed(Request $request): View { $input = $request->all(); $product = Session::get('productId'); $userId = $product->vcard->user->id; $api = new Api(getUserSettingValue('razorpay_key', $userId), getUserSettingValue('razorpay_secret', $userId)); $vcard = $product->vcard; session()->forget('productId'); Flash::error(__('messages.placeholder.payment_cancel')); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias])); } } PK8\b5::%Controllers/UserPhonepeController.phpnu[ $input]); $merchantId = getUserSettingValue('phonepe_merchant_id', $userId); $merchantUserId = getUserSettingValue('phonepe_merchant_id', $userId); $baseUrl = getUserSettingValue('phonepe_env', $userId) == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getUserSettingValue('phonepe_salt_key', $userId); $saltIndex = getUserSettingValue('phonepe_salt_index', $userId); $callbackurl = route('phonepe-appointmentbook-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.redirectUrl' => $redirectbackurl, 'phonepe.callBackUrl' => $callbackurl, ]); $transactionId = date('dmYhmi') . rand(111111, 999999); $data = array( 'merchantId' => $merchantId, 'merchantTransactionId' => $transactionId, 'merchantUserId' => $merchantUserId, 'amount' => $amount * 100, 'redirectUrl' => $redirectbackurl, 'redirectMode' => 'POST', 'callbackUrl' => $callbackurl, 'mobileNumber' => $phone, 'paymentInstrument' => array( 'type' => 'PAY_PAGE', ), ); $encode = base64_encode(json_encode($data)); $string = $encode . '/pg/v1/pay' . $saltKey; $sha256 = hash('sha256', $string); $finalXHeader = $sha256 . '###' . $saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl . '/pg/v1/pay', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode(['request' => $encode]), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'X-VERIFY: ' . $finalXHeader ), )); $response = curl_exec($curl); curl_close($curl); $rData = json_decode($response); $url = $rData->data->instrumentResponse->redirectInfo->url; return response()->json(['link' => $url, 'status' => 200]); } public function appointmentBookSuccess(Request $request) { $input = request()->input('input'); $vcard = Vcard::with('tenant.user')->where('id', $input['vcard_id'])->first(); $userId = $vcard->tenant->user->id; $merchantId = getUserSettingValue('phonepe_merchant_id', $userId); $merchantUserId = getUserSettingValue('phonepe_merchant_id', $userId); $baseUrl = getUserSettingValue('phonepe_env', $userId) == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getUserSettingValue('phonepe_salt_key', $userId); $saltIndex = getUserSettingValue('phonepe_salt_index', $userId); $callbackurl = route('phonepe-appointmentbook-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.callBackUrl' => $callbackurl, ]); $finalXHeader = hash('sha256', '/pg/v1/status/' . $request['merchantId'] . '/' . $request['transactionId'] . $saltKey) . '###' . $saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl . '/pg/v1/status/' . $request['merchantId'] . '/' . $request['transactionId'], CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'accept: application/json', 'X-VERIFY: ' . $finalXHeader, 'X-MERCHANT-ID: ' . $request['merchantId'] ), )); $responses = curl_exec($curl); $response = json_decode($responses); curl_close($curl); try { $transactionId = $response->data->transactionId; // Auth::loginUsingId($userId); $currencyId = Currency::whereCurrencyCode($input['currency_code'])->first()->id; $tenantId = $vcard->tenant->id; $amount = $input['amount']; $transactionDetails = [ 'vcard_id' => $vcard->id, 'transaction_id' => $transactionId, 'currency_id' => $currencyId, 'amount' => $amount, 'tenant_id' => $tenantId, 'type' => Appointment::PHONEPE, 'status' => Transaction::SUCCESS, 'meta' => json_encode($response), ]; $appointmentTran = AppointmentTransaction::create($transactionDetails); $appointmentInput = [ 'name' => $input['name'], 'email' => $input['email'], 'date' => $input['date'], 'phone' => $input['phone'], 'from_time' => $input['from_time'], 'to_time' => $input['to_time'], 'vcard_id' => $input['vcard_id'], 'appointment_tran_id' => $appointmentTran->id, 'toName' => $vcard->fullName > 1 ? $vcard->fullName : $vcard->tenant->user->fullName, 'vcard_name' => $vcard->name, ]; /** @var AppointmentRepository $appointmentRepo */ $appointmentRepo = App::make(AppointmentRepository::class); $vcardEmail = is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email; $appointmentRepo->appointmentStoreOrEmail($appointmentInput, $vcardEmail); Flash::success(__('messages.placeholder.payment_done')); App::setLocale(session::get('languageChange_' . $vcard->url_alias)); return redirect(route('vcard.show', [$vcard->url_alias, __('messages.placeholder.appointment_created')])); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } public function productBuy($input, $product) { $amount = $product->price; $phone = $input['phone']; $userId = $product->vcard->user->id; $redirectbackurl = route('phonepe-Product-response') . '?' . http_build_query(['input' => $input]); $merchantId = getUserSettingValue('phonepe_merchant_id', $userId); $merchantUserId = getUserSettingValue('phonepe_merchant_id', $userId); $baseUrl = getUserSettingValue('phonepe_env', $userId) == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getUserSettingValue('phonepe_salt_key', $userId); $saltIndex = getUserSettingValue('phonepe_salt_index', $userId); $callbackurl = route('phonepe-Product-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.redirectUrl' => $redirectbackurl, 'phonepe.callBackUrl' => $callbackurl, ]); $transactionId = date('dmYhmi') . rand(111111, 999999); $data = array( 'merchantId' => $merchantId, 'merchantTransactionId' => $transactionId, 'merchantUserId' => $merchantUserId, 'amount' => $amount * 100, 'redirectUrl' => $redirectbackurl, 'redirectMode' => 'POST', 'callbackUrl' => $callbackurl, 'mobileNumber' => $phone, 'paymentInstrument' => array( 'type' => 'PAY_PAGE', ), ); $encode = base64_encode(json_encode($data)); $string = $encode . '/pg/v1/pay' . $saltKey; $sha256 = hash('sha256', $string); $finalXHeader = $sha256 . '###' . $saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl . '/pg/v1/pay', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode(['request' => $encode]), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'X-VERIFY: ' . $finalXHeader ), )); $response = curl_exec($curl); curl_close($curl); $rData = json_decode($response); $url = $rData->data->instrumentResponse->redirectInfo->url; return response()->json(['link' => $url, 'status' => 200]); } public function productBuySuccess(Request $request) { $input = request()->input('input'); $product = Product::whereId($input['product_id'])->first(); $currencyId = isset($product->currency) ? $product->currency->id : Currency::whereId(getUserSettingValue('currency_id', $product->vcard->user->id))->first()->id; $userId = $product->vcard->user->id; $merchantId = getUserSettingValue('phonepe_merchant_id', $userId); $merchantUserId = getUserSettingValue('phonepe_merchant_id', $userId); $baseUrl = getUserSettingValue('phonepe_env', $userId) == 'production' ? 'https://api.phonepe.com/apis/hermes' : 'https://api-preprod.phonepe.com/apis/pg-sandbox'; $saltKey = getUserSettingValue('phonepe_salt_key', $userId); $saltIndex = getUserSettingValue('phonepe_salt_index', $userId); $callbackurl = route('phonepe-Product-response'); config([ 'phonepe.merchantId' => $merchantId, 'phonepe.merchantUserId' => $merchantUserId, 'phonepe.env' => $baseUrl, 'phonepe.saltKey' => $saltKey, 'phonepe.saltIndex' => $saltIndex, 'phonepe.callBackUrl' => $callbackurl, ]); $finalXHeader = hash('sha256', '/pg/v1/status/' . $request['merchantId'] . '/' . $request['transactionId'] . $saltKey) . '###' . $saltIndex; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $baseUrl . '/pg/v1/status/' . $request['merchantId'] . '/' . $request['transactionId'], CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'accept: application/json', 'X-VERIFY: ' . $finalXHeader, 'X-MERCHANT-ID: ' . $request['merchantId'] ), )); $responses = curl_exec($curl); $response = json_decode($responses); curl_close($curl); try { $transactionId = $response->data->transactionId; $amount = $response->data->amount / 100; DB::beginTransaction(); ProductTransaction::create([ 'product_id' => $input['product_id'], 'name' => $input['name'], 'email' => $input['email'], 'phone' => $input['phone'], 'address' => $input['address'], 'currency_id' => $currencyId, 'meta' => json_encode($response), 'type' => $input['payment_method'], 'transaction_id' => $transactionId, 'amount' => $amount, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $input['name'], 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $input['phone'], 'address' => $input['address'], 'payment_type' => __('messages.phonepe'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $userId)) { Mail::to($input['email'])->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $userId)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $vcard = $product->vcard; App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); session()->forget('input'); DB::commit(); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias, __('messages.placeholder.product_purchase')])); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\3II$Controllers/SocialAuthController.phpnu[redirect(); } /** * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function handleSocialCallback($provider): \Illuminate\Http\RedirectResponse { if (Auth::check()) { return redirect('/'); } $socialUser = Socialite::driver($provider)->user(); if (empty($socialUser['email'])) { Flash::error(__('messages.placeholder.we_could_not_fb_id')); return redirect(route('register')); } try { DB::beginTransaction(); /** @var User $user */ $user = User::whereRaw('lower(email) = ?', strtolower($socialUser['email']))->first(); $existingAccount = null; if (! empty($user)) { /** @var SocialAccount $existingProfile */ $existingAccount = SocialAccount::where('provider_id', $socialUser->id)->first(); } else { $username = explode(' ', $socialUser['name']); $userData['first_name'] = $username[0]; $userData['last_name'] = $username[1]; $userData['email'] = $socialUser['email']; $userData['email_verified_at'] = Carbon::now(); $userData['password'] = bcrypt(Str::random(40)); $userData['affiliate_code'] = generateUniqueAffiliateCode(); $tenant = MultiTenant::create(['tenant_username' => $userData['first_name']]); $userData['tenant_id'] = $tenant->id; /** @var User $user */ $user = User::create($userData)->assignRole(Role::ROLE_ADMIN); $plan = Plan::whereIsDefault(true)->first(); $subscription = new Subscription(); $subscription->plan_id = $plan->id; $subscription->starts_at = Carbon::now(); $subscription->ends_at = Carbon::now()->addDays($plan->trial_days); $subscription->plan_amount = $plan->price; $subscription->plan_frequency = $plan->frequency; $subscription->trial_ends_at = Carbon::now()->addDays($plan->trial_days); $subscription->no_of_vcards = $plan->no_of_vcards; $subscription->tenant_id = $user['tenant_id']; $subscription->status = Subscription::ACTIVE; $subscription->saveQuietly(); } if (empty($existingAccount)) { $existingAccount = SocialAccount::where('provider_id', $socialUser->id)->first(); if (empty($existingAccount)) { $socialAccount = new SocialAccount(); $socialAccount->tenant_id = $user->tenant_id; $socialAccount->provider = $provider; $socialAccount->provider_id = $socialUser->id; $socialAccount->save(); } } DB::commit(); Auth::login($user); return redirect(route('admin.dashboard')); } catch (Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } } PK8\DDControllers/StateController.phpnu[stateRepository = $stateRepository; } public function index(): View { return view('sadmin.states.index'); } public function store(CreateStateRequest $request): JsonResponse { $input = $request->all(); $state = $this->stateRepository->create($input); return $this->sendResponse($state, __('messages.flash.state_create')); } public function edit(State $state): JsonResponse { return $this->sendResponse($state, 'State successfully retrieved.'); } public function update(UpdateStateRequest $request, State $state): JsonResponse { $input = $request->all(); $this->stateRepository->update($input, $state->id); return $this->sendSuccess(__('messages.flash.state_update')); } public function destroy(State $state): JsonResponse { $cities = City::where('state_id', $state->id)->count(); if ($cities > 0) { return $this->sendError(__('messages.flash.state_used')); } $state->delete(); return $this->sendSuccess('State deleted successfully.'); } } PK8\G"Controllers/SendMailController.phpnu[toArray(); $newEmail = $emails; return view('sadmin.send_mail.index',compact('newEmail')); } public function store(SendMailRequest $request) { ini_set('max_execution_time', 1200); $input = $request->all(); $enquiries = EmailSubscription::all(); $sendEmailData = [ 'subject' => $input['subject'], 'description' => $input['description'], ]; $sendEmail = SendEmail::create($sendEmailData); if (isset($input['custom_email'])) { foreach ($input['custom_email'] as $enquiries) { $data = [ 'subject' => $input['subject'], 'description' => $input['description'], 'email' => $enquiries, ]; Mail::to($enquiries)->send(new MailSendEmail($data)); } } Flash::success(__('messages.send_mail.mail_send_successfully')); return redirect()->back(); } } PK8\0#0#Controllers/UserController.phpnu[userRepo = $userRepository; } /** * @return Application|Factory|View */ public function index(): \Illuminate\View\View { return view('users.index'); } /** * @return Application|Factory|View */ public function create(): \Illuminate\View\View { return view('users.create'); } /** * @return Application|RedirectResponse|Redirector */ public function store(CreateUserRequest $request): RedirectResponse { $input = $request->all(); $this->userRepo->store($input); Flash::success(__('messages.flash.user_create')); return redirect(route('users.index')); } /** * @return Application|Factory|View */ public function show(Request $request, User $user): \Illuminate\View\View { if (! empty($user) && $user->getRoleNames()[0] == 'admin') { return view('users.show', compact('user')); } abort(404); } /** * @return Application|Factory|View */ public function edit(User $user): \Illuminate\View\View { $subscription = Subscription::with(['plan']) ->whereTenantId($user->tenant_id) ->where('status', Subscription::ACTIVE)->latest()->first(); return view('users.edit', compact('user', 'subscription')); } public function emailVerified(User $user): JsonResponse { DB::table('users')->where('id', $user->id)->update(['email_verified_at' => Carbon::now()]); // $affiliateUser = AffiliateUser::withoutGlobalScope('verifiedUser') // ->whereIsVerified(false) // ->whereUserId($user->id) // ->first(); // // if ($affiliateUser) { // // $affiliateUser->update(['is_verified' => true]); // // } return $this->sendSuccess(__('messages.flash.verified_email')); } public function updateStatus(User $user): JsonResponse { $user->update([ 'is_active' => ! $user->is_active, ]); return $this->sendSuccess(__('messages.flash.user_status')); } /** * @return Application|RedirectResponse|Redirector */ public function update(UpdateUserRequest $request, User $user): RedirectResponse { $this->userRepo->update($request->all(), $user); Flash::success(__('messages.flash.user_update')); return redirect(route('users.index')); } public function destroy(User $user): JsonResponse { if ($user->getRoleNames()[0] == 'admin') { $affiliateUsers = AffiliateUser::whereUserId($user->id)->orWhere('affiliated_by', $user->id)->get(); $withdrawals = Withdrawal::whereUserId($user->id)->get(); foreach ($withdrawals as $withdrawal) { $withdrawalTransactions = WithdrawalTransaction::where('withdrawal_id', $withdrawal->id)->get(); foreach ($withdrawalTransactions as $transaction) { $transaction->delete(); } $withdrawal->delete(); } foreach ($affiliateUsers as $affiliateUser) { $affiliateUser->delete(); } NfcOrderTransaction::where('user_id', $user->id)->delete(); NfcOrders::where('user_id', $user->id)->delete(); Vcard::where('tenant_id', $user->tenant_id)->delete(); MultiTenant::where('id', $user->tenant_id)->delete(); $user->delete(); return $this->sendSuccess('User deleted successfully.'); } return $this->sendError('Seems, you are not allowed to access this record.'); } /** * @return Application|RedirectResponse|Redirector */ public function impersonate(User $user): RedirectResponse { getLogInUser()->impersonate($user); return redirect(route('admin.dashboard')); } /** * @return Application|RedirectResponse|Redirector */ public function impersonateLeave(): RedirectResponse { getLogInUser()->leaveImpersonation(); return redirect(route('users.index')); } /** * @return Application|Factory|View */ public function editProfile(): \Illuminate\View\View { $user = Auth::user(); return view('profile.index', compact('user')); } public function updateProfile(UpdateUserProfileRequest $request): RedirectResponse { $this->userRepo->updateProfile($request->all()); $verifiedUser = EmailVerification::where('user_id', getLogInUserId())->first(); if ($verifiedUser) { Flash::success(__('messages.placeholder.email_verification')); } else { Flash::success(__('messages.flash.user_profile')); } return redirect(route('profile.setting')); } public function changePassword(UpdateChangePasswordRequest $request): JsonResponse { $input = $request->all(); try { /** @var User $user */ $user = Auth::user(); if (! Hash::check($input['current_password'], $user->password)) { return $this->sendError(__('messages.flash.current_invalid')); } $input['password'] = Hash::make($input['new_password']); $user->update($input); return $this->sendSuccess(__('messages.flash.password_update')); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } public function changeUserPassword(UpdateUserPasswordRequest $request, User $user): JsonResponse { $input = $request->all(); try { $input['password'] = Hash::make($input['new_password']); $this->userRepo->update($input, $user); $data = [ 'name' => $user->full_name, 'toName' => getLogInUser()->full_name, ]; Mail::to($user->email) ->send(new ChangePasswordMail('emails.change_password_mail', __('messages.flash.password_update'), $data)); return $this->sendSuccess(__('messages.flash.password_update')); } catch (Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } public function changeLanguage(Request $request): JsonResponse { $input = $request->all(); $user = Auth::user(); if ($user !== null) { $user->update($input); } return $this->sendSuccess(__('messages.flash.language_update')); } public function changeMode(): RedirectResponse { $user = Auth::user(); if ($user !== null) { $user->update([ 'theme_mode' => ! $user->theme_mode, ]); } return redirect()->back(); } public function userDelete(User $user) { $result = $this->userRepo->userDataDelete($user); if ($result) { return Redirect::route('home'); } return $this->sendError('Seems, you are not allowed to access this record.'); } public function updateSteps($steps) { $user = getLogInUser(); $user->steps = $steps; $user->update(); return response()->json(['message' => 'Steps updated successfully']); } } PK8\A"Controllers/CurrencyController.phpnu[validate([ 'file' => 'required|file|mimes:zip' ]); $file = $request->file('file'); $filePathInfo = pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME); $extractionPath = base_path('Modules/'); $moduleFolder = $extractionPath . $filePathInfo; if (is_dir($moduleFolder)) { return $this->sendError(__('messages.addon.module_folder_already_exists')); } $isExistFiles = [ $filePathInfo . '/' . 'composer.json', $filePathInfo . '/' . 'Providers/RouteServiceProvider.php' ]; $zip = new ZipArchive; if ($zip->open($file) === TRUE) { $fileNames = []; for ($i = 0; $i < $zip->numFiles; $i++) { $fileNames[] = $zip->getNameIndex($i); } $checkFiles = []; foreach ($isExistFiles as $isExistFile) { if (!in_array($isExistFile, $fileNames)) { $checkFiles[] = $isExistFile; } } $zip->close(); if (!empty($checkFiles)) { return $this->sendError(__('messages.addon.zip_required_file')); } if ($zip->open($file) === TRUE) { $zip->extractTo($extractionPath); $zip->close(); $addOn = AddOn::updateOrCreate([ 'name' => $filePathInfo, ]); $content = file_get_contents(base_path("modules_statuses.json")); $content = json_decode($content, true); $content[$filePathInfo] = true; file_put_contents(base_path("modules_statuses.json"), json_encode($content)); } else { return $this->sendError(__('messages.addon.failed_to_extraction')); } \Artisan::call('module:migrate', ['--force' => true]); return $this->sendSuccess(__('messages.addon.addon_uploaded_successfully')); } else { return $this->sendError(__('messages.addon.failed_to_open')); } } public function update($id) { $addOnModule = AddOn::find($id); if (!$addOnModule) { return $this->sendError(__('messages.addon.module_not_found')); } $addOnModule->status = !$addOnModule->status; $addOnModule->save(); return $this->sendSuccess('Module status Updated successfully'); } } PK8\ċ,,%Controllers/MailSettingController.phpnu[all(); $mailSetting = MailSetting::first(); if ($mailSetting) { $mailSetting->update($input); } else { MailSetting::create($input); } $envFilePath = base_path('.env'); $envFileContent = file_get_contents($envFilePath); $envFileContent = preg_replace('/^MAIL_MAILER=.*/m', 'MAIL_MAILER=' . strtolower(MailSetting::TYPE[$request->mail_protocol]), $envFileContent); $envFileContent = preg_replace('/^MAIL_HOST=.*/m', "MAIL_HOST={$request['mail_host']}", $envFileContent); $envFileContent = preg_replace('/^MAIL_PORT=.*/m', "MAIL_PORT={$request['mail_port']}", $envFileContent); $envFileContent = preg_replace('/^MAIL_USERNAME=.*/m', "MAIL_USERNAME={$request['mail_username']}", $envFileContent); $envFileContent = preg_replace('/^MAIL_PASSWORD=.*/m', "MAIL_PASSWORD={$request['mail_password']}", $envFileContent); $envFileContent = preg_replace('/^MAIL_ENCRYPTION=.*/m', 'MAIL_ENCRYPTION=' . strtolower(MailSetting::ENCRYPTION_TYPE[$request->mail_encryption]), $envFileContent); $envFileContent = preg_replace('/^MAIL_FROM_ADDRESS=.*/m', "MAIL_FROM_ADDRESS={$request['sender_email_address']}", $envFileContent); file_put_contents($envFilePath, $envFileContent); Flash::success(__('messages.vcard.mail_settings') . ' ' . __('messages.flash.vcard_update')); return Redirect::back(); } } PK8\yN=N=&Controllers/SubscriptionController.phpnu[subscriptionRepo = $subscriptionRepo; } /** * @return Application|Factory|View */ public function index(Request $request): \Illuminate\View\View { $currentPlan = getCurrentSubscription(); $days = $remainingDay = ''; if ($currentPlan->ends_at > Carbon::now()) { $days = Carbon::parse($currentPlan->ends_at)->diffInDays(); $remainingDay = $days . ' Days'; } if ($days >= 30 && $days <= 365) { $remainingDay = ''; $months = floor($days / 30); $extraDays = $days % 30; if ($extraDays > 0) { $remainingDay .= $months . ' Month ' . $extraDays . ' Days'; } else { $remainingDay .= $months . ' Month '; } } if ($days >= 365) { $remainingDay = ''; $years = floor($days / 365); $extraMonths = floor($days % 365 / 30); $extraDays = floor($days % 365 % 30); if ($extraMonths > 0 && $extraDays < 1) { $remainingDay .= $years . ' Years ' . $extraMonths . ' Month '; } elseif ($extraDays > 0 && $extraMonths < 1) { $remainingDay .= $years . ' Years ' . $extraDays . ' Days'; } elseif ($years > 0 && $extraDays > 0 && $extraMonths > 0) { $remainingDay .= $years . ' Years ' . $extraMonths . ' Month ' . $extraDays . ' Days'; } else { $remainingDay .= $years . ' Years '; } } return view('subscription.index', compact('currentPlan', 'remainingDay')); } public function choosePaymentType($planId, $context = null, $fromScreen = null) { $currentSubscription = getCurrentSubscription(); $customSelectId = request()->get('customFieldId'); $customField = PlanCustomField::find($customSelectId); if ($customField) { if (!$currentSubscription->isExpired()) { if ((checkIfPlanIsInTrial($currentSubscription) || !checkIfPlanIsInTrial($currentSubscription)) && $customField->custom_vcard_price <= 0) { Flash::error(__('messages.placeholder.cannot_switch_to_zero')); return Redirect::back(); } } } $cashPaymentPlan = Subscription::where('tenant_id', Auth::user()->tenant_id)->where('payment_type', 'cash')->where('status', Subscription::PENDING)->first(); if ($cashPaymentPlan) { Flash::error(__('messages.wait_for_apporove_of_cash_payment_by_admin')); return Redirect::back(); } // code for checking the current plan is active or not, if active then it should not allow to choose that plan $subscriptionsPricingPlan = Plan::with('currency')->findOrFail($planId); if ($subscriptionsPricingPlan->currency && $subscriptionsPricingPlan->currency->currency_code === 'BRL') { return redirect()->route('asaas.checkout.show', $planId); } $paymentTypes = getPaymentGateway(); return view('subscription.payment_for_plan', compact('subscriptionsPricingPlan', 'paymentTypes', 'customSelectId', 'customField')); } /** * @return Application|Factory|View */ public function upgrade() { $cashPaymentPlan = Subscription::where('tenant_id', Auth::user()->tenant_id)->where('payment_type', 'cash')->where('status', Subscription::PENDING)->first(); if ($cashPaymentPlan && !$cashPaymentPlan->isExpired()) { Flash::error(__('messages.wait_for_apporove_of_cash_payment_by_admin')); return Redirect::back(); } $plans = Plan::with(['currency', 'planFeature'])->whereStatus(Plan::IS_ACTIVE)->whereIsDefault(Plan::IS_DEACTIVE)->get(); $monthlyPlans = $plans->where('frequency', Plan::MONTHLY); $yearlyPlans = $plans->where('frequency', Plan::YEARLY); $unLimitedPlans = $plans->where('frequency', Plan::UNLIMITED); return view( 'subscription.upgrade', compact('monthlyPlans', 'yearlyPlans', 'unLimitedPlans') ); } public function setPlanZero(Plan $plan): JsonResponse { try { DB::beginTransaction(); Subscription::whereTenantId(getLogInTenantId()) ->whereIsActive(true)->update(['is_active' => false]); $expiryDate = setExpiryDate($plan); Subscription::create([ 'plan_id' => $plan->id, 'ends_at' => $expiryDate, 'status' => true, ]); DB::commit(); return $this->sendSuccess(__('messages.placeholder.subscribed_plan')); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } public function manualPay(Request $request) { $input = $request->all(); if (isset($input['couponCodeId'])) { $couponId = $input['couponCodeId']; $coupon = CouponCode::find($couponId); if ($coupon) { if ($coupon->coupon_limit != null) { $newLimit = $coupon->coupon_limit_left - 1; CouponCode::where('id', $couponId)->update(['coupon_limit_left' => $newLimit]); } } } if (isset($input['attachment']) && $input['attachment']->getClientMimeType() == 'text/php') { return $this->sendError('PHP file is not valid type for attachment'); } $this->subscriptionRepo->manageSubscription($input); $data = Subscription::whereTenantId(getLogInTenantId())->orderBy('created_at', 'desc')->first(); Subscription::whereId($data->id)->update(['payment_type' => 'Cash', 'status' => Subscription::PENDING]); $is_on = Setting::where('key', 'is_manual_payment_guide_on')->first(); $manual_payment_guide_step = Setting::where('key', 'manual_payment_guide')->first(); $user = \Illuminate\Support\Facades\Auth::user(); $super_admin_data = [ 'super_admin_msg' => $user->full_name . ' created request for payment of ' . $data->plan->currency->currency_icon . '' . $data->payable_amount, 'attachment' => $data->attachment ?? '', 'notes' => $data->notes ?? '', 'id' => $data->id, ]; if ($is_on['value'] == '1') { Mail::to($user['email']) ->send(new ManualPaymentGuideMail($manual_payment_guide_step['value'], $user)); $email = getSuperAdminSettingValue('email'); Mail::to($email) ->send(new SuperAdminManualPaymentMail($super_admin_data, $email)); } return $this->sendSuccess(__('messages.placeholder.subscribed_plan_wait')); } public function downloadAttachment($id): \Illuminate\Http\Response|Application|\Illuminate\Contracts\Routing\ResponseFactory { $subscription = Subscription::findOrFail($id); [$file, $headers] = $this->subscriptionRepo->downloadAttachment($subscription); return response($file, 200, $headers); } public function downloadMailAttachment($id): BinaryFileResponse { $subscription = Subscription::whereTenantId(getLogInTenantId())->findOrFail($id); $headers = [ 'Content-Type' => $subscription->media[0]->mime_type, 'Content-Description' => 'File Transfer', 'Content-Disposition' => "attachment; filename={$subscription->media[0]->file_name}", 'filename' => $subscription->media[0]->file_name, ]; return response()->download($subscription->media[0]->getPath(), $subscription->media[0]->file_name, $headers); } /** * @return Application|Factory|View */ public function cashPlan(): \Illuminate\View\View { return view('sadmin.planPyment.index'); } public function planStatus(Request $request): JsonResponse { if ($request->status == Subscription::ACTIVE) { $user = User::whereTenantId($request->tenant_id)->latest()->first(); if ($user) { // send mail notification $subscription = Subscription::findOrFail($request->id); $planName = $subscription->plan->name; $paymentAmount = $subscription->payable_amount; $userEmail = $user->email; $planName = $subscription->plan->name; $firstName = $user->first_name; $lastName = $user->last_name; $emailData = [ 'subscriptionId' => $request->id, 'subscriptionAmount' => $paymentAmount, 'transactionID' => $request->session_id, 'planName' => $planName, 'first_name' => $firstName, 'last_name' => $lastName, ]; Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if ($affiliateAmountType == 1) { AffiliateUser::where('user_id', $user->id)->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount, 'is_verified' => 1]); } else if ($affiliateAmountType == 2) { $amount = $paymentAmount * $affiliateAmount / 100; AffiliateUser::where('user_id', $user->id)->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount, 'is_verified' => 1]); } } Subscription::whereTenantId($request->tenant_id)->where('id', '!=', $request->id)->where('status', '!=', Subscription::REJECT)->update(['status' => Subscription::INACTIVE]); } Subscription::where('id', $request->id)->update([ 'status' => $request->status, ]); $user = User::whereTenantId($request->tenant_id)->first(); manageVcards($user); return $this->sendSuccess(__('messages.placeholder.payment_received')); } public function purchaseSubscription(Request $request) { $input = $request->all(); $result = $this->subscriptionRepo->purchaseSubscriptionForStripe($input); // returning from here if the plan is free. if (isset($result['status']) && $result['status'] == true) { manageVcards(); return $this->sendSuccess($result['subscriptionPlan']->name . ' ' . __('messages.subscription.has_been_subscribed')); } else { if (isset($result['status']) && $result['status'] == false) { return $this->sendError(__('messages.placeholder.cannot_switch_to_zero')); } } return $this->sendResponse($result, 'Session created successfully.'); } /** * @return Application|Factory|View * * @throws ApiErrorException */ public function paymentSuccess(Request $request): \Illuminate\View\View { AffiliateUser::whereUserId(getLogInUserId())->withoutGlobalScopes() ->update(['is_verified' => 1]); /** @var SubscriptionRepository $subscriptionRepo */ $subscriptionRepo = app(SubscriptionRepository::class); $subscription = $subscriptionRepo->paymentUpdate($request); manageVcards(); Flash::success($subscription->plan->name . ' ' . __('messages.subscription.has_been_subscribed')); return view('sadmin.plans.payment.paymentSuccess'); } public function handleFailedPayment(): \Illuminate\View\View { $subscriptionPlanId = session('subscription_plan_id'); /** @var SubscriptionRepository $subscriptionRepo */ $subscriptionRepo = app(SubscriptionRepository::class); $subscriptionRepo->paymentFailed($subscriptionPlanId); Flash::error(__('messages.placeholder.unable_to_process_payment')); return view('sadmin.plans.payment.paymentcancel'); } /** * @return Application|Factory|View */ public function userSubscribedPlan(): \Illuminate\View\View { return view('sadmin.subscriptionPlan.index'); } public function userSubscribedPlanEdit(Request $request): JsonResponse { $subscription = Subscription::with([ 'plan:id,name,currency_id', 'tenant.user', 'plan.currency', ])->whereId($request->id)->first(); $paymentTypeName = Subscription::PAYMENT_GATEWAY[$subscription->payment_type] ?? ''; return $this->sendResponse($subscription, $paymentTypeName, 'Subscription successfully retrieved.'); } public function userSubscribedPlanUpdate(Request $request): JsonResponse { $endDate = $request->end_date; if (empty($request->end_date)) { return $this->sendError(__('messages.subscription.end_date_required')); } $endDate = $request->end_date; $format = getSuperAdminSettingValue('datetime_method'); $formattedDate = ($format == 1) ? Carbon::createFromFormat('d M, Y', $endDate)->format('Y-m-d H:i:s') : (($format == 2) ? Carbon::createFromFormat('M d, Y', $endDate)->format('Y-m-d H:i:s') : (($format == 3) ? Carbon::createFromFormat('d/m/Y', $endDate)->format('Y-m-d H:i:s') : (($format == 4) ? Carbon::createFromFormat('Y/m/d', $endDate)->format('Y-m-d H:i:s') : (($format == 5) ? Carbon::createFromFormat('m/d/Y', $endDate)->format('Y-m-d H:i:s') : (($format == 6) ? Carbon::createFromFormat('Y-m-d', $endDate)->format('Y-m-d H:i:s') : Carbon::parse($endDate)->format('Y-m-d H:i:s') ) ) ) ) ); $subscription = Subscription::where('id', $request->id)->update([ 'ends_at' => $formattedDate, 'status' => Subscription::ACTIVE, ]); return $this->sendResponse($subscription, __('messages.placeholder.subscription_date_updated')); } } PK8\L"Controllers/HomeController.php.baknu[where('language', $language)->get(); $faqs = FrontFAQs::where('language', $language)->first(); $metas = Meta::first(); if (! empty($metas)) { $metas = $metas->toArray(); } $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $aboutUS = AboutUs::with('media')->where('language', $language)->get()->toArray(); $features = Feature::where('language', $language)->get(); $plans = Plan::with(['currency', 'planFeature', 'hasZeroPlan', 'planCustomFields'])->whereIsDefault(Plan::IS_DEACTIVE)->whereStatus(Plan::IS_ACTIVE)->get(); $homePage = getSuperAdminSettingValue('home_page_theme') == 1 ? 'home' : 'home1'; $view = getSuperAdminSettingValue('is_front_page') ? view("front.home.$homePage", compact('plans', 'setting', 'features', 'testimonials', 'aboutUS', 'metas', 'faqs')) : redirect(route('login')); return $view; } public function store(CreateContactRequest $request) { $input = $request->all(); $user = getSuperAdminEmail(); ContactUs::create($input); Mail::to($user) ->send(new LandingContactUsMail( $input, __('messages.placeholder.message_sent') )); return $this->sendSuccess(__('messages.placeholder.message_sent')); } /** * @return Application|Factory|View */ public function showContactUs(): \Illuminate\View\View { return view('sadmin.contactus.index'); } public function destroyContactUs(ContactUs $enquiry): JsonResponse { $enquiry->delete(); return $this->sendSuccess(__('messages.flash.enquiry_delete')); } public function themeConfiguration(): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key'); $view = view('settings.theme_config.index', compact('setting')); return $view; } public function changeLanguage(Request $request): RedirectResponse { Session::put('languageName', $request->input('languageName')); return redirect()->back(); } public function banner(Request $request): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key'); return view('sadmin.supportBanner.index', compact('setting')); } public function appDownload(Request $request): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key'); return view('sadmin.supportMobile.index', compact('setting')); } /** * @return Application|Factory|View|RedirectResponse|Redirector */ public function termCondition() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); $view = view('front.terms_conditions', compact('setting', 'faqs')); return $view; } /** * @return Application|Factory|View */ public function privacyPolicy(): \Illuminate\View\View { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); return view('front.privacy_policy', compact('setting', 'faqs')); } public function declineCookie() { session(['declined' => 1]); } public function vcardTemplates() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); return view('front.home.vcards-templates', compact('setting', 'faqs')); } public function forntFaq() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $blogs = Blog::where('status', '1')->get(); $faq = FrontFAQs::where('language', $language)->get(); $faqs = FrontFAQs::where('language', $language)->first(); if (getSuperAdminSettingValue('home_page_theme') == 2) { return view('front.home.home-faq1', compact('setting', 'faq', 'faqs', 'blogs')); } else { return view('front.home.home-faq', compact('setting', 'faq', 'faqs', 'blogs')); } } public function ForntBlog() { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $blogs = Blog::where('status', '1')->get(); $faqs = FrontFAQs::where('language', $language)->first(); if (getSuperAdminSettingValue('home_page_theme') == 2) { return view('front.home.home-blog1', compact('blogs', 'faqs', 'setting')); } else { return view('front.home.home-blog', compact('blogs', 'faqs', 'setting')); } } public function ForntBlogShow($slug) { $language = checkFrontLanguageSession(); $setting = Setting::where('language', $language)->orWhere('language', '')->pluck('value', 'key')->toArray(); $faqs = FrontFAQs::where('language', $language)->first(); $blog = Blog::where('slug', $slug)->first(); if (!$blog->status) { abort(404); } if (getSuperAdminSettingValue('home_page_theme') == 2) { return view('front.home.home-blog-show1', compact('blog', 'faqs', 'setting')); } else { return view('front.home.home-blog-show', compact('blog', 'faqs', 'setting')); } } } PK8\JControllers/CityController.phpnu[cityRepository = $cityRepository; } /** * @return Application|Factory|View */ public function index(): \Illuminate\View\View { return view('sadmin.cities.index'); } public function store(CreateCityRequest $request): JsonResponse { $input = $request->all(); $state = $this->cityRepository->create($input); return $this->sendResponse($state, __('messages.flash.city_create')); } public function edit(City $city): JsonResponse { return $this->sendResponse($city, 'City successfully retrieved.'); } public function update(UpdateCityRequest $request, City $city): JsonResponse { $input = $request->all(); $this->cityRepository->update($input, $city->id); return $this->sendSuccess(__('messages.flash.city_update')); } public function destroy(City $city): JsonResponse { $city->delete(); return $this->sendSuccess('City deleted successfully.'); } } PK8\ %Controllers/UserSettingController.phpnu[userSettingRepository = $userSettingRepository; } /** * @return Application|Factory|View */ public function index(Request $request): \Illuminate\View\View { $sectionName = ($request->get('section') === null) ? 'general' : $request->get('section'); $setting = UserSetting::where('user_id', getLogInUserId())->pluck('value', 'key')->toArray(); return view("user-settings.$sectionName",compact('setting', 'sectionName')); } public function update(UpdateUserSettingRequest $request): RedirectResponse { $id = Auth::id(); if(isset($request->time_format)){ $setting = UserSetting::where('user_id', getLogInUserId())->where('key', 'time_format')->first(); } $userVcards = Vcard::where('tenant_id', getLogInTenantId())->pluck('id')->toArray(); $bookedAppointment = ScheduleAppointment::whereIn('vcard_id', $userVcards)->where('status', ScheduleAppointment::PENDING)->count(); if (! empty($setting) && $bookedAppointment > 0 && $setting->value != $request->time_format) { Flash::error(__('messages.flash.can_not_change_time_format')); return Redirect::back(); } $this->userSettingRepository->update($request->all(), $id); Flash::success(__('messages.flash.setting_update')); return Redirect::back(); } public function paymentMethodUpdate(Request $request){ $id = Auth::id(); $this->userSettingRepository->paymentMethodUpdate($request->all(), $id); Flash::success(__('messages.flash.setting_update')); return Redirect::back(); } } PK8\NA  $Controllers/CustomLinkController.phpnu[customLinkRepo = $customLinkRepo; } /** * Display a listing of the resource. */ public function index() { // } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(CreateCustomLinkRequest $request) { $input = $request->all(); $customLink = $this->customLinkRepo->store($input ); return $this->sendResponse($customLink, __('messages.flash.custom_link_created')); } /** * Display the specified resource. */ public function show(CustomLink $customLink) { // } /** * Show the form for editing the specified resource. */ public function edit(CustomLink $customLink) { return $this->sendResponse($customLink, 'Custom Link successfully retrieved.'); } /** * Update the specified resource in storage. */ public function update(UpdateCustomLinkRequest $request,$id) { $input = $request->all(); $customLink = $this->customLinkRepo->update($input, $id); return $this->sendResponse($customLink, __('messages.flash.custom_link_updated')); } /** * Remove the specified resource from storage. */ public function destroy(CustomLink $customLink) { $customLink->delete(); return $this->sendSuccess(__('messages.flash.custom_link_deleted')); } public function updateShowAsButton(CustomLink $customLink) { $customLink->update([ 'show_as_button' => ! $customLink->show_as_button, ]); return $this->sendSuccess(__('messages.flash.show_as_button')); } public function updateOpenNewTab(CustomLink $customLink) { $customLink->update([ 'open_new_tab' => ! $customLink->open_new_tab, ]); return $this->sendSuccess(__('messages.flash.open_new_tab')); } } PK8\6!Controllers/CountryController.phpnu[countryRepository = $countryRepository; } public function index(): View { return view('sadmin.countries.index'); } public function store(CreateCountryRequest $request): JsonResponse { $input = $request->all(); $input['short_code'] = strtoupper($input['short_code']); $country = $this->countryRepository->create($input); return $this->sendResponse($country, __('messages.flash.country_create')); } public function edit(Country $country): JsonResponse { return $this->sendResponse($country, 'Country successfully retrieved.'); } public function update(UpdateCountryRequest $request, Country $country): JsonResponse { $input = $request->all(); $input['short_code'] = strtoupper($input['short_code']); $this->countryRepository->update($input, $country->id); return $this->sendSuccess(__('messages.flash.country_update')); } public function destroy(Country $country): JsonResponse { $states = State::whereCountryId($country->id)->count(); if ($states > 0) { return $this->sendError(__('messages.flash.country_used')); } $country->delete(); return $this->sendSuccess('Country deleted successfully.'); } } PK8\뤶$Controllers/OnboardingController.phpnuIwhas('social_url') && !$request->has('sources')) { $request->merge(['sources' => [$request->input('social_url')]]); } $request->validate([ 'sources' => ['required', 'array', 'min:1', 'max:5'], 'sources.*' => ['required', 'url', 'max:500', 'distinct'], ], [ 'sources.required' => 'Fornea pelo menos uma URL de rede social ou site.', 'sources.max' => 'Pode fornecer no mximo 5 fontes.', 'sources.*.url' => 'Uma das URLs fornecidas no vlida.', 'sources.*.distinct' => 'No repita URLs.', ]); $user = Auth::user(); $sources = array_filter($request->sources, fn($s) => !empty(trim($s))); // Determine primary URL for backward compatibility $primaryUrl = $sources[0] ?? ''; // Create VCard skeleton $vcard = Vcard::create([ 'user_id' => $user->id, 'tenant_id' => $user->tenant_id ?? null, 'name' => $user->name, 'url_alias' => 'card-' . uniqid(), 'status' => 'pending_payment', 'ai_status' => 'pending', 'ai_social_url' => json_encode(array_values($sources), JSON_UNESCAPED_SLASHES), 'payment_deadline' => now()->addHours(24), 'template_id' => 1, ]); Log::info("[Onboarding] VCard#{$vcard->id} created. Sources: " . implode(', ', $sources)); // Dispatch AI job with full sources array GenerateAiCardJob::dispatch($user, $sources, $vcard->id) ->onQueue('ai-generation'); return redirect()->route('vcard.processing', ['vcard' => $vcard->id]) ->with('message', count($sources) > 1 ? 'A IA est a analisar ' . count($sources) . ' fontes para criar o seu carto...' : 'A IA est a preparar o seu carto...' ); } /** Show processing screen */ public function processing(Vcard $vcard) { if ($vcard->user_id !== Auth::id()) { abort(403); } return view('vcard.processing', compact('vcard')); } /** API: Poll AI status */ public function aiStatus(Vcard $vcard): JsonResponse { if ($vcard->user_id !== Auth::id()) { return response()->json(['error' => 'Unauthorized'], 403); } $aiData = null; if ($vcard->ai_status === 'completed' && $vcard->ai_data) { $decoded = json_decode($vcard->ai_data, true); $aiData = [ 'template_id' => $decoded['template_id'] ?? null, 'color_primary' => $decoded['color_primary'] ?? null, 'confidence' => $decoded['confidence'] ?? null, 'brand_personality' => $decoded['brand_personality'] ?? null, ]; } return response()->json([ 'vcard_id' => $vcard->id, 'ai_status' => $vcard->ai_status, 'template_id' => $vcard->template_id, 'ai_data' => $aiData, 'redirect_url' => $vcard->ai_status === 'completed' ? route('user.vcard.edit', $vcard->id) : null, ]); } } PK8\(3:&Controllers/NfcCardOrderController.phpnu[select('*')->findOrFail($nfcOrder); return view('sadmin.nfc_card_order.show', compact('nfcCardOrder')); } public function downloadLogo($id) { $nfcCardOrder = NfcOrders::findOrFail($id); $mediaCollection = $nfcCardOrder->media; if (! empty($mediaCollection)) { $mediaItem = $mediaCollection->first(); $mediaPath = $mediaItem->getPath(); if (config('app.media_disc') === 'public') { $mediaPath = (Str::after($mediaItem->getUrl(), '/uploads')); } $file = Storage::disk(config('app.media_disc'))->get($mediaPath); $headers = [ 'Content-Type' => $mediaItem->mime_type, 'Content-Description' => 'File Transfer', 'Content-Disposition' => "attachment; filename={$mediaItem->file_name}", 'filename' => $mediaItem->file_name, ]; return response($file, 200, $headers); } } } PK8\8sBB3Controllers/Auth/AuthenticatedSessionController.phpnu[authenticate(); $request->session()->regenerate(); return response()->noContent(); } /** * Destroy an authenticated session. */ public function destroy(Request $request): Response { Auth::guard('web')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return response()->noContent(); } } PK8\2\<Controllers/Auth/EmailVerificationNotificationController.phpnu[user()->hasVerifiedEmail()) { return redirect()->intended(RouteServiceProvider::HOME); } $request->user()->sendEmailVerificationNotification(); return response()->json(['status' => 'verification-link-sent']); } } PK8\1 SS6Controllers/Auth/EmailVerificationPromptController.phpnu[user()->hasVerifiedEmail() ? redirect()->intended(RouteServiceProvider::HOME) : view('auth.verify-email'); } } PK8\ܠ*Controllers/Auth/VerifyEmailController.phpnu[user()->hasVerifiedEmail()) { return redirect()->intended( config('app.frontend_url').RouteServiceProvider::HOME.'?verified=1' ); } if ($request->user()->markEmailAsVerified()) { event(new Verified($request->user())); } return redirect()->intended( config('app.frontend_url').RouteServiceProvider::HOME.'?verified=1' ); } } PK8\ \\-Controllers/Auth/RegisteredUserController.phpnu[validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:'.User::class], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); event(new Registered($user)); Auth::login($user); return response()->noContent(); } } PK8\0Controllers/Auth/PasswordResetLinkController.phpnu[validate([ 'email' => ['required', 'email'], ]); // We will send the password reset link to this user. Once we have attempted // to send the link, we will examine the response then see the message we // need to show to the user. Finally, we'll send out a proper response. $status = Password::sendResetLink( $request->only('email') ); if ($status != Password::RESET_LINK_SENT) { throw ValidationException::withMessages([ 'email' => [__($status)], ]); } return response()->json(['status' => __($status)]); } } PK8\vt**Controllers/Auth/error_lognu[[17-Jun-2026 01:40:29 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/PasswordResetLinkController.php:15 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/PasswordResetLinkController.php on line 15 [17-Jun-2026 01:40:30 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/ConfirmablePasswordController.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/ConfirmablePasswordController.php on line 13 [17-Jun-2026 01:40:31 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationPromptController.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationPromptController.php on line 9 [17-Jun-2026 01:40:33 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationNotificationController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationNotificationController.php on line 10 [17-Jun-2026 01:40:35 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/NewPasswordController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/NewPasswordController.php on line 18 [17-Jun-2026 01:40:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/VerifyEmailController.php:14 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/VerifyEmailController.php on line 14 [17-Jun-2026 01:40:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/RegisteredUserController.php:30 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/RegisteredUserController.php on line 30 [17-Jun-2026 01:40:51 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/AuthenticatedSessionController.php:21 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/AuthenticatedSessionController.php on line 21 [19-Jun-2026 18:40:43 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/ConfirmablePasswordController.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/ConfirmablePasswordController.php on line 13 [19-Jun-2026 18:40:44 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationPromptController.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationPromptController.php on line 9 [19-Jun-2026 18:40:50 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/NewPasswordController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/NewPasswordController.php on line 18 [19-Jun-2026 18:40:51 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/VerifyEmailController.php:14 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/VerifyEmailController.php on line 14 [19-Jun-2026 18:40:51 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationNotificationController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationNotificationController.php on line 10 [19-Jun-2026 18:40:52 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/RegisteredUserController.php:30 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/RegisteredUserController.php on line 30 [19-Jun-2026 18:40:52 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/AuthenticatedSessionController.php:21 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/AuthenticatedSessionController.php on line 21 [16-Jul-2026 10:02:04 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationNotificationController.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationNotificationController.php on line 10 [16-Jul-2026 10:03:04 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/AuthenticatedSessionController.php:21 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/AuthenticatedSessionController.php on line 21 [16-Jul-2026 11:31:04 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationPromptController.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/EmailVerificationPromptController.php on line 9 [16-Jul-2026 18:45:04 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\AppBaseController" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/RegisteredUserController.php:30 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/RegisteredUserController.php on line 30 [16-Jul-2026 23:02:29 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/NewPasswordController.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/NewPasswordController.php on line 18 [17-Jul-2026 00:13:46 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/ConfirmablePasswordController.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/ConfirmablePasswordController.php on line 13 [17-Jul-2026 00:17:20 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/VerifyEmailController.php:14 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/VerifyEmailController.php on line 14 [17-Jul-2026 05:39:17 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/cardxfeb/public_html/app/Http/Controllers/Auth/PasswordResetLinkController.php:15 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Controllers/Auth/PasswordResetLinkController.php on line 15 PK8\h*Controllers/Auth/NewPasswordController.phpnu[validate([ 'token' => ['required'], 'email' => ['required', 'email'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); // Here we will attempt to reset the user's password. If it is successful we // will update the password on an actual user model and persist it to the // database. Otherwise we will parse the error and return the response. $status = Password::reset( $request->only('email', 'password', 'password_confirmation', 'token'), function ($user) use ($request) { $user->forceFill([ 'password' => Hash::make($request->password), 'remember_token' => Str::random(60), ])->save(); event(new PasswordReset($user)); } ); if ($status != Password::PASSWORD_RESET) { throw ValidationException::withMessages([ 'email' => [__($status)], ]); } return response()->json(['status' => __($status)]); } } PK8\Ji2Controllers/Auth/ConfirmablePasswordController.phpnu[validate([ 'email' => $request->user()->email, 'password' => $request->password, ])) { throw ValidationException::withMessages([ 'password' => __('auth.password'), ]); } $request->session()->put('auth.password_confirmed_at', time()); return redirect()->intended(RouteServiceProvider::HOME); } } PK8\UЪ??#Controllers/FrontFAQsController.phpnu[frontFaqsRepo = $frontFaqsRepo; } /** * Display a listing of the resource. */ public function index() { return view('sadmin.faqs.index'); } /** * Store a newly created resource in storage. */ public function store(CreateFrontFaqRequest $request) { $input = $request->all(); $faqs = $this->frontFaqsRepo->store($input); return $this->sendResponse($faqs, __('messages.faqs.create_front_faqs')); } /** * Show the form for editing the specified resource. */ public function edit(string $id): JsonResponse { $language = getLogInUser()->language; $faq = FrontFAQs::where(['id'=> $id,'language' => $language])->first(); return $this->sendResponse($faq, 'FAQs successfully retrieved.'); } /** * Update the specified resource in storage. */ public function update(CreateFrontFaqRequest $request, string $id): JsonResponse { $input = $request->all(); $testimonial = $this->frontFaqsRepo->update($input, $request->faqs_id); return $this->sendResponse($testimonial, __('messages.faqs.update_front_faqs')); } /** * Remove the specified resource from storage. */ public function destroy(string $id): JsonResponse { FrontFAQs::where('id', $id)->delete(); return $this->sendSuccess('FAQs deleted successfully.'); } } PK8\7_0'Controllers/UserDashboardController.phpnu[all(); $endDate = $request->date; $format = getSuperAdminSettingValue('datetime_method'); $input['date'] = ($format == 1) ? Carbon::createFromFormat('d M, Y', $endDate)->format('Y-m-d H:i:s') : (($format == 2) ? Carbon::createFromFormat('M d, Y', $endDate)->format('Y-m-d H:i:s') : (($format == 3) ? Carbon::createFromFormat('d/m/Y', $endDate)->format('Y-m-d H:i:s') : (($format == 4) ? Carbon::createFromFormat('Y/m/d', $endDate)->format('Y-m-d H:i:s') : (($format == 5) ? Carbon::createFromFormat('m/d/Y', $endDate)->format('Y-m-d H:i:s') : (($format == 6) ? Carbon::createFromFormat('Y-m-d', $endDate)->format('Y-m-d H:i:s') : Carbon::parse($endDate)->format('Y-m-d H:i:s') ) ) ) ) ); try { DB::beginTransaction(); /** @var Vcard $vcard */ $vcard = Vcard::with('tenant.user')->where('id', $input['vcard_id'])->first(); $input['toName'] = $vcard->fullName > 1 ? $vcard->fullName : $vcard->tenant->user->fullName; $input['vcard_name'] = $vcard->name; $userId = $vcard->tenant->user->id; if (isset($input['payment_method'])) { //Stripe if ($input['payment_method'] == Appointment::STRIPE) { /** @var AppointmentRepository $repo */ $repo = App::make(AppointmentRepository::class); $result = $repo->userCreateSession($userId, $vcard, $input); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.stripe_created')); } //Phonepe if ($input['payment_method'] == Appointment::PHONEPE) { $currency = $input['currency_code']; if ($currency != "INR") { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_phonepe')); } /** @var UserPhonepeController $phonepe */ $phonepe = App::make(UserPhonepeController::class); $result = $phonepe->appointmentBook($userId, $vcard, $input); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.phonepe_created')); } // PAYSTACK if ($input['payment_method'] == Appointment::PAYSTACK) { if (isset($input['currency_code']) && ! in_array( strtoupper($input['currency_code']), getPayStackSupportedCurrencies() )) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_paystack')); } $currency = $input['currency_code']; $amount = $input['amount']; $currencyCode = $input['currency_code']; $clientId = getUserSettingValue('paystack_key', $userId); $clientSecret = getUserSettingValue('paystack_secret', $userId); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); $data = [ 'email' => $input['email'], 'orderID' => $vcard->id, 'amount' => $amount * 100, 'quantity' => 1, 'currency' => $currency, 'reference' => Paystack::genTranxRef(), 'metadata' => json_encode(['vcard_id' => $vcard->id]), ]; $result = Paystack::getAuthorizationUrl($data)->redirectNow(); session()->put(['appointment_details' => $input]); session(['vcard_user_id' => $userId, 'tenant_id' => $vcard->tenant->id, 'vcard_id' => $vcard->id]); $targetUrl = $result->getTargetUrl(); DB::commit(); return $this->sendResponse(['payment_method' => $input['payment_method'], $targetUrl], __('messages.placeholder.paystack_created')); } //flutterwave if ($input['payment_method'] == Appointment::FLUTTERWAVE) { $supportedCurrency = ['GBP', 'CAD', 'XAF', 'CLP', 'COP', 'EGP', 'EUR', 'GHS', 'GNF', 'KES', 'MWK', 'MAD', 'NGN', 'RWF', 'SLL', 'STD', 'ZAR', 'TZS', 'UGX', 'USD', 'XOF', 'ZMW']; if (isset($input['currency_code']) && ! in_array( strtoupper($input['currency_code']), $supportedCurrency )) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_flutterwave')); } /** @var UserFlutterwaveController $flutterwave */ $flutterwave = App::make(UserFlutterwaveController::class); $result = $flutterwave->userOnBoard($userId, $vcard, $input); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.flutterwave_created')); } //PayPal if ($input['payment_method'] == Appointment::PAYPAL) { if (isset($input['currency_code']) && ! in_array( strtoupper($input['currency_code']), getPayPalSupportedCurrencies() )) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported')); } /** @var PaypalController $payPalCont */ $payPalCont = App::make(PaypalController::class); $result = $payPalCont->userOnBoard($userId, $vcard, $input); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.paypal_created')); } //Manually if ($input['payment_method'] == Appointment::MANUALLY) { $currencyCode = $input['currency_code']; $currency = Currency::where('currency_code', $currencyCode)->first(); $appointmentTransaction = AppointmentTransaction::create([ 'vcard_id' => $input['vcard_id'], 'transaction_id' => null, 'currency_id' => $currency->id, 'amount' => $input['amount'], 'tenant_id' => $vcard->tenant->id, 'type' => Appointment::MANUALLY, 'status' => 0, 'meta' => json_encode([]), ]); $appointmentTransactionId = $appointmentTransaction->id; DB::commit(); $inputDate = Carbon::parse($input['date'])->format('Y-m-d'); ScheduleAppointment::create([ 'vcard_id' => $input['vcard_id'], 'name' => $input['name'], 'email' => $input['email'], 'phone' => $input['phone'], 'date' => $inputDate, 'from_time' => $input['from_time'], 'to_time' => $input['to_time'], 'remarks' => null, 'person_count' => null, 'payment_type' => Appointment::MANUALLY, 'status' => 0, 'appointment_tran_id' => $appointmentTransactionId, 'meta' => json_encode([]), ]); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], ], __('messages.placeholder.manual_payment')); } } /** @var AppointmentRepository $appointmentRepo */ $appointmentRepo = App::make(AppointmentRepository::class); $vcardEmail = is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email; $appointmentRepo->appointmentStoreOrEmail($input, $vcardEmail); DB::commit(); setLocalLang(getLocalLanguage()); return $this->sendSuccess(__('messages.placeholder.appointment_created')); } catch (Exception $e) { DB::rollBack(); return $this->sendError($e->getMessage()); } } public function paymentStatus(Request $request): JsonResponse { try { $appointmentStatus = $request->status; $appointmentTransaction = ScheduleAppointment::find($request->id); $appointmentTranId = $appointmentTransaction->appointment_tran_id; AppointmentTransaction::where('id', $appointmentTranId)->update([ 'type' => $appointmentStatus, ]); return $this->sendSuccess(__('messages.placeholder.payment_status')); } catch (\Exception $e) { return $this->sendError($e->getMessage()); } } /** * @return Application|Factory|View */ public function appointmentsList(): \Illuminate\View\View { return view('appointment.list'); } /** * @return Application|Factory|View */ public function appointmentCalendar(Request $request) { if ($request->ajax()) { $data = $this->getCalendar(); return $this->sendResponse($data, 'Appointment calendar data retrieved successfully.'); } return view('appointment.appointment-calendar'); } /** * @return array */ public function getCalendar() { /** @var ScheduleAppointment $appointment */ $appointments = ScheduleAppointment::whereHas('vcard', function ($q) { $q->where('tenant_id', getLogInTenantId()); })->get(); $data = []; foreach ($appointments as $key => $appointment) { if (getUserSettingValue('time_format', getLogInUserId()) == UserSetting::HOUR_24) { $startTime = date('H:i', strtotime($appointment->from_time)); $endTime = date('H:i', strtotime($appointment->to_time)); $start = Carbon::createFromFormat( 'Y-m-d H:i', date('Y-m-d', strtotime($appointment->date)) . ' ' . $startTime ); $end = Carbon::createFromFormat( 'Y-m-d H:i', date('Y-m-d', strtotime($appointment->date)) . ' ' . $endTime ); } else { $startTime = date('h:i A', strtotime($appointment->from_time)); $endTime = date('h:i A', strtotime($appointment->to_time)); $start = Carbon::createFromFormat( 'Y-m-d h:i A', date('Y-m-d', strtotime($appointment->date)) . ' ' . $startTime ); $end = Carbon::createFromFormat( 'Y-m-d h:i A', date('Y-m-d', strtotime($appointment->date)) . ' ' . $endTime ); } $data[$key]['id'] = $appointment->id; if (getUserSettingValue('time_format', getLogInUserId()) == UserSetting::HOUR_24) { $data[$key]['startDateTime'] = $start->format('jS M, Y - H:i'); $data[$key]['endDateTime'] = $end->format('jS M, Y - H:i'); $data[$key]['title'] = date('H:i', strtotime($appointment->from_time)) . '-' . date( 'H:i', strtotime($appointment->to_time) ); } else { $data[$key]['startDateTime'] = $start->format('jS M, Y - h:i A'); $data[$key]['endDateTime'] = $end->format('jS M, Y - h:i A'); $data[$key]['title'] = date('h:i A', strtotime($startTime)) . '-' . date('h:i A', strtotime($endTime)); } $data[$key]['name'] = $appointment->name; $data[$key]['email'] = $appointment->email; $data[$key]['phone'] = is_null($appointment->phone) ? 'N/A' : $appointment->phone; $data[$key]['vcardName'] = $appointment->vcard->name; $data[$key]['start'] = $start->toDateTimeString(); $data[$key]['description'] = $appointment->vcard->description; $data[$key]['status'] = $appointment->vcard->status; $data[$key]['end'] = $end->toDateTimeString(); $data[$key]['color'] = '#FFF'; $data[$key]['className'] = [getStatusClassName($appointment->vcard->status)]; } return $data; } /** * @return mixed */ public function appointmentsUpdate(ScheduleAppointment $appointment) { $appointments = ScheduleAppointment::findOrFail($appointment->id); $appointments->update([ 'status' => ScheduleAppointment::COMPLETED, ]); $data['name'] = $appointment->name; $data['date'] = Carbon::parse($appointment->date)->format('d M, Y'); $data['from_time'] = $appointment->from_time; $data['to_time'] = $appointment->to_time; Mail::to($appointment->email) ->send(new AppointmentApproveMail($data)); return $this->sendSuccess(__('messages.flash.plan_status')); } public function destroy(ScheduleAppointment $appointment): JsonResponse { if ($appointment->appointment_tran_id == null) { $appointment->delete(); return $this->sendSuccess('Appointment deleted successfully.'); } return $this->sendError(__('messages.placeholder.paid_appointment_cant_delete')); } } PK8\5:P( ( !Controllers/FeatureController.phpnu[featureRepository = $featureRepository; } public function index(): \Illuminate\View\View { return view('settings.features.index'); } public function show($id) { // } public function edit(Feature $feature): \Illuminate\View\View { return view('settings.features.edit', compact('feature')); } public function new(): \Illuminate\View\View { return view('settings.features.new'); } public function update(UpdateFeatureRequest $request, $id): RedirectResponse { $input = $request->all(); $this->featureRepository->update($input, $id); Flash::success(__('messages.flash.feature_update')); return redirect(route('features.index')); } public function store(UpdateFeatureRequest $request): RedirectResponse { $input = $request->all(); // Get current language from logged-in user $language = getLogInUser()->language; $input['language'] = $language; // Validate unique slug for the language $this->validate($request, [ 'slug' => 'required|unique:features,slug,NULL,id,language,' . $language, ]); // Generate slug if not provided if (empty($input['slug'])) { $count = Feature::where('language', $language)->count(); $input['slug'] = $language . '.features.' . ($count + 1); } else { // Ensure slug format if (!Str::startsWith($input['slug'], $language . '.features.')) { $input['slug'] = $language . '.features.' . Str::slug($input['slug']); } } $this->featureRepository->update($input, null); Flash::success(__('messages.flash.feature_update')); return redirect(route('features.index')); } }PK8\}ɧ(Controllers/ContactRequestController.phpnu[email)->latest()->first(); if ($contactRequest) { return redirect()->route('add-contact', $request->vcard_id); } else { $input = $request->all(); try { DB::beginTransaction(); $contactRequest = ContactRequest::create($input); DB::commit(); setLocalLang(getLocalLanguage()); return $contactRequest; } catch (Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } return redirect()->back(); } } PK8\ O Controllers/BlogController.phpnu[blogRepository = $blogRepository; } /** * Display a listing of the resource. */ public function index() { return view('sadmin.blog.index'); } /** * Show the form for creating a new resource. */ public function create() { return view('sadmin.blog.create'); } /** * Store a newly created resource in storage. */ public function store(CreateBlogRequest $request) { $input = $request->all(); $this->blogRepository->store($input); Flash::success(__('messages.flash.blog_create')); return redirect(route('blogs.index')); } /** * Display the specified resource. */ public function show(Blog $blog) { return view('sadmin.blog.show', compact('blog')); } /** * Show the form for editing the specified resource. */ public function edit(Blog $blog) { return view('sadmin.blog.edit', compact('blog')); } /** * Update the specified resource in storage. */ public function update(UpdateBlogRequest $request, $id) { $input = $request->all(); $this->blogRepository->update($input, $id); Flash::success(__('messages.flash.blog_update')); return redirect(route('blogs.index')); } /** * Remove the specified resource from storage. */ public function destroy(Blog $blog) { $blog->delete(); return $this->sendSuccess('Blog deleted successfully.'); } public function slug(Request $request) { $text = $request->text; if ($text == '') { $text = ''; } $slug = preg_replace('/[^\p{L}\p{N}]+/u', '-', trim($text)); return $this->sendResponse($slug, __('messages.placeholder.content_generated_successfully')); } public function updateBlogStatus(Blog $blog) { $blog->update([ 'status' => ! $blog->status, ]); return $this->sendSuccess(__('messages.flash.blog_status')); } } PK8\vI!Controllers/AppBaseController.phpnu[ true, 'message' => $message, ], 200); } } PK8\iЄ66#Controllers/VcardBlogController.phpnu[vcardBlogRepo = $vcardBlogRepo; } /** * @return Application|Factory|View */ public function index(): \Illuminate\View\View { return view('vcards.blogs.index'); } /** * @return mixed */ public function store(CreateVcardBlogRequest $request) { $input = $request->all(); $blog = $this->vcardBlogRepo->store($input); return $this->sendResponse($blog, __('messages.flash.create_blog')); } /** * @return mixed */ public function edit(VcardBlog $vcardBlog) { return $this->sendResponse($vcardBlog, 'VCard successfully retrieved.'); } /** * @return mixed */ public function update(UpdateVcardBlogRequest $request, VcardBlog $vcardBlog) { $input = $request->all(); $service = $this->vcardBlogRepo->update($input, $vcardBlog->id); return $this->sendResponse($service, __('messages.flash.update_blog')); } /** * @return mixed */ public function destroy(VcardBlog $vcardBlog) { $vcardBlog->clearMediaCollection(VcardBlog::BLOG_PATH); $vcardBlog->delete(); return $this->sendSuccess(__('messages.flash.delete_blog')); } } PK8\j-CCControllers/PlanController.phpnu[planRepository = $planRepository; } /** * @param Request $request * @return Application|Factory|View */ public function index(): \Illuminate\View\View { return view('sadmin.plans.index'); } /** * @return Application|Factory|View */ public function create(): \Illuminate\View\View { return view('sadmin.plans.create'); } /** * @return Application|RedirectResponse|Redirector */ public function store(CreatePlanRequest $request): RedirectResponse { $input = $request->all(); $this->planRepository->store($input); Flash::success(__('messages.flash.plan_create')); return redirect(route('plans.index')); } /** * @return Application|Factory|View */ public function edit(Plan $plan): \Illuminate\View\View { $planCustomFields = PlanCustomField::where('plan_id', $plan->id)->get(); $planCustomFieldsCount = $planCustomFields->count(); $planCustomFields = $planCustomFieldsCount > 0 ? $planCustomFields : []; $templates = $plan->templates()->pluck('template_id')->toArray(); $feature = PlanFeature::wherePlanId($plan->id)->first(); return view('sadmin.plans.edit', compact('plan', 'feature', 'templates','planCustomFields')); } /** * @return Application|RedirectResponse|Redirector */ public function update(UpdatePlanRequest $request, $id): RedirectResponse { $input = $request->all(); $input['custom_select'] = $request->has('custom_select') ? 1 : 0; $maxStorageUsed = getMaxStorageUsedByPlan($id); $newStorageLimit = $request->input('storage_limit'); if ($newStorageLimit < $maxStorageUsed) { return redirect()->back()->withErrors([ 'storage_limit' => trans('messages.plan.storage_limit_exist', ['maxStorageUsed' => number_format($maxStorageUsed, 2)]) ]); } $this->planRepository->update($input, $id); Flash::success(__('messages.flash.plan_update')); return redirect(route('plans.index')); } public function updateStatus(Plan $plan): JsonResponse { $plan->update([ 'is_active' => ! $plan->is_active, ]); return $this->sendSuccess(__('messages.flash.plan_status')); } public function updatePlanStatus(Plan $plan) { $plan->update([ 'status' => ! $plan->status, ]); return $this->sendSuccess(__('messages.flash.plan_status')); } /** * @return mixed */ public function destroy(Plan $plan) { $subscription = Subscription::where('plan_id', $plan->id)->where('status', Subscription::ACTIVE)->count(); if ($plan->is_default == Plan::IS_DEFAULT) { return $this->sendError(__('messages.placeholder.default_plan_can_not_be_delete')); } if ($subscription > 0) { return $this->sendError(__('messages.placeholder.plan_already_used')); } $plan->delete(); return $this->sendSuccess('Plan deleted successfully.'); } public function makePlanDefault(int $id): JsonResponse { $defaultSubscriptionPlan = Plan::where('is_default', 1)->first(); $defaultSubscriptionPlan->update(['is_default' => 0]); $subscriptionPlan = Plan::find($id); if (empty($subscriptionPlan)) { $defaultSubscriptionPlan->update(['is_default' => 1]); return $this->sendSuccess(__('messages.flash.plan_default')); } if ($subscriptionPlan->trial_days == 0) { $subscriptionPlan->trial_days = Plan::TRIAL_DAYS; } $subscriptionPlan->is_default = 1; $subscriptionPlan->save(); return $this->sendSuccess(__('messages.flash.plan_default')); } } PK8\$VN|$$!Controllers/ProductController.phpnu[vcardProductRepo = $vcardProductRepo; } /** * @param $id * @return mixed */ public function store(CreateProductRequest $request): JsonResponse { $input = $request->all(); $service = $this->vcardProductRepo->store($input); return $this->sendResponse($service, __('messages.flash.create_product')); } public function edit($id): JsonResponse { $product = Product::with('currency')->where('id', $id)->first(); if ($product->currency) { $product['formatted_amount'] = getCurrencyAmount($product->price, $product->currency->currency_icon); } return $this->sendResponse($product, 'Product successfully retrieved.'); } public function destroy($id): JsonResponse { $product = Product::where('id', $id)->first(); $product->clearMediaCollection(Product::PRODUCT_PATH); $product->delete(); return $this->sendSuccess('Product deleted successfully.'); } public function update(UpdateProductRequest $request, $id): JsonResponse { $input = $request->all(); $service = $this->vcardProductRepo->update($input, $id); return $this->sendResponse($service, __('messages.flash.update_product')); } public function buy(ProductBuyRequest $request) { $input = $request->all(); $product = Product::with('currency', 'vcard.user')->whereId($input['product_id'])->first(); $currency = isset($product->currency_id) ? $product->currency->currency_code : Currency::whereId(getUserSettingValue('currency_id', $product->vcard->user->id))->first()->currency_code; try { App::setLocale(Session::get('languageChange_' . $product->vcard->url_alias)); DB::beginTransaction(); if ($input['payment_method'] == Product::STRIPE) { /** @var VcardProductRepository $repo */ $repo = App::make(VcardProductRepository::class); $result = $repo->productBuySession($input, $product); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.stripe_created')); } // PhonePe if ($input['payment_method'] == Product::PHONEPE) { if ($currency != "INR") { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_phonepe')); } /** @var UserPhonepeController $phonepe */ $phonepe = App::make(UserPhonepeController::class); $result = $phonepe->productBuy($input, $product); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.phonepe_created')); } // Paystack if ($input['payment_method'] == Product::PAYSTACK) { if (isset($currency) && !in_array(strtoupper($currency), getPayStackSupportedCurrencies())) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_paystack')); } /** @var UserPaystackController $paystack */ $paystack = App::make(UserPaystackController::class); $result = $paystack->productBuy($input, $product); $targetUrl = $result->getTargetUrl(); DB::commit(); return $this->sendResponse(['payment_method' => $input['payment_method'], $targetUrl], __('messages.placeholder.paystack_created')); } // Flutterwave if ($input['payment_method'] == Product::FLUTTERWAVE) { $supportedCurrency = ['GBP', 'CAD', 'XAF', 'CLP', 'COP', 'EGP', 'EUR', 'GHS', 'GNF', 'KES', 'MWK', 'MAD', 'NGN', 'RWF', 'SLL', 'STD', 'ZAR', 'TZS', 'UGX', 'USD', 'XOF', 'ZMW']; if (isset($currency) && !in_array(strtoupper($currency), $supportedCurrency)) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported_flutterwave')); } /** @var UserFlutterwaveController $flutterwave */ $flutterwave = App::make(UserFlutterwaveController::class); $targetUrl = $flutterwave->productBuy($input, $product); DB::commit(); return $this->sendResponse(['payment_method' => $input['payment_method'], $targetUrl], __('messages.placeholder.flutterwave_created')); } // Razor Pay if ($input['payment_method'] == Product::RAZORPAY) { $repo = App::make(VcardProductRepository::class); $result = $repo->userCreateRazorPaySession($input, $product, $currency); $result['payment_method'] = $input['payment_method']; $userId = $product->vcard->user->id; $product = Product::find($input['product_id']); Session::put('productId', $product); DB::commit(); return $this->sendResponse([ $result ], __('messages.nfc.razorpay_session_success')); } //manually if ($input['payment_method'] == Product::MANUALLY) { $product = Product::find($input['product_id']); ProductTransaction::create([ 'name' => $input['name'], 'email' => $input['email'], 'phone' => $input['phone'], 'address' => $input['address'], 'type' => $input['payment_method'], 'product_id' => $input['product_id'], 'currency_id' => $product->currency_id, 'amount' => $product->price, 'status' => 1, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $input['name'], 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $input['phone'], 'address' => $input['address'], 'payment_type' => __('messages.manually'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $product->vcard->user->id)) { Mail::to($input['email'])->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $product->vcard->user->id)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $result['payment_method'] = $input['payment_method']; DB::commit(); return $this->sendResponse([ $result ], __('messages.flash.product_purchase_success')); } //PayPal if ($input['payment_method'] == Product::PAYPAL) { if (isset($currency) && !in_array(strtoupper($currency), getPayPalSupportedCurrencies())) { return $this->sendError(__('messages.placeholder.this_currency_is_not_supported')); } /** @var PaypalController $payPalCont */ $payPalCont = App::make(PaypalController::class); $result = $payPalCont->buyProductOnboard($input, $product); DB::commit(); return $this->sendResponse([ 'payment_method' => $input['payment_method'], $result, ], __('messages.placeholder.paypal_created')); } } catch (Exception $e) { DB::rollBack(); return $this->sendError($e->getMessage()); } } public function updateProductStatus($id, $status) { $product = ProductTransaction::find($id); if (!$product) { return redirect()->back()->with('error', 'Product not found.'); } $product->status = $status; $product->save(); return redirect()->back()->with('success', __('messages.flash.product_status_change')); } } PK8\g=j??*Controllers/FrontTestimonialController.phpnu[frontTestimonialRepo = $frontTestimonialRepo; } /** * @param Request $request * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View * * @throws \Exception */ public function index(): View { return view('sadmin.testimonial.index'); } /** * Store a newly created resource in storage. */ public function store(CreateFrontTestimonialRequest $request): JsonResponse { $input = $request->all(); $testimonial = $this->frontTestimonialRepo->store($input); return $this->sendResponse($testimonial, __('messages.flash.create_front_testimonial')); } public function edit(FrontTestimonial $frontTestimonial): JsonResponse { return $this->sendResponse($frontTestimonial, 'Testimonial successfully retrieved.'); } public function update(UpdateFrontTestimonialRequest $request): JsonResponse { $input = $request->all(); $testimonial = $this->frontTestimonialRepo->update($input, $request->testimonial_id); return $this->sendResponse($testimonial, __('messages.flash.update_front_testimonial')); } /** * Remove the specified resource from storage. * * @param int $id */ public function destroy(FrontTestimonial $frontTestimonial): JsonResponse { $frontTestimonial->clearMediaCollection(FrontTestimonial::PATH); $frontTestimonial->delete(); return $this->sendSuccess('Testimonial deleted successfully.'); } } PK8\KXX(Controllers/InstagramEmbedController.phpnu[instagramembedRepo = $instagramembedRepo; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request, $id) { } /** * Store a newly created resource in storage. * * @return \Illuminate\Http\Response */ public function store(CreateInstagramEmbedRequest $request) { $input = $request->all(); $this->instagramembedRepo->store($input); return $this->sendSuccess(__('messages.placeholder.embedtag_created')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(InstagramEmbed $instagramembed) { return $this->sendResponse($instagramembed, 'instagramembed successfully retrieved.'); } /** * Update the specified resource in storage. * * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdateInstagramEmbedRequest $request, InstagramEmbed $instagramembed) { $input = $request->all(); $this->instagramembedRepo->update($input, $instagramembed->id); return $this->sendSuccess(__('messages.placeholder.embedtag_updated')); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($instagramembed) { InstagramEmbed::destroy($instagramembed); return $this->sendSuccess('VCard service deleted successfully.'); } } PK8\i&Controllers/VcardServiceController.phpnu[vcardServiceRepo = $vcardServiceRepo; } /** * @return mixed */ public function index($id) { } public function store(CreateVcardServiceRequest $request): JsonResponse { $input = $request->all(); $service = $this->vcardServiceRepo->store($input); return $this->sendResponse($service, __('messages.flash.create_service')); } public function edit(VcardService $vcardService): JsonResponse { return $this->sendResponse($vcardService, 'VCard successfully retrieved.'); } public function update(UpdateVcardServiceRequest $request, VcardService $vcardService): JsonResponse { $input = $request->all(); $service = $this->vcardServiceRepo->update($input, $vcardService->id); return $this->sendResponse($service, __('messages.flash.update_service')); } public function destroy(VcardService $vcardService): JsonResponse { $vcardService->clearMediaCollection(VcardService::SERVICES_PATH); $vcardService->delete(); return $this->sendSuccess(__('messages.flash.delete_service')); } } PK8\إA$A$!Controllers/SettingController.phpnu[settingRepository = $settingRepository; } /** * @return Application|Factory|View */ public function index(Request $request): \Illuminate\View\View { $setting = Setting::pluck('value', 'key')->toArray(); $paymentGateways = Plan::PAYMENT_METHOD; $paypalMode = Plan::PAYPAL_MODE; $selectedPaymentGateways = PaymentGateway::pluck('payment_gateway_id', 'payment_gateway')->toArray(); $metas = Meta::first(); $sectionName = ($request->get('section') === null) ? 'general' : $request->get('section'); if (! empty($metas)) { $metas = $metas->toArray(); } $mailsetting = MailSetting::first(); return view( "settings.$sectionName", compact('setting', 'selectedPaymentGateways', 'metas', 'sectionName', 'paymentGateways', 'paypalMode', 'mailsetting') ); } public function update(UpdateSettingRequest $request): RedirectResponse { if ($request->favicon) { $imageSize = getimagesize($request->favicon); $width = $imageSize[0]; $height = $imageSize[1]; if ($width > 16 && $height > 16) { Flash::error(__('messages.placeholder.favicon_invalid')); return redirect()->back(); } } $id = Auth::id(); $this->settingRepository->update($request->all(), $id); Flash::success(__('messages.flash.setting_update')); return redirect(route('setting.index')); } /** * @return Application|Factory|View */ public function frontCmsIndex(): \Illuminate\View\View { $language = getLogInUser()->language; $setting = Setting::where('language', $language)->orWhere('language','')->pluck('value', 'key')->toArray(); return view('settings.front_cms.index', compact('setting')); } /** * @return Application|RedirectResponse|Redirector */ public function frontCmsUpdate(UpdateFrontCmsRequest $request): RedirectResponse { $id = Auth::id(); $this->settingRepository->update($request->all(), $id); Flash::success(__('messages.flash.front_cms')); return redirect(route('setting.front.cms')); } public function settingTermsConditions(Request $request): RedirectResponse { $inputs = $request->all(); $inputs = Arr::except($inputs, ['_token']); $inputs['terms_conditions'] = json_decode($inputs['terms_conditions']); $inputs['privacy_policy'] = json_decode($inputs['privacy_policy']); foreach ($inputs as $key => $value) { /** @var FrontCMSSetting $cmsSetting */ $termsConditions = Setting::where('key', $key)->first(); $termsConditions->update(['value' => $value]); } Flash::success(__('messages.vcard.term-condition').' '.__('messages.flash.vcard_update')); return Redirect::back(); } public function updateManualPaymentGuide(Request $request): RedirectResponse { $input = $request->all(); $input = Arr::except($input, ['_token']); $input['manual_payment_guide'] = json_decode($input['manual_payment_guide']); $input['is_manual_payment_guide_on'] = isset($input['is_manual_payment_guide_on']); foreach ($input as $key => $value) { $manualPaymentGuide = Setting::where('key', $key)->first(); $manualPaymentGuide->update(['value' => $value]); } Flash::success(__('messages.vcard.manual_payment_guide').' '.__('messages.flash.vcard_update')); return redirect()->back(); } public function updateMobileValidation() { $setting = Setting::where('key', 'mobile_validation')->firstOrFail(); $setting->update([ 'value' => $setting->value ? 0 : 1, ]); Flash::success(__('messages.flash.mobile_validation')); return $this->sendSuccess('messages.flash.mobile_validation'); } public function updateGoogleAnalytics(Request $request): RedirectResponse { Meta::query()->delete(); if (isset($request->site_title) || isset($request->site_title) || isset($request->site_title) || isset($request->site_title) || isset($request->google_analytics)) { Meta::updateOrCreate([ 'site_title' => $request->site_title, 'home_title' => $request->home_title, 'meta_keyword' => $request->meta_keyword, 'meta_description' => $request->meta_description, 'google_analytics' => $request->google_analytics, ]); } Flash::success(__('messages.vcard.google_config').' '.__('messages.flash.vcard_update')); return Redirect::back(); } public function updatePaymentMethod(UpdatePaymentRequest $request): RedirectResponse { $paymentGateways = $request->payment_gateway; $input = $request->all(); PaymentGateway::query()->delete(); if (isset($paymentGateways)) { foreach ($paymentGateways as $paymentGateway) { PaymentGateway::updateOrCreate( ['payment_gateway_id' => $paymentGateway], [ 'payment_gateway' => Plan::PAYMENT_METHOD[$paymentGateway], ] ); } } $paymentMethodKeys = [ 'stripe_key', 'stripe_secret', 'flutterwave_key', 'flutterwave_secret', 'paypal_client_id', 'paypal_secret','paypal_mode', 'razorpay_key', 'razorpay_secret', 'paystack_key', 'paystack_secret', 'phonepe_merchant_id', 'phonepe_merchant_user_id', 'phonepe_env', 'phonepe_salt_key', 'phonepe_salt_index', 'manual_payment_guide', ]; foreach ($paymentMethodKeys as $key) { $setting = Setting::where('key', $key)->first(); $setting->update(['value' => $input[$key]]); } Flash::success(__('messages.vcard.payment_config').' '.__('messages.flash.vcard_update')); return Redirect::back(); } public function updateTheme(Request $request){ $themeSetting = Setting::where('key','home_page_theme')->first(); $themeSetting->update(['value'=>$request->theme_id]); Flash::success(__('messages.flash.success_theme_update')); return Redirect::back(); } public function upgradeDatabase(){ Artisan::call('migrate', ['--force' => true]); Flash::success(__('messages.flash.database_upgrade_succesfully')); return Redirect::back(); } public function generateSitemap(){ Artisan::call('sitemap:generate'); Flash::success(__('messages.sitemap_generated')); return Redirect::back(); } public function bannerStore(HomeBannerRequest $request) { $requestData = $request->all(); $this->settingRepository->updateBanner($requestData); Flash::success(__('messages.flash.banner_data_update')); return Redirect::back(); } public function appUrlStore(MobileRequest $request) { $requestData = $request->all(); $this->settingRepository->updateAppUrl($requestData); Flash::success(__('messages.app_download_url')); return Redirect::back(); } public function homePageUpdate(Request $request): RedirectResponse { if ($request->favicon) { $imageSize = getimagesize($request->favicon); $width = $imageSize[0]; $height = $imageSize[1]; if ($width > 16 && $height > 16) { Flash::error(__('messages.placeholder.favicon_invalid')); return redirect()->back(); } } $id = Auth::id(); $this->settingRepository->homePageUpdate($request->all(), $id); Flash::success(__('messages.flash.setting_update')); return redirect()->back(); } } PK8\oiiControllers/NfcController.phpnu[NfcRepository = $NfcRepository; } public function index(Request $request) { return view('sadmin.nfc.index'); } public function store(CreateNfcRequest $request) { $input = $request->all(); $nfc = $this->NfcRepository->store($input); return $this->sendResponse($nfc,__('messages.nfc.nfc_card_created_success')); } public function edit($id){ $nfc = Nfc::with('media')->find($id); return $this->sendResponse($nfc, 'Nfc Type successfully retrieved.'); } public function update(UpdateNfcCardRequest $request,$id){ $input = $request->all(); $nfc = $this->NfcRepository->update($input, $id); return $this->sendResponse($nfc,__('messages.nfc.nfc_card_updated_success')); } public function destroy($id) { $nfcOrder = NfcOrders::where('card_type',$id)->exists(); if($nfcOrder){ return $this->sendError(__('messages.nfc.card_can_not_deleted')); } $nfc = Nfc::find($id); $nfc->delete(); return $this->sendSuccess(__('messages.nfc.nfc_card_deleted_success')); } } PK8\!2 2 &Controllers/StorageLimitController.phpnu[sum() / (1024 * 1024); $userLimit = $totalStorageData; $storageLimit = getCurrentSubscription()->plan->storage_limit; $productStorageMB = isset($userStorageData['product_storage']) ? $userStorageData['product_storage'] / (1024 * 1024) : 0; $serviceStorageMB = isset($userStorageData['services_storage']) ? $userStorageData['services_storage'] / (1024 * 1024) : 0; $testimonialStorageMB = isset($userStorageData['testimonial_storage']) ? $userStorageData['testimonial_storage'] / (1024 * 1024) : 0; $socialStorageMB = isset($userStorageData['social_storage']) ? $userStorageData['social_storage'] / (1024 * 1024) : 0; $blogStorageMB = isset($userStorageData['blog_storage']) ? $userStorageData['blog_storage'] / (1024 * 1024) : 0; $galleryStorageMB = isset($userStorageData['gallery_storage']) ? $userStorageData['gallery_storage'] / (1024 * 1024) : 0; $profileStorageMB = isset($userStorageData['profile_storage']) ? $userStorageData['profile_storage'] / (1024 * 1024) : 0; $pwaStorageMB = isset($userStorageData['pwa_storage']) ? $userStorageData['pwa_storage'] / (1024 * 1024) : 0; $avatarStorageMB = isset($userStorageData['avatar_storage']) ? $userStorageData['avatar_storage'] / (1024 * 1024) : 0; $storagePercentage = $userLimit * 100 / $storageLimit; $labels = [ __('messages.used_storage'), __('messages.unused_storage'), ]; $chartData = [ 'labels' => $labels, 'data' => [$storagePercentage, 100 - $storagePercentage], ]; return view('storage.index', compact('userLimit','chartData','storageLimit','blogStorageMB','productStorageMB','serviceStorageMB', 'testimonialStorageMB','socialStorageMB','galleryStorageMB','profileStorageMB','pwaStorageMB','avatarStorageMB')); } } PK8\A//+Controllers/EmailSubscriptionController.phpnu[all()); return $this->sendSuccess(__('messages.placeholder.subscribed_successfully')); } /** * @return mixed */ public function destroy(EmailSubscription $emailSubscription) { $emailSubscription->delete(); return $this->sendSuccess('Email deleted successfully.'); } } PK8\&Controllers/UserPaystackController.phpnu[get('vcard_user_id'); $currencyCode = Currency::whereId(getUserSettingValue('currency_id', $userId))->first(); $clientId = getUserSettingValue('paystack_key', $userId); $clientSecret = getUserSettingValue('paystack_secret', $userId); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); $response = Paystack::getPaymentData(); $tenantId = session()->get('tenant_id'); $amount = $response['data']['requested_amount'] / 100; $currencyCode = $response['data']['currency']; $currencyId = Currency::whereCurrencyCode($currencyCode)->first()->id; $transactionId = $response['data']['id']; $vcardId = $response['data']['metadata']['vcard_id'] ?? null; $vcard = Vcard::with('tenant.user')->where('id', $vcardId)->first(); if ($vcardId) { $transactionDetails = [ 'vcard_id' => $vcardId, 'transaction_id' => $transactionId, 'currency_id' => $currencyId, 'amount' => $amount, 'tenant_id' => $tenantId, 'type' => Appointment::PAYSTACK, 'status' => Transaction::SUCCESS, 'meta' => json_encode($response), ]; $appointmentTran = AppointmentTransaction::create($transactionDetails); $appointmentInput = session()->get('appointment_details'); session()->forget('appointment_details'); $appointmentInput['appointment_tran_id'] = $appointmentTran->id; $appointmentInput['vcard_id'] = $vcardId; /** @var AppointmentRepository $appointmentRepo */ $appointmentRepo = App::make(AppointmentRepository::class); $vcardEmail = is_null($vcard->email) ? $vcard->tenant->user->email : $vcard->email; $appointmentRepo->appointmentStoreOrEmail($appointmentInput, $vcardEmail); session()->forget(['vcard_user_id', 'tenant_id', 'vcard_id']); Flash::success(__('messages.placeholder.payment_done')); App::setLocale(session::get('languageChange_' . $vcard->url_alias)); return redirect(route('vcard.show', [$vcard->url_alias, __('messages.placeholder.appointment_created')])); } else { $input = session()->get('input'); $product = Product::whereId($input['product_id'])->first(); $userId = $product->vcard->user->id; $clientId = getUserSettingValue('paystack_key', $userId); $clientSecret = getUserSettingValue('paystack_secret', $userId); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyId = Currency::whereId($product->currency_id)->first()->id; try { $response = Paystack::getPaymentData(); $amount = $response['data']['requested_amount'] / 100; $transactionId = $response['data']['id']; DB::beginTransaction(); ProductTransaction::create([ 'product_id' => $input['product_id'], 'name' => $input['name'], 'email' => $input['email'], 'phone' => $input['phone'], 'address' => $input['address'], 'currency_id' => $currencyId, 'meta' => json_encode($response), 'type' => $input['payment_method'], 'transaction_id' => $transactionId, 'amount' => $amount, ]); $orderMailData = [ 'user_name' => $product->vcard->user->full_name, 'customer_name' => $input['name'], 'product_name' => $product->name, 'product_price' => $product->price, 'phone' => $input['phone'], 'address' => $input['address'], 'payment_type' => __('messages.paystack'), 'order_date' => Carbon::now()->format('d M Y'), ]; if (getUserSettingValue('product_order_send_mail_customer', $userId)) { Mail::to($input['email'])->send(new ProductOrderSendCustomer($orderMailData)); } if (getUserSettingValue('product_order_send_mail_user', $userId)) { Mail::to($product->vcard->user->email)->send(new ProductOrderSendUser($orderMailData)); } $vcard = $product->vcard; App::setLocale(Session::get('languageChange_' . $vcard->url_alias)); session()->forget('input'); DB::commit(); return redirect(route('showProducts', [$vcard->id, $vcard->url_alias, __('messages.placeholder.product_purchase')])); } catch (\Exception $ex) { print_r($ex->getMessage()); } } } public function productBuy($input, $product) { $userId = $product->vcard->user->id; $clientId = getUserSettingValue('paystack_key', $userId); $clientSecret = getUserSettingValue('paystack_secret', $userId); config([ 'paystack.publicKey' => $clientId, 'paystack.secretKey' => $clientSecret, 'paystack.paymentUrl' => "https://api.paystack.co", ]); if (empty($product->currency_id)) { $product->currency_id = getUserSettingValue('currency_id', $userId); } $currencyCode = Currency::whereId($product->currency_id)->first()->currency_code; $email = $input['email']; $productId = $product->id; $productAmount = $product->price; try { $data = [ 'email' => $email, 'orderID' => $productId, 'amount' => $productAmount * 100, 'quantity' => 1, 'currency' => $currencyCode, 'reference' => Paystack::genTranxRef(), 'metadata' => json_encode(['product_id' => $productId]), ]; $result = Paystack::getAuthorizationUrl($data)->redirectNow(); session()->put(['input' => $input]); session()->put(['vcard_user_id' => $userId]); return $result; } catch (\Exception $e) { Flash::error(__('messages.setting.paystack_credential')); return Redirect()->back(); } } } PK8\=|y<y<*Controllers/SubscriptionController.php.baknu[subscriptionRepo = $subscriptionRepo; } /** * @return Application|Factory|View */ public function index(Request $request): \Illuminate\View\View { $currentPlan = getCurrentSubscription(); $days = $remainingDay = ''; if ($currentPlan->ends_at > Carbon::now()) { $days = Carbon::parse($currentPlan->ends_at)->diffInDays(); $remainingDay = $days . ' Days'; } if ($days >= 30 && $days <= 365) { $remainingDay = ''; $months = floor($days / 30); $extraDays = $days % 30; if ($extraDays > 0) { $remainingDay .= $months . ' Month ' . $extraDays . ' Days'; } else { $remainingDay .= $months . ' Month '; } } if ($days >= 365) { $remainingDay = ''; $years = floor($days / 365); $extraMonths = floor($days % 365 / 30); $extraDays = floor($days % 365 % 30); if ($extraMonths > 0 && $extraDays < 1) { $remainingDay .= $years . ' Years ' . $extraMonths . ' Month '; } elseif ($extraDays > 0 && $extraMonths < 1) { $remainingDay .= $years . ' Years ' . $extraDays . ' Days'; } elseif ($years > 0 && $extraDays > 0 && $extraMonths > 0) { $remainingDay .= $years . ' Years ' . $extraMonths . ' Month ' . $extraDays . ' Days'; } else { $remainingDay .= $years . ' Years '; } } return view('subscription.index', compact('currentPlan', 'remainingDay')); } public function choosePaymentType($planId, $context = null, $fromScreen = null) { $currentSubscription = getCurrentSubscription(); $customSelectId = request()->get('customFieldId'); $customField = PlanCustomField::find($customSelectId); if ($customField) { if (!$currentSubscription->isExpired()) { if ((checkIfPlanIsInTrial($currentSubscription) || !checkIfPlanIsInTrial($currentSubscription)) && $customField->custom_vcard_price <= 0) { Flash::error(__('messages.placeholder.cannot_switch_to_zero')); return Redirect::back(); } } } $cashPaymentPlan = Subscription::where('tenant_id', Auth::user()->tenant_id)->where('payment_type', 'cash')->where('status', Subscription::PENDING)->first(); if ($cashPaymentPlan) { Flash::error(__('messages.wait_for_apporove_of_cash_payment_by_admin')); return Redirect::back(); } // code for checking the current plan is active or not, if active then it should not allow to choose that plan $subscriptionsPricingPlan = Plan::findOrFail($planId); $paymentTypes = getPaymentGateway(); return view('subscription.payment_for_plan', compact('subscriptionsPricingPlan', 'paymentTypes', 'customSelectId', 'customField')); } /** * @return Application|Factory|View */ public function upgrade() { $cashPaymentPlan = Subscription::where('tenant_id', Auth::user()->tenant_id)->where('payment_type', 'cash')->where('status', Subscription::PENDING)->first(); if ($cashPaymentPlan && !$cashPaymentPlan->isExpired()) { Flash::error(__('messages.wait_for_apporove_of_cash_payment_by_admin')); return Redirect::back(); } $plans = Plan::with(['currency', 'planFeature'])->whereStatus(Plan::IS_ACTIVE)->whereIsDefault(Plan::IS_DEACTIVE)->get(); $monthlyPlans = $plans->where('frequency', Plan::MONTHLY); $yearlyPlans = $plans->where('frequency', Plan::YEARLY); $unLimitedPlans = $plans->where('frequency', Plan::UNLIMITED); return view( 'subscription.upgrade', compact('monthlyPlans', 'yearlyPlans', 'unLimitedPlans') ); } public function setPlanZero(Plan $plan): JsonResponse { try { DB::beginTransaction(); Subscription::whereTenantId(getLogInTenantId()) ->whereIsActive(true)->update(['is_active' => false]); $expiryDate = setExpiryDate($plan); Subscription::create([ 'plan_id' => $plan->id, 'ends_at' => $expiryDate, 'status' => true, ]); DB::commit(); return $this->sendSuccess(__('messages.placeholder.subscribed_plan')); } catch (\Exception $e) { DB::rollBack(); throw new UnprocessableEntityHttpException($e->getMessage()); } } public function manualPay(Request $request) { $input = $request->all(); if (isset($input['couponCodeId'])) { $couponId = $input['couponCodeId']; $coupon = CouponCode::find($couponId); if ($coupon) { if ($coupon->coupon_limit != null) { $newLimit = $coupon->coupon_limit_left - 1; CouponCode::where('id', $couponId)->update(['coupon_limit_left' => $newLimit]); } } } if (isset($input['attachment']) && $input['attachment']->getClientMimeType() == 'text/php') { return $this->sendError('PHP file is not valid type for attachment'); } $this->subscriptionRepo->manageSubscription($input); $data = Subscription::whereTenantId(getLogInTenantId())->orderBy('created_at', 'desc')->first(); Subscription::whereId($data->id)->update(['payment_type' => 'Cash', 'status' => Subscription::PENDING]); $is_on = Setting::where('key', 'is_manual_payment_guide_on')->first(); $manual_payment_guide_step = Setting::where('key', 'manual_payment_guide')->first(); $user = \Illuminate\Support\Facades\Auth::user(); $super_admin_data = [ 'super_admin_msg' => $user->full_name . ' created request for payment of ' . $data->plan->currency->currency_icon . '' . $data->payable_amount, 'attachment' => $data->attachment ?? '', 'notes' => $data->notes ?? '', 'id' => $data->id, ]; if ($is_on['value'] == '1') { Mail::to($user['email']) ->send(new ManualPaymentGuideMail($manual_payment_guide_step['value'], $user)); $email = getSuperAdminSettingValue('email'); Mail::to($email) ->send(new SuperAdminManualPaymentMail($super_admin_data, $email)); } return $this->sendSuccess(__('messages.placeholder.subscribed_plan_wait')); } public function downloadAttachment($id): \Illuminate\Http\Response|Application|\Illuminate\Contracts\Routing\ResponseFactory { $subscription = Subscription::findOrFail($id); [$file, $headers] = $this->subscriptionRepo->downloadAttachment($subscription); return response($file, 200, $headers); } public function downloadMailAttachment($id): BinaryFileResponse { $subscription = Subscription::whereTenantId(getLogInTenantId())->findOrFail($id); $headers = [ 'Content-Type' => $subscription->media[0]->mime_type, 'Content-Description' => 'File Transfer', 'Content-Disposition' => "attachment; filename={$subscription->media[0]->file_name}", 'filename' => $subscription->media[0]->file_name, ]; return response()->download($subscription->media[0]->getPath(), $subscription->media[0]->file_name, $headers); } /** * @return Application|Factory|View */ public function cashPlan(): \Illuminate\View\View { return view('sadmin.planPyment.index'); } public function planStatus(Request $request): JsonResponse { if ($request->status == Subscription::ACTIVE) { $user = User::whereTenantId($request->tenant_id)->latest()->first(); if ($user) { // send mail notification $subscription = Subscription::findOrFail($request->id); $planName = $subscription->plan->name; $paymentAmount = $subscription->payable_amount; $userEmail = $user->email; $planName = $subscription->plan->name; $firstName = $user->first_name; $lastName = $user->last_name; $emailData = [ 'subscriptionId' => $request->id, 'subscriptionAmount' => $paymentAmount, 'transactionID' => $request->session_id, 'planName' => $planName, 'first_name' => $firstName, 'last_name' => $lastName, ]; Mail::to($userEmail)->send(new SubscriptionPaymentSuccessMail($emailData)); $affiliateAmount = getSuperAdminSettingValue('affiliation_amount'); $affiliateAmountType = getSuperAdminSettingValue('affiliation_amount_type'); if ($affiliateAmountType == 1) { AffiliateUser::where('user_id', $user->id)->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $affiliateAmount, 'is_verified' => 1]); } else if ($affiliateAmountType == 2) { $amount = $paymentAmount * $affiliateAmount / 100; AffiliateUser::where('user_id', $user->id)->where('amount', 0)->withoutGlobalScopes()->update(['amount' => $amount, 'is_verified' => 1]); } } Subscription::whereTenantId($request->tenant_id)->where('id', '!=', $request->id)->where('status', '!=', Subscription::REJECT)->update(['status' => Subscription::INACTIVE]); } Subscription::where('id', $request->id)->update([ 'status' => $request->status, ]); $user = User::whereTenantId($request->tenant_id)->first(); manageVcards($user); return $this->sendSuccess(__('messages.placeholder.payment_received')); } public function purchaseSubscription(Request $request) { $input = $request->all(); $result = $this->subscriptionRepo->purchaseSubscriptionForStripe($input); // returning from here if the plan is free. if (isset($result['status']) && $result['status'] == true) { manageVcards(); return $this->sendSuccess($result['subscriptionPlan']->name . ' ' . __('messages.subscription.has_been_subscribed')); } else { if (isset($result['status']) && $result['status'] == false) { return $this->sendError(__('messages.placeholder.cannot_switch_to_zero')); } } return $this->sendResponse($result, 'Session created successfully.'); } /** * @return Application|Factory|View * * @throws ApiErrorException */ public function paymentSuccess(Request $request): \Illuminate\View\View { AffiliateUser::whereUserId(getLogInUserId())->withoutGlobalScopes() ->update(['is_verified' => 1]); /** @var SubscriptionRepository $subscriptionRepo */ $subscriptionRepo = app(SubscriptionRepository::class); $subscription = $subscriptionRepo->paymentUpdate($request); manageVcards(); Flash::success($subscription->plan->name . ' ' . __('messages.subscription.has_been_subscribed')); return view('sadmin.plans.payment.paymentSuccess'); } public function handleFailedPayment(): \Illuminate\View\View { $subscriptionPlanId = session('subscription_plan_id'); /** @var SubscriptionRepository $subscriptionRepo */ $subscriptionRepo = app(SubscriptionRepository::class); $subscriptionRepo->paymentFailed($subscriptionPlanId); Flash::error(__('messages.placeholder.unable_to_process_payment')); return view('sadmin.plans.payment.paymentcancel'); } /** * @return Application|Factory|View */ public function userSubscribedPlan(): \Illuminate\View\View { return view('sadmin.subscriptionPlan.index'); } public function userSubscribedPlanEdit(Request $request): JsonResponse { $subscription = Subscription::with([ 'plan:id,name,currency_id', 'tenant.user', 'plan.currency', ])->whereId($request->id)->first(); $paymentTypeName = Subscription::PAYMENT_GATEWAY[$subscription->payment_type] ?? ''; return $this->sendResponse($subscription, $paymentTypeName, 'Subscription successfully retrieved.'); } public function userSubscribedPlanUpdate(Request $request): JsonResponse { $endDate = $request->end_date; if (empty($request->end_date)) { return $this->sendError(__('messages.subscription.end_date_required')); } $endDate = $request->end_date; $format = getSuperAdminSettingValue('datetime_method'); $formattedDate = ($format == 1) ? Carbon::createFromFormat('d M, Y', $endDate)->format('Y-m-d H:i:s') : (($format == 2) ? Carbon::createFromFormat('M d, Y', $endDate)->format('Y-m-d H:i:s') : (($format == 3) ? Carbon::createFromFormat('d/m/Y', $endDate)->format('Y-m-d H:i:s') : (($format == 4) ? Carbon::createFromFormat('Y/m/d', $endDate)->format('Y-m-d H:i:s') : (($format == 5) ? Carbon::createFromFormat('m/d/Y', $endDate)->format('Y-m-d H:i:s') : (($format == 6) ? Carbon::createFromFormat('Y-m-d', $endDate)->format('Y-m-d H:i:s') : Carbon::parse($endDate)->format('Y-m-d H:i:s') ) ) ) ) ); $subscription = Subscription::where('id', $request->id)->update([ 'ends_at' => $formattedDate, 'status' => Subscription::ACTIVE, ]); return $this->sendResponse($subscription, __('messages.placeholder.subscription_date_updated')); } } PK8\]s Controllers/iframeController.phpnu[iframeRepo = $iframeRepo; } public function store(CreateiframeRequest $request): JsonResponse { $input = $request->all(); $iframe = $this->iframeRepo->store($input); return $this->sendResponse($iframe, __('messages.flash.iframe_create')); } public function edit(Iframe $iframe): JsonResponse { return $this->sendResponse($iframe, 'iframe successfully retrieved.'); } public function update(UpdateiframeRequest $request, Iframe $iframe): JsonResponse { $input = $request->all(); $iframe = $this->iframeRepo->update($input, $iframe->id); return $this->sendResponse($iframe, __('messages.flash.iframe_update')); } public function destroy(Iframe $iframe): JsonResponse { $iframe->delete(); return $this->sendSuccess('messages.flash.iframe_delete'); } } PK8\)h h #Controllers/AdminUserController.phpnu[userRepo = $userRepository; } public function index(): \Illuminate\View\View { return view('admin_users.index'); } /** * @return Application|Factory|View */ public function show($id): \Illuminate\View\View { $user = User::find($id); if (! empty($user) && $user->getRoleNames()[0] == 'super_admin') { return view('admin_users.show', compact('user')); } abort(404); } /** * @return Application|Factory|View */ public function create(): \Illuminate\View\View { return view('admin_users.create'); } /** * @return Application|RedirectResponse|Redirector */ public function store(CreateUserRequest $request): RedirectResponse { $input = $request->all(); $input['role'] = Role::ROLE_SUPER_ADMIN; $this->userRepo->store($input); Flash::success(__('messages.admin.admin_created_successfully')); return redirect(route('admins.index')); } /** * @return Application|Factory|View */ public function edit($id): \Illuminate\View\View { $user = User::find($id); return view('admin_users.edit', compact('user')); } /** * @return Application|RedirectResponse|Redirector */ public function update(UpdateUserRequest $request, $id): RedirectResponse { $user = User::findOrFail($id); $this->userRepo->update($request->all(), $user); Flash::success(__('messages.admin.admin_updated_successfully')); return redirect(route('admins.index')); } /** * @param User $user * @return mixed */ public function destroy(User $admin) { $adminDate = $admin->created_at; $loggedInAdminDate = Auth::user()->created_at; if ($loggedInAdminDate > $adminDate) { return $this->sendError(__('messages.admin.not_allowed_to_access')); } Vcard::where('tenant_id', $admin->tenant_id)->delete(); MultiTenant::where('id', $admin->tenant_id)->delete(); $admin->delete(); return $this->sendSuccess(__('messages.admin.admin_delete_successfully')); } } PK8\xooVVMiddleware/FreshInstall.phpnu[alreadyInstalled()) { try { DB::connection()->getPdo(); } catch (\Exception $e) { return redirect(route('installs')); } } $response = $next($request); return $response; } public function alreadyInstalled() { return file_exists(storage_path('installed')); } } PK8\Gf Middleware/ValidateSignature.phpnu[ */ protected $except = [ // 'fbclid', // 'utm_campaign', // 'utm_content', // 'utm_medium', // 'utm_source', // 'utm_term', ]; } PK8\jMiddleware/TrustProxies.phpnu[|string|null */ protected $proxies; /** * The headers that should be used to detect proxies. * * @var int */ protected $headers = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO | Request::HEADER_X_FORWARDED_AWS_ELB; } PK8\UIMiddleware/VerifyCsrfToken.phpnu[ */ public function hosts(): array { return [ $this->allSubdomainsOfApplicationUrl(), ]; } } PK8\ckk&Middleware/RedirectIfAuthenticated.phpnu[check()) { return Redirect::to(getDashboardURL()); } } return $next($request); } } PK8\qyMiddleware/Authenticate.phpnu[authenticate($request, $guards); App::setLocale(Auth::user()->language); return $next($request); } /** * Get the path the user should be redirected to when they are not authenticated. */ protected function redirectTo(Request $request): ?string { if (! $request->expectsJson()) { return route('login'); } } } PK8\z*"Middleware/CheckVcardAnalytics.phpnu[where('tenant_id', getLogInTenantId())->pluck('id')->toArray(); if (in_array($request->vcard->id, $vcards)) { return $next($request); } else { abort('404'); } } } PK8\m8+Middleware/SetLanguage.phpnu[language); } else { App::setLocale(getSuperAdminSettingValue('default_language')); } } else { App::setLocale($localeLanguage); } return $next($request); } } PK8\`f f Middleware/DetectRegion.phpnuIw [ 'currency' => 'EUR', 'currency_symbol' => '', 'locale' => 'pt_PT', 'country' => 'PT', 'payment_gateway' => 'ifthen', 'stripe_key' => 'STRIPE_KEY_PT', 'stripe_secret' => 'STRIPE_SECRET_PT', 'flag' => 'PT', 'name' => 'Portugal', ], 'card.aosegundo.com.br' => [ 'currency' => 'BRL', 'currency_symbol' => 'R$', 'locale' => 'pt_BR', 'country' => 'BR', 'payment_gateway' => 'asaas', 'stripe_key' => 'STRIPE_KEY_BR', 'stripe_secret' => 'STRIPE_SECRET_BR', 'flag' => 'BR', 'name' => 'Brasil', ], 'cardfyz.com' => [ 'currency' => 'EUR', 'currency_symbol' => '', 'locale' => 'pt_BR', 'country' => 'BR', 'payment_gateway' => 'stripe_br', 'stripe_key' => 'STRIPE_KEY', 'stripe_secret' => 'STRIPE_SECRET', 'flag' => 'BR', 'name' => 'Card Ao Segundo (legado)', ], ]; public function handle(Request $request, Closure $next): Response { $host = $request->getHost(); $region = $this->regions[$host] ?? $this->regions['cardfyz.com']; // Determinar gateway activo baseado no .env (dinamico - seguro dentro do handle) if ($host === 'card.aosegundo.pt') { $activeGateway = env('GATEWAY_PT', $region['payment_gateway']); } elseif ($host === 'card.aosegundo.com.br') { $activeGateway = env('GATEWAY_BR', $region['payment_gateway']); } else { $activeGateway = env('GATEWAY_BR', $region['payment_gateway']); } // Injectar configuracoes regionais em runtime config([ 'app.currency' => $region['currency'], 'app.currency_symbol' => $region['currency_symbol'], 'app.locale' => $region['locale'], 'app.country' => $region['country'], 'app.payment_gateway' => $activeGateway, 'app.region_flag' => $region['flag'], 'app.region_name' => $region['name'], 'app.url' => 'https://' . $host, ]); // Partilhar com todas as views Blade view()->share('appRegion', $region); view()->share('appCurrency', $region['currency']); view()->share('appCountry', $region['country']); view()->share('currentDomain', $host); view()->share('activeGateway', $activeGateway); return $next($request); } } PK8\YzVZZMiddleware/checkVcardEdit.phpnu[vcard->id; $tenantId = getLogInUser()->tenant_id; $VcardId = Vcard::whereTenantId($tenantId)->pluck('id')->toArray(); if (in_array($requestVcardId, $VcardId)) { return $next($request); } else { return Response::json(ResponseUtil::makeError('Seems, you are not allowed to access this record."'), 422); } } } PK8\*!&&Middleware/EncryptCookies.phpnu[is_active || ! isset($user->email_verified_at))) { $isActive = $user->is_active; Auth::logout(); return redirect(route('login'))->withErrors(! $isActive ? 'Your account is not active. Please contact to administrator.' : 'Your email is not verified.'); } return $response; } } PK8\%nii Middleware/CheckVcardEnquiry.phpnu[where('tenant_id', getLogInTenantId())->pluck('id')->toArray(); if ($request->vcard) { if (in_array($request->vcard, $vcards)) { return $next($request); } else { abort('404'); } } if (! is_numeric($request->enquiry)) { if ($request->appointment) { $appointment = ScheduleAppointment::whereIn('vcard_id', $vcards)->pluck('id')->toArray(); if (in_array($request->appointment->id, $appointment)) { return $next($request); } else { abort('404'); } } $enquiry = Enquiry::whereIn('vcard_id', $vcards)->pluck('id')->toArray(); if (in_array($request->enquiry->id, $enquiry)) { return $next($request); } else { return Response::json(ResponseUtil::makeError('Seems, you are not allowed to access this record."'), 422); } } else { $enquiry = Enquiry::whereIn('vcard_id', $vcards)->pluck('id')->toArray(); if (in_array($request->enquiry, $enquiry)) { return $next($request); } else { abort('404'); } } } } PK8\Lv??Middleware/XSS.phpnu[all(); array_walk_recursive($input, function (&$input) { $input = (is_null($input)) ? null : Purifier::clean(html_entity_decode($input)); }); $request->merge($input); return $next($request); } } PK8\ Middleware/Analytics.phpnu[root(), '', $request->url()) ?: '/'; $urlAlias = Route::current()->parameters['alias']; $vcardId = Vcard::select('id')->where('url_alias', $urlAlias)->pluck('id')->toArray(); if (! $vcardId) { return abort('404'); } $agent = new Agent(); if (! $agent->isRobot()) { $agent->setUserAgent($request->headers->get('user-agent')); $agent->setHttpHeaders($request->headers); $sessionExists = Analytic::where('session', $request->session()->getId())->where('vcard_id', $vcardId[0])->exists(); if ($sessionExists) { return $next($request); } $items = implode($agent->languages()); $lang = substr($items, 0, 2); $ip = Location::get($request->ip()); $country = $ip ? $ip->countryName : ''; Analytic::create([ 'session' => $request->session()->getId(), 'vcard_id' => $vcardId[0], 'uri' => $uri, 'source' => $request->headers->get('referer'), 'country' => $country, 'browser' => $agent->browser() ?? null, 'device' => $agent->deviceType(), 'operating_system' => $agent->platform(), 'ip' => $request->ip(), 'language' => $lang, 'meta' => json_encode(Location::get($request->ip())), ]); return $next($request); } return $next($request); } } PK8\P*rr'Middleware/languageChangeMiddleware.phpnu[alias); if (! empty($localeLanguage)) { setLocalLang($localeLanguage); return $next($request); } setLocalLang(getVcardDefaultLanguage()); return $next($request); } } PK8\S迯22%Middleware/CheckVcardSubscription.phpnu[parameters['alias']; $vcard = Vcard::select(['id', 'tenant_id'])->whereUrlAlias($urlAlias)->firstOrFail(); /** @var User $user */ $user = User::whereTenantId($vcard->tenant_id)->with('subscription')->first(); if ($user->subscription->ends_at > Carbon::now()->format('Y-m-d H:i:s')) { return $request; } return abort(404); } } PK8\glaa/Middleware/PreventRequestsDuringMaintenance.phpnu[where('status', Subscription::ACTIVE) ->where('tenant_id', getLogInUser()->tenant_id) ->first(); if (! $subscription) { Vcard::where('tenant_id', getLogInUser()->tenant_id)->update([ 'status' => 0, ]); return redirect(route('subscription.upgrade')) ->withErrors(__('messages.subscription.subscription_expired')); } if ($subscription->isExpired()) { Vcard::where('tenant_id', getLogInUser()->tenant_id)->update([ 'status' => 0, ]); return redirect(route('subscription.upgrade')) ->withErrors(__('messages.subscription.subscription_expired')); } return $request; } } PK8\7$Middleware/MultiTenantMiddleware.phpnu[tenancy = $tenancy; $this->resolver = $resolver; } /** * Handle an incoming request. */ public function handle(Request $request, Closure $next): Response { $tenant = Auth::user()->tenant_id; return $this->initializeTenancy( $request, $next, $tenant ); } } PK8\~}}Middleware/TrimStrings.phpnu[ */ protected $except = [ 'current_password', 'password', 'password_confirmation', ]; } PK\Controllers/.gitkeepnu[PK\[6Controllers/TestController.phpnu[expectsJson()) { return new JsonResponse(status: 204); } return new Response(status: 204); } } PK]\0֬!Middleware/CheckForAnyAbility.phpnu[user() || ! $request->user()->currentAccessToken()) { throw new AuthenticationException; } foreach ($abilities as $ability) { if ($request->user()->tokenCan($ability)) { return $next($request); } } throw new MissingAbilityException($abilities); } } PK]\a; 0Middleware/EnsureFrontendRequestsAreStateful.phpnu[configureSecureCookieSessions(); return (new Pipeline(app()))->send($request)->through( static::fromFrontend($request) ? $this->frontendMiddleware() : [] )->then(function ($request) use ($next) { return $next($request); }); } /** * Configure secure cookie sessions. * * @return void */ protected function configureSecureCookieSessions() { config([ 'session.http_only' => true, 'session.same_site' => 'lax', ]); } /** * Get the middleware that should be applied to requests from the "frontend". * * @return array */ protected function frontendMiddleware() { $middleware = array_values(array_filter(array_unique([ config('sanctum.middleware.encrypt_cookies', \Illuminate\Cookie\Middleware\EncryptCookies::class), \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, config('sanctum.middleware.validate_csrf_token'), config('sanctum.middleware.verify_csrf_token', \Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::class), config('sanctum.middleware.authenticate_session'), ]))); array_unshift($middleware, function ($request, $next) { $request->attributes->set('sanctum', true); return $next($request); }); return $middleware; } /** * Determine if the given request is from the first-party application frontend. * * @param \Illuminate\Http\Request $request * @return bool */ public static function fromFrontend($request) { $domain = $request->headers->get('referer') ?: $request->headers->get('origin'); if (is_null($domain)) { return false; } $domain = Str::replaceFirst('https://', '', $domain); $domain = Str::replaceFirst('http://', '', $domain); $domain = Str::endsWith($domain, '/') ? $domain : "{$domain}/"; $stateful = array_filter(config('sanctum.stateful', [])); return Str::is(Collection::make($stateful)->map(function ($uri) { return trim($uri).'/*'; })->all(), $domain); } } PK]\KKMiddleware/CheckScopes.phpnu[handle($request, $next, ...$scopes); } catch (\Laravel\Sanctum\Exceptions\MissingAbilityException $e) { throw new MissingScopeException($e->abilities()); } } } PK]\HFMiddleware/CheckAbilities.phpnu[user() || ! $request->user()->currentAccessToken()) { throw new AuthenticationException; } foreach ($abilities as $ability) { if (! $request->user()->tokenCan($ability)) { throw new MissingAbilityException($ability); } } return $next($request); } } PK]\8i i "Middleware/AuthenticateSession.phpnu[auth = $auth; } /** * Handle an incoming request. * * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next * * @throws \Illuminate\Auth\AuthenticationException */ public function handle(Request $request, Closure $next): Response { if (! $request->hasSession() || ! $request->user()) { return $next($request); } $guards = Collection::make(Arr::wrap(config('sanctum.guard'))) ->mapWithKeys(fn ($guard) => [$guard => $this->auth->guard($guard)]) ->filter(fn ($guard) => $guard instanceof SessionGuard); $shouldLogout = $guards->filter( fn ($guard, $driver) => $request->session()->has('password_hash_'.$driver) )->filter( fn ($guard, $driver) => $request->session()->get('password_hash_'.$driver) !== $request->user()->getAuthPassword() ); if ($shouldLogout->isNotEmpty()) { $shouldLogout->each->logoutCurrentDevice(); $request->session()->flush(); throw new AuthenticationException('Unauthenticated.', [...$shouldLogout->keys()->all(), 'sanctum']); } return tap($next($request), function () use ($request, $guards) { if (! is_null($request->user())) { $this->storePasswordHashInSession($request, $guards->keys()->first()); } }); } /** * Store the user's current password hash in the session. * * @param \Illuminate\Http\Request $request * @param string $guard * @return void */ protected function storePasswordHashInSession($request, string $guard) { if (! $request->user()) { return; } $request->session()->put([ "password_hash_{$guard}" => $request->user()->getAuthPassword(), ]); } } PK]\EoQPXXMiddleware/CheckForAnyScope.phpnu[handle($request, $next, ...$scopes); } catch (\Laravel\Sanctum\Exceptions\MissingAbilityException $e) { throw new MissingScopeException($e->abilities()); } } } PK-\C!!Requests/error_lognu[[15-Jul-2026 02:20:16 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/AddCouponCodeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/AddCouponCodeRequest.php on line 7 [15-Jul-2026 02:20:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateAboutUsRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateAboutUsRequest.php on line 8 [15-Jul-2026 02:20:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateBannerRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateBannerRequest.php on line 8 [15-Jul-2026 02:20:23 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateBlogRequest.php on line 8 [15-Jul-2026 02:20:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCityRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCityRequest.php on line 8 [15-Jul-2026 02:20:27 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateContactEnquiryRequest.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateContactEnquiryRequest.php on line 10 [15-Jul-2026 02:20:29 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateContactRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateContactRequest.php on line 8 [15-Jul-2026 02:20:32 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCountryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCountryRequest.php on line 8 [15-Jul-2026 04:41:57 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php on line 8 [15-Jul-2026 04:41:57 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php on line 8 [15-Jul-2026 04:41:58 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php on line 7 [15-Jul-2026 04:41:59 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php on line 7 [15-Jul-2026 04:42:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php on line 7 [15-Jul-2026 04:42:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php on line 8 [15-Jul-2026 04:42:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php on line 7 [15-Jul-2026 04:42:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php on line 7 [15-Jul-2026 04:42:02 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php on line 8 [15-Jul-2026 04:42:02 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php on line 8 [15-Jul-2026 04:42:03 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php on line 7 [15-Jul-2026 04:42:03 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php on line 8 [15-Jul-2026 04:42:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php on line 8 [15-Jul-2026 04:42:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php on line 8 [15-Jul-2026 04:42:05 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php on line 8 [15-Jul-2026 04:42:06 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php on line 8 [15-Jul-2026 04:42:06 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php on line 8 [15-Jul-2026 04:42:07 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php on line 8 [15-Jul-2026 04:42:07 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php on line 8 [15-Jul-2026 04:42:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php on line 8 [15-Jul-2026 04:42:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php on line 8 [15-Jul-2026 04:42:09 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php on line 8 [15-Jul-2026 04:42:09 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php on line 8 [15-Jul-2026 04:42:10 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php on line 8 [15-Jul-2026 04:42:11 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php on line 8 [15-Jul-2026 04:42:11 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php on line 8 [15-Jul-2026 04:42:11 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php on line 8 [15-Jul-2026 04:42:12 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php on line 8 [15-Jul-2026 04:42:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php on line 8 [15-Jul-2026 04:42:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php on line 8 [15-Jul-2026 04:42:14 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php on line 8 [15-Jul-2026 04:42:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php on line 8 [15-Jul-2026 04:42:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php on line 9 [15-Jul-2026 04:42:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php on line 8 [15-Jul-2026 04:42:16 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php on line 9 [15-Jul-2026 04:42:16 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php on line 8 [15-Jul-2026 04:42:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php on line 9 [15-Jul-2026 04:42:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php on line 9 [15-Jul-2026 04:42:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php on line 8 [15-Jul-2026 04:42:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php on line 8 [15-Jul-2026 04:42:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php on line 8 [15-Jul-2026 04:42:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php on line 9 [15-Jul-2026 04:42:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php on line 9 [15-Jul-2026 04:42:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php on line 8 [15-Jul-2026 04:42:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php on line 8 [15-Jul-2026 04:42:22 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php on line 8 [15-Jul-2026 04:42:23 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php on line 8 [15-Jul-2026 04:42:23 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php on line 8 [15-Jul-2026 04:42:23 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php on line 8 [15-Jul-2026 04:42:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php on line 8 [15-Jul-2026 04:42:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php on line 8 [15-Jul-2026 04:42:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php on line 8 [15-Jul-2026 04:42:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php on line 8 [15-Jul-2026 04:42:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php on line 8 [15-Jul-2026 04:42:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php on line 8 [15-Jul-2026 04:42:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php on line 8 [15-Jul-2026 04:42:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php on line 8 [15-Jul-2026 05:56:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/ProductBuyRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/ProductBuyRequest.php on line 8 [15-Jul-2026 05:56:53 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateBlogRequest.php on line 8 [15-Jul-2026 05:56:54 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateChangePasswordRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateChangePasswordRequest.php on line 7 [15-Jul-2026 05:56:56 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCityRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCityRequest.php on line 8 [15-Jul-2026 05:56:58 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCountryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCountryRequest.php on line 8 [15-Jul-2026 05:56:59 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCouponCodeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCouponCodeRequest.php on line 7 [15-Jul-2026 05:57:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCustomLinkRequest.php on line 8 [15-Jul-2026 05:57:02 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFeatureRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFeatureRequest.php on line 8 [15-Jul-2026 05:57:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontCmsRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontCmsRequest.php on line 7 [15-Jul-2026 05:57:05 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontTestimonialRequest.php on line 8 [15-Jul-2026 05:57:07 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateGalleryRequest.php on line 8 [15-Jul-2026 05:57:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateInstagramEmbedRequest.php on line 8 [15-Jul-2026 05:57:10 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateLanguageRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateLanguageRequest.php on line 7 [15-Jul-2026 05:57:11 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateMailSettingRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateMailSettingRequest.php on line 8 [15-Jul-2026 05:57:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateNfcCardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateNfcCardRequest.php on line 8 [15-Jul-2026 05:57:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdatePaymentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdatePaymentRequest.php on line 8 [15-Jul-2026 05:57:16 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdatePlanRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdatePlanRequest.php on line 8 [15-Jul-2026 05:57:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateProductRequest.php on line 8 [15-Jul-2026 05:57:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateRoleRequest.php on line 8 [15-Jul-2026 05:57:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateSettingRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateSettingRequest.php on line 9 [15-Jul-2026 05:57:23 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateStateRequest.php on line 8 [15-Jul-2026 05:57:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateTestimonialRequest.php on line 8 [15-Jul-2026 05:57:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserPasswordRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserPasswordRequest.php on line 7 [15-Jul-2026 23:54:43 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php on line 7 [15-Jul-2026 23:55:38 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php on line 8 [15-Jul-2026 23:56:41 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php on line 8 [15-Jul-2026 23:57:47 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontTestimonialRequest.php on line 8 [15-Jul-2026 23:58:52 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php on line 8 [16-Jul-2026 00:09:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardBlogRequest.php on line 8 [16-Jul-2026 00:11:12 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardBlogRequest.php on line 8 [16-Jul-2026 00:50:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateInstagramEmbedRequest.php on line 8 [16-Jul-2026 00:51:30 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/createWithdrawAmountRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/createWithdrawAmountRequest.php on line 7 [16-Jul-2026 00:52:34 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateChangePasswordRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateChangePasswordRequest.php on line 7 [16-Jul-2026 03:15:23 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/SendMailRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/SendMailRequest.php on line 8 [16-Jul-2026 03:16:27 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/NfcOrderRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/NfcOrderRequest.php on line 8 [16-Jul-2026 03:21:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php on line 9 [16-Jul-2026 03:49:12 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserSettingRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserSettingRequest.php on line 7 [16-Jul-2026 03:49:22 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCouponCodeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCouponCodeRequest.php on line 7 [16-Jul-2026 04:04:50 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php on line 8 [16-Jul-2026 04:40:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFeatureRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFeatureRequest.php on line 8 [16-Jul-2026 04:59:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php on line 8 [16-Jul-2026 04:59:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateTestimonialRequest.php on line 8 [16-Jul-2026 04:59:30 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCustomLinkRequest.php on line 8 [16-Jul-2026 04:59:35 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateMailSettingRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateMailSettingRequest.php on line 8 [16-Jul-2026 04:59:48 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserProfileRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserProfileRequest.php on line 9 [16-Jul-2026 05:00:31 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php on line 8 [16-Jul-2026 05:24:46 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/HomePageSettingRrequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/HomePageSettingRrequest.php on line 7 [16-Jul-2026 05:31:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/MobileRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/MobileRequest.php on line 7 [16-Jul-2026 05:56:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php on line 8 [16-Jul-2026 05:57:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateLanguageRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateLanguageRequest.php on line 7 [16-Jul-2026 05:58:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php on line 8 [16-Jul-2026 06:02:06 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateStateRequest.php on line 8 [16-Jul-2026 06:02:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php on line 8 [16-Jul-2026 07:08:41 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardBlogRequest.php on line 8 [16-Jul-2026 07:08:43 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardRequest.php on line 8 [16-Jul-2026 07:08:45 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardServiceRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardServiceRequest.php on line 8 [16-Jul-2026 07:08:46 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateiframeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateiframeRequest.php on line 7 [16-Jul-2026 07:08:48 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/HomeBannerRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/HomeBannerRequest.php on line 7 [16-Jul-2026 07:08:50 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/HomePageSettingRrequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/HomePageSettingRrequest.php on line 7 [16-Jul-2026 07:08:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/MobileRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/MobileRequest.php on line 7 [16-Jul-2026 07:08:53 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/NfcOrderRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/NfcOrderRequest.php on line 8 [16-Jul-2026 07:08:54 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/SendMailRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/SendMailRequest.php on line 8 [16-Jul-2026 07:08:56 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserProfileRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserProfileRequest.php on line 9 [16-Jul-2026 07:08:58 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserRequest.php on line 8 [16-Jul-2026 07:08:59 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserSettingRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserSettingRequest.php on line 7 [16-Jul-2026 07:09:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardBlogRequest.php on line 8 [16-Jul-2026 07:09:03 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardRequest.php on line 8 [16-Jul-2026 07:09:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardServiceRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardServiceRequest.php on line 8 [16-Jul-2026 07:09:06 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateiframeRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateiframeRequest.php on line 9 [16-Jul-2026 07:09:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/createWithdrawAmountRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/createWithdrawAmountRequest.php on line 7 [16-Jul-2026 07:34:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateProductRequest.php on line 8 [16-Jul-2026 07:35:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCountryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCountryRequest.php on line 8 [16-Jul-2026 07:36:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateGalleryRequest.php on line 8 [16-Jul-2026 07:37:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateContactRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateContactRequest.php on line 8 [16-Jul-2026 07:38:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php on line 8 [16-Jul-2026 07:39:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateAboutUsRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateAboutUsRequest.php on line 8 [16-Jul-2026 07:40:29 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdatePaymentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdatePaymentRequest.php on line 8 [16-Jul-2026 07:41:31 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php on line 8 [16-Jul-2026 07:42:31 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/AddCouponCodeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/AddCouponCodeRequest.php on line 7 [16-Jul-2026 07:44:37 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateSettingRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateSettingRequest.php on line 9 [16-Jul-2026 07:53:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontCmsRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontCmsRequest.php on line 7 [16-Jul-2026 08:45:58 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateNfcCardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateNfcCardRequest.php on line 8 [16-Jul-2026 08:45:59 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCountryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCountryRequest.php on line 8 [16-Jul-2026 08:46:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php on line 8 [16-Jul-2026 09:08:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateContactEnquiryRequest.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateContactEnquiryRequest.php on line 10 [16-Jul-2026 10:00:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateiframeRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateiframeRequest.php on line 9 [16-Jul-2026 10:01:02 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateiframeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateiframeRequest.php on line 7 [16-Jul-2026 10:33:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardRequest.php on line 8 [16-Jul-2026 10:34:08 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php on line 7 [16-Jul-2026 10:35:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardRequest.php on line 8 [16-Jul-2026 11:45:42 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateBannerRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateBannerRequest.php on line 8 [16-Jul-2026 13:18:46 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardServiceRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardServiceRequest.php on line 8 [16-Jul-2026 13:25:43 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateRoleRequest.php on line 8 [16-Jul-2026 13:26:47 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php on line 8 [16-Jul-2026 13:27:50 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserRequest.php on line 8 [16-Jul-2026 13:28:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCityRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCityRequest.php on line 8 [16-Jul-2026 13:29:56 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php on line 8 [16-Jul-2026 14:44:27 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php on line 8 [16-Jul-2026 15:42:27 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/HomeBannerRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/HomeBannerRequest.php on line 7 [16-Jul-2026 15:42:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdatePlanRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdatePlanRequest.php on line 8 [16-Jul-2026 15:43:55 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateBlogRequest.php on line 8 [16-Jul-2026 15:45:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateBlogRequest.php on line 8 [16-Jul-2026 15:46:03 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCityRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCityRequest.php on line 8 [16-Jul-2026 15:47:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php on line 9 [16-Jul-2026 16:05:42 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserPasswordRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserPasswordRequest.php on line 7 [16-Jul-2026 16:06:07 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardServiceRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardServiceRequest.php on line 8 [16-Jul-2026 16:31:33 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/ProductBuyRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/ProductBuyRequest.php on line 8 [17-Jul-2026 00:55:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscribersRequest.php on line 7 [17-Jul-2026 00:55:39 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateScheduleAppointmentRequest.php on line 8 [17-Jul-2026 00:56:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEmailSubscriptionRequest.php on line 8 [17-Jul-2026 00:57:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontTestimonialRequest.php on line 8 [17-Jul-2026 00:58:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontTestimonialRequest.php on line 8 [17-Jul-2026 00:59:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardBlogRequest.php on line 8 [17-Jul-2026 01:00:30 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardBlogRequest.php on line 8 [17-Jul-2026 01:01:31 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/createWithdrawAmountRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/createWithdrawAmountRequest.php on line 7 [17-Jul-2026 01:02:31 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateChangePasswordRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateChangePasswordRequest.php on line 7 [17-Jul-2026 01:03:33 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateInstagramEmbedRequest.php on line 8 [17-Jul-2026 01:04:35 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/SendMailRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/SendMailRequest.php on line 8 [17-Jul-2026 01:05:36 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/NfcOrderRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/NfcOrderRequest.php on line 8 [17-Jul-2026 01:06:38 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRegisterRequest.php on line 9 [17-Jul-2026 01:07:41 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserSettingRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserSettingRequest.php on line 7 [17-Jul-2026 01:08:47 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCouponCodeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCouponCodeRequest.php on line 7 [17-Jul-2026 01:09:47 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateInstagramEmbedRequest.php on line 8 [17-Jul-2026 01:10:49 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFeatureRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFeatureRequest.php on line 8 [17-Jul-2026 01:11:53 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateTestimonialRequest.php on line 8 [17-Jul-2026 01:12:57 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateMailSettingRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateMailSettingRequest.php on line 8 [17-Jul-2026 01:14:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCustomLinkRequest.php on line 8 [17-Jul-2026 01:15:03 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCustomLinkRequest.php on line 8 [17-Jul-2026 01:16:06 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateTestimonialRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateTestimonialRequest.php on line 8 [17-Jul-2026 01:17:06 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserProfileRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserProfileRequest.php on line 9 [17-Jul-2026 01:18:09 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/HomePageSettingRrequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/HomePageSettingRrequest.php on line 7 [17-Jul-2026 01:19:10 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/MobileRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/MobileRequest.php on line 7 [17-Jul-2026 01:20:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateLanguageRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateLanguageRequest.php on line 7 [17-Jul-2026 01:21:16 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateLanguageRequest.php on line 8 [17-Jul-2026 01:22:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateFrontFaqRequest.php on line 8 [17-Jul-2026 01:23:19 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateStateRequest.php on line 8 [17-Jul-2026 01:24:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateStateRequest.php on line 8 [17-Jul-2026 01:25:25 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateProductRequest.php on line 8 [17-Jul-2026 01:26:30 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateAboutUsRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateAboutUsRequest.php on line 8 [17-Jul-2026 01:27:35 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateGalleryRequest.php on line 8 [17-Jul-2026 01:28:40 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/AddCouponCodeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/AddCouponCodeRequest.php on line 7 [17-Jul-2026 01:29:40 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateGalleryRequest.php on line 8 [17-Jul-2026 01:30:41 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdatePaymentRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdatePaymentRequest.php on line 8 [17-Jul-2026 01:31:42 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateSettingRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateSettingRequest.php on line 9 [17-Jul-2026 01:32:43 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateProductRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateProductRequest.php on line 8 [17-Jul-2026 01:33:45 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateContactRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateContactRequest.php on line 8 [17-Jul-2026 01:34:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCountryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCountryRequest.php on line 8 [17-Jul-2026 01:35:52 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontCmsRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateFrontCmsRequest.php on line 7 [17-Jul-2026 01:36:58 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCountryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCountryRequest.php on line 8 [17-Jul-2026 01:37:59 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEnquiryRequest.php on line 8 [17-Jul-2026 01:39:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateNfcCardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateNfcCardRequest.php on line 8 [17-Jul-2026 01:40:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateContactEnquiryRequest.php:10 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateContactEnquiryRequest.php on line 10 [17-Jul-2026 01:41:12 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateiframeRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateiframeRequest.php on line 7 [17-Jul-2026 01:42:14 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateiframeRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateiframeRequest.php on line 9 [17-Jul-2026 01:43:18 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardRequest.php on line 8 [17-Jul-2026 01:44:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardRequest.php on line 8 [17-Jul-2026 01:45:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateEcardRequest.php on line 7 [17-Jul-2026 01:46:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateBannerRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateBannerRequest.php on line 8 [17-Jul-2026 01:47:28 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardServiceRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateVcardServiceRequest.php on line 8 [17-Jul-2026 01:48:33 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateRoleRequest.php on line 8 [17-Jul-2026 01:49:38 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateRoleRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateRoleRequest.php on line 8 [17-Jul-2026 01:50:38 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateUserRequest.php on line 8 [17-Jul-2026 01:51:44 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserRequest.php on line 8 [17-Jul-2026 01:52:48 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateCityRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateCityRequest.php on line 8 [17-Jul-2026 01:53:52 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateNfcRequest.php on line 8 [17-Jul-2026 01:54:57 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateCityRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateCityRequest.php on line 8 [17-Jul-2026 01:56:02 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateBlogRequest.php on line 8 [17-Jul-2026 01:57:04 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php:9 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreatePlanRequest.php on line 9 [17-Jul-2026 01:58:05 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateBlogRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateBlogRequest.php on line 8 [17-Jul-2026 01:59:11 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdatePlanRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdatePlanRequest.php on line 8 [17-Jul-2026 02:00:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/HomeBannerRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/HomeBannerRequest.php on line 7 [17-Jul-2026 02:01:21 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardServiceRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/CreateVcardServiceRequest.php on line 8 [17-Jul-2026 02:02:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserPasswordRequest.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/UpdateUserPasswordRequest.php on line 7 [17-Jul-2026 02:03:27 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/cardxfeb/public_html/app/Http/Requests/ProductBuyRequest.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Requests/ProductBuyRequest.php on line 8 PK-\z9Middleware/error_lognu[[15-Jul-2026 02:19:45 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance" not found in /home/cardxfeb/public_html/app/Http/Middleware/PreventRequestsDuringMaintenance.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/PreventRequestsDuringMaintenance.php on line 7 [15-Jul-2026 02:19:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\TrimStrings" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrimStrings.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrimStrings.php on line 7 [15-Jul-2026 02:19:54 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Http\Middleware\TrustHosts" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrustHosts.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrustHosts.php on line 7 [15-Jul-2026 02:19:56 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Http\Middleware\TrustProxies" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrustProxies.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrustProxies.php on line 8 [15-Jul-2026 02:19:58 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Routing\Middleware\ValidateSignature" not found in /home/cardxfeb/public_html/app/Http/Middleware/ValidateSignature.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/ValidateSignature.php on line 7 [15-Jul-2026 02:20:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\VerifyCsrfToken" not found in /home/cardxfeb/public_html/app/Http/Middleware/VerifyCsrfToken.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/VerifyCsrfToken.php on line 7 [15-Jul-2026 05:56:42 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Auth\Middleware\Authenticate" not found in /home/cardxfeb/public_html/app/Http/Middleware/Authenticate.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/Authenticate.php on line 13 [15-Jul-2026 23:21:26 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance" not found in /home/cardxfeb/public_html/app/Http/Middleware/PreventRequestsDuringMaintenance.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/PreventRequestsDuringMaintenance.php on line 7 [16-Jul-2026 01:26:59 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Routing\Middleware\ValidateSignature" not found in /home/cardxfeb/public_html/app/Http/Middleware/ValidateSignature.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/ValidateSignature.php on line 7 [16-Jul-2026 02:26:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Cookie\Middleware\EncryptCookies" not found in /home/cardxfeb/public_html/app/Http/Middleware/EncryptCookies.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/EncryptCookies.php on line 7 [16-Jul-2026 02:46:57 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\VerifyCsrfToken" not found in /home/cardxfeb/public_html/app/Http/Middleware/VerifyCsrfToken.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/VerifyCsrfToken.php on line 7 [16-Jul-2026 03:38:24 UTC] PHP Fatal error: Uncaught Error: Class "Stancl\Tenancy\Middleware\IdentificationMiddleware" not found in /home/cardxfeb/public_html/app/Http/Middleware/MultiTenantMiddleware.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/MultiTenantMiddleware.php on line 13 [16-Jul-2026 04:39:24 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Http\Middleware\TrustProxies" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrustProxies.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrustProxies.php on line 8 [16-Jul-2026 07:08:38 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Cookie\Middleware\EncryptCookies" not found in /home/cardxfeb/public_html/app/Http/Middleware/EncryptCookies.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/EncryptCookies.php on line 7 [16-Jul-2026 07:08:40 UTC] PHP Fatal error: Uncaught Error: Class "Stancl\Tenancy\Middleware\IdentificationMiddleware" not found in /home/cardxfeb/public_html/app/Http/Middleware/MultiTenantMiddleware.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/MultiTenantMiddleware.php on line 13 [16-Jul-2026 08:13:27 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\TrimStrings" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrimStrings.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrimStrings.php on line 7 [16-Jul-2026 14:23:52 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Auth\Middleware\Authenticate" not found in /home/cardxfeb/public_html/app/Http/Middleware/Authenticate.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/Authenticate.php on line 13 [16-Jul-2026 18:54:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance" not found in /home/cardxfeb/public_html/app/Http/Middleware/PreventRequestsDuringMaintenance.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/PreventRequestsDuringMaintenance.php on line 7 [16-Jul-2026 18:54:15 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Routing\Middleware\ValidateSignature" not found in /home/cardxfeb/public_html/app/Http/Middleware/ValidateSignature.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/ValidateSignature.php on line 7 [16-Jul-2026 18:55:00 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Cookie\Middleware\EncryptCookies" not found in /home/cardxfeb/public_html/app/Http/Middleware/EncryptCookies.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/EncryptCookies.php on line 7 [16-Jul-2026 18:56:03 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\VerifyCsrfToken" not found in /home/cardxfeb/public_html/app/Http/Middleware/VerifyCsrfToken.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/VerifyCsrfToken.php on line 7 [16-Jul-2026 18:57:08 UTC] PHP Fatal error: Uncaught Error: Class "Stancl\Tenancy\Middleware\IdentificationMiddleware" not found in /home/cardxfeb/public_html/app/Http/Middleware/MultiTenantMiddleware.php:13 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/MultiTenantMiddleware.php on line 13 [16-Jul-2026 18:58:13 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Http\Middleware\TrustProxies" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrustProxies.php:8 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrustProxies.php on line 8 [16-Jul-2026 18:59:17 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Middleware\TrimStrings" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrimStrings.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrimStrings.php on line 7 [16-Jul-2026 19:11:19 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Http\Middleware\TrustHosts" not found in /home/cardxfeb/public_html/app/Http/Middleware/TrustHosts.php:7 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Middleware/TrustHosts.php on line 7 PK-\wI error_lognu[[14-Jul-2026 22:38:41 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Kernel" not found in /home/cardxfeb/public_html/app/Http/Kernel.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Kernel.php on line 12 [16-Jul-2026 01:49:30 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\Kernel" not found in /home/cardxfeb/public_html/app/Http/Kernel.php:12 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/app/Http/Kernel.php on line 12 PKs\~88!Requests/ProfileUpdateRequest.phpnu[ */ public function rules(): array { return [ 'name' => ['string', 'max:255'], 'email' => ['email', 'max:255', Rule::unique(User::class)->ignore($this->user()->id)], ]; } } PKs\Y!Controllers/ProfileController.phpnu[ $request->user(), ]); } /** * Update the user's profile information. */ public function update(ProfileUpdateRequest $request): RedirectResponse { $request->user()->fill($request->validated()); if ($request->user()->isDirty('email')) { $request->user()->email_verified_at = null; } $request->user()->save(); return Redirect::route('profile.edit')->with('status', 'profile-updated'); } /** * Delete the user's account. */ public function destroy(Request $request): RedirectResponse { $request->validateWithBag('userDeletion', [ 'password' => ['required', 'current_password'], ]); $user = $request->user(); Auth::logout(); $user->delete(); $request->session()->invalidate(); $request->session()->regenerateToken(); return Redirect::to('/'); } } PKs\VN'Controllers/Auth/PasswordController.phpnu[validateWithBag('updatePassword', [ 'current_password' => ['required', 'current_password'], 'password' => ['required', Password::defaults(), 'confirmed'], ]); $request->user()->update([ 'password' => Hash::make($validated['password']), ]); return back()->with('status', 'password-updated'); } } PK!\$Middleware/EnsureEmailIsVerified.phpnu[user() || ($request->user() instanceof MustVerifyEmail && ! $request->user()->hasVerifiedEmail())) { return response()->json(['message' => 'Your email address is not verified.'], 409); } return $next($request); } } PK\]]] Response.phpnu[headers = $headers; $this->body = $body; $this->error = $error; } public function getHeaders(): mixed { return $this->headers; } public function getBody(): mixed { return $this->body; } public function hasBody(): bool { return $this->body != false; } public function getError(): mixed { return $this->error; } public function getHttpResponseCode(): ?int { if (! isset($this->headers['http_code'])) { return null; } return (int) $this->headers['http_code']; } } PK\Exceptions/MissingParameter.phpnu[getError()}"); $exception->response = $response; return $exception; } } PK\$ͬExceptions/NotFound.phpnu[ */ public array $errors = []; public static function createForResponse(Response $response): self { $exception = new self(static::getMessageForResponse($response)); $exception->response = $response; $bodyErrors = isset($response->getBody()['errors']) ? $response->getBody()['errors'] : []; $exception->errors = $bodyErrors; return $exception; } public static function getMessageForResponse(Response $response): string { return "Response code {$response->getHttpResponseCode()} returned"; } } PK\H˵ Client.phpnu[apiToken = $apiToken; if (! $baseUrl) { throw MissingParameter::create('baseUrl'); } $this->baseUrl = $baseUrl; if (! $timeout) { throw MissingParameter::create('timeout'); } $this->timeout = $timeout; } public function setApiToken(string $apiToken): self { $this->apiToken = $apiToken; return $this; } public function apiTokenSet(): bool { return ! empty($this->apiToken); } public function setBaseUrl(string $baseUrl): self { $this->baseUrl = $baseUrl; return $this; } /** * @param string $url * @param array $arguments * * @return array|false */ public function get(string $url, array $arguments = []) { return $this->makeRequest('get', $url, $arguments); } /** * @param string $url * @param array $arguments * * @return array|false */ public function post(string $url, array $arguments = []) { return $this->makeRequest('post', $url, $arguments); } /** * @param string $url * @param array $arguments * * @return array|false */ public function patch(string $url, array $arguments = []) { return $this->makeRequest('patch', $url, $arguments); } /** * @param string $url * @param array $arguments * * @return array|false */ public function put(string $url, array $arguments = []) { return $this->makeRequest('put', $url, $arguments); } /** * @param string $method * @param array $arguments * * @return array|false */ public function delete(string $method, array $arguments = []) { return $this->makeRequest('delete', $method, $arguments); } /** * @param string $httpVerb * @param string $url * @param array $arguments * * @return array */ protected function makeRequest(string $httpVerb, string $url, array $arguments = []) { $queryString = http_build_query([ 'key' => $this->apiToken, ]); $fullUrl = "{$this->baseUrl}/{$url}?{$queryString}"; $headers = [ 'x-api-token: '.$this->apiToken, ]; $response = $this->makeCurlRequest($httpVerb, $fullUrl, $headers, $arguments); if ($response->getHttpResponseCode() === 422) { throw InvalidData::createForResponse($response); } if ($response->getHttpResponseCode() === 404) { throw NotFound::createForResponse($response); } if ($response->getHttpResponseCode() !== 200 && $response->getHttpResponseCode() !== 204) { throw BadResponseCode::createForResponse($response); } return $response->getBody(); } public function makeCurlRequest(string $httpVerb, string $fullUrl, array $headers = [], array $arguments = []): Response { $curlHandle = $this->getCurlHandle($fullUrl, $headers); switch ($httpVerb) { case 'post': curl_setopt($curlHandle, CURLOPT_POST, true); $this->attachRequestPayload($curlHandle, $arguments); break; case 'get': curl_setopt($curlHandle, CURLOPT_URL, $fullUrl.'&'.http_build_query($arguments)); break; case 'delete': curl_setopt($curlHandle, CURLOPT_CUSTOMREQUEST, 'DELETE'); break; case 'patch': curl_setopt($curlHandle, CURLOPT_CUSTOMREQUEST, 'PATCH'); $this->attachRequestPayload($curlHandle, $arguments); break; case 'put': curl_setopt($curlHandle, CURLOPT_CUSTOMREQUEST, 'PUT'); $this->attachRequestPayload($curlHandle, $arguments); break; } $body = json_decode(curl_exec($curlHandle), true); $headers = curl_getinfo($curlHandle); $error = curl_error($curlHandle); return new Response($headers, $body, $error); } protected function attachRequestPayload(&$curlHandle, array $data) { $encoded = json_encode($data); $this->lastRequest['body'] = $encoded; curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $encoded); } /** * @param string $fullUrl * @param array $headers * * @return resource */ protected function getCurlHandle(string $fullUrl, array $headers = []) { $curlHandle = curl_init(); curl_setopt($curlHandle, CURLOPT_URL, $fullUrl); curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array_merge([ 'Accept: application/json', 'Content-Type: application/json', ], $headers)); curl_setopt($curlHandle, CURLOPT_USERAGENT, 'Laravel/Flare API 1.0'); curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlHandle, CURLOPT_TIMEOUT, $this->timeout); curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curlHandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); curl_setopt($curlHandle, CURLOPT_ENCODING, ''); curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); curl_setopt($curlHandle, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curlHandle, CURLOPT_MAXREDIRS, 1); return $curlHandle; } } PK8\?̑ Kernel.phpnu[PK8\>"B-Requests/UpdateFrontCmsRequest.phpnu[PK8\Cdtt1Requests/UpdateBlogRequest.phpnu[PK8\C*4Requests/UpdateFrontTestimonialRequest.phpnu[PK8\[8Requests/UpdatePlanRequest.phpnu[PK8\ .BB$g<Requests/UpdateCustomLinkRequest.phpnu[PK8\z >Requests/CreateVcardRequest.phpnu[PK8\N)+DRequests/CreateEmailSubscriptionRequest.phpnu[PK8\+#FRequests/CreateVcardBlogRequest.phpnu[PK8\/hۢIRequests/CreatePlanRequest.phpnu[PK8\!NRequests/UpdateProductRequest.phpnu[PK8\XZYY(KRRequests/createWithdrawAmountRequest.phpnu[PK8\)!TRequests/AddCouponCodeRequest.phpnu[PK8\0!XRequests/UpdatePaymentRequest.phpnu[PK8\$~amm"`Requests/CreateLanguageRequest.phpnu[PK8\y4bRequests/CreateCityRequest.phpnu[PK8\SS!dRequests/CreateAboutUsRequest.phpnu[PK8\!hRequests/UpdateNfcCardRequest.phpnu[PK8\Ҧ9$kRequests/HomePageSettingRrequest.phpnu[PK8\yd%oRequests/UpdateUserProfileRequest.phpnu[PK8\HEE%rRequests/UpdateMailSettingRequest.phpnu[PK8\)ZlleuRequests/CreateUserRequest.phpnu[PK8\^?GBB(xRequests/CreateContactEnquiryRequest.phpnu[PK8\݊({Requests/UpdateInstagramEmbedRequest.phpnu[PK8\C"~Requests/UpdateLanguageRequest.phpnu[PK8\VH1$eRequests/UpdateCouponCodeRequest.phpnu[PK8\_9%Requests/UpdateTestimonialRequest.phpnu[PK8\SdRequests/UpdateUserRequest.phpnu[PK8\< $Requests/CreateiframeRequest.phpnu[PK8\xO%yRequests/CreateTestimonialRequest.phpnu[PK8\^=Requests/NfcOrderRequest.phpnu[PK8\>ղn*Requests/CreateEmailSubscribersRequest.phpnu[PK8\-*Requests/CreateFrontTestimonialRequest.phpnu[PK8\::! Requests/CreateGalleryRequest.phpnu[PK8\/-Requests/CreateScheduleAppointmentRequest.phpnu[PK8\VRequests/CreateNfcRequest.phpnu[PK8\E Requests/UpdateRoleRequest.phpnu[PK8\Š0cc(Requests/UpdateChangePasswordRequest.phpnu[PK8\9!֭Requests/CreateProductRequest.phpnu[PK8\e##Requests/UpdateCityRequest.phpnu[PK8\EPiZRequests/CreateStateRequest.phpnu[PK8\^՗sRequests/Auth/LoginRequest.phpnu[PK8\QpeRequests/Auth/error_lognu[PK8\w|99%lRequests/UpdateUserSettingRequest.phpnu[PK8\6VV&Requests/CreateVcardServiceRequest.phpnu[PK8\P:BB$Requests/CreateCustomLinkRequest.phpnu[PK8\000"<Requests/CreateRegisterRequest.phpnu[PK8\tt!Requests/UpdateCountryRequest.phpnu[PK8\3 Q Requests/CreateBannerRequest.phpnu[PK8\wdRequests/MobileRequest.phpnu[PK8\ss!Requests/CreateCountryRequest.phpnu[PK8\Q;[I!fRequests/CreateContactRequest.phpnu[PK8\n''Requests/UpdateStateRequest.phpnu[PK8\m6=!!!Requests/UpdateFeatureRequest.phpnu[PK8\ad  !sRequests/CreateEnquiryRequest.phpnu[PK8\lgg!Requests/UpdateGalleryRequest.phpnu[PK8\mGo(Requests/CreateInstagramEmbedRequest.phpnu[PK8\k#Requests/UpdateVcardBlogRequest.phpnu[PK8\Gv33&4Requests/UpdateUserPasswordRequest.phpnu[PK8\ IIRequests/SendMailRequest.phpnu[PK8\>RRequests/CreateRoleRequest.phpnu[PK8\DkRequests/UpdateVcardRequest.phpnu[PK8\s^^ CControllers/PaypalController.phpnu[PK8\J(n(nfControllers/VcardController.phpnu[PK8\3++Controllers/Controller.phpnu[PK8\fR''%|Controllers/FlutterwaveController.phpnu[PK8\aVAA$Controllers/CouponCodeController.phpnu[PK8\w,1Controllers/ProductTransactionController.phpnu[PK8\fFҤ vControllers/RoleController.phpnu[PK8\K   -*Controllers/API/RegistrationAPIController.phpnu[PK8\508Controllers/API/BusinessCards/GroupsAPIController.phpnu[PK8\y@@'=Controllers/API/BusinessCards/error_lognu[PK8\; ; 7FControllers/API/BusinessCards/BusinessAPIController.phpnu[PK8\^.QControllers/API/Admin/EnquiryAPIController.phpnu[PK8\.R A A 27YControllers/API/Admin/AppointmentAPIController.phpnu[PK8\OJ ,dControllers/API/Admin/GroupAPIController.phpnu[PK8\,kControllers/API/Admin/VcardAPIController.phpnu[PK8\gk 0}Controllers/API/Admin/DashboardAPIController.phpnu[PK8\zG/ 7Controllers/API/Admin/SubscriptionPlanAPIController.phpnu[PK8\#DD.Controllers/API/Admin/SettingAPIController.phpnu[PK8\5bControllers/API/Admin/error_lognu[PK8\#Yr /Controllers/API/Admin/BusinessAPIController.phpnu[PK8\ `2r%Controllers/API/AuthAPIController.phpnu[PK8\ Controllers/API/error_lognu[PK8\6c֎2Controllers/API/SuperAdmin/GroupsAPIController.phpnu[PK8\:92Controllers/API/SuperAdmin/VcardsAPIController.phpnu[PK8\5j 3Controllers/API/SuperAdmin/ProfileAPIController.phpnu[PK8\BaGG5Controllers/API/SuperAdmin/DashboardAPIController.phpnu[PK8\LL$Controllers/API/SuperAdmin/error_lognu[PK8\*%b b 4NControllers/API/SuperAdmin/BusinessAPIController.phpnu[PK8\Fb ""Controllers/LanguageController.phpnu[PK8\'E|!=Controllers/AboutUsController.phpnu[PK8\lIz.h h 0ZDControllers/Webhooks/BrasilWebhookController.phpnuIwPK8\u6"RControllers/Webhooks/MultibancoPagamentoController.phpnuIwPK8\bLL.jControllers/Webhooks/error_lognu[PK8\9_ _ oControllers/AsaasController.phpnuIwPK8\t" " !v|Controllers/EnquiryController.phpnu[PK8\&|!"&Controllers/PaypalPayoutController.phpnu[PK8\D@ Controllers/BannerController.phpnu[PK8\'%L&&#yControllers/NfcOrdersController.phpnu[PK8\jr-- ~Controllers/StripeController.phpnu[PK8\7f f #[Controllers/DashboardController.phpnu[PK8\LELL%Controllers/TestimonialController.phpnu[PK8\C&&)Controllers/UserFlutterwaveController.phpnu[PK8\[55*$Controllers/VcardSubscribersController.phpnu[PK8\>Ł##"(Controllers/PaystackController.phpnu[PK8\V3LControllers/HomeController.phpnu[PK8\:ʨ0!kControllers/GalleryController.phpnu[PK8\C  -IsControllers/AffiliationWithdrawController.phpnu[PK8\ZG::!Controllers/PhonepeController.phpnu[PK8\@  Controllers/ECardsController.phpnu[PK8\Ǻ'>Controllers/AffiliateUserController.phpnu[PK8\nm55"oControllers/RazorpayController.phpnu[PK8\b5::% Controllers/UserPhonepeController.phpnu[PK8\3II$iFControllers/SocialAuthController.phpnu[PK8\DDVControllers/StateController.phpnu[PK8\G"\Controllers/SendMailController.phpnu[PK8\0#0#vbControllers/UserController.phpnu[PK8\A"Controllers/CurrencyController.phpnu[PK8\p 9 9 ɇControllers/AddOnController.phpnu[PK8\ċ,,%QControllers/MailSettingController.phpnu[PK8\yN=N=&ҚControllers/SubscriptionController.phpnu[PK8\L"vControllers/HomeController.php.baknu[PK8\JControllers/CityController.phpnu[PK8\ %Controllers/UserSettingController.phpnu[PK8\NA  $Controllers/CustomLinkController.phpnu[PK8\6!Controllers/CountryController.phpnu[PK8\뤶$ Controllers/OnboardingController.phpnuIwPK8\(3:&S&Controllers/NfcCardOrderController.phpnu[PK8\8sBB3S,Controllers/Auth/AuthenticatedSessionController.phpnu[PK8\2\</Controllers/Auth/EmailVerificationNotificationController.phpnu[PK8\1 SS603Controllers/Auth/EmailVerificationPromptController.phpnu[PK8\ܠ*5Controllers/Auth/VerifyEmailController.phpnu[PK8\ \\-9Controllers/Auth/RegisteredUserController.phpnu[PK8\0>Controllers/Auth/PasswordResetLinkController.phpnu[PK8\vt**CControllers/Auth/error_lognu[PK8\h*aControllers/Auth/NewPasswordController.phpnu[PK8\Ji2iControllers/Auth/ConfirmablePasswordController.phpnu[PK8\UЪ??#mControllers/FrontFAQsController.phpnu[PK8\7_0',uControllers/UserDashboardController.phpnu[PK8\(%==-}vControllers/ScheduleAppointmentController.phpnu[PK8\5:P( ( !ҴControllers/FeatureController.phpnu[PK8\}ɧ(KControllers/ContactRequestController.phpnu[PK8\ O JControllers/BlogController.phpnu[PK8\vI!Controllers/AppBaseController.phpnu[PK8\iЄ66#Controllers/VcardBlogController.phpnu[PK8\j-CCControllers/PlanController.phpnu[PK8\$VN|$$!Controllers/ProductController.phpnu[PK8\g=j??*Controllers/FrontTestimonialController.phpnu[PK8\KXX(Controllers/InstagramEmbedController.phpnu[PK8\i&0"Controllers/VcardServiceController.phpnu[PK8\إA$A$!)Controllers/SettingController.phpnu[PK8\oiiMControllers/NfcController.phpnu[PK8\!2 2 &]TControllers/StorageLimitController.phpnu[PK8\A//+]Controllers/EmailSubscriptionController.phpnu[PK8\&obControllers/UserPaystackController.phpnu[PK8\=|y<y<*Controllers/SubscriptionController.php.baknu[PK8\]s Controllers/iframeController.phpnu[PK8\)h h #Controllers/AdminUserController.phpnu[PK8\xooVVMiddleware/FreshInstall.phpnu[PK8\Gf LMiddleware/ValidateSignature.phpnu[PK8\jhMiddleware/TrustProxies.phpnu[PK8\UI<Middleware/VerifyCsrfToken.phpnu[PK8\Q#{{Middleware/TrustHosts.phpnu[PK8\ckk&Middleware/RedirectIfAuthenticated.phpnu[PK8\qyMiddleware/Authenticate.phpnu[PK8\z*"Middleware/CheckVcardAnalytics.phpnu[PK8\m8+Middleware/SetLanguage.phpnu[PK8\`f f @Middleware/DetectRegion.phpnuIwPK8\YzVZZMiddleware/checkVcardEdit.phpnu[PK8\*!&&Middleware/EncryptCookies.phpnu[PK8\B;0 Middleware/CheckUserIsValid.phpnu[PK8\%nii jMiddleware/CheckVcardEnquiry.phpnu[PK8\Lv??#Middleware/XSS.phpnu[PK8\  Middleware/Analytics.phpnu[PK8\P*rr'Middleware/languageChangeMiddleware.phpnu[PK8\S迯22%Middleware/CheckVcardSubscription.phpnu[PK8\glaa/7Middleware/PreventRequestsDuringMaintenance.phpnu[PK8\ۘ K Middleware/CheckSubscription.phpnu[PK8\7$Middleware/MultiTenantMiddleware.phpnu[PK8\~}}"Middleware/TrimStrings.phpnu[PK\$Controllers/.gitkeepnu[PK\[6$Controllers/TestController.phpnu[PK\pp **)Controllers/error_lognu[PK]\0gg$mControllers/CsrfCookieController.phpnu[PK]\0֬!(Middleware/CheckForAnyAbility.phpnu[PK]\a; 0%Middleware/EnsureFrontendRequestsAreStateful.phpnu[PK]\KK;Middleware/CheckScopes.phpnu[PK]\HFMiddleware/CheckAbilities.phpnu[PK]\8i i "Middleware/AuthenticateSession.phpnu[PK]\EoQPXXMiddleware/CheckForAnyScope.phpnu[PK-\C!!'Requests/error_lognu[PK-\z9? Middleware/error_lognu[PK-\wI P: error_lognu[PKs\~88!< Requests/ProfileUpdateRequest.phpnu[PKs\Y!? Controllers/ProfileController.phpnu[PKs\VN'D Controllers/Auth/PasswordController.phpnu[PK!\$cH Middleware/EnsureEmailIsVerified.phpnu[PK\]]] K Response.phpnu[PK\3O Exceptions/MissingParameter.phpnu[PK\_LP Exceptions/BadResponse.phpnu[PK\$ͬzR Exceptions/NotFound.phpnu[PK\8r  S Exceptions/InvalidData.phpnu[PK\bT&/ U Exceptions/error_lognu[PK\HS_ Exceptions/BadResponseCode.phpnu[PK\H˵ b Client.phpnu[PKRz