Mercurial > defr > DualBlog
view includes/class.requete.php @ 31:2d98421d43da
Le formulaire d'ajout de commentaire vient remplacer <tr:commentForm />
Avant, il était considéré comme un post en plus dans le document, ce
qui ne permettait pas de l'activer ou de le desactiver selon les différents
modèles de squelettes (embettant pour la feed Atom par exemple)
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Mon, 05 Nov 2007 08:59:51 +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])); } } ?>