defr/DualBlog
annotate 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.
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 (2008-03-19) |
| parents | 629389204276 |
| 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 ?> |
