ChangeEmailFilter   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 62
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 2
dl 0
loc 62
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 46 2
A getEmailValidator() 0 4 1
A setEmailValidator() 0 5 1
1
<?php
2
3
namespace LmcUser\Form;
4
5
use Laminas\InputFilter\InputFilter;
6
use LmcUser\Options\AuthenticationOptionsInterface;
7
8
class ChangeEmailFilter extends InputFilter
9
{
10
    protected $emailValidator;
11
12
    public function __construct(AuthenticationOptionsInterface $options, $emailValidator)
13
    {
14
        $this->emailValidator = $emailValidator;
15
16
        $identityParams = array(
17
            'name'       => 'identity',
18
            'required'   => true,
19
            'validators' => array()
20
        );
21
22
        $identityFields = $options->getAuthIdentityFields();
23
        if ($identityFields == array('email')) {
24
            $validators = array('name' => 'EmailAddress');
25
            array_push($identityParams['validators'], $validators);
26
        }
27
28
        $this->add($identityParams);
29
30
        $this->add(
31
            array(
32
            'name'       => 'newIdentity',
33
            'required'   => true,
34
            'validators' => array(
35
                array(
36
                    'name' => 'EmailAddress'
37
                ),
38
                $this->emailValidator
39
            ),
40
            )
41
        );
42
43
        $this->add(
44
            array(
45
            'name'       => 'newIdentityVerify',
46
            'required'   => true,
47
            'validators' => array(
48
                array(
49
                    'name' => 'identical',
50
                    'options' => array(
51
                        'token' => 'newIdentity'
52
                    )
53
                ),
54
            ),
55
            )
56
        );
57
    }
58
59
    public function getEmailValidator()
60
    {
61
        return $this->emailValidator;
62
    }
63
64
    public function setEmailValidator($emailValidator)
65
    {
66
        $this->emailValidator = $emailValidator;
67
        return $this;
68
    }
69
}
70