Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 1209 → Rev 1210

/trunk/configurations/config.defaut.ini
157,14 → 157,14
nomTpl = "{ref:nomsTpl}/{id}"
nomsStatsInitialesRangTpl = "{ref:nomsTpl}/stats/initiales?masque.rg={rang}"
nomsListeInitialesRangTpl = "{ref:nomsTpl}?masque={initiale}&recherche=etendue&masque.rg={rang}&navigation.limite=500"
nomsRechercheTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&navigation.limite=3000"
nomsRechercheRetenuTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&ns.structure=au&navigation.limite=3000"
nomsRechercheAlphabTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&ns.structure=au&navigation.limite=3000"
nomsRechercheSynonymeTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&navigation.limite=3000"
nomsRechercheTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&navigation.limite=3000&retour.champs=rang"
nomsRechercheRetenuTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&ns.structure=au&navigation.limite=3000&retour.champs=rang"
nomsRechercheAlphabTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&ns.structure=au&navigation.limite=3000&retour.champs=rang"
nomsRechercheSynonymeTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&navigation.limite=3000&retour.champs=rang"
nomsRechercheDeterminationTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&retour.champs=nom_retenu,nom_retenu.*,num_taxonomique,rang,nom_retenu_complet&ns.structure=au&navigation.limite=3000"
nomsRechercheDecompoTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&retour.champs=auteur,annee,biblio_origine,nom_addendum&navigation.limite=3000"
nomsRechercheDecompoTpl = "{ref:nomsTpl}?masque={valeur}&recherche={type}&ns.format=txt&retour.champs=auteur,annee,biblio_origine,rang,nom_addendum&navigation.limite=3000"
nomsSynonymesTpl = "{ref:nomsTpl}/{id}/relations/synonymie?ns.format=htm"
nomsRechercheAvanceeTpl = "{ref:nomsTpl}?ns.format=txt&navigation.limite=3000&recherche={type}&retour.champs=num_taxonomique,nom_retenu,nom_retenu.*,auteur,biblio_origine,annee,nom_addendum"
nomsRechercheAvanceeTpl = "{ref:nomsTpl}?ns.format=txt&navigation.limite=3000&recherche={type}&retour.champs=num_taxonomique,nom_retenu,nom_retenu.*,auteur,biblio_origine,annee,rang,nom_addendum"
nomsFloresTpl = "{ref:nomsTpl}/{id}/relations/flores"
 
nomsVernaTpl = "{ref:baseUrlApiEflore}/noms-vernaculaires"
/trunk/modules/resultat/formateurs/ResultatFormateurFabrique.php
6,8 → 6,11
$typeNom = ($parametres->typeNom == 'nom_vernaculaire') ? 'Verna' : '';
$Classe = $typeResultat.$typeNom.'Formateur';
$ResultatFormateur = null;
if (class_exists($Classe)) return new $Classe($parametres, $resultats);
throw new Exception("La classe '$Classe' est introuvable.");
if (class_exists($Classe)) {
return new $Classe($parametres, $resultats);
} else {
throw new Exception("La classe '$Classe' est introuvable.");
}
}
}
?>
/trunk/modules/resultat/Resultat.php
80,8 → 80,14
if (isset($_GET['bib'])) {
$this->parametres->masqueRecherche .= trim($_GET['bib']);
}
 
// Si spécifié, seuls les résultats du niveau spécifié sont affichés.
// Passer "*" pour annuler le filtre par rang (le paramètre est mis à "null").
// Par défaut, seules les espèces sont affichées (paramètre par défaut).
if (isset($_GET['rang'])) {
$this->parametres->rang = ($_GET['rang'] == '*' ? null : $_GET['rang']);
}
 
if (isset($_GET['type_nom'])) {
$this->parametres->typeNom = $_GET['type_nom'];
}
95,8 → 101,17
$this->capturerParametresAvancesGeneriques();
$this->capturerParametresAvancesDependantsLangage();
$this->capturerParametresAvancesPresenceSpecifiques();
$this->capturerParametresAvancesRang();
}
 
private function capturerParametresAvancesRang() {
// rang à afficher
$this->param['rang'] = $this->parametres->rang;
if ($this->param['rang'] === null) {
$this->param['rang'] = '*';
}
}
 
private function capturerParametresAvancesGeneriques() {
foreach($this->parametresAvancesGeneriques as $param) {
if (isset($_GET[$param]) && $_GET[$param] != '') {
160,7 → 175,6
$this->chargerNomsFormates();
$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $this->donneesTpl));
}
 
