-
Notifications
You must be signed in to change notification settings - Fork 2
/
DataFilter.php
79 lines (73 loc) · 2.08 KB
/
DataFilter.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
namespace Comodojo\Foundation\Validation;
/**
* @package Comodojo Foundation
* @author Marco Giovinazzi <marco.giovinazzi@comodojo.org>
* @license MIT
*
* LICENSE:
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
class DataFilter
{
/**
* Filter an integer.
*
* This method is a shortcut to filter_var using FILTER_VALIDATE_INT
*
* @param int $int Int to filter
* @param int $min Min value (default to ~PHP_INT_MAX)
* @param int $max Max value (default to PHP_INT_MAX)
* @param int $default Default value
* @return int
*/
public static function filterInteger(
int $int,
int $min = ~PHP_INT_MAX,
int $max = PHP_INT_MAX,
int $default = 0)
{
return filter_var($int, FILTER_VALIDATE_INT, [
'options' => [
'default' => $default,
'min_range' => $min,
'max_range' => $max
]
]);
}
/**
* Filter a TCP/UDP port
*
* @param int $port
* @param int $default
* @return int
*/
public static function filterPort(int $port, int $default = 80)
{
return self::filterInteger($port, 1, 65535, $default);
}
/**
* filter a bool.
*
* This method is a shortcut to filter_var using FILTER_VALIDATE_BOOLEAN
*
* @param bool $bool
* @param bool $default
* @return bool
*/
public static function filterBoolean($bool, bool $default = false)
{
return filter_var($bool, FILTER_VALIDATE_BOOLEAN, [
'options' => [
'default' => $default
]
]);
}
}