⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.63
Server IP:
217.76.53.76
Server:
Linux vmi1397931.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
Server Software:
Apache
PHP Version:
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
gsm.com.ng
/
app
/
Http
/
Controllers
/
User
/
View File Name :
EditCardController.php
middleware('auth'); } /** * Show the application dashboard. * * @return \Illuminate\Contracts\Support\Renderable */ // Edit Card public function editCard(Request $request, $id) { // Queries $themes = Theme::where('theme_description', 'vCard')->where('status', 1)->orderBy('id', 'asc')->get(); $business_card = BusinessCard::where('card_id', $id)->first(); $config = DB::table('config')->get(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Check card type if ($business_card->card_type == "store") { return redirect()->route('user.edit.store', $id); } else { $settings = Setting::where('status', 1)->first(); $plan_details = Plan::where('plan_id', Auth::user()->plan_id)->first(); return view('user.edit-cards.edit-card', compact('themes', 'business_card', 'settings', 'plan_details', 'config')); } } } // Update card public function updateBusinessCard(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Generate Unique card id $cardId = uniqid(); if ($request->link) { $personalized_link = $request->link; } else { $personalized_link = $cardId; } $card_url = strtolower(preg_replace('/\s+/', '-', $personalized_link)); // Already exists $current_card = BusinessCard::where('card_url', $card_url)->count(); if ($current_card == 0 || $business_card->card_url == $request->link) { // Check card is exists if ($business_card == null) { return view('errors.404'); } else { // Personalize link if ($request->link) { $personalized_link = $request->link; } else { $personalized_link = $id; } // Update basic card details if ($request->cover == null && $request->logo == null) { //Cover Type - Validation $cover_type = "none"; // Default Value $cover = ""; if(in_array($request->cover_type, ["youtube","youtube-ap","vimeo","vimeo-ap","photo"], TRUE)){ // Cover URL no need to update for photo type. if($request->cover_type != "photo"){ $cover = $request->cover_url; $cover_type = $request->cover_type; } else { $cover_type = $request->cover_type; } } // Update BusinessCard::where('card_id', $id)->update([ 'theme_id' => $request->theme_id, 'card_lang' => $request->card_lang, 'card_url' => $personalized_link, 'cover' => $cover, 'cover_type' => $cover_type, 'title' => $request->title, 'sub_title' => $request->subtitle, 'description' => $request->description, ]); alert()->success(trans('Details have been updated.')); return redirect()->route('user.edit.social.links', $id); } else if ($request->logo == null) { // Validate $validator = Validator::make($request->all(), [ 'cover' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:' . env("SIZE_LIMIT") . '', ]); // Validate alert if ($validator->fails()) { alert()->error(trans('Please fill out all required fields and upload the proper size of the image.')); return back(); } // Update cover image if ($request->cover->extension() == "jpeg" || $request->cover->extension() == "png" || $request->cover->extension() == "jpg" || $request->cover->extension() == "gif" || $request->cover->extension() == "svg") { $cover = '/backend/img/vCards/' . 'IMG-' . uniqid() . '-' . str_replace(' ', '-', $request->cover->getClientOriginalName()); $request->cover->move(public_path('backend/img/vCards'), $cover); } //Cover Type - Validation $cover_type = "none"; // Default Value if(in_array($request->cover_type, ["youtube","youtube-ap","vimeo","vimeo-ap","photo"], TRUE)){ $cover_type = $request->cover_type; // Cover URL no need to update for photo type. if($request->cover_type != "photo"){ $cover = $request->cover_url; } } // Update BusinessCard::where('card_id', $id)->update([ 'cover' => $cover, 'cover_type' => $cover_type, 'theme_id' => $request->theme_id, 'card_lang' => $request->card_lang, 'card_url' => $personalized_link, 'title' => $request->title, 'sub_title' => $request->subtitle, 'description' => $request->description, ]); alert()->success(trans('Details have been updated.')); return redirect()->route('user.edit.social.links', $id); } else if ($request->cover == null) { // Validate $validator = Validator::make($request->all(), [ 'logo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:' . env("SIZE_LIMIT") . '', ]); // Validate alert if ($validator->fails()) { alert()->error(trans('Please fill out all required fields and upload the proper size of the image.')); return back(); } // Update if ($request->logo->extension() == "jpeg" || $request->logo->extension() == "png" || $request->logo->extension() == "jpg" || $request->logo->extension() == "gif" || $request->logo->extension() == "svg") { $logo = '/backend/img/vCards/' . 'IMG-' . uniqid() . '-' . str_replace(' ', '-', $request->logo->getClientOriginalName()); $request->logo->move(public_path('backend/img/vCards'), $logo); } //Cover Type - Validation $cover_type = "none"; // Default Value $cover = ""; if(in_array($request->cover_type, ["youtube","youtube-ap","vimeo","vimeo-ap","photo"], TRUE)){ $cover_type = $request->cover_type; // Cover URL no need to update for photo type. if($request->cover_type != "photo"){ $cover = $request->cover_url; } } // Save BusinessCard::where('card_id', $id)->update([ 'profile' => $logo, 'cover' => $cover, 'cover_type' => $cover_type, 'theme_id' => $request->theme_id, 'card_lang' => $request->card_lang, 'card_url' => $personalized_link, 'title' => $request->title, 'sub_title' => $request->subtitle, 'description' => $request->description, ]); alert()->success(trans('Details have been updated.')); return redirect()->route('user.edit.social.links', $id); } else if ($request->cover != null && $request->logo != null) { // Validator $validator = Validator::make($request->all(), [ 'cover' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:' . env("SIZE_LIMIT") . '', 'logo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:' . env("SIZE_LIMIT") . '', ]); // Validate alert if ($validator->fails()) { alert()->error(trans('Please fill out all required fields and upload the proper size of the image.')); return back(); } // Update logo image if ($request->logo->extension() == "jpeg" || $request->logo->extension() == "png" || $request->logo->extension() == "jpg" || $request->logo->extension() == "gif" || $request->logo->extension() == "svg") { $logo = '/backend/img/vCards/' . 'IMG-' . uniqid() . '-' . str_replace(' ', '-', $request->logo->getClientOriginalName()); $request->logo->move(public_path('backend/img/vCards'), $logo); // Update BusinessCard::where('card_id', $id)->update([ 'profile' => $logo, ]); } // Update cover image if ($request->cover->extension() == "jpeg" || $request->cover->extension() == "png" || $request->cover->extension() == "jpg" || $request->cover->extension() == "gif" || $request->cover->extension() == "svg") { $cover = '/backend/img/vCards/' . 'IMG-' . uniqid() . '-' . str_replace(' ', '-', $request->cover->getClientOriginalName()); $request->cover->move(public_path('backend/img/vCards'), $cover); // Update BusinessCard::where('card_id', $id)->update([ 'cover' => $cover, ]); } // Update BusinessCard::where('card_id', $id)->update([ 'theme_id' => $request->theme_id, 'card_lang' => $request->card_lang, 'card_url' => $personalized_link, 'title' => $request->title, 'sub_title' => $request->subtitle, 'description' => $request->description, ]); alert()->success(trans('Details have been updated.')); return redirect()->route('user.edit.social.links', $id); } } } else { alert()->error(trans('Sorry, the personalized link was already registered.')); return redirect()->route('user.edit.card', $id); } } // Social Links public function socialLinks(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $features = BusinessField::where('card_id', $id)->orderBy('id', 'asc')->get(); $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $settings = Setting::where('status', 1)->first(); return view('user.edit-cards.edit-social-links', compact('plan_details', 'features', 'settings')); } } // Update social links public function updateSocialLinks(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Check icon if ($request->icon) { // Delete previous links BusinessField::where('card_id', $id)->delete(); // Get plan details $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check social links limit if (count($request->icon) <= $plan_details->no_of_links) { // Check dynamic fields foreach for ($i = 0; $i < count($request->icon); $i++) { // Check dynamic fields if (isset($request->type[$i]) && isset($request->icon[$i]) && isset($request->label[$i]) && isset($request->value[$i])) { $customContent = $request->value[$i]; // Youtube if ($request->type[$i] == 'youtube') { $customContent = str_replace('https://www.youtube.com/watch?v=', '', $request->value[$i]); } // Google Map if ($request->type[$i] == 'map') { if (substr($request->value[$i], 0, 3) == 'pb=') { $customContent = $request->value[$i]; } else { $customContent = str_replace('
card_id = $id; $field->type = $request->type[$i]; $field->icon = $request->icon[$i]; $field->label = $request->label[$i]; $field->content = $customContent; $field->position = $i + 1; $field->save(); } else { alert()->error(trans('Please add at least one bio link.')); return redirect()->route('user.edit.social.links', $id); } } // Check type if ($business_card->type == "personal") { alert()->success(trans('Bio links are updated.')); return redirect()->route('user.cards'); } else { alert()->success(trans('Bio links are updated.')); return redirect()->route('user.edit.payment.links', $id); } } else { alert()->error(trans('The maximum limit was exceeded')); return redirect()->route('user.edit.social.links', $id); } } else { alert()->error(trans('Please add at least one bio link.')); return redirect()->route('user.edit.social.links', $id); } } } // Payment links public function paymentLinks(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $payments = Payment::where('card_id', $id)->orderBy('position', 'asc')->get(); $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $settings = Setting::where('status', 1)->first(); return view('user.edit-cards.edit-payment-links', compact('payments', 'plan_details', 'settings')); } } // Update payments links public function updatePaymentLinks(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Check icon if ($request->icon != null) { // Delete previous payments links Payment::where('card_id', $id)->delete(); // Get plan details $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check payment links limit if (count($request->icon) <= $plan_details->no_of_payments) { // Check dynamic fields foreach for ($i = 0; $i < count($request->icon); $i++) { // Check dynamic fields if (isset($request->icon[$i]) && isset($request->label[$i]) && isset($request->value[$i])) { // Save $payment = new Payment(); $payment->card_id = $id; $payment->type = $request->type[$i]; $payment->icon = $request->icon[$i]; $payment->label = $request->label[$i]; $payment->content = $request->value[$i]; $payment->position = $i + 1; $payment->save(); } else { Payment::where('card_id', $id)->delete(); alert()->error(trans('Please fill out all required fields.')); return redirect()->route('user.edit.payment.links', $id); } } alert()->success(trans('Payment links are updated.')); return redirect()->route('user.edit.services', $id); } else { alert()->error(trans('Maximum links limit exceeded.')); return redirect()->route('user.edit.payment.links', $id); } } else { Payment::where('card_id', $id)->delete(); alert()->success(trans('Payment links are updated.')); return redirect()->route('user.edit.services', $id); } } } // Services public function services(Request $request, $id) { // Queries $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $services = Service::where('card_id', $id)->get(); $media = Medias::where('user_id', Auth::user()->user_id)->orderBy('id', 'desc')->get(); $settings = Setting::where('status', 1)->first(); return view('user.edit-cards.edit-services', compact('plan_details', 'services', 'media', 'settings')); } } // Update services public function updateServices(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Get plan details $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check dynamic fields if ($request->service_name != null) { // Check services limit if (count($request->service_name) <= $plan_details->no_of_services) { // Delete previous services Service::where('card_id', $id)->delete(); // Check dynamic fields foreach for ($i = 0; $i < count($request->service_name); $i++) { // Save $service = new Service(); $service->card_id = $id; $service->service_name = $request->service_name[$i]; $service->service_image = $request->service_image[$i]; $service->service_description = $request->service_description[$i]; $service->enable_enquiry = $request->enquiry[$i]; $service->save(); } alert()->success(trans('Service details are updated.')); return redirect()->route('user.edit.vproducts', $id); } else { alert()->error(trans('You have reached the plan limit!')); return redirect()->route('user.edit.services', $id); } } else { if (empty($request->service_name) && empty($request->service_image) && empty($request->service_description) && empty($request->enquiry)) { Service::where('card_id', $id)->delete(); } alert()->success(trans('Service details are updated.')); return redirect()->route('user.edit.vproducts', $id); } } } // Vcard Products public function vProducts(Request $request, $id) { // Queries $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $products = VcardProduct::where('card_id', $id)->get(); $currencies = Currency::get(); $media = Medias::where('user_id', Auth::user()->user_id)->orderBy('id', 'desc')->get(); $settings = Setting::where('status', 1)->first(); return view('user.edit-cards.edit-products', compact('plan_details', 'products', 'currencies', 'media', 'settings')); } } // Update vCard Products public function updateVProducts(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Get plan details $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check icon if (isset($request->badge) && isset($request->product_image) && isset($request->product_name) && isset($request->product_subtitle) && isset($request->regular_price) && isset($request->sales_price) && isset($request->product_status)) { // Check products (vcard) limit if (count($request->badge) <= $plan_details->no_of_vcard_products) { // Delete previous products VcardProduct::where('card_id', $id)->delete(); // Check dynamic fields foreach for ($i = 0; $i < count($request->badge); $i++) { // Save $product = new VcardProduct(); $product->card_id = $id; $product->product_id = uniqid(); $product->badge = $request->badge[$i]; $product->currency = $request->currency[$i]; $product->product_image = $request->product_image[$i]; $product->product_name = $request->product_name[$i]; $product->product_subtitle = $request->product_subtitle[$i]; $product->regular_price = $request->regular_price[$i]; $product->sales_price = $request->sales_price[$i]; $product->product_status = $request->product_status[$i]; $product->save(); } alert()->success(trans('Product details are updated.')); return redirect()->route('user.edit.galleries', $id); } else { alert()->error(trans('You have reached the plan limit!')); return redirect()->route('user.edit.vproducts', $id); } } else { // Delete previous products if (empty($request->badge) && empty($request->product_image) && empty($request->product_name) && empty($request->product_subtitle) && empty($request->regular_price) && empty($request->sales_price) && empty($request->product_status)) { VcardProduct::where('card_id', $id)->delete(); } alert()->success(trans('Product details are updated.')); return redirect()->route('user.edit.galleries', $id); } } } // Galleries public function galleries(Request $request, $id) { // Queries $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $galleries = Gallery::where('card_id', $id)->get(); $media = Medias::where('user_id', Auth::user()->user_id)->orderBy('id', 'desc')->get(); $settings = Setting::where('status', 1)->first(); return view('user.edit-cards.edit-galleries', compact('plan_details', 'galleries', 'media', 'settings')); } } // Update Gallery Images public function updateGalleries(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Get plan details $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check gallery caption if ($request->caption != null) { // Check gallery limit if (count($request->caption) <= $plan_details->no_of_galleries) { // Delete Previous gallery images Gallery::where('card_id', $id)->delete(); // Check dynamic fields foreach for ($i = 0; $i < count($request->caption); $i++) { // Save $gallery = new Gallery(); $gallery->card_id = $id; $gallery->caption = $request->caption[$i]; $gallery->gallery_image = $request->gallery_image[$i]; $gallery->save(); } alert()->success(trans('Gallery images are updated.')); return redirect()->route('user.edit.testimonials', $id); } else { alert()->error(trans('You have reached the plan limit!')); return redirect()->route('user.edit.galleries', $id); } } else { // Delete Previous gallery images Gallery::where('card_id', $id)->delete(); alert()->success(trans('Gallery images are updated.')); return redirect()->route('user.edit.testimonials', $id); } } } // Testimonials public function editTestimonials(Request $request, $id) { // Queries $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $testimonials = Testimonial::where('card_id', $id)->get(); $media = Medias::where('user_id', Auth::user()->user_id)->orderBy('id', 'desc')->get(); $settings = Setting::where('status', 1)->first(); return view('user.edit-cards.edit-testimonial', compact('plan_details', 'testimonials', 'media', 'settings')); } } // Update Testimonials public function updateTestimonial(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Get plan details $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check reviewer name if ($request->reviewer_name != null) { // Check Testimonials limit if (count($request->reviewer_name) <= $plan_details->no_testimonials) { // Delete Previous Testimonials Testimonial::where('card_id', $id)->delete(); // Check dynamic fields foreach for ($i = 0; $i < count($request->reviewer_name); $i++) { // Save $testimonial = new Testimonial(); $testimonial->card_id = $id; $testimonial->reviewer_name = $request->reviewer_name[$i]; $testimonial->reviewer_image = $request->reviewer_image[$i]; $testimonial->review_subtext = $request->review_subtext[$i]; $testimonial->review = $request->review[$i]; $testimonial->save(); } // Check business hours is "ENABLED" if ($plan_details->business_hours == 1) { alert()->success(trans('Testimonials are updated.')); return redirect()->route('user.edit.business.hours', $id); } elseif ($plan_details->contact_form == 1) { // Check contact form is "ENABLED" alert()->success(trans('Testimonials are updated.')); return redirect()->route('user.edit.contact.form', $id); } elseif ($plan_details->password_protected == 1 || $plan_details->advanced_settings == 1) { // Check contact form is "ENABLED" alert()->success(trans('Testimonials are updated.')); return redirect()->route('user.edit.advanced.setting', $id); } else { alert()->success(trans('Your virtual business card is ready.')); return redirect()->route('user.cards'); } } else { alert()->error(trans('You have reached the plan limit!')); return redirect()->route('user.edit.testimonials', $id); } } else { // Delete Previous Testimonials Testimonial::where('card_id', $id)->delete(); // Check business hours is "ENABLED" if ($plan_details->business_hours == 1) { alert()->success(trans('Testimonials are updated.')); return redirect()->route('user.edit.business.hours', $id); } elseif ($plan_details->contact_form == 1) { // Check contact form is "ENABLED" alert()->success(trans('Testimonials are updated.')); return redirect()->route('user.edit.contact.form', $id); } elseif ($plan_details->password_protected == 1 || $plan_details->advanced_settings == 1) { // Check contact form is "ENABLED" alert()->success(trans('Testimonials are updated.')); return redirect()->route('user.edit.advanced.setting', $id); } else { alert()->success(trans('Your virtual business card is ready.')); return redirect()->route('user.cards'); } } } } // Business Hours public function businessHours(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $settings = Setting::where('status', 1)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Queries $businessHour = BusinessHour::where('card_id', $id)->first(); // Check closed timing if ($businessHour == null) { $monday_open = "09:00"; $monday_close = "18:30"; $monday_status = "Opening"; $tues_open = "09:00"; $tues_close = "18:30"; $tues_status = "Opening"; $wed_open = "09:00"; $wed_close = "18:30"; $wed_status = "Opening"; $thurs_open = "09:00"; $thurs_close = "18:30"; $thurs_status = "Opening"; $friday_open = "09:00"; $friday_close = "18:30"; $friday_status = "Opening"; $saturday_open = "09:00"; $saturday_close = "18:30"; $saturday_status = "Opening"; $sunday_open = "09:00"; $sunday_close = "18:30"; $sunday_status = "Opening"; $business_hrs = array(); $business_hrs['monday_open'] = $monday_open; $business_hrs['monday_close'] = $monday_close; $business_hrs['tuesday_open'] = $tues_open; $business_hrs['tuesday_close'] = $tues_close; $business_hrs['wednesday_open'] = $wed_open; $business_hrs['wednesday_close'] = $wed_close; $business_hrs['thursday_open'] = $thurs_open; $business_hrs['thursday_close'] = $thurs_close; $business_hrs['friday_open'] = $friday_open; $business_hrs['friday_close'] = $friday_close; $business_hrs['saturday_open'] = $saturday_open; $business_hrs['saturday_close'] = $saturday_close; $business_hrs['sunday_open'] = $sunday_open; $business_hrs['sunday_close'] = $sunday_close; $business_hrs['monday_status'] = $monday_status; $business_hrs['tues_status'] = $tues_status; $business_hrs['wed_status'] = $wed_status; $business_hrs['thurs_status'] = $thurs_status; $business_hrs['friday_status'] = $friday_status; $business_hrs['saturday_status'] = $saturday_status; $business_hrs['sunday_status'] = $sunday_status; $business_hrs['alwaysOpen'] = "Closed"; $business_hrs['isDisplay'] = 1; if($businessHour != null) { $business_hrs['alwaysOpen'] = "Opening"; $business_hrs['isDisplay'] = 0; } return view('user.edit-cards.edit-business-hours', compact('plan_details', 'businessHour', 'business_hrs', 'settings')); } else { $monday_open = "09:00"; $monday_close = "18:30"; $monday_status = "Opening"; $tues_open = "09:00"; $tues_close = "18:30"; $tues_status = "Opening"; $wed_open = "09:00"; $wed_close = "18:30"; $wed_status = "Opening"; $thurs_open = "09:00"; $thurs_close = "18:30"; $thurs_status = "Opening"; $friday_open = "09:00"; $friday_close = "18:30"; $friday_status = "Opening"; $saturday_open = "09:00"; $saturday_close = "18:30"; $saturday_status = "Opening"; $sunday_open = "09:00"; $sunday_close = "18:30"; $sunday_status = "Opening"; if ($businessHour->Monday != 'Closed') { $monday = explode("-", $businessHour->Monday); $monday_open = $monday[0]; $monday_close = $monday[1]; } else { $monday_status = "Closed"; } if ($businessHour->Tuesday != 'Closed') { $tuesday = explode("-", $businessHour->Tuesday); $tues_open = $tuesday[0]; $tues_close = $tuesday[1]; } else { $tues_status = "Closed"; } if ($businessHour->Wednesday != 'Closed') { $wednesday = explode("-", $businessHour->Wednesday); $wed_open = $wednesday[0]; $wed_close = $wednesday[1]; } else { $wed_status = "Closed"; } if ($businessHour->Thursday != 'Closed') { $thursday = explode("-", $businessHour->Thursday); $thurs_open = $thursday[0]; $thurs_close = $thursday[1]; } else { $thurs_status = "Closed"; } if ($businessHour->Friday != 'Closed') { $friday = explode("-", $businessHour->Friday); $friday_open = $friday[0]; $friday_close = $friday[1]; } else { $friday_status = "Closed"; } if ($businessHour->Saturday != 'Closed') { $saturday = explode("-", $businessHour->Saturday); $saturday_open = $saturday[0]; $saturday_close = $saturday[1]; } else { $saturday_status = "Closed"; } if ($businessHour->Sunday != 'Closed') { $sunday = explode("-", $businessHour->Sunday); $sunday_open = $sunday[0]; $sunday_close = $sunday[1]; } else { $sunday_status = "Closed"; } // Save $business_hrs = array(); $business_hrs['monday_open'] = $monday_open; $business_hrs['monday_close'] = $monday_close; $business_hrs['tuesday_open'] = $tues_open; $business_hrs['tuesday_close'] = $tues_close; $business_hrs['wednesday_open'] = $wed_open; $business_hrs['wednesday_close'] = $wed_close; $business_hrs['thursday_open'] = $thurs_open; $business_hrs['thursday_close'] = $thurs_close; $business_hrs['friday_open'] = $friday_open; $business_hrs['friday_close'] = $friday_close; $business_hrs['saturday_open'] = $saturday_open; $business_hrs['saturday_close'] = $saturday_close; $business_hrs['sunday_open'] = $sunday_open; $business_hrs['sunday_close'] = $sunday_close; $business_hrs['monday_status'] = $monday_status; $business_hrs['tues_status'] = $tues_status; $business_hrs['wed_status'] = $wed_status; $business_hrs['thurs_status'] = $thurs_status; $business_hrs['friday_status'] = $friday_status; $business_hrs['saturday_status'] = $saturday_status; $business_hrs['sunday_status'] = $sunday_status; $business_hrs['alwaysOpen'] = "Closed"; $business_hrs['isDisplay'] = 1; if($businessHour != null) { $business_hrs['alwaysOpen'] = "Opening"; $business_hrs['isDisplay'] = 0; } return view('user.edit-cards.edit-business-hours', compact('plan_details', 'businessHour', 'business_hrs', 'settings')); } } } // Update business hours public function updateBusinessHours(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Delete previous business hours BusinessHour::where('card_id', $id)->delete(); // Check closed timing if ($request->monday_closed == "on") { $monday = "Closed"; } else { $monday = $request->monday_open . "-" . $request->monday_closing; } if ($request->tuesday_closed == "on") { $tuesday = "Closed"; } else { $tuesday = $request->tuesday_open . "-" . $request->tuesday_closing; } if ($request->wednesday_closed == "on") { $wednesday = "Closed"; } else { $wednesday = $request->wednesday_open . "-" . $request->wednesday_closing; } if ($request->thursday_closed == "on") { $thursday = "Closed"; } else { $thursday = $request->thursday_open . "-" . $request->thursday_closing; } if ($request->friday_closed == "on") { $friday = "Closed"; } else { $friday = $request->friday_open . "-" . $request->friday_closing; } if ($request->saturday_closed == "on") { $saturday = "Closed"; } else { $saturday = $request->saturday_open . "-" . $request->saturday_closing; } if ($request->sunday_closed == "on") { $sunday = "Closed"; } else { $sunday = $request->sunday_open . "-" . $request->sunday_closing; } if ($request->always_open == "on") { $always_open = "Opening"; } else { $always_open = "Closed"; } if ($request->is_display == "on") { $is_display = 0; } else { $is_display = 1; } // Save $businessHours = new BusinessHour(); $businessHours->card_id = $id; $businessHours->Monday = $monday; $businessHours->Tuesday = $tuesday; $businessHours->Wednesday = $wednesday; $businessHours->Thursday = $thursday; $businessHours->Friday = $friday; $businessHours->Saturday = $saturday; $businessHours->Sunday = $sunday; $businessHours->is_always_open = $always_open; $businessHours->is_display = $is_display; $businessHours->save(); // Queries (vCards) $activeCards = BusinessCard::where('user_id', Auth::user()->user_id)->where('card_type', 'vcard')->where('card_status', 'activated')->count(); // Queries (Stores) $activeStores = BusinessCard::where('user_id', Auth::user()->user_id)->where('card_type', 'store')->where('card_status', 'activated')->count(); // Check business card $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Number of cards if ($activeCards < $plan_details->no_of_vcards) { // Update card status BusinessCard::where('user_id', Auth::user()->user_id)->where('card_type', 'vcard')->where('card_id', $id)->update([ 'card_status' => 'activated', ]); // Number of stores limitation if ($activeStores < $plan_details->no_of_stores) { // Update (Stores) BusinessCard::where('user_id', Auth::user()->user_id)->where('card_type', 'store')->where('card_id', $id)->update([ 'card_status' => 'activated', ]); // Check contact form is "ENABLED" if ($plan_details->contact_form == 1) { alert()->success(trans('Business hours are updated.')); return redirect()->route('user.edit.contact.form', $id); } elseif ($plan_details->password_protected == 1 || $plan_details->advanced_settings == 1) { // Check contact form is "ENABLED" alert()->success(trans('Gallery images are updated.')); return redirect()->route('user.edit.advanced.setting', $id); } else { alert()->success(trans('Your virtual business card is ready.')); return redirect()->route('user.cards'); } } else { alert()->error(trans('Unable to activate. Please check your plan details.')); return redirect()->route('user.cards'); } } // Check contact form is "ENABLED" if ($plan_details->contact_form == 1) { alert()->success(trans('Business hours are updated.')); return redirect()->route('user.edit.contact.form', $id); } elseif ($plan_details->password_protected == 1 || $plan_details->advanced_settings == 1) { // Check contact form is "ENABLED" alert()->success(trans('Business hours are updated.')); return redirect()->route('user.edit.advanced.setting', $id); } else { alert()->success(trans('Your virtual business card is ready.')); return redirect()->route('user.cards'); } } } // Edit contact form public function editContactForm(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); $settings = Setting::where('status', 1)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { return view('user.edit-cards.edit-contact', compact('plan_details', 'business_card', 'settings')); } } // Update contact form public function updateContactForm(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Check contact form is "enabled" if ($request->contact_form == "on") { $receiveEmail = null; } else { $receiveEmail = $request->receive_email; } // Update Enquiy Email BusinessCard::where('card_id', $id)->update([ 'enquiry_email' => $receiveEmail, ]); if ($plan_details->password_protected == 1 || $plan_details->advanced_settings == 1) { // Check contact form is "ENABLED" alert()->success(trans('Contact form updated.')); return redirect()->route('user.edit.advanced.setting', $id); } else { alert()->success(trans('Your virtual business card is ready.')); return redirect()->route('user.cards'); } } } // Edit Advanced settings public function editAdvancedSetting(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); $settings = Setting::where('status', 1)->first(); // Check business card $plan = DB::table('users')->where('user_id', Auth::user()->user_id)->where('status', 1)->first(); $plan_details = json_decode($plan->plan_details); // Check business card if ($business_card == null) { return view('errors.404'); } else { return view('user.edit-cards.edit-advanced-settings', compact('plan_details', 'business_card', 'settings')); } } // Update Advanced settings public function updateAdvancedSetting(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Set password $password = $request->password; if ($request->password_protected == "on") { $password = null; } // Update BusinessCard::where('card_id', $id)->update([ 'password' => $password, 'custom_css' => $request->custom_css, 'custom_js' => $request->custom_js, ]); alert()->success(trans('Your virtual business card is updated!')); return redirect()->route('user.cards'); } } // Skip to clear business hours public function clearBusinessHours(Request $request, $id) { // Queries $business_card = BusinessCard::where('card_id', $id)->first(); // Check business card if ($business_card == null) { return view('errors.404'); } else { // Delete previous business hours BusinessHour::where('card_id', $id)->delete(); $always_open = "Opening"; // Save $businessHours = new BusinessHour(); $businessHours->card_id = $id; $businessHours->Monday = ''; $businessHours->Tuesday = ''; $businessHours->Wednesday = ''; $businessHours->Thursday = ''; $businessHours->Friday = ''; $businessHours->Saturday = ''; $businessHours->Sunday = ''; $businessHours->is_always_open = $always_open; $businessHours->is_display = 1; $businessHours->save(); alert()->success(trans('Your virtual business card is updated!')); return redirect()->route('user.cards'); } } }