Rev 168 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.3 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This file is part of eFlore-consultation. |// | |// | Foobar is free software; you can redistribute it and/or modify |// | it under the terms of the GNU General Public License as published by |// | the Free Software Foundation; either version 2 of the License, or |// | (at your option) any later version. |// | |// | Foobar is distributed in the hope that it will be useful, |// | but WITHOUT ANY WARRANTY; without even the implied warranty of |// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |// | GNU General Public License for more details. |// | |// | You should have received a copy of the GNU General Public License |// | along with Foobar; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: eflore_recherche_nomenclature.inc.php,v 1.11 2005-06-09 18:10:25 jpm Exp $/*** Affichage du moteur de recherche nomenclatural et de ses résultats.** Ce script fournit le code html correspondant aux moteurs de recherche nomenclatural et ses résultats.**@package eFlore//Auteur original :*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.11 $ $Date: 2005-06-09 18:10:25 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTÊTE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// Gestion de la session pour le nomif (isset($_SESSION['eflore_nom']) ) {if (isset($_REQUEST['eflore_nom']) AND $_SESSION['eflore_nom'] != $_REQUEST['eflore_nom']) {$_SESSION['eflore_nom'] = $_REQUEST['eflore_nom'];}} else {if (isset($_REQUEST['eflore_nom'])) {$_SESSION['eflore_nom'] = $_REQUEST['eflore_nom'];} else {$_SESSION['eflore_nom'] = '';}}// Gestion de la session pour le référencielif (isset($_SESSION['eflore_referenciel']) ) {if (isset($_REQUEST['eflore_referenciel']) AND $_SESSION['eflore_referenciel'] != $_REQUEST['eflore_referenciel']) {$_SESSION['eflore_referenciel'] = $_REQUEST['eflore_referenciel'];}} else {if (isset($_REQUEST['eflore_referenciel'])) {$_SESSION['eflore_referenciel'] = $_REQUEST['eflore_referenciel'];} else {$_SESSION['eflore_referenciel'] = 3;}}// Gestion de la session pour le type du nomif (isset($_SESSION['eflore_type_nom']) ) {if (isset($_REQUEST['eflore_type_nom']) AND $_REQUEST['eflore_type_nom'] == 'nom_scientifique') {$_SESSION['eflore_type_nom_scientifique'] = 'checked="checked"';$_SESSION['eflore_type_nom_vernaculaire'] = '';} elseif (isset($_REQUEST['eflore_type_nom']) AND $_REQUEST['eflore_type_nom'] == 'nom_vernaculaire') {$_SESSION['eflore_type_nom_vernaculaire'] = 'checked="checked"';$_SESSION['eflore_type_nom_scientifique'] = '';}} else {if (isset($_REQUEST['eflore_type_nom']) AND $_REQUEST['eflore_type_nom'] == 'nom_scientifique') {$_SESSION['eflore_type_nom_scientifique'] = 'checked="checked"';$_SESSION['eflore_type_nom_vernaculaire'] = '';} elseif (isset($_REQUEST['eflore_type_nom']) AND $_REQUEST['eflore_type_nom'] == 'nom_vernaculaire') {$_SESSION['eflore_type_nom_vernaculaire'] = 'checked="checked"';$_SESSION['eflore_type_nom_scientifique'] = '';} else {$_SESSION['eflore_type_nom_scientifique'] = 'checked="checked"';$_SESSION['eflore_type_nom_vernaculaire'] = '';}}// +------------------------------------------------------------------------------------------------------+// | CORPS du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// Création du formulaire// Ajout du paramêtre action à l'url courante.$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_ACTION, EFLORE_LG_URL_ACTION_RECH_NOM);$contenu = file_get_contents(EFLORE_URL_FORM_NOM);//Analyse du squeletterequire_once 'HTML/Template/ITX.php';$squelette = new HTML_Template_ITX();$squelette->setTemplate($contenu, FALSE, FALSE);// Indique l'url pour obtenir fiche d'un nom$squelette->setCurrentBlock('corps');// Ajout du paramêtre action à l'url courante.$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_ACTION, EFLORE_LG_URL_ACTION_RECH_NOM);$squelette->setVariable('UrlProjetNom', $GLOBALS['_EFLORE_']['url']->getURL());$GLOBALS['_EFLORE_']['url']->removeQueryString(EFLORE_LG_URL_ACTION);// Valeur du champ nom par défaut$squelette->setVariable('eflore_nom', $_SESSION['eflore_nom']);// Type nom scientifique coché par défaut$squelette->setVariable('eflore_type_nom_scientifique', $_SESSION['eflore_type_nom_scientifique']);// Type nom verna non coché par défaut$squelette->setVariable('eflore_type_nom_vernaculaire', $_SESSION['eflore_type_nom_vernaculaire']);// Référentiel sélectionné par défaut$squelette->setCallbackFunction('selectionnerEfloreRef', 'selectionnerEfloreRef');$squelette->performCallback();$squelette->parseCurrentBlock('corps');// Récupère le bloc "corps"$sortie .= $squelette->get('corps');// --------------------------------------------------------------------------------------------------------// Lancement de la rechercheif (isset($_REQUEST['eflore_nom']) && $_REQUEST['eflore_nom'] != '' && !eregi("^%{1,}$", $_REQUEST['eflore_nom']) ) {// Formatage de la chaine à rechercher$_REQUEST['eflore_nom'] = '%'.str_replace(' ', '%', $_REQUEST['eflore_nom']).'%';if ($_REQUEST['eflore_type_nom'] == 'nom_scientifique') {// Recherche sur les noms scientifiquesif ($_REQUEST['eflore_referenciel'] != 0) {$contenu = file_get_contents(sprintf(EFLORE_URL_LISTE_NOM_LATIN_REF, rawurlencode($_REQUEST['eflore_nom']), rawurlencode($_REQUEST['eflore_referenciel'])));} else {$contenu = file_get_contents(sprintf(EFLORE_URL_LISTE_NOM_LATIN, rawurlencode($_REQUEST['eflore_nom'])));}//Analyse du squeletterequire_once 'HTML/Template/ITX.php';$squelette = new HTML_Template_ITX();$squelette->setTemplate($contenu, FALSE, FALSE);// Indique l'url pour obtenir fiche d'un nom$squelette->setCurrentBlock('corps');// Ajout du paramêtre action à l'url courante.$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_ACTION, EFLORE_LG_URL_ACTION_FICHE);$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_ONGLET, EFLORE_LG_URL_ONGLET_SYNTHESE);$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_NN, '');$squelette->setVariable('UrlFicheNom', $GLOBALS['_EFLORE_']['url']->getURL());$squelette->setCallbackFunction('UrlFicheNom', 'remplacerUrlFicheNom');$squelette->performCallback();$squelette->parseCurrentBlock('corps');// Récupère le bloc "corps"$sortie .= $squelette->get('corps');} else if ($_REQUEST['eflore_type_nom'] == 'nom_vernaculaire') {// Recherche sur les noms vernaculaires$contenu = file_get_contents(sprintf(EFLORE_URL_LISTE_NOM_VERNA, rawurlencode($_REQUEST['eflore_nom'])));//Analyse du squeletterequire_once 'HTML/Template/ITX.php';$squelette = new HTML_Template_ITX();$squelette->setTemplate($contenu, FALSE, FALSE);// Indique l'url pour obtenir fiche d'un nom$squelette->setCurrentBlock('corps');$squelette->setCallbackFunction('UrlFicheNom', 'remplacerUrlFicheNom');$squelette->performCallback();$squelette->parseCurrentBlock('corps');// Récupère le bloc "corps"$sortie .= $squelette->get('corps');}}// +------------------------------------------------------------------------------------------------------+// | LISTE des FONCTIONS |// +------------------------------------------------------------------------------------------------------+function remplacerUrlFicheNom($arguments) {$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_ACTION, EFLORE_LG_URL_ACTION_FICHE);$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_ONGLET, EFLORE_LG_URL_ONGLET_SYNTHESE);$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_NN, $arguments[0]);$GLOBALS['_EFLORE_']['url']->addQueryString(EFLORE_LG_URL_NVP, $arguments[1]);return $GLOBALS['_EFLORE_']['url']->getURL();}function selectionnerEfloreRef($arguments) {$retour = '';if (isset($arguments[0]) AND $arguments[0] == $_SESSION['eflore_referenciel']) {// N° de la version par défaut de la BDNFF$retour = 'selected="selected"';}return $retour;}/* +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* Revision 1.10 2005/05/19 07:40:06 jpm* Modification mineure syntaxe.** Revision 1.9 2005/03/15 12:57:16 jpm* Modification du code XHTML.** Revision 1.8 2005/02/28 15:38:47 jpm* Correction erreur due à un changement de nom.** Revision 1.7 2005/02/23 12:39:27 jpm* Correction bogue lié à QuickForm.** Revision 1.6 2005/02/22 19:27:10 jpm* Changement de nom de variables.* Suppression de l'attribut nam de la balise form via une méthode de HTML_Common.** Revision 1.5 2005/02/22 17:43:53 jpm* Suppression de référence posant problème.** Revision 1.4 2005/02/15 13:00:23 jpm* Ajout d'un test pour initialiser une variable.** Revision 1.3 2005/01/28 19:47:55 jpm* Ajout de la recherche pour les taxons.** Revision 1.2 2005/01/03 19:44:40 jpm* Ajout de la gestion de l'action "fiche".** Revision 1.1 2004/12/23 20:05:17 jpm* Début prise en maine eflore-consultation.*** +-- Fin du code ----------------------------------------------------------------------------------------+*/?>