Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 148 → Rev 149

/trunk/scripts/modules/tests/Tests.php
683,7 → 683,7
private function testerHomonymieExistence() {
$info = array('nom' => 'homonyme -> existence',
'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
"dans le champ nom_complet.",
"dans le champ nom_sci.",
'resultat' => false);
$noms_homonymie = $this->classerNomsParNomComplet();
692,8 → 692,8
$noms_erreur = array();
foreach ($this->noms as &$nom) {
if ($nom['homonyme'] != '0' && $nom['homonyme'] != '') {
if ($noms_homonymie[$nom['nom_complet']] <= 1) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet']);
if ($noms_homonymie[$nom['nom_sci']] <= 1) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
}
}
}
887,7 → 887,7
$noms_erreur = array();
foreach ($this->noms as &$nom) {
if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
}
}
950,7 → 950,7
foreach ($this->noms as &$nom) {
if ($nom['cultivar'] != '') {
if ($nom['rang'] < $this->manuel['rang_genre']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
957,7 → 957,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1009,7 → 1009,7
foreach ($this->noms as &$nom) {
if ($nom['cultivar_groupe'] != '') {
if ($nom['rang'] < $this->manuel['rang_genre']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
1016,7 → 1016,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1101,7 → 1101,7
foreach ($this->noms as &$nom) {
if ($nom['epithete_infra_sp'] != '') {
if ($nom['rang'] < $this->manuel['rang_sp']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
1108,7 → 1108,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1551,8 → 1551,8
}
private function testerNomCompletSupraGenerique() {
$info = array('nom' => 'nom_complet -> noms supra-génériques',
'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ nom_supra_generique. ".
$info = array('nom' => 'nom_sci -> noms supra-génériques',
'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_sci doit correspondre à la valeur du champ nom_supra_generique. ".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1561,11 → 1561,11
foreach ($this->noms as &$nom) {
if ($nom['rang'] < $this->manuel['rang_genre']) {
$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
$nom_complet_ideal = $this->formaterStyleNomGenre($nom['nom_supra_generique']);
$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_complet'] != $nom_complet_ideal) {
$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['nom_supra_generique']);
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_sci'] != $nom_sci_ideal) {
$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
}
}
}
1572,7 → 1572,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1582,8 → 1582,8
}
private function testerNomCompletGenre() {
$info = array('nom' => 'nom_complet -> noms de genres',
'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ genre. ".
$info = array('nom' => 'nom_sci -> noms de genres',
'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_sci doit correspondre à la valeur du champ genre. ".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1592,11 → 1592,11
foreach ($this->noms as &$nom) {
if ($nom['rang'] == $this->manuel['rang_genre']) {
$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_complet'] != $nom_complet_ideal) {
$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_sci'] != $nom_sci_ideal) {
$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
}
}
}
1603,7 → 1603,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1613,8 → 1613,8
}
private function testerNomCompletInfraGenre() {
$info = array('nom' => 'nom_complet -> noms infra-génériques',
'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_complet doit correspondre à une des formules suivantes : \n".
$info = array('nom' => 'nom_sci -> noms infra-génériques',
'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_sci doit correspondre à une des formules suivantes : \n".
" genre + ' ' + type_epithete + ' ' + epithete_infra_generique \n".
" genre + ' ' + epithete_infra_generique + ' ' + type_epithete=agg. \n".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1625,20 → 1625,20
foreach ($this->noms as &$nom) {
if ($nom['rang'] > $this->manuel['rang_genre'] && $nom['rang'] < $this->manuel['rang_sp']) {
$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
$nom_complet_ideal = '';
$nom_sci_ideal = '';
if ($nom['type_epithete'] == 'agg.') {
$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_complet_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
$nom_complet_ideal .= ' '.$nom['type_epithete'];
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_sci_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
$nom_sci_ideal .= ' '.$nom['type_epithete'];
} else {
$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_complet_ideal .= ' '.$nom['type_epithete'];
$nom_complet_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_sci_ideal .= ' '.$nom['type_epithete'];
$nom_sci_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
}
$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_complet'] != $nom_complet_ideal) {
$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_sci'] != $nom_sci_ideal) {
$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
}
}
}
1645,7 → 1645,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1656,8 → 1656,8
}
private function testerNomCompletEspece() {
$info = array('nom' => "nom_complet -> noms d'espèce",
'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
$info = array('nom' => "nom_sci -> noms d'espèce",
'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_sci doit correspondre à la formule : \n".
" genre + ' ' + epithete_sp \n".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1667,12 → 1667,12
foreach ($this->noms as &$nom) {
if ($nom['rang'] == $this->manuel['rang_sp']) {
$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_complet_ideal .= ' '.strtolower($nom['epithete_sp']);
$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_complet'] != $nom_complet_ideal) {
$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_sci_ideal .= ' '.strtolower($nom['epithete_sp']);
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_sci'] != $nom_sci_ideal) {
$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
}
}
}
1679,7 → 1679,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1690,8 → 1690,8
}
private function testerNomCompletInfraSpecifique() {
$info = array('nom' => 'nom_complet -> noms infra-spécifiques',
'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
$info = array('nom' => 'nom_sci -> noms infra-spécifiques',
'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_sci doit correspondre à la formule : \n".
" genre + ' ' + epithete_sp + ' ' + type_epithete + ' ' + epithete_infra_generique\n".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1701,14 → 1701,14
foreach ($this->noms as &$nom) {
if ($nom['rang'] > $this->manuel['rang_sp']) {
$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_complet_ideal .= ' '.strtolower($nom['epithete_sp']);
$nom_complet_ideal .= ' '.strtolower($nom['type_epithete']);
$nom_complet_ideal .= ' '.strtolower($nom['epithete_infra_sp']);
$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_complet'] != $nom_complet_ideal) {
$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
$nom_sci_ideal .= ' '.strtolower($nom['epithete_sp']);
$nom_sci_ideal .= ' '.strtolower($nom['type_epithete']);
$nom_sci_ideal .= ' '.strtolower($nom['epithete_infra_sp']);
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
if ($nom['nom_sci'] != $nom_sci_ideal) {
$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
}
}
}
1715,7 → 1715,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1792,7 → 1792,7
foreach ($this->noms as &$nom) {
if ($nom['nom_supra_generique'] != '') {
if ($nom['rang'] >= $this->manuel['rang_genre']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
1799,7 → 1799,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1884,7 → 1884,7
foreach ($this->noms as &$nom) {
if ($nom['genre'] != '') {
if ($nom['rang'] < $this->manuel['rang_genre']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
1891,7 → 1891,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
1941,7 → 1941,7
foreach ($this->noms as &$nom) {
if ($nom['epithete_infra_generique'] != '') {
if ($nom['rang'] <= $this->manuel['rang_genre'] || $nom['rang'] >= $this->manuel['rang_sp']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
1948,7 → 1948,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
2062,7 → 2062,7
foreach ($this->noms as &$nom) {
if ($nom['epithete_sp'] != '') {
if ($nom['rang'] < $this->manuel['rang_sp']) {
$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
}
}
}
2069,7 → 2069,7
// Analyse des résultats
if (count($noms_erreur) > 0) {
$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
$info['message']['lignes'] = $noms_erreur;
} else {
$info['resultat'] = true;
2334,9 → 2334,9
return $genre_fmt;
}
private function repererEspace($nom_complet) {
$nom_complet = str_replace(' ', '<span class="espace">&nbsp;</span>', $nom_complet);
return $nom_complet;
private function repererEspace($nom_sci) {
$nom_sci = str_replace(' ', '<span class="espace">&nbsp;</span>', $nom_sci);
return $nom_sci;
}
private function construireSuffixeNomPltCultivee(&$nom) {
2379,10 → 2379,10
private function classerNomsParNomComplet() {
$noms_classes = array();
foreach ($this->noms as &$nom) {
if (!isset($noms_classes[$nom['nom_complet']])) {
$noms_classes[$nom['nom_complet']] = 1;
if (!isset($noms_classes[$nom['nom_sci']])) {
$noms_classes[$nom['nom_sci']] = 1;
} else {
$noms_classes[$nom['nom_complet']]++;
$noms_classes[$nom['nom_sci']]++;
}
}
return $noms_classes;
/trunk/interfaces/squelettes/resultat_recherche_taxon.tpl.html
22,7 → 22,7
<tr class='nom_retenu'>
<td></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($retenu)?>"><?=$retenu['num_nom']?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($retenu)?>"><?=$retenu['nom_complet'];?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($retenu)?>"><?=$retenu['nom_sci'];?></a></td>
<td><?=$retenu['auteur'];?></td>
<td><?=$retenu['annee'];?></td>
<td><?=$retenu['biblio_origine'];?></td>
34,7 → 34,7
<tr>
<td><?=$synonyme['num_nom_retenu'];?></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['num_nom']?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a></td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
49,7 → 49,7
<tr>
<td><?=$synonyme['num_nom_retenu'];?></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['num_nom']?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a></td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
/trunk/interfaces/squelettes/fiche_taxon.tpl.html
38,9 → 38,9
<? if (isset($selectionne)) : ?>
<?=($num_nom == $num_nom_retenu)? '<tr class="nom_retenu">' : "<tr>";?>
<th>Nom sélectionné <?=($num_nom == $num_nom_retenu) ? '(retenu)' : ''?></th>
<td><?=$selectionne['nom_complet'];?>
<? if ($selectionne['nom_complet'] != '') : ?>
<a href="<?=Recherche::getUrlRecherche($selectionne['nom_complet'], $referentiel)?>">
<td><?=$selectionne['nom_sci'];?>
<? if ($selectionne['nom_sci'] != '') : ?>
<a href="<?=Recherche::getUrlRecherche($selectionne['nom_sci'], $referentiel)?>">
<img src="./interfaces/squelettes/css/referentiel/images/data_query.png" alt="rechercher"/>
</a>
<? endif; ?>
112,9 → 112,9
<? if (isset($retenu)) : ?>
<tr class="nom_retenu">
<th>Nom retenu</th>
<td><a href="<?=Recherche::getUrlFicheTaxon($retenu)?>"><?=$retenu['nom_complet'];?></a>
<? if ($retenu['nom_complet'] != '') : ?>
<a href="<?=Recherche::getUrlRecherche($retenu['nom_complet'], $referentiel)?>">
<td><a href="<?=Recherche::getUrlFicheTaxon($retenu)?>"><?=$retenu['nom_sci'];?></a>
<? if ($retenu['nom_sci'] != '') : ?>
<a href="<?=Recherche::getUrlRecherche($retenu['nom_sci'], $referentiel)?>">
<img src="./interfaces/squelettes/css/referentiel/images/data_query.png" alt="rechercher"/>
</a>
<? endif; ?>
286,7 → 286,7
</thead>
<tbody>
<tr>
<td><?=$info['nom_complet'];?></td>
<td><?=$info['nom_sci'];?></td>
<td><?=$info['auteur'];?></td>
<td><?=$info['annee'];?></td>
<td><?=$info['biblio_origine'];?></td>
316,7 → 316,7
<? foreach ($n as $synonyme) : ?>
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
348,7 → 348,7
<? foreach ($t as $synonyme) : ?>
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
380,7 → 380,7
<? foreach ($i as $synonyme) : ?>
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
414,7 → 414,7
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td><?=$synonyme['statut']?></td>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
448,7 → 448,7
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td><?=$synonyme['statut']?></td>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
480,7 → 480,7
<? foreach ($pp as $synonyme) : ?>
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
514,7 → 514,7
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td><?=$synonyme['statut']?></td>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_sci'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
565,7 → 565,7
<td><?=$valeur_rang[$taxon['rang']].' ('.$taxon['rang'].')';?></td>
<? endif; ?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($taxon)?>"><?=$taxon['nom_complet'];?></a>
<a href="<?=Recherche::getUrlFicheTaxon($taxon)?>"><?=$taxon['nom_sci'];?></a>
</td>
<td><?=$taxon['auteur'];?></td>
<td><?=$taxon['annee'];?></td>
/trunk/interfaces/squelettes/resultat_recherche.tpl.html
18,7 → 18,7
<? foreach ($resultats as $resultat) : ?>
<tr <?=($resultat['num_nom'] == $resultat['num_nom_retenu']) ? 'class="nom_retenu"' : '' ?>>
<td><a href="<?=Recherche::getUrlFicheTaxon($resultat)?>"><?=$resultat['num_nom']?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($resultat)?>"><?=$resultat['nom_complet']?></a></td>
<td><a href="<?=Recherche::getUrlFicheTaxon($resultat)?>"><?=$resultat['nom_sci']?></a></td>
<td><?=$resultat['auteur']?></td>
<td><?=$resultat['annee']?></td>
<td><?=$resultat['biblio_origine']?></td>
/trunk/interfaces/controleurs/FicheTaxon.php
50,7 → 50,7
$this->donnees['num_nom'] = $_GET['num_nom'];
$this->donnees['info'] = $this->taxonDao->getTaxon($this->referentiel, $this->donnees['num_nom']);
$this->donnees['num_nom_retenu'] = $this->donnees['info']['num_nom_retenu'];
$this->donnees['nom'] = $this->donnees['info']['nom_complet'];
$this->donnees['nom'] = $this->donnees['info']['nom_sci'];
if ($this->donnees['info'] != '') {
// Chargement des données des onglets
103,7 → 103,7
}
}
// homonymie
$nom = $this->encodeChaine($this->donnees['info']['nom_complet']);
$nom = $this->encodeChaine($this->donnees['info']['nom_sci']);
$homonymes = $this->taxonDao->getHomonyme($this->referentiel, $nom);
if (count($homonymes) > 1) {
foreach ($homonymes as $id => &$homonyme) {
/trunk/services/modules/FicheTaxon.php
67,7 → 67,7
/* Méthode pour récupérer les infos sur un taxon (retourne seulement les champs affichés)
* Appelée avec les paramètres d'url suivant : /TaxonAffichage/ref/num_nom */
public function getElementTaxonAffichage($ref, $num_nom) {
$requete = "SELECT num_nom_retenu, num_nom, num_tax_sup, nom_complet, auteur, annee, biblio_origine, ".
$requete = "SELECT num_nom_retenu, num_nom, num_tax_sup, nom_sci, auteur, annee, biblio_origine, ".
" nom_addendum, nom_francais FROM {$ref} WHERE num_nom = {$num_nom};";
// Récupération des résultats
88,9 → 88,9
/* Méthode pour récupérer les infos sur un taxon et so, basyonyme
* Appelée avec les paramètres d'url suivant : /Taxon/ref/num_nom */
public function getElementNomenclature($ref, $num_nom) {
$requete = "SELECT s.num_nom_retenu, s.num_nom, s.num_tax_sup, s.nom_complet, s.auteur, s.annee, ".
$requete = "SELECT s.num_nom_retenu, s.num_nom, s.num_tax_sup, s.nom_sci, s.auteur, s.annee, ".
" s.biblio_origine, s.nom_addendum, s.nom_francais, b.num_nom AS bas_num, b.num_nom_retenu AS ".
" bas_num_retenu, b.nom_complet AS bas_nom, b.auteur AS bas_auteur, b.annee AS bas_annee, ".
" bas_num_retenu, b.nom_sci AS bas_nom, b.auteur AS bas_auteur, b.annee AS bas_annee, ".
" b.biblio_origine AS bas_bib, b.nom_addendum AS bas_nom_add ".
" FROM {$ref} s, {$ref} b WHERE s.basionyme = b.num_nom AND s.num_nom = {$num_nom};";
112,9 → 112,9
/* 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_complet AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee,
$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_complet AS p2_nom, p2.auteur AS p2_auteur, p2.annee AS p2_annee,
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};";
141,7 → 141,7
$taxonSuperieur = $num_nom;
$info = '';
while ($taxonSuperieur != null) {
$requete = "SELECT num_nom, rang, num_tax_sup, nom_supra_generique, nom_complet, auteur, annee, "
$requete = "SELECT num_nom, rang, num_tax_sup, nom_supra_generique, nom_sci, auteur, annee, "
." biblio_origine, nom_addendum FROM {$ref} WHERE num_nom = {$taxonSuperieur};";
// Récupération des résultats
161,7 → 161,7
}
public function getElementTaxonInferieur($ref, $num_nom, $niveau = 1) {
$requete = 'SELECT num_nom, rang, num_tax_sup, nom_supra_generique, nom_complet, auteur, annee, '.
$requete = 'SELECT num_nom, rang, num_tax_sup, nom_supra_generique, nom_sci, auteur, annee, '.
' biblio_origine, nom_addendum '.
"FROM {$ref} ".
'WHERE num_tax_sup = '.$num_nom.";";
186,9 → 186,9
return $this->resultat;
}
public function getElementHomonyme($ref, $nom_complet) {
$requete = "SELECT num_nom_retenu, num_nom, nom_complet, auteur, annee, biblio_origine, homonyme, ".
" nom_addendum, nom_francais FROM {$ref} WHERE nom_complet = '{$nom_complet}';";
public function getElementHomonyme($ref, $nom_sci) {
$requete = "SELECT num_nom_retenu, num_nom, nom_sci, auteur, annee, biblio_origine, homonyme, ".
" nom_addendum, nom_francais FROM {$ref} WHERE nom_sci = '{$nom_sci}';";
// Récupération des résultats
try {
206,7 → 206,7
}
public function getElementBasionyme($ref, $basionyme) {
$requete = "SELECT num_nom_retenu, num_nom, nom_complet, auteur, annee, biblio_origine, homonyme, ".
$requete = "SELECT num_nom_retenu, num_nom, nom_sci, auteur, annee, biblio_origine, homonyme, ".
" nom_addendum, nom_francais FROM {$ref} WHERE basionyme = '{$basionyme}';";
// Récupération des résultats
/trunk/services/modules/Recherche.php
86,9 → 86,9
$referentiel = substr($p['ref'], 2, -2);
// Construction de la requête
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' num_nom, nom_complet, auteur, annee, '.
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' num_nom, nom_sci, auteur, annee, '.
'biblio_origine, nom_addendum, num_nom_retenu FROM '.$referentiel.$this->construireWhere($p).
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'num_nom ASC, nom_complet ASC').' '.
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'num_nom ASC, nom_sci ASC').' '.
"LIMIT $this->start, $this->limit ";
// Récupération des résultats
158,7 → 158,7
if ($liste_nom != '') {
// Construction de la requête
// si recherche des synonymes
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' num_nom, nom_complet, auteur, annee, '.
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' num_nom, nom_sci, auteur, annee, '.
'biblio_origine, nom_addendum, num_nom_retenu, basionyme, synonyme_mal_applique FROM '.$referentiel.' WHERE num_nom_retenu IN ('
.$liste_nom.') ORDER BY num_nom ASC ';
try {
300,7 → 300,7
" OR num_nom_retenu LIKE {$p['mots']} ".
" OR num_tax_sup LIKE {$p['mots']} ".
" OR rang LIKE {$p['mots']} ".
" OR nom_complet LIKE {$p['mots']} ".
" OR nom_sci LIKE {$p['mots']} ".
" OR nom_supra_generique LIKE {$p['mots']} ".
" OR genre LIKE {$p['mots']} ".
" OR epithete_infra_generique LIKE {$p['mots']} ".