AsecurityDumptruckModel/app/Http/Controllers/ProfileController.php

51 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Storage;
class ProfileController extends Controller
{
public function index()
{
return view('profile', [
'user' => Auth::user()
]);
}
public function update(Request $request)
{
$request->validate([
'email' => 'required|email',
'current_password' => 'required_with:new_password',
'new_password' => 'nullable|min:8|confirmed',
'profile_photo' => 'nullable|image|mimes:jpeg,png,jpg|max:2048'
]);
$user = Auth::user();
$user->email = $request->email;
// Handle password change
if ($request->new_password) {
if (!Hash::check($request->current_password, $user->password)) {
return back()->withErrors(['current_password' => 'Current password is incorrect']);
}
$user->password = Hash::make($request->new_password);
}
// Handle profile photo
if ($request->hasFile('profile_photo')) {
$photo = $request->file('profile_photo');
// Replace existing foto.jpg
$photo->move(public_path('asset'), 'foto.jpg');
}
$user->save();
return redirect()->back()->with('success', 'Profile updated successfully');
}
}