VerificationController::resend()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 9.7
c 0
b 0
f 0
cc 4
nc 4
nop 1
1
<?php
2
3
namespace Microboard\Http\Controllers\Auth;
4
5
use Illuminate\Foundation\Auth\VerifiesEmails;
6
use Illuminate\Http\Request;
7
use Illuminate\Http\Response;
8
use Microboard\Http\Controllers\Controller;
9
10
class VerificationController extends Controller
11
{
12
    /*
13
    |--------------------------------------------------------------------------
14
    | Email Verification Controller
15
    |--------------------------------------------------------------------------
16
    |
17
    | This controller is responsible for handling email verification for any
18
    | user that recently registered with the application. Emails may also
19
    | be re-sent if the user didn't receive the original email message.
20
    |
21
    */
22
23
    use VerifiesEmails;
24
25
    /**
26
     * Where to redirect users when the intended url fails.
27
     */
28
    protected function redirectTo()
29
    {
30
        return url(config('microboard.routes.prefix'));
31
    }
32
33
    /**
34
     * Create a new controller instance.
35
     */
36
    public function __construct()
37
    {
38
        $this->middleware('auth');
39
        $this->middleware('signed')->only('verify');
40
        $this->middleware('throttle:6,1')->only('verify', 'resend');
41
    }
42
43
    /**
44
     * Show the email verification notice.
45
     *
46
     * @param \Illuminate\Http\Request $request
47
     * @return \Illuminate\Http\Response|\Illuminate\View\View
48
     */
49
    public function show(Request $request)
50
    {
51
        return $request->user()->hasVerifiedEmail()
52
            ? redirect($this->redirectPath())
53
            : view('microboard::auth.verify');
54
    }
55
56
    /**
57
     * Resend the email verification notification.
58
     *
59
     * @param  \Illuminate\Http\Request  $request
60
     * @return \Illuminate\Http\RedirectResponse|Response
61
     */
62
    public function resend(Request $request)
63
    {
64
        if ($request->user()->hasVerifiedEmail()) {
65
            return $request->wantsJson()
66
                ? new Response('', 204)
67
                : redirect($this->redirectPath());
68
        }
69
70
        $request->user()->sendEmailVerificationNotification();
71
72
        return $request->wantsJson()
73
            ? new Response('', 202)
74
            : back()->with('alert', [
75
                'text' => trans('microboard::pages.verify.resend'),
76
                'type' => 'success'
77
            ]);
78
    }
79
}
80