annotate includes/class.requete.php @ 72:217f56e6bc77

Si on arrive pas à vérifier le commentaire via Akismet, on l'affichera Le comportement précédent n'était pas réellement défini pour le cas ou l'authentification auprès d'Akismet ne se fait pas correctement, c'est maintenant réparé.
author Franck Deroche <webmaster@defr.org>
date Thu, 20 Mar 2008 19:47:11 +0100
parents 8d209692d734
children
rev   line source
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@41 26 if(empty($value)) $value = $key;
webmaster@0 27 $this->arData[$key][$name] = ($magic_quotes) ? $value : addslashes($value);
webmaster@0 28 }
webmaster@0 29 }
webmaster@0 30
webmaster@0 31 // Récuperation d'une des variables
webmaster@0 32 public function get($varName, $orig = null, $default = '')
webmaster@0 33 {
webmaster@0 34 if(!isset($this->arData[$varName])) return $default;
webmaster@0 35 if(!empty($orig) && !isset($this->arData[$varName][$orig])) return $default;
webmaster@0 36 if(!empty($orig)) return $this->arData[$varName][$orig];
webmaster@0 37 return current($this->arData[$varName]);
webmaster@0 38 }
webmaster@0 39
webmaster@0 40 // Récuperation d'un tableau de variables dont le nom correspond à un pattern
webmaster@0 41 public function matchingPattern($preg_pattern, $orig = null)
webmaster@0 42 {
webmaster@0 43 $returnValue = array();
webmaster@0 44 foreach($this->arData as $key => $array)
webmaster@0 45 {
webmaster@0 46 if(!preg_match($preg_pattern, $key)) continue;
webmaster@0 47 $returnValue[$key] = $this->get($key, $orig);
webmaster@0 48 }
webmaster@0 49 return $returnValue;
webmaster@0 50 }
webmaster@0 51
webmaster@0 52 // Equivalent de |isset|
webmaster@0 53 public function varSet($varName, $orig = null)
webmaster@0 54 {
webmaster@0 55 if(!isset($this->arData[$varName])) return false;
webmaster@0 56 if(is_null($orig)) return true;
webmaster@0 57 return (isset($this->arData[$varName][$orig]));
webmaster@0 58 }
webmaster@0 59 }
webmaster@41 60 ?>