Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 328 → Rev 329

/trunk/modules/fiche/formateurs/Ethnobotanique.php
45,64 → 45,85
return $nvjfl;
}
public function getBloc() {
$nt = $this->nomCourant->getNomRetenu()->get('num_taxonomique');
$nomsVerna = $this->nomsVernaculaires->getRechercheLimitee($nt);
$donnees['nomsVerna'] = array_slice($nomsVerna['resultat'], 0, 5);
return $donnees;
}
private function getChorologie() {
 
$infos_choro = $this->nomCourant->getNomSelectionne()->getInfos();
$donnees = $this->traiterTableauChorologie($infos_choro);
$this->meta->setProjet('bdtfx');
$meta = $this->meta->getMetaDonnees();
$titreMeta = $meta[0]['titre'];
$donnees['meta']['titre'] = $titreMeta;
$donnees['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('bdtfx');
return $donnees;
}
private function traiterTableauChorologie($infos_choro) {
$donnees_choro = array();
$colonnes = array();
foreach ($infos_choro as $param => $valeur) {
$tableau_prefixe = explode('_', $param, 2);
$prefixe = (count($tableau_prefixe) == 2) ? $tableau_prefixe[0] : '';
$lieu = (count($tableau_prefixe) == 2) ? $tableau_prefixe[1] : 'France';
$champs_chorologie = array('presence', 'statut_origine', 'statut_introduction', 'statut_culture');
if(strpos($lieu , '.') === false && in_array($prefixe, $champs_chorologie)) {
$lieu = 'France ('.$lieu.')';
if ($prefixe == 'presence') {
if(substr($param, 0, 8) == 'presence') {
$lieu = $this->obtenirLieuPourCodePresence($param);
if($lieu != '') {
$donnees_choro['Présence'][$lieu] = $valeur;
} elseif ($prefixe == 'statut_origine') {
$donnees_choro['Statut d\'origine'][$lieu] = $valeur;
} elseif ($prefixe == 'statut_introduction') {
$donnees_choro['Statut d\'introduction'][$lieu] = $valeur;
} elseif ($prefixe == 'statut_culture') {
$donnees_choro['Statut de culture'][$lieu] = $valeur;
if(!in_array($lieu, $colonnes)) {
$colonnes[] = $lieu;
}
}
if(!in_array($lieu, $colonnes)) {
$colonnes[] = $lieu;
}
} else {
$donnees_choro = $this->traiterChampsStatuts($donnees_choro, $param, $valeur);
}
}
foreach ($donnees_choro['Présence'] as $lieu => $valeur) {
if (!isset($donnees_choro['Statut d\'origine'][$lieu])) {
$donnees_choro['Statut d\'origine'][$lieu] = '';
}
if (!isset($donnees_choro['Statut d\'introduction'][$lieu])) {
$donnees_choro['Statut d\'introduction'][$lieu] = '';
}
if (!isset($donnees_choro['Statut de culture'][$lieu])) {
$donnees_choro['Statut de culture'][$lieu] = '';
}
}
 
ksort($donnees_choro);
$donnees = array('colonnes' => $colonnes, 'donnees' => $donnees_choro);
$donnees = array('colonnes' => $colonnes, 'donnees' => $donnees_choro);
$this->meta->setProjet('bdtfx');
$meta = $this->meta->getMetaDonnees();
$titreMeta = $meta[0]['titre'];
$donnees['meta']['titre'] = $titreMeta;
$donnees['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('bdtfx');
return $donnees;
}
 
public function getBloc() {
$nt = $this->nomCourant->getNomRetenu()->get('num_taxonomique');
$nomsVerna = $this->nomsVernaculaires->getRechercheLimitee($nt);
$donnees['nomsVerna'] = array_slice($nomsVerna['resultat'], 0, 5);
return $donnees;
private function traiterChampsStatuts($tableau_donnees, $code, $valeur) {
if ($code == 'statut_origine') {
$tableau_donnees['Statut d\'origine']['France'] = $valeur;
} elseif ($code == 'statut_introduction') {
$tableau_donnees['Statut d\'introduction']['France'] = $valeur;
} elseif ($code == 'statut_culture') {
$tableau_donnees['Statut de culture']['France'] = $valeur;
}
return $tableau_donnees;
}
private function obtenirLieuPourCodePresence($code) {
$tableau_presence = explode('_', $code, 2);
$prefixe = (count($tableau_presence) == 2) ? $tableau_presence[0] : '';
$lieu = (count($tableau_presence) == 2) ? $tableau_presence[1] : '';
if($code == 'presence') {
$lieu = 'France';
} elseif (($lieu != '') && strpos($lieu , '.') === false) {
$lieu = 'France ('.$this->getCorrespondanceLieu($lieu).')';
} else {
$lieu = '';
}
return $lieu;
}
private function getCorrespondanceLieu($lieu) {
switch(strtolower($lieu)) {
case 'ga':
$lieu = 'Hors Corse';
break;
case 'co':
$lieu = 'Corse';
break;
}
return $lieu;
}
}
?>