nomAFormater = $nomDO; } public function setChampsRetour(Array $champsRetour) { $this->champsRetour = $champsRetour; } public function setChampsProjet(Array $champsProjet) { $this->champsProjet = $champsProjet; } public function setDetailsHrefTpl($tpl) { $this->detailsHrefTpl = $tpl; } public function setBdd($bdd) { $this->bdd = $bdd; } public function setOntologieHrefTpl($tpl) { $this->ontologieHrefTpl = $tpl; } public function formaterDetails() { $nomDeco = new NomDecorateur($this->nomAFormater, $this->detailsHrefTpl); $retenuDeco = new NomRetenuDecorateur($nomDeco, $this->detailsHrefTpl); $rangDeco = new NomRangDecorateur($nomDeco, $this->bdd, $this->ontologieHrefTpl); $compoDeco = new NomCompoDecorateur($nomDeco); $basioDeco = new NomBasionymeDecorateur($nomDeco, $this->detailsHrefTpl); $projetDeco = new NomChampsProjetDecorateur($nomDeco, $this->champsProjet); if ($this->avoirDemandeChampsRetour()) { $this->decorateurs[] = $nomDeco; $this->decorateurs[] = $retenuDeco; $this->decorateurs[] = $rangDeco; $this->decorateurs[] = $compoDeco; $this->decorateurs[] = $basioDeco; $this->decorateurs[] = $projetDeco; $this->traiterChampsRetour(); } else { $nomDeco->ajouterId(); $nomDeco->ajouterIntitule(); $retenuDeco->ajouterRetenu(); $retenuDeco->ajouterId(); $retenuDeco->ajouterIntitule(); $retenuDeco->ajouterHref(); $rangDeco->ajouterCode(); $rangDeco->ajouterIntitule(); $rangDeco->ajouterHref(); $compoDeco->ajouterCompo(); $nomDeco->ajouterAuteur(); $nomDeco->ajouterAnnee(); $nomDeco->ajouterBiblio(); $nomDeco->ajouterAddendum(); $nomDeco->ajouterNotes(); $basioDeco->ajouterId(); $basioDeco->ajouterIntitule(); $basioDeco->ajouterHref(); $projetDeco->ajouterChampsSupplementaires(); } return $nomDeco->getNomFormate(); } public function formaterListe() { $nomDeco = new NomDecorateur($this->nomAFormater, $this->detailsHrefTpl); $nomDeco->ajouterIntitule(); $retenuDeco = new NomRetenuDecorateur($nomDeco, $this->detailsHrefTpl); $retenuDeco->ajouterRetenu(); $nomDeco->ajouterHref(); if ($this->avoirDemandeChampsRetour()) { $this->decorateurs[] = $nomDeco; $this->decorateurs[] = $retenuDeco; $this->decorateurs[] = new NomRangDecorateur($nomDeco, $this->bdd, $this->ontologieHrefTpl); $this->decorateurs[] = new NomCompoDecorateur($nomDeco); $this->decorateurs[] = new NomBasionymeDecorateur($nomDeco, $this->detailsHrefTpl); $this->decorateurs[] = new NomChampsProjetDecorateur($nomDeco, $this->champsProjet); $this->traiterChampsRetour(); } return $nomDeco->getNomFormate(); } private function avoirDemandeChampsRetour() { $demande = true; if ($this->champsRetour === null || count($this->champsRetour) == 0) { $demande = false; } return $demande; } private function traiterChampsRetour() { foreach ($this->decorateurs as $deco) { $deco->traiterChampsRetour($this->champsRetour); } } } ?>