Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 321 | Rev 332 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 321 Rev 329
Line 43... Line 43...
43
		$nvjfl['meta']['titre'] = $titreMeta;
43
		$nvjfl['meta']['titre'] = $titreMeta;
44
		$nvjfl['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('nvjfl');
44
		$nvjfl['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('nvjfl');
45
		return $nvjfl;
45
		return $nvjfl;
46
	}
46
	}
Line -... Line 47...
-
 
47
	
-
 
48
	public function getBloc() {
-
 
49
		$nt = $this->nomCourant->getNomRetenu()->get('num_taxonomique');
-
 
50
		$nomsVerna = $this->nomsVernaculaires->getRechercheLimitee($nt);
-
 
51
		$donnees['nomsVerna'] = array_slice($nomsVerna['resultat'], 0, 5);
-
 
52
		return $donnees;
-
 
53
	}
47
	
54
		
48
	private function getChorologie() {
-
 
49
 
55
	private function getChorologie() {
-
 
56
		$infos_choro = $this->nomCourant->getNomSelectionne()->getInfos();
-
 
57
		$donnees = $this->traiterTableauChorologie($infos_choro);
-
 
58
		$this->meta->setProjet('bdtfx');
-
 
59
		$meta = $this->meta->getMetaDonnees();
-
 
60
		$titreMeta = $meta[0]['titre'];
-
 
61
		$donnees['meta']['titre'] = $titreMeta;
-
 
62
		$donnees['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('bdtfx');
-
 
63
		return $donnees;
-
 
64
	}
-
 
65
	
50
		$infos_choro = $this->nomCourant->getNomSelectionne()->getInfos();
66
	private function traiterTableauChorologie($infos_choro) {
51
		$donnees_choro = array();
67
		$donnees_choro = array();
52
		$colonnes = array();
-
 
53
				
68
		$colonnes = array();
54
		foreach ($infos_choro as $param => $valeur) {
-
 
55
			
69
		foreach ($infos_choro as $param => $valeur) {
56
			$tableau_prefixe = explode('_', $param, 2);
-
 
57
			$prefixe = (count($tableau_prefixe) == 2) ? $tableau_prefixe[0] : '';
-
 
58
			
70
			if(substr($param, 0, 8) == 'presence') {	
59
			$lieu = (count($tableau_prefixe) == 2) ? $tableau_prefixe[1] : 'France';
-
 
60
			$champs_chorologie = array('presence', 'statut_origine', 'statut_introduction', 'statut_culture');
-
 
61
			
-
 
62
			if(strpos($lieu , '.') === false && in_array($prefixe, $champs_chorologie)) {
-
 
63
				
-
 
64
				$lieu = 'France ('.$lieu.')';
-
 
65
				
71
				$lieu = $this->obtenirLieuPourCodePresence($param);
66
				if ($prefixe == 'presence') {
72
				if($lieu != '') {
67
					$donnees_choro['Présence'][$lieu] = $valeur;
73
					$donnees_choro['Présence'][$lieu] = $valeur;
68
				} elseif ($prefixe == 'statut_origine') {
74
					if(!in_array($lieu, $colonnes)) {
69
					$donnees_choro['Statut d\'origine'][$lieu] = $valeur;
-
 
70
				} elseif ($prefixe == 'statut_introduction') {
-
 
71
					$donnees_choro['Statut d\'introduction'][$lieu] = $valeur;
75
						$colonnes[] = $lieu;
72
				} elseif ($prefixe == 'statut_culture') {
-
 
73
					$donnees_choro['Statut de culture'][$lieu] = $valeur;
76
					}
74
				}
-
 
75
				if(!in_array($lieu, $colonnes)) {
-
 
76
					$colonnes[] = $lieu;
-
 
77
				}
77
				}
78
			}
-
 
79
		}
-
 
80
		foreach ($donnees_choro['Présence'] as $lieu => $valeur) {
-
 
81
			if (!isset($donnees_choro['Statut d\'origine'][$lieu])) {
-
 
82
				$donnees_choro['Statut d\'origine'][$lieu] = '';
-
 
83
			}
-
 
84
			if (!isset($donnees_choro['Statut d\'introduction'][$lieu])) {
78
			} else {
85
				$donnees_choro['Statut d\'introduction'][$lieu] = '';
-
 
86
			}
-
 
87
			if (!isset($donnees_choro['Statut de culture'][$lieu])) {
-
 
88
				$donnees_choro['Statut de culture'][$lieu] = '';
79
				$donnees_choro = $this->traiterChampsStatuts($donnees_choro, $param, $valeur);
89
			}
80
			}
90
		}
81
		}
-
 
82
 
91
		
83
		ksort($donnees_choro);	
92
		$donnees = array('colonnes' => $colonnes, 'donnees' => $donnees_choro);
-
 
93
		$this->meta->setProjet('bdtfx');
-
 
94
		$meta = $this->meta->getMetaDonnees();
-
 
95
		$titreMeta = $meta[0]['titre'];
-
 
96
		$donnees['meta']['titre'] = $titreMeta;
-
 
-
 
84
		$donnees = array('colonnes' => $colonnes, 'donnees' => $donnees_choro);
97
		$donnees['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('bdtfx');
85
		
98
		return $donnees;
86
		return $donnees;
99
	}
87
	}
-
 
88
	
100
 
89
	private function traiterChampsStatuts($tableau_donnees, $code, $valeur) {
-
 
90
		if ($code == 'statut_origine') {
-
 
91
			$tableau_donnees['Statut d\'origine']['France'] = $valeur;
101
	public function getBloc() {
92
		} elseif ($code == 'statut_introduction') {
-
 
93
			$tableau_donnees['Statut d\'introduction']['France'] = $valeur;
102
		$nt = $this->nomCourant->getNomRetenu()->get('num_taxonomique');
94
		} elseif ($code == 'statut_culture') {
-
 
95
			$tableau_donnees['Statut de culture']['France'] = $valeur;
-
 
96
		}
-
 
97
		
-
 
98
		return $tableau_donnees;
-
 
99
	}
-
 
100
	
-
 
101
	private function obtenirLieuPourCodePresence($code) {
103
		$nomsVerna = $this->nomsVernaculaires->getRechercheLimitee($nt);
102
		$tableau_presence = explode('_', $code, 2);
-
 
103
		$prefixe = (count($tableau_presence) == 2) ? $tableau_presence[0] : '';
-
 
104
		$lieu = (count($tableau_presence) == 2) ? $tableau_presence[1] : '';
-
 
105
			
-
 
106
		if($code == 'presence') {
-
 
107
			$lieu = 'France';
-
 
108
		} elseif (($lieu != '') && strpos($lieu , '.') === false) {
-
 
109
			$lieu = 'France ('.$this->getCorrespondanceLieu($lieu).')';
-
 
110
		} else {
-
 
111
			$lieu = '';
-
 
112
		}
-
 
113
		return $lieu;
-
 
114
	}
-
 
115
	
-
 
116
	private function getCorrespondanceLieu($lieu) {
-
 
117
		switch(strtolower($lieu)) {
-
 
118
			case 'ga':
-
 
119
				$lieu = 'Hors Corse';
-
 
120
				break;
-
 
121
			case 'co':
-
 
122
				$lieu = 'Corse';
-
 
123
				break;
-
 
124
		}
104
		$donnees['nomsVerna'] = array_slice($nomsVerna['resultat'], 0, 5);
125
	
105
		return $donnees;
126
		return $lieu;
106
	}
127
	}
107
}
128
}
108
?>
129
?>