middleware('auth'); } public function AllUser() { $all = DB::table('users')->get(); return view('backend.user.all-user', compact('all')); } public function AddUser() { return view('backend.user.add-user'); } public function StoreUser(Request $request) { $data = []; $data['name'] = $request->input('name'); $data['email'] = $request->input('email'); // $data['password'] = bcrypt($request->input('password')); $data['password'] = Hash::make($request->input('password')); $data['role'] = $request->input('role'); $data['created_at'] = now(); $data['updated_at'] = now(); $insert = DB::table('users')->insert($data); if ($insert) { $notification = array( 'message' => 'User Added Successfully', 'alert-type' => 'success' ); return redirect()->route('alluser')->with($notification); } else { $notification = array( 'message' => 'User Added Unsuccessfully', 'alert-type' => 'error' ); return redirect()->route('alluser')->with($notification); } } public function EditUser($id) { $edit = DB::table('users')->where('id', $id)->first(); return view('backend.user.edit-user', compact('edit')); } public function UpdateUser(Request $request, $id) { $data = []; $data['name'] = $request->input('name'); $data['email'] = $request->input('email'); if ($request->input('password')) { $data['password'] = Hash::make($request->input('password')); } $data['role'] = $request->input('role'); $data['updated_at'] = now(); $update = DB::table('users')->where('id', $id)->update( $data ); if ($update) { $notification = array( 'message' => 'User Updated Successfully', 'alert-type' => 'success' ); return redirect()->route('alluser')->with($notification); } else { $notification = array( 'message' => 'User is not Updated', 'alert-type' => 'error' ); return redirect()->route('alluser')->with($notification); } } public function DeleteUser($id) { DB::table('users')->where('id', $id)->delete(); return response()->json(['status' => 200, 'message' => 'Deleted Successfully!']); } public function ShowEmailForm() { return view('backend.user.send-email-form'); } public function SendEmail(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255', ]); try { Mail::to($request->input('email'))->send(new FirstMail($request->input('name'))); $notification = [ 'message' => 'Email Sent Successfully', 'alert-type' => 'success', ]; return redirect()->route('show-email-form')->with($notification); } catch (Exception $e) { Log::error('Error sending email: ' . $e->getMessage()); $notification = [ 'message' => 'An error occurred while sending the email.', 'alert-type' => 'error', ]; return redirect()->route('show-email-form')->with($notification); } } }