52,6 → 52,7 |
$this->donnees['nom'] = $_GET['nom']; |
$this->donnees['info'] = $this->taxonDao->getTaxon($this->referentiel, $this->donnees['num_nom']); |
|
if ($this->donnees['info'] != '') { |
// Chargement des données des onglets |
$this->chargerNomenclature(); |
$this->chargerSynonymie(); |
58,6 → 59,7 |
$this->chargerClassification(); |
$this->chargerChorologie(); |
$this->chargerComplements(); |
} |
|
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_taxon', $this->donnees)); |
} |
89,8 → 91,9 |
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'])) { |
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) { |
97,41 → 100,48 |
$this->donnees['fiche_synonymie']['taxonomique'][] = $synonyme; |
} |
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) { |
///nom est synonyme mal applique de num_nom_retenu |
$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 { |
$this->donnees['fiche_synonymie']['indéterminée (pas de basionyme)'][] = $synonyme; |
$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique']; |
} |
$this->donnees['fiche_synonymie']['orthographique'][] = $synonyme; |
} |
} |
// recherche synonyme proparte |
if ($this->donnees['info']['synonyme_proparte'] != ''){ |
$this->donnees['fiche_synonymie']['pro parte']['num_nom'] = $this->donnees['info']['synonyme_proparte']; |
/* à modifier qd base corrigée ajouter split ";" |
* si 1 fusion de ce nom pour donner synonyme proparte |
* sinon division |
*/ |
} |
// recherche si taxon est un synonyme douteux |
|
// synonyme douteux |
if ($this->donnees['info']['synonyme_douteux'] == 1) { |
$this->donnees['fiche_synonymie']['douteux']['num_nom'] = $this->donnees['info']; |
} |
/* si $this->donnees['info']['synonyme_mal_applique'] == 1 et $this->donnees['num_nom'] == $this->donnees['num_nom_retenu'] |
* nom possede des synonymes mal appliquees |
* sinon si $this->donnees['info']['synonyme_mal_applique'] == 1 et $this->donnees['num_nom'] != $this->donnees['num_nom_retenu'] |
* nom est synonyme mal applique de num_nom_retenu |
* si $this->donnees['info']['synonyme_orthographique'] == $this->donnees['num_nom'] |
* nom possede des synonymes orthographiques |
* sinon $this->donnees['info']['synonyme_orthographique'] != '' |
* nom est synonyme mal applique de $this->donnees['info']['synonyme_orthographique'] |
* si $this->donnees['info']['synonyme_proparte'] != '' |
* |
* si $this->donnees['info']['homonyme'] == 1 recherche sur nom |
*/ |
// 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'); |
202,10 → 212,12 |
if ($this->donnees['num_nom_retenu'] != '') { |
$class_inf = $this->taxonDao->getClassification |
('Inferieur', $this->referentiel, $this->donnees['num_nom_retenu']); |
if ($class_inf != '') { |
$this->donnees['classification']['inférieurs'] = $class_inf['inf']; |
$this->donnees['niveau'] = $class_inf['niveau']; |
} |
} |
} |
|
public function chargerComplements() { |
$champs_manuel_technique = explode(',', $this->manuel['champs']); |
242,6 → 254,14 |
return $parametres; |
} |
|
public function encodeChaine($chaine) { |
if (Config::get('sortie_encodage') != Config::get('appli_encodage')) { |
$chaine = mb_convert_encoding($chaine, Config::get('sortie_encodage'), Config::get('appli_encodage')); |
} |
$chaine = urlencode($chaine); |
return $chaine; |
} |
|
// retourne l'url de la fiche taxon pour les liens |
public static function getUrlFicheTaxon($params, $type) { |
$taxon = null; |