presseportale/app/Http/Controllers/Auth/VerifyEmailController.php

35 lines
1,017 B
PHP

<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Verified;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\EmailVerificationRequest;
use Illuminate\Http\RedirectResponse;
class VerifyEmailController extends Controller
{
/**
* Mark the authenticated user's email address as verified.
*/
public function __invoke(EmailVerificationRequest $request): RedirectResponse
{
$home = $request->user()->canAccessAdmin()
? route('dashboard', absolute: false)
: route('me.dashboard', absolute: false);
if ($request->user()->hasVerifiedEmail()) {
return redirect()->intended($home.'?verified=1');
}
if ($request->user()->markEmailAsVerified()) {
/** @var MustVerifyEmail $user */
$user = $request->user();
event(new Verified($user));
}
return redirect()->intended($home.'?verified=1');
}
}