private function chargerOnglets() {
$donnees = array();
174,12 → 188,25
$donnees['urls']['determination'] = $this->urls->obtenirUrlResultatAvanceOnglets('determination',$this->param);
$donnees['urls']['decompo'] = $this->urls->obtenirUrlResultatAvanceOnglets('decompo',$this->param);
} else {
$donnees['urls']['alphab'] = $this->urls->obtenirUrlResultatAlphab();
$donnees['urls']['retenu'] = $this->urls->obtenirUrlResultatRetenu();
$donnees['urls']['determination'] = $this->urls->obtenirUrlResultatDetermination();
$donnees['urls']['decompo'] = $this->urls->obtenirUrlResultatDecompo();
$donnees['urls']['alphab'] = $this->urls->obtenirUrlResultat('alphab', $this->param);
$donnees['urls']['retenu'] = $this->urls->obtenirUrlResultat('retenu', $this->param);
$donnees['urls']['determination'] = $this->urls->obtenirUrlResultat('determination', $this->param);
$donnees['urls']['decompo'] = $this->urls->obtenirUrlResultat('decompo', $this->param);
}
// Inversion du critère de filtrage de rang : espèces seulement VS tout (pas d'autre choix pour l'instant)
//echo "PARAMS: <pre>" . print_r($this->param, true) . "</pre><br/>";
$paramsAvecRangInverse = $this->param;
if (array_key_exists('rang', $paramsAvecRangInverse)) {
if ($paramsAvecRangInverse['rang'] == '*') {
unset ($paramsAvecRangInverse['rang']);
} else {
$paramsAvecRangInverse['rang'] = '*';
}
}
//echo "PARAMS INV: <pre>" . print_r($paramsAvecRangInverse, true) . "</pre><br/>";
$this->donneesTpl['urlInverse'] = $this->urls->obtenirUrlResultat($donnees['typeResultat'], $paramsAvecRangInverse);
//echo "URL INV: " . $this->donneesTpl['urlInverse'] . "<br/>";
 
$donnees['i18n']['nv'] = I18n::get('Resultat-onglets-nv');
$donnees['i18n']['ns'] = I18n::get('Resultat-onglets-ns');
$this->donneesTpl['ongletsHtml'] = $this->getVue('onglets', $donnees);
189,8 → 216,39
$this->donneesTpl['nbreTaxons'] = $this->resultats['entete']['total'];
}
 
// Filtre selon le rang à afficher (espèce, genre... tout)
// et renvoie le nombre de taxons réellement affichés
private function filtrer() {
$nbTaxAff = 0;
if ($this->parametres->rang != null) {
foreach ($this->resultats['resultat'] as $c => $v) {
$numRang = substr($v['rang.code'], strrpos($v['rang.code'], ':') +1);
if ($numRang != $this->parametres->rang) {
unset($this->resultats['resultat'][$c]);
} else {
$nbTaxAff++;
}
}
} else {
$nbTaxAff = $this->resultats['entete']['total'];
}
return $nbTaxAff;
}
 
