parametresOrigine = $parametres; $this->parametres = $this->parametresOrigine; $this->bdd = $bdd; $this->definirValeursParDefaut(); } public function current () { return current($this->parametresOrigine); } public function key() { return key($this->parametresOrigine); } public function next() { return next($this->parametresOrigine); } public function rewind() { return reset($this->parametresOrigine); } public function valid() { return current($this->parametresOrigine) == false ? false : true; } public function get($parametreCode) { $valeur = ''; if ($this->exister($parametreCode)) { $valeur = $this->parametres[$parametreCode]; } return $this->etreParametreDeTypeEntier($parametreCode) ? (int) $valeur : $valeur; } private function etreParametreDeTypeEntier($parametreCode) { $entier = in_array($parametreCode, $this->parametresTypeEntier) ? true : false; return $entier; } public function getListe($parametreCode) { $valeurs = array(); if ($this->exister($parametreCode)) { $valeurs = explode(',', $this->parametres[$parametreCode]); $valeurs = array_map('trim', $valeurs); } return $valeurs; } public function exister($parametreCode) { $existe = false; if (array_key_exists($parametreCode, $this->parametres) && $this->parametres[$parametreCode] != '') { $existe = true; } return $existe; } public function getPourBdd($parametreCode) { $valeur = false; if ($this->exister($parametreCode)) { $valeur = $this->get($parametreCode); $valeur = $this->proteger($valeur); } return $valeur; } private function proteger($valeur) { $valeur = $this->bdd->proteger($valeur); return $valeur; } public function getMasquePourBdd($type = '') { $masque = false; $parametreMasque = 'masque'.($type != '' ? '.'.$type : $type); if ($this->exister($parametreMasque)) { $masque = $this->get($parametreMasque); $recherche = $this->get('recherche'); if ($recherche == 'etendue') { $masque = str_replace(' ', '% ', $masque); $masque .= '%'; } $masque = $this->proteger($masque); } return $masque; } private function definirValeursParDefaut() { if ($this->exister('recherche') == false) { $this->parametres['recherche'] = 'stricte'; } if ($this->exister('ns.format') == false) { $this->parametres['ns.format'] = 'txt'; } if ($this->exister('retour') == false) { $this->parametres['retour'] = 'application/json'; } if ($this->exister('retour.format') == false) { $this->parametres['retour.format'] = 'max'; } if ($this->exister('retour.langue') == false) { $this->parametres['retour.langue'] = 'fr'; } if ($this->exister('version.projet') == false) { $this->parametres['version.projet'] = '+'; } if ($this->exister('navigation.depart') == false) { $this->parametres['navigation.depart'] = (int) 0; } if ($this->exister('navigation.limite') == false) { $this->parametres['navigation.limite'] = (int) 100; } } } ?>