File: /home/xedaptot/hi.naniguide.com/app/Http/Controllers/Admin/ProfileController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class ProfileController extends Controller
{
/**
* Show the profile edit page.
*/
public function edit(Request $request)
{
$user = $request->user('admin');
return view('admin.profile.edit', [
'user' => $user,
]);
}
/**
* Update the authenticated admin user's profile.
*/
public function update(Request $request)
{
$user = $request->user('admin');
$validated = $request->validate([
'first_name' => ['required', 'string', 'max:255'],
'last_name' => ['required', 'string', 'max:255'],
'bio' => ['nullable', 'string', 'max:2000'],
'website_url' => ['nullable', 'url', 'max:255'],
'twitter_url' => ['nullable', 'url', 'max:255'],
'facebook_url' => ['nullable', 'url', 'max:255'],
'linkedin_url' => ['nullable', 'url', 'max:255'],
'avatar' => ['nullable', 'image', 'max:2048'],
]);
if ($request->hasFile('avatar')) {
// Delete old avatar if exists
if ($user->avatar_path) {
Storage::disk('public')->delete($user->avatar_path);
}
$path = $request->file('avatar')->store('avatars', 'public');
$validated['avatar_path'] = $path;
}
$user->update($validated);
return redirect()
->route('admin.profile.edit')
->with('success', 'Profile updated successfully.');
}
}