private function chargerNomsFormates() {
if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt mise en forme des noms");
 
// Filtre selon $this->parametres['rang'] pour afficher seulement un rang, ou bien tous
// Valable uniquement pour la recherche par nom scientifique
//echo "<pre>".print_r($this->parametres, true)."</pre>";
if ($this->parametres->typeNom == 'nom_scientifique') {
$this->donneesTpl['nombreTaxonsAffiches'] = $this->filtrer();
$this->donneesTpl['rang'] = $this->parametres->rang;
} else {
$this->donneesTpl['nombreTaxonsAffiches'] = $this->donneesTpl['nbreTaxons'];
}
$this->donneesTpl['typeNom'] = $this->parametres->typeNom;
 
$formateur = ResultatFormateurFabrique::creer($this->parametres, $this->resultats);
if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt formatage des noms");
$formateur->formater();
/trunk/modules/resultat/squelettes/decomposition.tpl.html
1,3 → 1,4
<!-- onglet "Tableau" -->
<p>
Rechercher sur
<a href="http://www.theplantlist.org/tpl/search?q=<?=htmlentities($masqueRecherche)?>">
/trunk/modules/resultat/squelettes/liste_noms.tpl.html
1,3 → 1,4
<!-- onglet "Liste" -->
<ol>
<? foreach ($noms as $id => $nom) : ?>
<li>
/trunk/modules/resultat/squelettes/determination_verna.tpl.html
1,3 → 1,4
<!-- onglet "Vignettes noms français" -->
<?php if ($noms) : ?>
<ul id="ef-resultats-nv-determination">
<? foreach ($noms as $nnTaxon => $nom) : ?>
/trunk/modules/resultat/squelettes/determination.tpl.html
1,8 → 1,8
<!-- onglet "Vignettes" -->
<ul id="ef-resultats-determination">
<?php if ($noms) : ?>
 
<? foreach ($noms as $nnTaxon => $nom) : ?>
<li class="zone-resultat">
<div class="nom-sci">
<a class="lien_fiche_eflore" href="<?=$nom['urlFiche']?>" >
/trunk/modules/resultat/squelettes/resultat.tpl.html
1,3 → 1,22
<?php if($typeNom == "nom_scientifique"): ?>
<?php if ($rang == null): ?>
Cet affichage montre tous les résultats.
<a href="<?php echo $urlInverse; ?>">Voir les espèces seulement : cliquez ici</a>
<?php else: ?>
<!-- Cet affichage ne montre que le rang "<?php echo $rang; ?>".-->
Cet affichage ne montre que les espèces.
<a href="<?php echo $urlInverse; ?>">Voir tout (sous-espèces, variétés...) : cliquez ici <!-- <input type="checkbox"/> --></a>
<?php endif; ?>
<br/><br/>
<?php endif; ?>
 
<?=$ongletsHtml?>
<p style="float:right;"><?=$nbreTaxons?> noms trouvés.</p>
 
<p style="float:right;">
<?php if($typeNom == "nom_scientifique"): ?>
<?= $nombreTaxonsAffiches ?> nom<?php echo $nombreTaxonsAffiches > 1 ? 's' : ''; ?> affiché<?php echo $nombreTaxonsAffiches > 1 ? 's' : ''; ?> /
<?php endif; ?>
<?=$nbreTaxons?> nom<?php echo $nbreTaxons > 1 ? 's' : ''; ?> trouvé<?php echo $nbreTaxons > 1 ? 's' : ''; ?>.
</p>
 
<?=$nomsHtml?>
/trunk/modules/resultat/squelettes/liste_noms_verna.tpl.html
1,3 → 1,4
<!-- onglet "Tableau multilingue" -->
<? if ($noms) : ?>
<table>
<tr>
/trunk/modules/resultat/ParametresResultats.php
5,5 → 5,7
public $masqueRecherche = '';
public $reftaxCourant = 'bdtfx';
public $projetImg = 'cel';
/** Si "null", montre tous les résultats. Sinon, ne montre que le rang spécifié, par défaut les espèces (290). */
public $rang = 290;
}
?>
/trunk/bibliotheque/AppUrls.php
88,13 → 88,22
return $parametres;
}
 
public function obtenirUrlResultat($typeResultat, $params = array()) {
$parametres = $this->getParametresUrlResultat();
$parametres['resultat'] = $typeResultat;
$parametres = array_merge($parametres, $params);
$this->urlBase->setRequete($parametres);
$url = $this->urlBase->getURL();
return $url;
}
 
public function obtenirUrlResultatAvanceOnglets($onglet, $params = array()) {
$parametres = $this->getParametresUrlRechercheAvancee();
$parametres['resultat'] = $onglet;
$parametres = array_merge($parametres, $params);
$this->urlBase->setRequete($parametres);
$url = $this->urlBase->getURL();
return $url;
$parametres = $this->getParametresUrlRechercheAvancee();
$parametres['resultat'] = $onglet;
$parametres = array_merge($parametres, $params);
$this->urlBase->setRequete($parametres);
$url = $this->urlBase->getURL();
return $url;
}
 
public function obtenirUrlRechercheAvancee($params = array()) {
118,7 → 127,7
return $parametres;
}
 
public function obtenirUrlResultatDetermination() {
/*public function obtenirUrlResultatDetermination() {
$parametres = $this->getParametresUrlResultat();
$parametres['resultat'] = 'determination';
$this->urlBase->setRequete($parametres);
148,7 → 157,7
$this->urlBase->setRequete($parametres);
$url = $this->urlBase->getURL();
return $url;
}
}*/
 
public function getParametresUrlFiche() {
$parametres = array(