defr/DualBlog

view includes/class.requete.php @ 70:e08186e4ed77

Ajout d'un installeur.

Il est désormais possible d'utiliser ce script pour créer une installation
vierge de Dual Blog, rendant presque facile la création de sa propre instance
du blog :-)

Une chose à noter cependant: il est encore /impératif/ de modifier le fichier
pointant vers le fichier .htpass dans le .htaccess à la main pour le moment.
author Franck Deroche <webmaster@defr.org>
date Wed Mar 19 12:08:15 2008 +0100 (9 months ago)
parents 629389204276
children
line source
1 <?php
2 /*
3 Cette classe permet de filtrer tout le contenu entrant, et permet de se dispenser de
4 toutes les super-globales.
5 Element unique pour l'ensemble de la génération, on y accède via Factory::getRequest()
6 */
7 class Requete
8 {
9 private $arData;
11 public function __construct()
12 {
13 $this->loadArray($_POST, 'POST');
14 $this->loadArray($_GET, 'GET');
15 $this->loadArray($_COOKIE, 'COOKIE');
16 }
18 // Chargement d'un tableau donné
19 private function loadArray($array, $name = null)
20 {
21 $magic_quotes = (ini_get('magic_quotes_gpc') == '1');
22 if(!is_array($array)) return;
23 if(empty($name)) $name = md5(serialize(microtime()));
24 foreach($array as $key => $value)
25 {
26 if(empty($value)) $value = $key;
27 $this->arData[$key][$name] = ($magic_quotes) ? $value : addslashes($value);
28 }
29 }
31 // Récuperation d'une des variables
32 public function get($varName, $orig = null, $default = '')
33 {
34 if(!isset($this->arData[$varName])) return $default;
35 if(!empty($orig) && !isset($this->arData[$varName][$orig])) return $default;
36 if(!empty($orig)) return $this->arData[$varName][$orig];
37 return current($this->arData[$varName]);
38 }
40 // Récuperation d'un tableau de variables dont le nom correspond à un pattern
41 public function matchingPattern($preg_pattern, $orig = null)
42 {
43 $returnValue = array();
44 foreach($this->arData as $key => $array)
45 {
46 if(!preg_match($preg_pattern, $key)) continue;
47 $returnValue[$key] = $this->get($key, $orig);
48 }
49 return $returnValue;
50 }
52 // Equivalent de |isset|
53 public function varSet($varName, $orig = null)
54 {
55 if(!isset($this->arData[$varName])) return false;
56 if(is_null($orig)) return true;
57 return (isset($this->arData[$varName][$orig]));
58 }
59 }
60 ?>