/trunk/interfaces/controleurs/FicheTaxon.php |
---|
67,17 → 67,13 |
private function chargerNomenclature() { |
$this->donnees['selectionne'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom']); |
if (strpos($this->donnees['nom'], ' x ') ) { |
if ($this->donnees['num_nom'] != $this->donnees['num_nom_retenu'] && $this->donnees['num_nom_retenu'] != '') { |
$this->donnees['retenu'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom_retenu']); |
$this->donnees['parents'] = $this->taxonDao->getParentsHybride($this->referentiel, $this->donnees['num_nom_retenu']); |
} else { |
$this->donnees['parents'] = $this->taxonDao->getParentsHybride($this->referentiel, $this->donnees['num_nom']); |
} |
} else { |
if ($this->donnees['num_nom'] != $this->donnees['num_nom_retenu'] && $this->donnees['num_nom_retenu'] != '') { |
$this->donnees['retenu'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom_retenu']); |
} |
if ($this->donnees['num_nom'] != $this->donnees['num_nom_retenu'] && $this->donnees['num_nom_retenu'] != '') { |
$this->donnees['retenu'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom_retenu']); |
} |
if ($this->donnees['info']['hybride_parent_01'] != '' && $this->donnees['info']['hybride_parent_02'] != '') { |
$this->donnees['parents'] = $this->taxonDao->getParentsHybride($this->referentiel, $this->donnees['num_nom']); |
} elseif ($this->donnees['info']['hybride_parent_01'] != '' || $this->donnees['info']['hybride_parent_02'] != ''){ |
$this->donnees['parents'] = $this->taxonDao->getParentsHybride($this->referentiel, $this->donnees['num_nom']); |
} |
} |
205,19 → 201,17 |
private function chargerClassification() { |
$this->chargerTableauManuel('signification_rang'); |
$this->donnees['valeur_rang'] = $this->tableau_manuel['signification_rang']; |
if ($this->donnees['info']['num_tax_sup'] != '' || isset($this->donnees['retenu']['num_tax_sup'])) { |
if ($this->donnees['num_nom'] == $this->donnees['num_nom_retenu']) { |
$this->donnees['classification']['supérieurs'] = array_reverse($this->taxonDao->getClassification |
('Superieur', $this->referentiel, $this->donnees['info']['num_tax_sup'])); |
} else { |
$this->donnees['classification']['supérieurs'] = array_reverse($this->taxonDao->getClassification |
if ($this->donnees['info']['num_tax_sup'] != '' && $this->donnees['info']['num_tax_sup'] !== "0") { |
$this->donnees['classification']['supérieurs'] = array_reverse($this->taxonDao->getClassification |
('Superieur', $this->referentiel, $this->donnees['info']['num_tax_sup'])); |
} elseif (isset($this->donnees['retenu']['num_tax_sup']) && ($this->donnees['retenu']['num_tax_sup'] != '')) { |
$this->donnees['classification']['supérieurs'] = array_reverse($this->taxonDao->getClassification |
('Superieur', $this->referentiel, $this->donnees['retenu']['num_tax_sup'])); |
} |
} |
if ($this->donnees['num_nom_retenu'] != '') { |
$class_inf = $this->taxonDao->getClassification |
('Inferieur', $this->referentiel, $this->donnees['num_nom_retenu']); |
if ($class_inf != '') { |
if ($class_inf != '') { |
$this->donnees['classification']['inférieurs'] = $class_inf['inf']; |
$this->donnees['niveau'] = $class_inf['niveau']; |
} |
/trunk/interfaces/controleurs/Recherche.php |
---|
137,6 → 137,7 |
if (isset($parametres['tax']) && ($parametres['tax'] == 1)) { |
$resultat = $this->chercherSynonymes($rechercheDao, $parametres); |
} else { |
$donnees['referentiel'] = $this->referentiel; |
$donnees['fragmenteur'] = $this->gererFragmenteur($rechercheDao, $parametres); |
$donnees['resultats'] = $rechercheDao->chercher('ParDefaut', $parametres); |
$resultat = $this->getVue('resultat_recherche', $donnees); |
149,6 → 150,7 |
private function chercherSynonymes($rechercheDao, $parametres){ |
$this->donnees_par_page = 2; |
$this->donnees_par_page_choix = '1,2,5,10'; |
$donnees['referentiel'] = $this->referentiel; |
$donnees['fragmenteur'] = $this->gererFragmenteur($rechercheDao, $parametres, 'NombreTaxon'); |
$resultats = $rechercheDao->chercher('ParTaxon', $parametres); |
foreach ($resultats as $res) { |
/trunk/services/modules/FicheTaxon.php |
---|
112,12 → 112,27 |
/* Méthode pour récupérer les infos sur les parents d'un taxon hybride sélectionné |
* Appelée avec les paramètres d'url suivant : /ParentsHybride/ref/num_nom */ |
public function getElementParentsHybride($ref, $num_nom) { |
$requete = "SELECT p1.num_nom AS p1_num, p1.nom_sci AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee, |
$requete = ""; |
$requete_parents = "SELECT hybride_parent_01, hybride_parent_02 FROM {$ref} WHERE num_nom = {$num_nom};"; |
$parents = $this->bdd->query($requete_parents)->fetchAll(PDO::FETCH_ASSOC); |
if ($parents[0]['hybride_parent_01'] != '' && $parents[0]['hybride_parent_02'] != '') { |
$requete = "SELECT p1.num_nom AS p1_num, p1.nom_sci AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee, |
p1.biblio_origine AS p1_bib, p1.nom_addendum AS p1_nom_add, p1.num_nom AS p1_num_retenu, |
p2.num_nom AS p2_num, p2.nom_sci AS p2_nom, p2.auteur AS p2_auteur, p2.annee AS p2_annee, |
p2.biblio_origine AS p2_bib, p2.nom_addendum AS p2_nom_add, p2.num_nom AS p2_num_retenu ". |
" FROM {$ref} p1, {$ref} p2, {$ref} h ". |
" WHERE p1.num_nom = h.hybride_parent_01 AND p2.num_nom = h.hybride_parent_02 AND h.num_nom = {$num_nom};"; |
} elseif ($parents[0]['hybride_parent_01'] != '' && $parents[0]['hybride_parent_02'] == '') { |
$requete = "SELECT p1.num_nom AS p1_num, p1.nom_sci AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee, |
p1.biblio_origine AS p1_bib, p1.nom_addendum AS p1_nom_add, p1.num_nom AS p1_num_retenu ". |
" FROM {$ref} p1, {$ref} p2, {$ref} h ". |
" WHERE p1.num_nom = h.hybride_parent_01 AND h.num_nom = {$num_nom};"; |
} elseif ($parents[0]['hybride_parent_01'] == '' && $parents[0]['hybride_parent_02'] != '') { |
$requete = "SELECT p2.num_nom AS p2_num, p2.nom_sci AS p2_nom, p2.auteur AS p2_auteur, p2.annee AS p2_annee, |
p2.biblio_origine AS p2_bib, p2.nom_addendum AS p2_nom_add, p2.num_nom AS p2_num_retenu ". |
" FROM {$ref} p1, {$ref} p2, {$ref} h ". |
" WHERE p2.num_nom = h.hybride_parent_02 AND h.num_nom = {$num_nom};"; |
} |
$donnees = array(); |
// Récupération des résultats |
147,7 → 162,7 |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === array()) { |
if ($donnees === array() || isset($info[$donnees[0]['num_nom']])) { |
$taxonSuperieur = null; |
} else { |
$taxonSuperieur = $donnees[0]['num_tax_sup']; |
169,6 → 184,23 |
try { |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === array()) { |
} elseif (isset($niveau) && $niveau >= 6) { |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) { |
$this->resultat['niveau'] = $niveau; |
} |
foreach ($donnees as $donnee) { |
$this->resultat['inf'][$donnee['num_nom']] = $donnee; |
$this->resultat['inf'][$donnee['num_nom']]['niveau'] = $niveau; |
} |
} elseif (count($donnees) >= 100 || |
(isset($this->resultat['inf']) && count($this->resultat['inf'])+count($donnees) >= 100)) { |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) { |
$this->resultat['niveau'] = $niveau; |
} |
foreach ($donnees as $donnee) { |
$this->resultat['inf'][$donnee['num_nom']] = $donnee; |
$this->resultat['inf'][$donnee['num_nom']]['niveau'] = $niveau; |
} |
} else { |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) { |
$this->resultat['niveau'] = $niveau; |