Subversion Repositories Applications.referentiel

Rev

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

Rev 103 Rev 104
Line 88... Line 88...
88
		$parametres = $this->parserChaineDeRecherche('nn:'.$this->donnees['num_nom'].' tax:1');
88
		$parametres = $this->parserChaineDeRecherche('nn:'.$this->donnees['num_nom'].' tax:1');
89
		$parametres['ref']= $this->referentiel;
89
		$parametres['ref']= $this->referentiel;
90
		$synonymes = $rechercheDao->chercher('ParTaxon', $parametres); 
90
		$synonymes = $rechercheDao->chercher('ParTaxon', $parametres); 
91
		if ($synonymes != '') {
91
		if ($synonymes != '') {
92
			foreach ($synonymes as $synonyme) {
92
			foreach ($synonymes as $synonyme) {
-
 
93
				$this->trierSynonymesNomenclaturauxTaxonomiques($synonyme);
-
 
94
				$this->trierSynonymesMalAppliques($synonyme);
-
 
95
				$this->trierSynonymesOrthographiques($synonyme);
-
 
96
			}
-
 
97
		}
-
 
98
		// synonyme douteux
-
 
99
		if ($this->donnees['info']['synonyme_douteux'] == 1) {
-
 
100
			$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info'];
-
 
101
		}
-
 
102
		// synonyme proparte
-
 
103
		if ($this->donnees['info']['synonyme_proparte'] != ''){
-
 
104
			$propartes = preg_split('/;/', $this->donnees['info']['synonyme_proparte']);
-
 
105
			foreach ($propartes as $protarte) {
-
 
106
				$this->donnees['fiche_synonymie']['pro parte'] =  
-
 
107
				$this->taxonDao->getTaxonAffichage($this->referentiel, $proparte);
-
 
108
			}
-
 
109
		}
-
 
110
		// homonymie
-
 
111
		$nom = $this->encodeChaine($this->donnees['info']['nom_complet']);
-
 
112
		$homonyme = $this->taxonDao->getHomonyme($this->referentiel, $nom);
-
 
113
		if (count($homonyme) > 1) {
-
 
114
			$this->donnees['fiche_synonymie']['Homonymie (sensu)'] = $homonyme;
-
 
115
		}
-
 
116
		// Même basionyme
-
 
117
		if ($this->donnees['info']['basionyme'] != '') {
-
 
118
			$basionyme_commun = $this->taxonDao->getNomsBasionymeCommun($this->referentiel, $this->donnees['info']['basionyme']);
-
 
119
			foreach ($basionyme_commun as $nom) {
-
 
120
				if ($nom['num_nom_retenu'] != $this->donnees['num_nom_retenu']) {
-
 
121
					$this->donnees['fiche_synonymie']['Basionyme commun'][] = $nom;
-
 
122
				}
-
 
123
			}
-
 
124
		}
-
 
125
	}
-
 
126
	private function trierSynonymesNomenclaturauxTaxonomiques($synonyme) {
93
				if ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null) {
127
		if ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null) {
94
					if (($this->donnees['num_nom'] != $synonyme['num_nom']) && ($synonyme['basionyme'] == 
128
			if (($this->donnees['num_nom'] != $synonyme['num_nom']) && ($synonyme['basionyme'] == 
95
							$this->donnees['num_nom'] || $this->donnees['info']['basionyme'] == $synonyme['num_nom'] || 
129
					$this->donnees['num_nom'] || $this->donnees['info']['basionyme'] == $synonyme['num_nom'] || 
96
							$this->donnees['info']['basionyme'] == $synonyme['basionyme'])) {
130
					$this->donnees['info']['basionyme'] == $synonyme['basionyme'])) {
97
						$this->donnees['fiche_synonymie']['nomenclaturale'][] = $synonyme;	
131
				$this->donnees['fiche_synonymie']['nomenclaturale'][] = $synonyme;	
Line 100... Line 134...
100
						$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme;
134
				$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme;
101
					}	
135
			}	
102
				} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) {
136
		} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) {
103
					$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme;
137
			$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme;
104
				}
138
		}
-
 
139
	}
-
 
