Subversion Repositories Applications.referentiel

Rev

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

Rev 85 Rev 88
Line 50... Line 50...
50
			$this->donnees['num_nom'] = $_GET['num_nom'];
50
			$this->donnees['num_nom'] = $_GET['num_nom'];
51
			$this->donnees['num_nom_retenu'] = $_GET['num_nom_retenu'];
51
			$this->donnees['num_nom_retenu'] = $_GET['num_nom_retenu'];
52
			$this->donnees['nom'] = $_GET['nom'];
52
			$this->donnees['nom'] = $_GET['nom'];
53
			$this->donnees['info'] = $this->taxonDao->getTaxon($this->referentiel, $this->donnees['num_nom']);
53
			$this->donnees['info'] = $this->taxonDao->getTaxon($this->referentiel, $this->donnees['num_nom']);
Line -... Line 54...
-
 
54
			
54
			
55
			if ($this->donnees['info'] != '') {
55
			// Chargement des données des onglets
56
				// Chargement des données des onglets
56
			$this->chargerNomenclature();
57
				$this->chargerNomenclature();
57
			$this->chargerSynonymie();
58
				$this->chargerSynonymie();
58
			$this->chargerClassification();
59
				$this->chargerClassification();
59
			$this->chargerChorologie();
60
				$this->chargerChorologie();
-
 
61
				$this->chargerComplements();
Line 60... Line 62...
60
			$this->chargerComplements();
62
			}
61
			
63
			
62
			$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_taxon', $this->donnees));
64
			$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_taxon', $this->donnees));
Line 87... Line 89...
87
		$parametres['ref']= $this->referentiel;
89
		$parametres['ref']= $this->referentiel;
88
		$synonymes = $rechercheDao->chercher('ParTaxon', $parametres); 
90
		$synonymes = $rechercheDao->chercher('ParTaxon', $parametres); 
89
		if ($synonymes != '') {
91
		if ($synonymes != '') {
90
			foreach ($synonymes as $synonyme) {
92
			foreach ($synonymes as $synonyme) {
91
				if ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null) {
93
				if ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null) {
92
					if (($this->donnees['num_nom'] != $synonyme['num_nom']) && ($synonyme['basionyme'] == $this->donnees['num_nom'] || 
94
					if (($this->donnees['num_nom'] != $synonyme['num_nom']) && ($synonyme['basionyme'] == 
93
							$this->donnees['info']['basionyme'] == $synonyme['num_nom'] || $this->donnees['info']['basionyme'] == $synonyme['basionyme'])) {
95
							$this->donnees['num_nom'] || $this->donnees['info']['basionyme'] == $synonyme['num_nom'] || 
-
 
96
							$this->donnees['info']['basionyme'] == $synonyme['basionyme'])) {
94
						$this->donnees['fiche_synonymie']['nomenclaturale'][] = $synonyme;	
97
						$this->donnees['fiche_synonymie']['nomenclaturale'][] = $synonyme;	
95
					} elseif ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null && 
98
					} elseif ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null && 
96
						$this->donnees['info']['basionyme'] != null) {
99
						$this->donnees['info']['basionyme'] != null) {
97
						$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme;
100
						$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme;
98
					}	
101
					}	
99
				} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) {
102
				} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) {
100
					///nom est synonyme mal applique de num_nom_retenu
103
					$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme;
-
 
104
				}
101
					if ($synonyme['synonyme_mal_applique'] == 1) {
105
				if ($synonyme['synonyme_mal_applique'] == 1) {
-
 
106
					if ($synonyme['num_nom'] == $synonyme['num_nom_retenu']) {
102
						$this->donnees['fiche_synonymie']['mal appliquée'][] = $synonyme;
107
						$synonyme['statut'] = 'posséde des synonymes mal appliqués';
103
					} else {
108
					} else {
104
						$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme;
109
						$synonyme['statut'] = 'est synonyme mal appliqué du num_nom '.$synonyme['num_nom_retenu'];
105
					}
110
					}
-
 
111
					$this->donnees['fiche_synonymie']['mal appliquée'][] = $synonyme;
-
 
112
				}
-
 
113
				if (isset($synonyme['synonyme_orthographique']) && $synonyme['synonyme_orthographique'] != '') {
-
 
114
					if ($synonyme['synonyme_orthographique'] == $synonyme['num_nom']) {
-
 
115
						$synonyme['statut'] = 'posséde des synonymes orthographiques';
-
 
116
					} else {
-
 
117
						$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique'];
-
 
118
					}	
-
 
119
					$this->donnees['fiche_synonymie']['orthographique'][] = $synonyme;
106
				}
120
				}
107
			}
121
			}
108
			// recherche synonyme proparte
-
 
