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