ActivationTrait   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 9
c 2
b 1
f 0
dl 0
loc 36
rs 10
wmc 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A validateEmail() 0 9 2
A initiateEmailActivation() 0 8 3
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