Blame view

app/Http/Controllers/Auth/VerificationController.php 2.12 KB
2dde15d57   Андрей Ларионов   Утверждение переноса
1
2
3
4
5
  <?php
  
  namespace App\Http\Controllers\Auth;
  
  use App\Http\Controllers\Controller;
4882dedc8   Hayk Nazaryan   verfiy emails
6
7
  use App\Mail\ThankYouForRegistering;
  use App\Models\User;
2dde15d57   Андрей Ларионов   Утверждение переноса
8
  use App\Providers\RouteServiceProvider;
4882dedc8   Hayk Nazaryan   verfiy emails
9
10
  use Illuminate\Auth\Access\AuthorizationException;
  use Illuminate\Auth\Events\Verified;
2dde15d57   Андрей Ларионов   Утверждение переноса
11
  use Illuminate\Foundation\Auth\VerifiesEmails;
4882dedc8   Hayk Nazaryan   verfiy emails
12
13
  use Illuminate\Http\Request;
  use Illuminate\Support\Facades\Mail;
2dde15d57   Андрей Ларионов   Утверждение переноса
14
15
16
17
18
19
20
21
22
23
24
25
26
  
  class VerificationController extends Controller
  {
      /*
      |--------------------------------------------------------------------------
      | Email Verification Controller
      |--------------------------------------------------------------------------
      |
      | This controller is responsible for handling email verification for any
      | user that recently registered with the application. Emails may also
      | be re-sent if the user didn't receive the original email message.
      |
      */
4882dedc8   Hayk Nazaryan   verfiy emails
27
28
29
      use VerifiesEmails{
          verify as public traitVerify;
      }
2dde15d57   Андрей Ларионов   Утверждение переноса
30
31
32
33
34
35
36
37
38
39
40
41
42
43
      /**
       * Where to redirect users after verification.
       *
       * @var string
       */
      protected $redirectTo = RouteServiceProvider::HOME;
  
      /**
       * Create a new controller instance.
       *
       * @return void
       */
      public function __construct()
      {
4882dedc8   Hayk Nazaryan   verfiy emails
44
          $this->middleware('auth')->only('show', 'resend');
2dde15d57   Андрей Ларионов   Утверждение переноса
45
46
47
          $this->middleware('signed')->only('verify');
          $this->middleware('throttle:6,1')->only('verify', 'resend');
      }
4882dedc8   Hayk Nazaryan   verfiy emails
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
  
  
      public function verify(Request $request)
      {
          if (!auth()->check()) {
              auth()->loginUsingId($request->route('id'));
          }
  
          if ($request->route('id') != $request->user()->getKey()) {
              throw new AuthorizationException;
          }
  
          if ($request->user()->hasVerifiedEmail()) {
              return redirect($this->redirectPath());
          }
  
          if ($request->user()->markEmailAsVerified()) {
              event(new Verified($request->user()));
  
              Mail::to($request->user()->email)->send(new ThankYouForRegistering($request->user()));
          }
  
          return redirect($this->redirectPath())->with('success', 'Вы успешно подтвердили свой адрес почты');
      }
2dde15d57   Андрей Ларионов   Утверждение переноса
72
  }