Mercurial > defr > DualBlog
view includes/class.requete.php @ 59:caef2b6e5690
Necessaire pour IE ! Le tag est sinon vide et se retrouve compacté
J'avais modifie ca pour rendre le validateur HTML5 content, mais, ce n'est
pas vraiment une bonne idee, car sinon le parser XML voit un tag vide,
et par consequent lorsqu'il prepare la sortie, il produit un <script />
qu'IE est incapable de gerer correctement.
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Tue, 19 Feb 2008 02:54:58 -0800 |
parents | 8d209692d734 |
children |
line wrap: on
line source
<?php /* Cette classe permet de filtrer tout le contenu entrant, et permet de se dispenser de toutes les super-globales. Element unique pour l'ensemble de la génération, on y accède via Factory::getRequest() */ class Requete { private $arData; public function __construct() { $this->loadArray($_POST, 'POST'); $this->loadArray($_GET, 'GET'); $this->loadArray($_COOKIE, 'COOKIE'); } // Chargement d'un tableau donné private function loadArray($array, $name = null) { $magic_quotes = (ini_get('magic_quotes_gpc') == '1'); if(!is_array($array)) return; if(empty($name)) $name = md5(serialize(microtime())); foreach($array as $key => $value) { if(empty($value)) $value = $key; $this->arData[$key][$name] = ($magic_quotes) ? $value : addslashes($value); } } // Récuperation d'une des variables public function get($varName, $orig = null, $default = '') { if(!isset($this->arData[$varName])) return $default; if(!empty($orig) && !isset($this->arData[$varName][$orig])) return $default; if(!empty($orig)) return $this->arData[$varName][$orig]; return current($this->arData[$varName]); } // Récuperation d'un tableau de variables dont le nom correspond à un pattern public function matchingPattern($preg_pattern, $orig = null) { $returnValue = array(); foreach($this->arData as $key => $array) { if(!preg_match($preg_pattern, $key)) continue; $returnValue[$key] = $this->get($key, $orig); } return $returnValue; } // Equivalent de |isset| public function varSet($varName, $orig = null) { if(!isset($this->arData[$varName])) return false; if(is_null($orig)) return true; return (isset($this->arData[$varName][$orig])); } } ?>