File "VerifyEmailController.php"

Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/app/Http/Controllers/VerifyEmailController.php
File size: 1.36 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers;

use Illuminate\Auth\Events\Verified;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use App\Models\User;
use App\Notifications\WelcomeNotification;

class VerifyEmailController extends Controller
{

    public function __invoke(Request $request): RedirectResponse
    {
        $user = User::find($request->route('id'));

        if ($user->hasVerifiedEmail()) {
            return redirect(env('APP_URL') . '/email/verify/already-success');
        }

        if ($user->markEmailAsVerified()) {
            try {
                event(new Verified($user));
                $user->verified = 1;
                $user->verified_at = \Carbon\Carbon::now()->toDateTimeString();
                $user->save();
                $user->notify(new WelcomeNotification());
            } catch (\Exception $e) {
                \Log::info($e->getMessage());
            }
        }

        return redirect(env('APP_URL') . '/email/verify/success');
    }

    /**
     * Show email verified page.
     *
     * @return null
     */
    public function email_verified()
    {
        return view('email-verified');
    }

    /**
     * Show email verified page.
     *
     * @return null
     */
    public function email_already_verified()
    {
        return view('email-already-verified');
    }
}