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 ?> |
