New file |
0,0 → 1,108 |
<?php |
// TODO : il est peut ĂȘtre nĂ©cessaire de mieux distinguer les attributs parametres et parametresOrigine |
class Parametres implements Iterator { |
|
private $parametres = array(); |
private $parametresOrigine = array(); |
private $bdd = null; |
|
public function __construct(Array $parametres, Bdd $bdd) { |
$this->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 $valeur; |
} |
|
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'] = 0; |
} |
if ($this->exister('navigation.limite') == false) { |
$this->parametres['navigation.limite'] = 100; |
} |
} |
} |
?> |