관리-도구
편집 파일: BaseController.php
<?php namespace App\Http\Controllers; use App\Mail\BookingConfirmation; use App\Models\Acheievements; use App\Models\Address; use App\Models\Booking; use App\Models\Contact; use App\Models\Counts; use App\Models\Image; use App\Models\Project; use App\Models\Offer; use App\Models\Service; use App\Models\Slider; use App\Models\SocialMedia; use App\Models\AboutGallery; use App\Models\Spare; use App\Models\Websit; use App\Models\About; use App\Models\Repair; use App\Models\Team; use App\Models\Testimonials; use App\Models\Folder; use Illuminate\Http\Request; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Log; use App\Mail\ContactMail; use App\Models\ServiceType; class BaseController extends Controller { public function index() { $website = Websit::orderBy('w_id', 'desc')->first(); $sliders = Slider::orderBy('id', 'desc')->get(); $about = About::latest()->first(); $count1 = Counts::find(1); $count2 = Counts::find(2); $count3 = Counts::find(3); $services = Service::latest()->get(); $galleries = AboutGallery::orderBy('id', 'desc')->get(); $address = Address::first(); $contacts = Address::orderBy('created_at','desc')->get(); $folders = Folder::all(); $repair = Repair::all(); $cont = Contact::first(); $testimonials = Testimonials::all(); $social = SocialMedia::latest()->first(); return view('frontend.index', compact('website','cont','contacts', 'social','sliders', 'about','galleries', 'address', 'services', 'folders', 'repair', 'testimonials', 'count1', 'count2', 'count3')); } public function service() { $service = Service::all(); $address = Address::first(); return view('frontend.services', compact('service', 'address')); } public function servicedetails($id) { $services = Services::with('types')->findOrFail($id); $address = Address::first(); return view('frontend.servicedetails', compact('services', 'address')); } public function spare() { $spare = Spare::first(); return view('frontend.spare', compact('spare')); } public function image() { $service = Services::all(); $address = Address::first(); $galleryy = Image::orderBy('created_at', 'desc')->get(); return view('frontend.galleryy', compact('galleryy', 'service', 'address')); } public function about() { $about = About::first(); $address = Address::first(); $service = Services::all(); return view('frontend.about', compact('about', 'service', 'address')); } public function contact() { $service = Services::all(); $address = Address::first(); $contact = Contact::first(); return view('frontend.contact-us', compact('contact', 'address', 'service')); } public function project() { $service = Services::all(); $address = Address::first(); $projects = Project::orderBy('created_at', 'desc')->get(); return view('frontend.projects', compact('projects', 'service', 'address')); } public function contactstore(Request $request) { try { // validate data $validateData = $request->validate([ 'name' => 'required|string', 'email' => 'required|string', 'phone' => 'required|string', 'message' => 'nullable|string', ]); // create new instance for contact $contact = new Contact(); $contact->name = $validateData['name']; $contact->email = $validateData['email']; $contact->phone = $validateData['phone']; $contact->message = $validateData['message']; $contact->save(); Mail::to('vcarekochi@gmail.com')->send(new ContactMail($validateData)); return redirect()->route('index')->with('success', 'Contact form submitted successfully'); } catch (\Exception $e) { Log::error('Error in contact form submitting:', [ 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString(), 'request' => $request->all(), ]); return redirect()->route('index')->with('error', 'There was an error submitting the contact form. Please try again.'); } } }