140
	private function trierSynonymesMalAppliques($synonyme) {
105
				if ($synonyme['synonyme_mal_applique'] == 1) {
141
		if ($synonyme['synonyme_mal_applique'] == 1) {
106
					if ($synonyme['num_nom'] == $synonyme['num_nom_retenu']) {
142
			if ($synonyme['num_nom'] == $synonyme['num_nom_retenu']) {
107
						$synonyme['statut'] = 'posséde des synonymes mal appliqués';
143
				$synonyme['statut'] = 'posséde des synonymes mal appliqués';
108
					} else {
144
			} else {
109
						$synonyme['statut'] = 'est synonyme mal appliqué du num_nom '.$synonyme['num_nom_retenu'];
145
				$synonyme['statut'] = 'est synonyme mal appliqué du num_nom '.$synonyme['num_nom_retenu'];
110
					}
146
			}
111
					$this->donnees['fiche_synonymie']['mal appliquée'][] = $synonyme;
147
			$this->donnees['fiche_synonymie']['mal appliquée'][] = $synonyme;
112
				}
148
		}
-
 
149
	}
-
 
150
	private function trierSynonymesOrthographiques($synonyme) {
113
				if (isset($synonyme['synonyme_orthographique']) && $synonyme['synonyme_orthographique'] != '') {
151
		if (isset($synonyme['synonyme_orthographique']) && $synonyme['synonyme_orthographique'] != '') {
114
					if ($synonyme['synonyme_orthographique'] == $synonyme['num_nom']) {
152
			if ($synonyme['synonyme_orthographique'] == $synonyme['num_nom']) {
115
						$synonyme['statut'] = 'posséde des synonymes orthographiques';
153
				$synonyme['statut'] = 'posséde des synonymes orthographiques';
116
					} else {
154
			} else {
117
						$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique'];
155
				$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique'];
118
					}	
156
			}	
119
					$this->donnees['fiche_synonymie']['orthographique'][] = $synonyme;
157
			$this->donnees['fiche_synonymie']['orthographique'][] = $synonyme;
120
				}
158
		}
121
			}
159
	}
Line 122... Line -...
122
			
-
 
123
			// synonyme douteux
-
 
124
			if ($this->donnees['info']['synonyme_douteux'] == 1) {
-
 
125
				$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info'];
-
 
126
			}
-
 
127
			// synonyme proparte
-
 
128
			if ($this->donnees['info']['synonyme_proparte'] != ''){
-
 
129
				$propartes = preg_split('/;/', $this->donnees['info']['synonyme_proparte']);
-
 
130
				foreach ($propartes as $protarte) {
-
 
131
					$this->donnees['fiche_synonymie']['pro parte'] =  
-
 
132
						$this->taxonDao->getTaxonAffichage($this->referentiel, $proparte);
-
 
133
				}
-
 
134
			}
-
 
135
			
-
 
136
			// homonymie
-
 
137
			$nom = $this->encodeChaine($this->donnees['info']['nom_complet']);
-
 
138
			$homonyme = $this->taxonDao->getHomonyme($this->referentiel, $nom);
-
 
139
			if (count($homonyme) > 1) {
-
 
140
				$this->donnees['fiche_synonymie']['Homonymie (sensu)'] = $homonyme;
-
 
141
			}
-
 
142
		}	
-
 
143
	}
-
 
144
	
160
	
145
	private function chargerChorologie() {
161
	private function chargerChorologie() {
146
		$this->chargerTableauManuel('presence');
162
		$this->chargerTableauManuel('presence');
147
		$this->chargerTableauManuel('statuts_origine');
163
		$this->chargerTableauManuel('statuts_origine');
148
		$this->chargerTableauManuel('statuts_introduction');
164
		$this->chargerTableauManuel('statuts_introduction');
Line 217... Line 233...
217
				$this->donnees['niveau'] = $class_inf['niveau'];
233
				$this->donnees['niveau'] = $class_inf['niveau'];
218
			}	
234
			}	
219
		}	
235
		}	
220
	}
236
	}
Line 221... Line 237...
221
	
237
	
222
	public function chargerComplements() {
238
	private function chargerComplements() {
223
		$champs_manuel_technique = explode(',', $this->manuel['champs']);
239
		$champs_manuel_technique = explode(',', $this->manuel['champs']);
224
		$champs_base_donnees = key($this->donnees['info']);
240
		$champs_base_donnees = key($this->donnees['info']);
225
		$champs_supp_base = array_diff_key($this->donnees['info'], array_flip($champs_manuel_technique));
241
		$champs_supp_base = array_diff_key($this->donnees['info'], array_flip($champs_manuel_technique));
226
		foreach ($champs_supp_base as $champ=>$valeur) {
242
		foreach ($champs_supp_base as $champ=>$valeur) {