%PDF- %PDF-
| Direktori : /www/loslex/test/app/Http/Controllers/ |
| Current File : //www/loslex/test/app/Http/Controllers/ProfileController.php |
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ProfileUpdateRequest;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Redirect;
use Illuminate\View\View;
class ProfileController extends Controller
{
/* Display welvcome page for new users */
public function welcome(): View
{
return view('profile.welcome-' . App::currentLocale());
}
/* Display the user's profile form. */
public function edit(Request $request): View
{
return view('profile.edit', ['user' => $request->user()]);
}
/* Update the user's profile information. */
public function update(ProfileUpdateRequest $request): RedirectResponse
{
$request->user()->fill($request->validated());
if ($request->user()->isDirty('email')) {
$request->user()->email_verified_at = null;
}
$originals = Arr::only($request->user()->getOriginal(), array_keys($request->user()->getDirty()));
$request->user()->save();
Log::info("User {$request->user()->username} updated his profile", [
'user' => $request->user()->id,
'originals' => $originals,
'changed' => $request->user()->getChanges()
]);
return Redirect::route('profile.edit')->with('status', 'profile-updated');
}
/* Delete the user's account. */
public function destroy(Request $request): RedirectResponse
{
$request->validateWithBag('userDeletion', [
'password' => ['required', 'current_password'],
]);
$user = $request->user();
Auth::logout();
$user->delete();
$request->session()->invalidate();
$request->session()->regenerateToken();
return Redirect::to('/');
}
}