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