summaryrefslogtreecommitdiff
path: root/vendor/thecodingmachine/safe/generated/filter.php
blob: 2d836c6c97a34afc92075a6f91f5b2000758f740 (plain)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php

namespace Safe;

use Safe\Exceptions\FilterException;

/**
 * This function is useful for retrieving many values without
 * repetitively calling filter_input.
 *
 * @param int $type One of INPUT_GET, INPUT_POST,
 * INPUT_COOKIE, INPUT_SERVER, or
 * INPUT_ENV.
 * @param int|array $definition An array defining the arguments. A valid key is a string
 * containing a variable name and a valid value is either a filter type, or an array
 * optionally specifying the filter, flags and options. If the value is an
 * array, valid keys are filter which specifies the
 * filter type,
 * flags which specifies any flags that apply to the
 * filter, and options which specifies any options that
 * apply to the filter. See the example below for a better understanding.
 *
 * This parameter can be also an integer holding a filter constant. Then all values in the
 * input array are filtered by this filter.
 * @param bool $add_empty Add missing keys as NULL to the return value.
 * @return mixed An array containing the values of the requested variables on success.
 * If the input array designated by type is not populated,
 * the function returns NULL if the FILTER_NULL_ON_FAILURE
 * flag is not given, or FALSE otherwise. For other failures, FALSE is returned.
 *
 * An array value will be FALSE if the filter fails, or NULL if
 * the variable is not set. Or if the flag FILTER_NULL_ON_FAILURE
 * is used, it returns FALSE if the variable is not set and NULL if the filter
 * fails. If the add_empty parameter is FALSE, no array
 * element will be added for unset variables.
 * @throws FilterException
 *
 */
function filter_input_array(int $type, $definition = null, bool $add_empty = true)
{
    error_clear_last();
    if ($add_empty !== true) {
        $result = \filter_input_array($type, $definition, $add_empty);
    } elseif ($definition !== null) {
        $result = \filter_input_array($type, $definition);
    } else {
        $result = \filter_input_array($type);
    }
    if ($result === false) {
        throw FilterException::createFromPhpError();
    }
    return $result;
}


/**
 * This function is useful for retrieving many values without
 * repetitively calling filter_var.
 *
 * @param array $data An array with string keys containing the data to filter.
 * @param mixed $definition An array defining the arguments. A valid key is a string
 * containing a variable name and a valid value is either a
 * filter type, or an
 * array optionally specifying the filter, flags and options.
 * If the value is an array, valid keys are filter
 * which specifies the filter type,
 * flags which specifies any flags that apply to the
 * filter, and options which specifies any options that
 * apply to the filter. See the example below for a better understanding.
 *
 * This parameter can be also an integer holding a filter constant. Then all values in the
 * input array are filtered by this filter.
 * @param bool $add_empty Add missing keys as NULL to the return value.
 * @return mixed An array containing the values of the requested variables on success. An array value will be FALSE if the filter fails, or NULL if
 * the variable is not set.
 * @throws FilterException
 *
 */
function filter_var_array(array $data, $definition = null, bool $add_empty = true)
{
    error_clear_last();
    if ($add_empty !== true) {
        $result = \filter_var_array($data, $definition, $add_empty);
    } elseif ($definition !== null) {
        $result = \filter_var_array($data, $definition);
    } else {
        $result = \filter_var_array($data);
    }
    if ($result === false) {
        throw FilterException::createFromPhpError();
    }
    return $result;
}