get()->toArray(); $user_rating = user_rating::all()->toArray(); $show_countries = country::all()->toArray(); $latestFaqs = FAQ::latest()->limit(5)->get(); $blog_one = blog::latest()->limit(1)->get(); $blog_three = blog::latest()->limit(3)->get(); $blog_categ = blog_category::latest()->limit(2)->get()->toArray(); $testimonial = Testimonial::with('country')->get()->toArray(); $country_count = country::count(); return view('Frontend.Pages.Home.home') ->with([ 'program' => $show_program, 'country' => $show_countries, 'faq' => $latestFaqs, 'blog_singal' => $blog_one, 'blog_muilti' => $blog_three, 'blog_category' => $blog_categ, 'test' => $testimonial, 'user_rate' => $user_rating, 'country_count' => $country_count, ]); } public function getCountryFlag($countryCode) { $flag = Country::getEmojiFlag($countryCode); return $flag; } public function get_countries() { $show_countries = Country::all(['country_code', 'name'])->toArray(); $countryData = collect($show_countries)->map(function ($item) { return [ 'id' => $item['country_code'], 'text' => $item['name'] ]; }); return response()->json($countryData); } public function home_get_programs(Request $request) { $country_code = $request->input('country_code'); $country = Country::where('country_code', $country_code)->first()->toArray(); // dd($country_code,$query->toSql(), $query->getBindings()); $countryId = $country['id']; $programs = Program::where('country_xid', $countryId) ->where('is_active', 1) ->get(['id', 'program_title', 'thumbnail']) ->toArray(); // dd($programs); return response()->json([ 'programs' => $programs, ]); } // public function insert_newsletter(Request $request) { // $existingEmail = news_letter::where('email', $request->input('email_id'))->first(); // if ($existingEmail) { // return response()->json(['success' => false, 'status' => 400, 'message' => 'Email already exists. Please choose a different email']); // } // // $add_newsletter_data = new news_letter; // $add_newsletter_data->first_name = $request->input('first_name'); // $add_newsletter_data->email = $request->input('email'); // $add_newsletter_data->save(); // // return response()->json(['success' => true, 'status' => 200, 'message' => 'Newsletter added successfully']); //} public function insert_newsletter(Request $request) { try { $existingEmail = news_letter::where('email', $request->input('email_id'))->first(); if ($existingEmail) { return response()->json(['success' => false, 'status' => 400, 'message' => 'Email already exists. Please choose a different email']); } $add_newsletter_data = new news_letter; $add_newsletter_data->first_name = $request->input('first_name'); $add_newsletter_data->email = trim($request->input('email')); $add_newsletter_data->save(); return response()->json(['success' => true, 'status' => 200, 'message' => 'Newsletter added successfully']); } catch (QueryException $e) { if ($e->errorInfo[1] == 1062) { // Handle unique constraint violation exception (error code 1062) return response()->json(['success' => false, 'status' => 400, 'message' => 'Email already exists. Please choose a different email']); } // Handle other database-related exceptions if necessaryl']); return response()->json(['success' => false, 'status' => 500, 'message' => 'Database error occurred. Please try again later.']); } } public function view_newsletter() { $view_newsletter_data = news_letter::all()->toArray(); // dd($view_newsletter_data); return view('Admin.Pages.manage_newsletter.manage_newsletter', ['newsletter' => $view_newsletter_data]); } public function store_rating(Request $request) { // Check if the user is authenticated if (!auth()->check()) { return response()->json(['success' => false, 'status' => 401]); } $userIds = auth()->id(); // Data to be inserted or updated $data = [ 'principal_xid' => $userIds, 'rating' => $request->input('star-rating'), ]; // Use updateOrInsert to update or insert the rating user_rating::updateOrInsert( ['principal_xid' => $userIds], $data ); return response()->json(['success' => true, 'status' => 200]); } public function programs_by_country($countryId) { $country = Country::with(['programs' => function($query) { $query->where('is_active', 1); }])->findOrFail($countryId); return response()->json(['program_country' => $country]); } }