관리-도구
편집 파일: AdminController.php
<?php namespace App\Http\Controllers; use App\Models\Booking; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Hash; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class AdminController extends Controller { public function login(){ return view('admin.login'); } public function index(){ return view('admin.index'); } public function adminLogin(Request $request){ $credentials = $request->only('email', 'password'); if(Auth::attempt($credentials)) { Log::info('User logged in successfully: '. Auth::user()->email); return redirect()->route('admin.dashboard'); } else{ Log::info("Login attempt failed for:".$credentials['email']); return redirect()->route('login')->withInput($request->only('email')); } } public function logout(){ Auth::logout(); return redirect()->route('login'); } public function booking(){ $contacts = Booking::orderBy('id','desc')->get(); return view('admin.booking', compact('contacts')); } public function destroy($id) { $gallery = Booking::findOrFail($id); $gallery->delete(); return redirect()->route('booking')->with('success', 'Image deleted successfully'); } public function profile() { // Get the authenticated user $user = Auth::user(); // Pass the user data to the view return view('admin.profile', compact('user')); } public function update(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users,email,' . Auth::id(), ]); $user = Auth::user(); $user->name = $request->input('name'); $user->email = $request->input('email'); $user->save(); return redirect()->back()->with('success', 'Profile updated successfully.'); } public function updatepass(Request $request) { Log::info('Password update request received.'); // Log the incoming request data for debugging Log::info('Request Data:', $request->all()); try { // Validate the form data $validatedData = $request->validate([ 'current_password' => 'required', 'new_password' => 'required|min:8|confirmed', 'new_password_confirmation' => 'required', // Add this to ensure it's not missing ]); Log::info('Validation passed.', $validatedData); } catch (\Illuminate\Validation\ValidationException $e) { Log::error('Validation failed.', $e->errors()); return redirect()->back()->withErrors($e->errors()); } $user = Auth::user(); // Log user data Log::info('User Data:', ['email' => $user->email, 'password' => $user->password]); // Check if the current password matches if (!Hash::check($request->input('current_password'), $user->password)) { Log::warning('Current password does not match.'); return redirect()->back()->withErrors(['current_password' => 'Current password is incorrect.']); } Log::info('Current password matched.'); // Update the password $user->password = Hash::make($request->input('new_password')); $user->save(); Log::info('Password updated successfully for user ID: ' . $user->id); return redirect()->back()->with('success', 'Password reset successfully.'); } }