Release plat/al core v1.1.13
[platal.git] / classes / env.php
CommitLineData
0337d704 1<?php
2/***************************************************************************
e92ecb8c 3 * Copyright (C) 2003-2011 Polytechnique.org *
0337d704 4 * http://opensource.polytechnique.org/ *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
0337d704 22class Env
23{
6995a9b9 24 public static function _get($key, $default)
0337d704 25 {
26 return isset($_REQUEST[$key]) ? $_REQUEST[$key] : $default;
27 }
5e2307dc 28
6995a9b9 29 public static function has($key)
0337d704 30 {
31 return isset($_REQUEST[$key]);
32 }
5e2307dc 33
6995a9b9 34 public static function kill($key)
0337d704 35 {
36 unset($_REQUEST[$key]);
37 }
38
6995a9b9 39 public static function v($key, $default = null)
0337d704 40 {
41 return Env::_get($key, $default);
42 }
43
eaf30d86
PH
44 public static function s($key, $default = '')
45 {
46 return (string)Env::_get($key, $default);
47 }
7280eb45 48
720e3261
FB
49 public static function t($key, $default = '')
50 {
51 return trim(Env::s($key, $default));
52 }
53
54 public static function blank($key, $strict = false)
55 {
56 if (!Env::has($key)) {
57 return true;
58 }
59 $var = $strict ? Env::s($key) : Env::t($key);
60 return empty($var);
61 }
62
6995a9b9 63 public static function b($key, $default = false)
0337d704 64 {
65 return (bool)Env::_get($key, $default);
66 }
67
6995a9b9 68 public static function i($key, $default = 0)
0337d704 69 {
e24eb48b
FB
70 $i = to_integer(Env::_get($key, $default));
71 return $i === false ? $default : $i;
0337d704 72 }
7280eb45 73
74 public static function l(array $keys)
75 {
76 return array_map(array('Env', 'v'), $keys);
77 }
31dc3dd3
RB
78
79 public static function set($key, $value)
80 {
81 $_REQUEST[$key] =& $value;
82 }
83
84 public static function bootstrap($key, $value)
85 {
86 if (!Env::has($key)) {
87 Env::set($key, $value);
88 }
89 }
0337d704 90}
91
0337d704 92class Post
93{
6995a9b9 94 public static function _get($key, $default)
0337d704 95 {
96 return isset($_POST[$key]) ? $_POST[$key] : $default;
97 }
5e2307dc 98
6995a9b9 99 public static function has($key)
0337d704 100 {
101 return isset($_POST[$key]);
102 }
5e2307dc 103
6995a9b9 104 public static function kill($key)
0337d704 105 {
106 unset($_POST[$key]);
107 }
108
6995a9b9 109 public static function v($key, $default = null)
0337d704 110 {
111 return Post::_get($key, $default);
112 }
113
6995a9b9 114 public static function b($key, $default = false)
0337d704 115 {
116 return (bool)Post::_get($key, $default);
117 }
118
eaf30d86
PH
119 public static function s($key, $default = '')
120 {
121 return (string)Post::_get($key, $default);
122 }
7280eb45 123
720e3261
FB
124 public static function t($key, $default = '')
125 {
126 return trim(Post::s($key, $default));
127 }
128
129 public static function blank($key, $strict = false)
130 {
131 if (!Post::has($key)) {
132 return true;
133 }
134 $var = $strict ? Post::s($key) : Post::t($key);
135 return empty($var);
136 }
137
6995a9b9 138 public static function i($key, $default = 0)
0337d704 139 {
e24eb48b
FB
140 $i = to_integer(Post::_get($key, $default));
141 return $i === false ? $default : $i;
0337d704 142 }
7280eb45 143
144 public static function l(array $keys)
145 {
146 return array_map(array('Post', 'v'), $keys);
147 }
31dc3dd3
RB
148
149 public static function set($key, $value)
150 {
151 $_POST[$key] =& $value;
02f705e9 152 Env::set($key, $value);
31dc3dd3
RB
153 }
154
155 public static function bootstrap($key, $value)
156 {
157 if (!Post::has($key)) {
158 Post::set($key, $value);
159 }
160 }
0337d704 161}
162
0337d704 163class Get
164{
6995a9b9 165 public static function _get($key, $default)
0337d704 166 {
167 return isset($_GET[$key]) ? $_GET[$key] : $default;
168 }
5e2307dc 169
6995a9b9 170 public static function has($key)
0337d704 171 {
172 return isset($_GET[$key]);
173 }
5e2307dc 174
6995a9b9 175 public static function kill($key)
0337d704 176 {
177 unset($_GET[$key]);
178 }
179
6995a9b9 180 public static function v($key, $default = null)
0337d704 181 {
182 return Get::_get($key, $default);
183 }
184
6995a9b9 185 public static function b($key, $default = false)
0337d704 186 {
187 return (bool)Get::_get($key, $default);
188 }
189
7280eb45 190 public static function s($key, $default = '')
191 {
192 return (string)Get::_get($key, $default);
193 }
194
720e3261
FB
195 public static function t($key, $default = '')
196 {
197 return trim(Get::s($key, $default));
198 }
199
200 public static function blank($key, $strict = false)
201 {
202 if (!Get::has($key)) {
203 return true;
204 }
205 $var = $strict ? Get::s($key) : Get::t($key);
206 return empty($var);
207 }
208
6995a9b9 209 public static function i($key, $default = 0)
0337d704 210 {
e24eb48b
FB
211 $i = to_integer(Get::_get($key, $default));
212 return $i === false ? $default : $i;
0337d704 213 }
7280eb45 214
215 public static function l(array $keys)
216 {
217 return array_map(array('Get', 'v'), $keys);
218 }
31dc3dd3
RB
219
220 public static function set($key, $value)
221 {
222 $_GET[$key] =& $value;
02f705e9 223 Env::set($key, $value);
31dc3dd3
RB
224 }
225
226 public static function bootstrap($key, $value)
227 {
228 if (!Get::has($key)) {
229 Get::set($key, $value);
230 }
231 }
0337d704 232}
233
0337d704 234class Cookie
235{
6995a9b9 236 public static function _get($key, $default)
0337d704 237 {
f09d3319
FB
238 global $globals;
239 $key = $globals->cookie_ns . $key;
0337d704 240 return isset($_COOKIE[$key]) ? $_COOKIE[$key] : $default;
241 }
5e2307dc 242
6995a9b9 243 public static function has($key)
0337d704 244 {
f09d3319
FB
245 global $globals;
246 $key = $globals->cookie_ns . $key;
0337d704 247 return isset($_COOKIE[$key]);
248 }
5e2307dc 249
6995a9b9 250 public static function kill($key)
0337d704 251 {
f09d3319
FB
252 global $globals;
253 $key = $globals->cookie_ns . $key;
254 setcookie($key, '', time() - 3600, $globals->cookie_path);
0337d704 255 unset($_COOKIE[$key]);
256 }
257
ad27ee66 258 public static function set($key, $value, $days, $secure = false) {
f09d3319
FB
259 global $globals;
260 $key = $globals->cookie_ns . $key;
ad27ee66
FB
261 if (!$secure || @$_SERVER['HTTPS']) {
262 setcookie($key, $value, time() + 86400 * $days, $globals->cookie_path, '',
263 $secure, $secure);
264 $_COOKIE[$key] = $value;
02f705e9 265 Env::set($key, $value);
ad27ee66 266 }
f09d3319
FB
267 }
268
6995a9b9 269 public static function v($key, $default = null)
0337d704 270 {
271 return Cookie::_get($key, $default);
272 }
273
eaf30d86 274 public static function s($key, $default = '')
7280eb45 275 {
eaf30d86 276 return (string)Cookie::_get($key, $default);
7280eb45 277 }
278
720e3261
FB
279 public static function t($key, $default = '')
280 {
281 return trim(Cookie::s($key, $default));
282 }
283
284 public static function blank($key, $strict = false)
285 {
286 if (!Cookie::has($key)) {
287 return true;
288 }
289 $var = $strict ? Cookie::s($key) : Cookie::t($key);
290 return empty($var);
291 }
292
6995a9b9 293 public static function b($key, $default = false)
0337d704 294 {
295 return (bool)Cookie::_get($key, $default);
296 }
297
6995a9b9 298 public static function i($key, $default = 0)
0337d704 299 {
e24eb48b
FB
300 $i = to_integer(Cookie::_get($key, $default));
301 return $i === false ? $default : $i;
0337d704 302 }
7280eb45 303
304 public static function l(array $keys)
305 {
306 return array_map(array('Cookie', 'v'), $keys);
307 }
0337d704 308}
309
0337d704 310function fix_gpc_magic(&$item, $key) {
311 if (is_array($item)) {
312 array_walk($item, 'fix_gpc_magic');
313 } else {
314 $item = stripslashes($item);
315 }
316}
317
5e2307dc 318if (ini_get('magic_quotes_gpc') && empty($DONT_FIX_GPC)) {
0337d704 319 array_walk($_GET, 'fix_gpc_magic');
320 array_walk($_POST, 'fix_gpc_magic');
321 array_walk($_COOKIE, 'fix_gpc_magic');
322 array_walk($_REQUEST, 'fix_gpc_magic');
323}
324
fa7ffd66 325// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
0337d704 326?>