Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 290 → Rev 291

/trunk/bibliotheque/Conteneur.php
New file
0,0 → 1,98
<?php
class Conteneur {
protected $parametres = array();
protected $partages = array();
 
public function __construct(array $parametres = null) {
$this->parametres = is_null($parametres) ? array() : $parametres;
}
 
public function getParametre($cle) {
$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle);
return $valeur;
}
 
public function getParametreTableau($cle) {
$tableau = array();
$parametre = $this->getParametre($cle);
if (empty($parametre) === false) {
$tableauPartiel = explode(',', $parametre);
$tableauPartiel = array_map('trim', $tableauPartiel);
foreach ($tableauPartiel as $champ) {
if (strpos($champ, '=') === false) {
$tableau[] = trim($champ);
} else {
list($cle, $val) = explode('=', $champ);
$tableau[trim($cle)] = trim($val);
}
}
}
return $tableau;
}
 
public function setParametre($cle, $valeur) {
$this->parametres[$cle] = $valeur;
}
 
public function getAppUrls() {
if (!isset($this->partages['AppUrls'])){
$this->partages['AppUrls'] = new AppUrls();
}
return $this->partages['AppUrls'];
}
 
public function getApiNoms() {
$noms = new Noms($this->getParametre('referentiel_defaut'));
return $noms;
}
 
public function getApiTaxons() {
$taxons = new Taxons($this->getParametre('referentiel_defaut'));
return $taxons;
}
 
public function getApiImages() {
$images = new Images();
return $images;
}
 
public function getApiCartes() {
$cartes = new Cartes();
return $cartes;
}
 
public function getApiTextes() {
$textes = new Textes();
return $textes;
}
 
public function getApiMetaDonnees() {
$meta = new MetaDonnees();
return $meta;
}
 
public function getNomCourrant() {
if (!isset($this->partages['NomCourrant'])){
$nns = $this->getParametre('num_nom');
$noms = $this->getApiNoms();
$taxons = $this->getApiTaxons();
$this->partages['NomCourrant'] = new NomCourrant($nns, $noms, $taxons);
}
return $this->partages['NomCourrant'];
}
 
public function getUtilisateur() {
if (!isset($this->partages['Utilisateur'])){
$this->partages['Utilisateur'] = new Utilisateur($this->parametres['utilisateur.niveau.defaut']);
}
return $this->partages['Utilisateur'];
}
 
public function getBdd() {
if (!isset($this->partages['Bdd'])){
$this->partages['Bdd'] = new Bdd();
}
return $this->partages['Bdd'];
}
}
?>