New file |
0,0 → 1,121 |
<?php |
class 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); |
} |
} |
} |
?> |