Mercurial > defr > DualBlog
view includes/class.requete.php @ 11:ff57b45eda37
Changement profond de l'index. Utilisation des templates.
Dual Blog utilise maintenant intimement la libraire de templates
que l'on peut trouver sur http://hg.defr.org/defr/templates,
ce qui permet d'eviter de mixer du code PHP avec du HTML.
Accessoirement, on est aussi assurer d'avoir du XML valide,
puisque c'est l'API DOM qui est utilisée pour générer la
sortie.
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Wed, 24 Oct 2007 20:06:00 +0200 |
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])); } } ?>