Rev 880 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass NomFormateur {private $nomAFormater = null;private $decorateurs = array();private $bdd = null;private $champsProjet = array();private $champsRetour = null;private $detailsHrefTpl = null;private $ontologieHrefTpl = null;public function setNomAFormater(NomDO $nomDO) {$this->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);}}}?>