Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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