109
			if ($this->donnees['info']['synonyme_proparte'] != ''){
-
 
110
				$this->donnees['fiche_synonymie']['pro parte']['num_nom'] = $this->donnees['info']['synonyme_proparte'];
-
 
111
				/* à modifier qd base corrigée ajouter split ";" 
-
 
112
			 	 * 	si 1	fusion de ce nom pour donner synonyme proparte
-
 
113
			 	 * 	sinon   division
-
 
114
				 */
-
 
115
			}
122
			
116
			// recherche si taxon est un synonyme douteux
123
			// synonyme douteux
117
			if ($this->donnees['info']['synonyme_douteux'] == 1) {
124
			if ($this->donnees['info']['synonyme_douteux'] == 1) {
118
				$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info'];
125
				$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info'];
119
			}
126
			}
120
			/* si $this->donnees['info']['synonyme_mal_applique'] == 1 et $this->donnees['num_nom'] == $this->donnees['num_nom_retenu']
127
			// synonyme proparte
121
			 * 		nom possede des synonymes mal appliquees
128
			if ($this->donnees['info']['synonyme_proparte'] != ''){
122
			 * 		sinon si $this->donnees['info']['synonyme_mal_applique'] == 1 et $this->donnees['num_nom'] != $this->donnees['num_nom_retenu']
129
				$propartes = preg_split('/;/', $this->donnees['info']['synonyme_proparte']);
123
			 * 			nom est synonyme mal applique de num_nom_retenu
130
				foreach ($propartes as $protarte) {
124
			 * si $this->donnees['info']['synonyme_orthographique'] == $this->donnees['num_nom']
131
					$this->donnees['fiche_synonymie']['pro parte'] =  
125
			 * 		nom possede des synonymes orthographiques
132
						$this->taxonDao->getTaxonAffichage($this->referentiel, $proparte);
-
 
133
				}
-
 
134
			}
-
 
135
			
126
			 * 		sinon $this->donnees['info']['synonyme_orthographique'] != ''
136
			// homonymie
127
			 * 			nom est synonyme mal applique de $this->donnees['info']['synonyme_orthographique']
137
			$nom = $this->encodeChaine($this->donnees['info']['nom_complet']);
128
			 * si $this->donnees['info']['synonyme_proparte'] != ''
138
			$homonyme = $this->taxonDao->getHomonyme($this->referentiel, $nom);
129
			 * 		
139
			if (count($homonyme) > 1) {
130
			 * si $this->donnees['info']['homonyme'] == 1 recherche sur nom
140
				$this->donnees['fiche_synonymie']['Homonymie (sensu)'] = $homonyme;
131
			*/
141
			}
132
		}	
142
		}	
133
	}
143
	}
Line 134... Line 144...
134
	
144
	
135
	private function chargerChorologie() {
145
	private function chargerChorologie() {
Line 200... Line 210...
200
			}		
210
			}		
201
		}	
211
		}	
202
		if ($this->donnees['num_nom_retenu'] != '') {
212
		if ($this->donnees['num_nom_retenu'] != '') {
203
			$class_inf = $this->taxonDao->getClassification
213
			$class_inf = $this->taxonDao->getClassification
204
				('Inferieur', $this->referentiel, $this->donnees['num_nom_retenu']);
214
				('Inferieur', $this->referentiel, $this->donnees['num_nom_retenu']);
-
 
215
			if ($class_inf != '') {	
205
			$this->donnees['classification']['inférieurs'] = $class_inf['inf'];	
216
				$this->donnees['classification']['inférieurs'] = $class_inf['inf'];	
206
			$this->donnees['niveau'] = $class_inf['niveau'];
217
				$this->donnees['niveau'] = $class_inf['niveau'];
-
 
218
			}	
207
		}	
219
		}	
208
	}
220
	}
Line 209... Line 221...
209
	
221
	
210
	public function chargerComplements() {
222
	public function chargerComplements() {
Line 240... Line 252...
240
			}
252
			}
241
		}		
253
		}		
242
		return $parametres;
254
		return $parametres;
243
	}
255
	}
Line -... Line 256...
-
 
256
	
-
 
257
	public function encodeChaine($chaine) {
-
 
258
		if (Config::get('sortie_encodage') != Config::get('appli_encodage')) {
-
 
259
			$chaine = mb_convert_encoding($chaine, Config::get('sortie_encodage'), Config::get('appli_encodage'));
-
 
260
		}
-
 
261
		$chaine = urlencode($chaine);
-
 
262
		return $chaine;
-
 
263
	}
244
	
264
	
245
	// retourne l'url de la fiche taxon pour les liens 
265
	// retourne l'url de la fiche taxon pour les liens 
246
	public static function getUrlFicheTaxon($params, $type) {
266
	public static function getUrlFicheTaxon($params, $type) {
247
		$taxon = null;
267
		$taxon = null;
248
		switch ($type) {
268
		switch ($type) {