1 | <?php |
||||
2 | /** |
||||
3 | * Created by Gorlum 04.12.2017 4:13 |
||||
4 | */ |
||||
5 | |||||
6 | function isParamExists($paramName) { |
||||
7 | return array_key_exists($paramName, $_GET) || array_key_exists($paramName, $_POST); |
||||
8 | } |
||||
9 | |||||
10 | /** |
||||
11 | * @param string $param_name |
||||
12 | * @param string $default |
||||
13 | * |
||||
14 | * @return string|array |
||||
15 | */ |
||||
16 | function sys_get_param($param_name, $default = '') { |
||||
17 | return $_POST[$param_name] !== null ? $_POST[$param_name] : ($_GET[$param_name] !== null ? $_GET[$param_name] : $default); |
||||
18 | } |
||||
19 | |||||
20 | /** |
||||
21 | * @param string $param_name |
||||
22 | * @param int|float|string $default |
||||
23 | * |
||||
24 | * @return int|float|string |
||||
25 | */ |
||||
26 | function sys_get_param_id($param_name, $default = 0) { |
||||
27 | return is_id($value = sys_get_param($param_name, $default)) ? $value : $default; |
||||
0 ignored issues
–
show
Bug
Best Practice
introduced
by
![]() |
|||||
28 | } |
||||
29 | |||||
30 | /** |
||||
31 | * @param string $param_name |
||||
32 | * @param int $default |
||||
33 | * |
||||
34 | * @return int |
||||
35 | */ |
||||
36 | function sys_get_param_int($param_name, $default = 0) { |
||||
37 | $value = sys_get_param($param_name, $default); |
||||
38 | |||||
39 | return $value === 'on' ? 1 : ($value === 'off' ? $default : intval($value)); |
||||
40 | } |
||||
41 | |||||
42 | /** |
||||
43 | * @param string $param_name |
||||
44 | * @param float $default |
||||
45 | * |
||||
46 | * @return float |
||||
47 | */ |
||||
48 | function sys_get_param_float($param_name, $default = 0.0) { |
||||
49 | return floatval(sys_get_param($param_name, $default)); |
||||
50 | } |
||||
51 | |||||
52 | /** |
||||
53 | * @param string $param_name |
||||
54 | * @param string $default |
||||
55 | * |
||||
56 | * @return string |
||||
57 | */ |
||||
58 | function sys_get_param_escaped($param_name, $default = '') { |
||||
59 | return SN::$db->db_escape(sys_get_param($param_name, $default)); |
||||
60 | } |
||||
61 | |||||
62 | /** |
||||
63 | * Get list of units from environment ($_GET, $_POST etc) |
||||
64 | * |
||||
65 | * @param string $param_name |
||||
66 | * @param array $default |
||||
67 | * |
||||
68 | * @return float[] - [int $unitId] => float $unitAmount |
||||
69 | */ |
||||
70 | function sys_get_param_unit_array($param_name, $default = []) { |
||||
71 | $result = $default; |
||||
72 | |||||
73 | if (is_array($params = sys_get_param($param_name)) && !empty($params)) { |
||||
74 | $result = []; |
||||
75 | foreach (sys_get_param('resources') as $unitId => $unitAmount) { |
||||
76 | $result[intval($unitId)] = floatval($unitAmount); |
||||
77 | } |
||||
78 | } |
||||
79 | |||||
80 | return $result; |
||||
81 | } |
||||
82 | |||||
83 | /** |
||||
84 | * @param string $param_name |
||||
85 | * @param string $default |
||||
86 | * |
||||
87 | * @return string |
||||
88 | */ |
||||
89 | function sys_get_param_date_sql($param_name, $default = '2000-01-01') { |
||||
90 | $val = sys_get_param($param_name, $default); |
||||
91 | |||||
92 | return preg_match(PREG_DATE_SQL_RELAXED, $val) ? $val : $default; |
||||
0 ignored issues
–
show
It seems like
$val can also be of type array ; however, parameter $subject of preg_match() does only seem to accept string , maybe add an additional type check?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||
93 | } |
||||
94 | |||||
95 | /** |
||||
96 | * @param string $param_name |
||||
97 | * @param string $default |
||||
98 | * |
||||
99 | * @return string |
||||
100 | */ |
||||
101 | function sys_get_param_str_unsafe($param_name, $default = '') { |
||||
102 | return str_raw2unsafe(sys_get_param($param_name, $default)); |
||||
103 | } |
||||
104 | |||||
105 | /** |
||||
106 | * @param string $param_name |
||||
107 | * @param string $default |
||||
108 | * |
||||
109 | * @return string |
||||
110 | */ |
||||
111 | function sys_get_param_str($param_name, $default = '') { |
||||
112 | return SN::$db->db_escape(sys_get_param_str_unsafe($param_name, $default)); |
||||
113 | } |
||||
114 | |||||
115 | /** |
||||
116 | * @param string $param_name |
||||
117 | * @param string $default |
||||
118 | * |
||||
119 | * @return array |
||||
120 | */ |
||||
121 | function sys_get_param_str_both($param_name, $default = '') { |
||||
122 | $param = sys_get_param($param_name, $default); |
||||
123 | $param_unsafe = str_raw2unsafe($param); |
||||
124 | |||||
125 | return array( |
||||
126 | 'raw' => $param, |
||||
127 | 'unsafe' => $param_unsafe, |
||||
128 | 'safe' => SN::$db->db_escape($param_unsafe), |
||||
129 | ); |
||||
130 | } |
||||
131 | |||||
132 | /** |
||||
133 | * @param string $param_name |
||||
134 | * @param string $default |
||||
135 | * |
||||
136 | * @return array |
||||
137 | */ |
||||
138 | function sys_get_param_phone($param_name, $default = '') { |
||||
0 ignored issues
–
show
The parameter
$default is not used and could be removed.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for parameters that have been defined for a function or method, but which are not used in the method body. ![]() |
|||||
139 | $phone_raw = sys_get_param_str_unsafe($param_name, $default = ''); |
||||
140 | if ($phone_raw) { |
||||
141 | $phone = $phone_raw[0] == '+' ? '+' : ''; |
||||
142 | for ($i = 0; $i < strlen($phone_raw); $i++) { |
||||
143 | $ord = ord($phone_raw[$i]); |
||||
144 | if ($ord >= 48 && $ord <= 57) { |
||||
145 | $phone .= $phone_raw[$i]; |
||||
146 | } |
||||
147 | } |
||||
148 | $phone = strlen($phone) < 11 ? '' : $phone; |
||||
149 | } else { |
||||
150 | $phone = ''; |
||||
151 | } |
||||
152 | |||||
153 | return array('raw' => $phone_raw, 'phone' => $phone); |
||||
154 | } |
||||
155 |