ActivationTrait::validateEmail()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 9
rs 10
1
<?php
2
3
namespace App\Traits;
4
5
use App\Logic\Activation\ActivationRepository;
6
use App\Models\User;
7
use Illuminate\Support\Facades\Validator;
8
9
trait ActivationTrait
10
{
11
    /**
12
     * Trigger Activation Email
13
     * Note: this was build pre laravel verification emails.
14
     *
15
     * @param  User $user
16
     *
17
     * @return void
18
     */
19
    public function initiateEmailActivation(User $user)
20
    {
21
        if (! config('settings.activation') || ! $this->validateEmail($user)) {
22
            return true;
23
        }
24
25
        $activationRepostory = new ActivationRepository();
26
        $activationRepostory->createTokenAndSendEmail($user);
27
    }
28
29
    /**
30
     * Validate the Users Email.
31
     *
32
     * @param  User $user
33
     *
34
     * @return bool
35
     */
36
    protected function validateEmail(User $user)
37
    {
38
        $validator = Validator::make(['email' => $user->email], ['email' => 'required|email']);
39
40
        if ($validator->fails()) {
41
            return false;
42
        }
43
44
        return true;
45
    }
46
}
47