Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 103 → Rev 104

/trunk/interfaces/controleurs/FicheTaxon.php
90,57 → 90,73
$synonymes = $rechercheDao->chercher('ParTaxon', $parametres);
if ($synonymes != '') {
foreach ($synonymes as $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'] ||
$this->donnees['info']['basionyme'] == $synonyme['basionyme'])) {
$this->donnees['fiche_synonymie']['nomenclaturale'][] = $synonyme;
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null &&
$this->donnees['info']['basionyme'] != null) {
$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme;
}
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) {
$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme;
}
if ($synonyme['synonyme_mal_applique'] == 1) {
if ($synonyme['num_nom'] == $synonyme['num_nom_retenu']) {
$synonyme['statut'] = 'posséde des synonymes mal appliqués';
} else {
$synonyme['statut'] = 'est synonyme mal appliqué du num_nom '.$synonyme['num_nom_retenu'];
}
$this->donnees['fiche_synonymie']['mal appliquée'][] = $synonyme;
}
if (isset($synonyme['synonyme_orthographique']) && $synonyme['synonyme_orthographique'] != '') {
if ($synonyme['synonyme_orthographique'] == $synonyme['num_nom']) {
$synonyme['statut'] = 'posséde des synonymes orthographiques';
} else {
$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique'];
}
$this->donnees['fiche_synonymie']['orthographique'][] = $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 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);
}
// 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;
}
}
// 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 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'] ||
$this->donnees['info']['basionyme'] == $synonyme['basionyme'])) {
$this->donnees['fiche_synonymie']['nomenclaturale'][] = $synonyme;
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null &&
$this->donnees['info']['basionyme'] != null) {
$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme;
}
} 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';
} else {
$synonyme['statut'] = 'est synonyme mal appliqué du num_nom '.$synonyme['num_nom_retenu'];
}
}
$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';
} else {
$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique'];
}
$this->donnees['fiche_synonymie']['orthographique'][] = $synonyme;
}
}
private function chargerChorologie() {
$this->chargerTableauManuel('presence');
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));