Filters   A
last analyzed

Complexity

Total Complexity 13

Size/Duplication

Total Lines 128
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 15.69%

Importance

Changes 0
Metric Value
wmc 13
lcom 0
cbo 1
dl 0
loc 128
ccs 8
cts 51
cp 0.1569
rs 10
c 0
b 0
f 0

9 Methods

Rating   Name   Duplication   Size   Complexity  
A filterEncoded() 0 6 1
A filterFloat() 0 12 2
A filterFloatFraction() 0 5 1
A filterInt() 0 13 2
A filterFullSpecialChar() 0 7 1
A filterUrl() 0 12 2
A filterSpecial() 0 6 1
A filterEmail() 0 12 2
A filterString() 0 6 1
1
<?php
2
3
namespace devtoolboxuk\soteria\classes;
4
5
use devtoolboxuk\soteria\models\FilterModel;
6
7
class Filters
8
{
9
10
    /**
11
     * @param $data
12
     * @return FilterModel
13
     */
14
    public function filterEmail($data)
15
    {
16
        $valid = false;
17
        if (filter_var($data, FILTER_VALIDATE_EMAIL)) {
18
            $valid = true;
19
        }
20
21
        return new FilterModel(
22
            filter_var($data, FILTER_SANITIZE_EMAIL),
23
            $valid
24
        );
25
    }
26
27
    /**
28
     * @param $data
29
     * @return FilterModel
30
     */
31
    public function filterEncoded($data)
32
    {
33
        return new FilterModel(
34
            filter_var($data, FILTER_SANITIZE_ENCODED)
35
        );
36
    }
37
38
    /**
39
     * @param $data
40
     * @return FilterModel
41
     */
42
    public function filterFloat($data)
43
    {
44
        $valid = false;
45
        if (filter_var($data, FILTER_VALIDATE_FLOAT)) {
46
            $valid = true;
47
        }
48
49
        return new FilterModel(
50
            filter_var($data, FILTER_SANITIZE_NUMBER_FLOAT),
51
            $valid
52
        );
53
    }
54
55
    /**
56
     * @param $data
57
     * @return FilterModel
58
     */
59
    public function filterFloatFraction($data)
60
    {
61
        $result = filter_var($data, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
62
        return $result;
63
    }
64
65
    /**
66
     * @param $data
67
     * @return FilterModel
68
     */
69
    public function filterInt($data)
70
    {
71
        $valid = false;
72
        if ( filter_var((int)$data, FILTER_VALIDATE_INT)) {
73
            $valid = true;
74
        }
75
76
        return new FilterModel(
77
            filter_var($data, FILTER_SANITIZE_NUMBER_INT),
78
            $valid
79
        );
80
81
    }
82
83
    /**
84
     * @param $data
85
     * @return FilterModel
86
     */
87
    public function filterFullSpecialChar($data)
88
    {
89
90
        return new FilterModel(
91
            filter_var($data, FILTER_SANITIZE_FULL_SPECIAL_CHARS, FILTER_FLAG_NO_ENCODE_QUOTES)
92
        );
93
    }
94
95
    /**
96
     * @param $data
97
     * @return FilterModel
98
     */
99
    public function filterUrl($data)
100
    {
101
        $valid = false;
102
        if ( filter_var((int)$data, FILTER_VALIDATE_URL)) {
103
            $valid = true;
104
        }
105
106
        return new FilterModel(
107
            filter_var($data, FILTER_SANITIZE_URL),
108
            $valid
109
        );
110
    }
111
112
    /**
113
     * @param $data
114
     * @return FilterModel
115
     */
116 3
    public function filterString($data)
117
    {
118 3
        return new FilterModel(
119 3
            filter_var($data, FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)
120 3
        );
121
    }
122
123
    /**
124
     * @param $data
125
     * @return FilterModel
126
     */
127 1
    public function filterSpecial($data)
128
    {
129 1
        return new FilterModel(
130 1
            filter_var($data, FILTER_SANITIZE_SPECIAL_CHARS)
131 1
        );
132
    }
133
134
}