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