webmaster@0
|
1 <?php |
webmaster@0
|
2 /* |
webmaster@0
|
3 Cette classe permet de filtrer tout le contenu entrant, et permet de se dispenser de |
webmaster@0
|
4 toutes les super-globales. |
webmaster@0
|
5 Element unique pour l'ensemble de la génération, on y accède via Factory::getRequest() |
webmaster@0
|
6 */ |
webmaster@0
|
7 class Requete |
webmaster@0
|
8 { |
webmaster@0
|
9 private $arData; |
webmaster@0
|
10 |
webmaster@0
|
11 public function __construct() |
webmaster@0
|
12 { |
webmaster@0
|
13 $this->loadArray($_POST, 'POST'); |
webmaster@0
|
14 $this->loadArray($_GET, 'GET'); |
webmaster@0
|
15 $this->loadArray($_COOKIE, 'COOKIE'); |
webmaster@0
|
16 } |
webmaster@0
|
17 |
webmaster@0
|
18 // Chargement d'un tableau donné |
webmaster@0
|
19 private function loadArray($array, $name = null) |
webmaster@0
|
20 { |
webmaster@0
|
21 $magic_quotes = (ini_get('magic_quotes_gpc') == '1'); |
webmaster@0
|
22 if(!is_array($array)) return; |
webmaster@0
|
23 if(empty($name)) $name = md5(serialize(microtime())); |
webmaster@0
|
24 foreach($array as $key => $value) |
webmaster@0
|
25 { |
webmaster@0
|
26 $this->arData[$key][$name] = ($magic_quotes) ? $value : addslashes($value); |
webmaster@0
|
27 } |
webmaster@0
|
28 } |
webmaster@0
|
29 |
webmaster@0
|
30 // Récuperation d'une des variables |
webmaster@0
|
31 public function get($varName, $orig = null, $default = '') |
webmaster@0
|
32 { |
webmaster@0
|
33 if(!isset($this->arData[$varName])) return $default; |
webmaster@0
|
34 if(!empty($orig) && !isset($this->arData[$varName][$orig])) return $default; |
webmaster@0
|
35 if(!empty($orig)) return $this->arData[$varName][$orig]; |
webmaster@0
|
36 return current($this->arData[$varName]); |
webmaster@0
|
37 } |
webmaster@0
|
38 |
webmaster@0
|
39 // Récuperation d'un tableau de variables dont le nom correspond à un pattern |
webmaster@0
|
40 public function matchingPattern($preg_pattern, $orig = null) |
webmaster@0
|
41 { |
webmaster@0
|
42 $returnValue = array(); |
webmaster@0
|
43 foreach($this->arData as $key => $array) |
webmaster@0
|
44 { |
webmaster@0
|
45 if(!preg_match($preg_pattern, $key)) continue; |
webmaster@0
|
46 $returnValue[$key] = $this->get($key, $orig); |
webmaster@0
|
47 } |
webmaster@0
|
48 return $returnValue; |
webmaster@0
|
49 } |
webmaster@0
|
50 |
webmaster@0
|
51 // Equivalent de |isset| |
webmaster@0
|
52 public function varSet($varName, $orig = null) |
webmaster@0
|
53 { |
webmaster@0
|
54 if(!isset($this->arData[$varName])) return false; |
webmaster@0
|
55 if(is_null($orig)) return true; |
webmaster@0
|
56 return (isset($this->arData[$varName][$orig])); |
webmaster@0
|
57 } |
webmaster@0
|
58 } |
webmaster@0
|
59 ?> |