Mercurial > defr > DualBlog
view includes/class.requete.php @ 37:5eb974b45cb1
Deplacement de la feed atom vers le nouveau code.
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Mon, 05 Nov 2007 10:44:07 +0100 |
parents | 629389204276 |
children | 8d209692d734 |
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) { $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])); } } ?>