/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/Resultat.php |
---|
81,6 → 81,12 |
$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] != '') { |
161,7 → 176,6 |
$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $this->donneesTpl)); |
} |
private function chargerOnglets() { |
$donnees = array(); |
$donnees['typeResultat'] = $this->parametres->typeResultat; |
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->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['urls']['alphab'] = $this->urls->obtenirUrlResultatAlphab(); |
$donnees['urls']['retenu'] = $this->urls->obtenirUrlResultatRetenu(); |
$donnees['urls']['determination'] = $this->urls->obtenirUrlResultatDetermination(); |
$donnees['urls']['decompo'] = $this->urls->obtenirUrlResultatDecompo(); |
} |
$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/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/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/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/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); |
if (class_exists($Classe)) { |
return new $Classe($parametres, $resultats); |
} else { |
throw new Exception("La classe '$Classe' est introuvable."); |
} |
} |
} |
?> |
/trunk/bibliotheque/AppUrls.php |
---|
88,6 → 88,15 |
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; |
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( |