annotate includes/class.requete.php @ 61:25c6e59f019e
Suppression des urls en dur présentes dans le code.
Le code ne présuppose plus qu'il est hébergé directement sur
http://defr.org/blog. Ce n'est par contre pas vrai pour les différents
templates pour le moment, et les fichiers CSS pensent toujours qu'on est
hébergé dans le repertoire /blog, mais ca reste des présupposés à mon avis
moins ennuyeux.
Accessoirement, le code suppose que les trois constantes supplémentaires
suivantes ait été définie dans le fichier config.php:
BLOG_URL, l'adresse du blog, sans / à la fin
BLOG_DEFAULT_GRAVATAR, l'image par défaut pour les personnes laissant des
commentaires
ADMIN_MAIl, l'adresse mail ou sont envoyé les informations sur les
commentaires autorisés.
author |
Franck Deroche <webmaster@defr.org> |
date |
Tue, 11 Mar 2008 15:53:15 +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 ?> |