Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 116 → Rev 117

/trunk/interfaces/squelettes/fiche_taxon.tpl.html
6,7 → 6,7
});
});
</script>
<h1>Fiche : <?=$nom." (".$num_nom.")"?></h1>
<h1>Fiche du nom sélectionné : <?=$nom." (".$num_nom.")"?></h1>
 
<hr class="nettoyeur"/>
<div id="ref-ref" class="ref-onglets">
36,7 → 36,7
</thead>
<tbody>
<? if (isset($selectionne)) : ?>
<tr>
<?=($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'] != '') : ?>
71,7 → 71,7
<td><?=$selectionne['num_nom'];?></td>
</tr>
<? if (isset($selectionne['bas_num'])) : ?>
<tr>
<?=($selectionne['bas_num'] == $selectionne['bas_num_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<th style="text-align:right;" title="Basionyme du nom sélectionné">a pour basionyme</th>
<td>
<a href="<?=FicheTaxon::getUrlFicheTaxon($selectionne, 'bas')?>">
110,7 → 110,7
<? endif; ?>
<? endif; ?>
<? if (isset($retenu)) : ?>
<tr>
<tr class="nom_retenu">
<th>Nom retenu</th>
<td><a href="<?=Recherche::getUrlFicheTaxon($retenu)?>"><?=$retenu['nom_complet'];?></a>
<? if ($retenu['nom_complet'] != '') : ?>
144,7 → 144,7
<td><?=$retenu['num_nom'];?></td>
</tr>
<? if (isset($retenu['bas_num'])) : ?>
<tr>
<?=($retenu['bas_num'] == $retenu['bas_num_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<th style="text-align:right;" title="Basionyme du nom retenu">a pour basionyme</th>
<td><a href="<?=FicheTaxon::getUrlFicheTaxon($retenu, 'bas')?>"><?=$retenu['bas_nom'];?>
<? if ($retenu['bas_nom'] != '') : ?>
193,7 → 193,7
</tr>
<? endif; ?>
<? if (isset($parents)) : ?>
<tr>
<?=($parents['p1_num'] == $parents['p1_num_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<th>Parent 01</th>
<td><a href="<?=FicheTaxon::getUrlFicheTaxon($parents, 'p1')?>"><?=$parents['p1_nom'];?></a>
<? if ($parents['p1_nom'] != '') : ?>
226,7 → 226,7
<td><?=$parents['p1_nom_add'];?></td>
<td><?=$parents['p1_num'];?></td>
</tr>
<tr>
<?=($parents['p2_num'] == $parents['p2_num_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<th>Parent 02</th>
<td><a href="<?=FicheTaxon::getUrlFicheTaxon($parents, 'p2')?>"><?=$parents['p2_nom'];?></a>
<? if ($parents['p2_nom'] != '') : ?>
268,16 → 268,14
 
<div id="ref-ref-synonymie">
<h2>Synonymie</h2>
<? if (isset($fiche_synonymie)) : ?>
<? foreach ($fiche_synonymie as $type => $synonymes) : ?>
<? if ($info['synonyme_douteux'] == 1) : ?>
<table>
<thead>
<tr>
<th><?=$type_synonymie[$type];?></th>
<th class="vide" colspan="<?=($type == 'Homonymie (sensu)' || $type == 'mal appliquée') ? '6' : '5';?>">&nbsp;</th>
<th title="Le nom sélectionné est un synonyme douteux">Synonymie douteuse</th>
<th class="vide" colspan="5">&nbsp;</th>
</tr>
<tr>
<?=($type == 'Homonymie (sensu)' || $type == 'mal appliquée') ? "<th>Statut</th>" : '';?>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
287,9 → 285,36
</tr>
</thead>
<tbody>
<? foreach ($synonymes as $synonyme) : ?>
<tr>
<td><?=$info['nom_complet'];?></td>
<td><?=$info['auteur'];?></td>
<td><?=$info['annee'];?></td>
<td><?=$info['biblio_origine'];?></td>
<td><?=$info['nom_addendum'];?></td>
<td><?=$info['num_nom'];?></td>
</tr>
</tbody>
</table>
<? endif; ?>
<? if (isset($n)) : ?>
<table>
<thead>
<tr>
<th>Synonymie nomenclaturale</th>
<th class="vide" colspan="5">&nbsp;</th>
</tr>
<tr>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? foreach ($n as $synonyme) : ?>
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<?=($type == 'Homonymie (sensu)' || $type == 'mal appliquée') ? "<td>".$synonyme['statut']."</td>" : "";?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
</td>
302,8 → 327,237
<? endforeach ?>
</tbody>
</table>
<? endforeach ?>
<? endif; ?>
<? if (isset($t)) : ?>
<table>
<thead>
<tr>
<th>Synonymie taxonomique</th>
<th class="vide" colspan="5">&nbsp;</th>
</tr>
<tr>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? 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>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
<? if (isset($i)) : ?>
<table>
<thead>
<tr>
<th>Synonymie indéterminée (pas de basionyme)</th>
<th class="vide" colspan="5">&nbsp;</th>
</tr>
<tr>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? 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>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
<? if (isset($b)) : ?>
<table>
<thead>
<tr>
<th>Basionyme commun</th>
<th class="vide" colspan="5">&nbsp;</th>
</tr>
<tr>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? foreach ($b as $synonyme) : ?>
<?=($synonyme['num_nom'] == $synonyme['num_nom_retenu'])? '<tr class="nom_retenu">' : "<tr>";?>
<td>
<a href="<?=Recherche::getUrlFicheTaxon($synonyme)?>"><?=$synonyme['nom_complet'];?></a>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
<? if (isset($ma)) : ?>
<table>
<thead>
<tr>
<th>Synonymie mal appliquée</th>
<th class="vide" colspan="6">&nbsp;</th>
</tr>
<tr>
<th>Statut</th>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? foreach ($ma as $synonyme) : ?>
<?=($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>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
<? if (isset($o)) : ?>
<table>
<thead>
<tr>
<th>Synonymie orthographique</th>
<th class="vide" colspan="6">&nbsp;</th>
</tr>
<tr>
<th>Statut</th>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? foreach ($o as $synonyme) : ?>
<?=($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>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
<? if (isset($pp)) : ?>
<table>
<thead>
<tr>
<th>Synonymie pro parte</th>
<th class="vide" colspan="5">&nbsp;</th>
</tr>
<tr>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? 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>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
<? if (isset($h)) : ?>
<table>
<thead>
<tr>
<th>Homonymie (sensu)</th>
<th class="vide" colspan="6">&nbsp;</th>
</tr>
<tr>
<th>Statut</th>
<th>Nom scientifique</th>
<th>Auteur</th>
<th>Année</th>
<th>Référence bibliographique</th>
<th>Nom addendum</th>
<th title="Identifiant numérique du nom scientifique">Id</th>
</tr>
</thead>
<tbody>
<? foreach ($h as $synonyme) : ?>
<?=($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>
</td>
<td><?=$synonyme['auteur'];?></td>
<td><?=$synonyme['annee'];?></td>
<td><?=$synonyme['biblio_origine'];?></td>
<td><?=$synonyme['nom_addendum'];?></td>
<td><?=$synonyme['num_nom'];?></td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? endif; ?>
</div>
<div id="ref-ref-classification">
/trunk/interfaces/controleurs/FicheTaxon.php
17,16 → 17,6
protected $taxonDao = null;
private $tableau_manuel = null;
private $num_taxon = array(0=>0,1=>0,2=>0);
private $type_synonymie = array(
'n' => 'Synonymie nomenclaturale',
't' => 'Synonymie taxonomique',
'i' => 'Synonymie indéterminée (pas de basionyme)',
'd' => 'Synonymie douteuse',
'o' => 'Synonymie orthographique',
'ma' => 'Synonymie mal appliquée',
'pp' => 'Synonymie pro parte',
'h' => 'Homonymie (sensu)',
'b' => 'Basionyme commun');
//+----------------------------------------------------------------------------------------------------------------+
// Méthodes
94,7 → 84,6
// recherche les synonymes (à compléter)
private function chargerSynonymie() {
$rechercheDao = new RechercheDao();
$this->donnees['type_synonymie'] = $this->type_synonymie;
// recherche des synonymes nomenclaturaux et taxonomiques
$parametres = $this->parserChaineDeRecherche('nn:'.$this->donnees['num_nom'].' tax:1');
$parametres['ref']= $this->referentiel;
106,16 → 95,11
$this->trierSynonymesOrthographiques($synonyme);
}
}
// synonyme douteux
if ($this->donnees['info']['synonyme_douteux'] == 1) {
$this->donnees['fiche_synonymie']['d']['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']['pp'] =
$this->taxonDao->getTaxonAffichage($this->referentiel, $proparte);
$this->donnees['pp'] = $this->taxonDao->getTaxonAffichage($this->referentiel, $proparte);
}
}
// homonymie
126,7 → 110,7
$homonyme['statut'] = $homonyme['homonyme'];
}
$this->donnees['fiche_synonymie']['h'] = $homonymes;
$this->donnees['h'] = $homonymes;
}
// Même basionyme
if ($this->donnees['info']['basionyme'] != '') {
133,7 → 117,7
$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']['b'][] = $nom;
$this->donnees['b'][] = $nom;
}
}
}
144,13 → 128,13
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']['n'][] = $synonyme;
$this->donnees['n'][] = $synonyme;
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom'] && $synonyme['basionyme'] != null &&
$this->donnees['info']['basionyme'] != null) {
$this->donnees['fiche_synonymie']['t'][] = $synonyme;
$this->donnees['t'][] = $synonyme;
}
} elseif ($this->donnees['num_nom'] != $synonyme['num_nom']) {
$this->donnees['fiche_synonymie']['i'][] = $synonyme;
$this->donnees['i'][] = $synonyme;
}
}
161,7 → 145,7
} else {
$synonyme['statut'] = 'est synonyme mal appliqué du num_nom '.$synonyme['num_nom_retenu'];
}
$this->donnees['fiche_synonymie']['ma'][] = $synonyme;
$this->donnees['ma'][] = $synonyme;
}
}
172,7 → 156,7
} else {
$synonyme['statut'] = 'est synonyme orthographique du num_nom '.$synonyme['synonyme_orthographique'];
}
$this->donnees['fiche_synonymie']['o'][] = $synonyme;
$this->donnees['o'][] = $synonyme;
}
}
/trunk/services/modules/FicheTaxon.php
113,8 → 113,9
* 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,
p1.biblio_origine AS p1_bib, p1.nom_addendum AS p1_nom_add, p2.num_nom AS p2_num, p2.nom_complet 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 ".
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.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};";
$donnees = array();