90,6 → 90,40 |
$synonymes = $rechercheDao->chercher('ParTaxon', $parametres); |
if ($synonymes != '') { |
foreach ($synonymes as $synonyme) { |
$this->trierSynonymesNomenclaturauxTaxonomiques($synonyme); |
$this->trierSynonymesMalAppliques($synonyme); |
$this->trierSynonymesOrthographiques($synonyme); |
} |
} |
// synonyme douteux |
if ($this->donnees['info']['synonyme_douteux'] == 1) { |
$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info']; |
} |
// synonyme proparte |
if ($this->donnees['info']['synonyme_proparte'] != ''){ |
$propartes = preg_split('/;/', $this->donnees['info']['synonyme_proparte']); |
foreach ($propartes as $protarte) { |
$this->donnees['fiche_synonymie']['pro parte'] = |
$this->taxonDao->getTaxonAffichage($this->referentiel, $proparte); |
} |
} |
// homonymie |
$nom = $this->encodeChaine($this->donnees['info']['nom_complet']); |
$homonyme = $this->taxonDao->getHomonyme($this->referentiel, $nom); |
if (count($homonyme) > 1) { |
$this->donnees['fiche_synonymie']['Homonymie (sensu)'] = $homonyme; |
} |
// Même basionyme |
if ($this->donnees['info']['basionyme'] != '') { |
$basionyme_commun = $this->taxonDao->getNomsBasionymeCommun($this->referentiel, $this->donnees['info']['basionyme']); |
foreach ($basionyme_commun as $nom) { |
if ($nom['num_nom_retenu'] != $this->donnees['num_nom_retenu']) { |
$this->donnees['fiche_synonymie']['Basionyme commun'][] = $nom; |
} |
} |
} |
} |
private function trierSynonymesNomenclaturauxTaxonomiques($synonyme) { |
if ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null) { |
if (($this->donnees['num_nom'] != $synonyme['num_nom']) && ($synonyme['basionyme'] == |
$this->donnees['num_nom'] || $this->donnees['info']['basionyme'] == $synonyme['num_nom'] || |
102,6 → 136,8 |
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) { |
$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme; |
} |
} |
private function trierSynonymesMalAppliques($synonyme) { |
if ($synonyme['synonyme_mal_applique'] == 1) { |
if ($synonyme['num_nom'] == $synonyme['num_nom_retenu']) { |
$synonyme['statut'] = 'posséde des synonymes mal appliqués'; |
110,6 → 146,8 |
} |
$this->donnees['fiche_synonymie']['mal appliquée'][] = $synonyme; |
} |
} |
private function trierSynonymesOrthographiques($synonyme) { |
if (isset($synonyme['synonyme_orthographique']) && $synonyme['synonyme_orthographique'] != '') { |
if ($synonyme['synonyme_orthographique'] == $synonyme['num_nom']) { |
$synonyme['statut'] = 'posséde des synonymes orthographiques'; |
120,28 → 158,6 |
} |
} |
|
// synonyme douteux |
if ($this->donnees['info']['synonyme_douteux'] == 1) { |
$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info']; |
} |
// synonyme proparte |
if ($this->donnees['info']['synonyme_proparte'] != ''){ |
$propartes = preg_split('/;/', $this->donnees['info']['synonyme_proparte']); |
foreach ($propartes as $protarte) { |
$this->donnees['fiche_synonymie']['pro parte'] = |
$this->taxonDao->getTaxonAffichage($this->referentiel, $proparte); |
} |
} |
|
// homonymie |
$nom = $this->encodeChaine($this->donnees['info']['nom_complet']); |
$homonyme = $this->taxonDao->getHomonyme($this->referentiel, $nom); |
if (count($homonyme) > 1) { |
$this->donnees['fiche_synonymie']['Homonymie (sensu)'] = $homonyme; |
} |
} |
} |
|
private function chargerChorologie() { |
$this->chargerTableauManuel('presence'); |
$this->chargerTableauManuel('statuts_origine'); |
219,7 → 235,7 |
} |
} |
|
public function chargerComplements() { |
private function chargerComplements() { |
$champs_manuel_technique = explode(',', $this->manuel['champs']); |
$champs_base_donnees = key($this->donnees['info']); |
$champs_supp_base = array_diff_key($this->donnees['info'], array_flip($champs_manuel_technique)); |