Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 170 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.0.3                                                                                    |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eRibo.                                                                          |
// |                                                                                                      |
// | 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: recherche_nom_latin_xhtml.php,v 1.7 2005-06-30 15:25:07 jpm Exp $
/**
* Vue affichant la liste des noms latins correspondant à un radical recherché.
*
* Permet de retourner le html correspondant à la liste des noms latins correspondant à un radical recherché.
*
*@package eFlore
*@subpackage Vues
//Auteur original :
*@author        Frédéric LEGENS <flegens@free.fr>
//Autres auteurs :
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright     Tela-Botanica 2000-2004
*@version       $Revision: 1.7 $ $Date: 2005-06-30 15:25:07 $
// +------------------------------------------------------------------------------------------------------+
*/

// +------------------------------------------------------------------------------------------------------+
// |                                            ENTETE du PROGRAMME                                       |
// +------------------------------------------------------------------------------------------------------+
/* Inclusion du fichier permettant de gérer l'encodage des noms vernaculaires*/
require_once EFSE_CHEMIN_FONCTION.'eribo_encodage.fonct.php';
/* Variable stockant le nombre de noms latins actuellement affichés*/
$GLOBALS['_NOM_LATIN_']['num'] = 0;
/* Variable permettant de savoir si on a déjà afficher l'entête de la liste des noms latins*/
$GLOBALS['_NOM_LATIN_']['tete'] = true;
/* Variable permettant de savoir si on a déjà afficher le pied de la liste des noms latins*/
$GLOBALS['_NOM_LATIN_']['pied'] = true;

// +------------------------------------------------------------------------------------------------------+
// |                                            CLASSE de la VUE                                          |
// +------------------------------------------------------------------------------------------------------+
class recherche_nom_latin_xhtml implements iVue {
    
    protected $leBlock;
    
    function __construct($unBlock)
    {
        $this->leBlock = $unBlock;
    }
    
    function serialiser()
    {
        $retour = '<?xml version="1.0" encoding="iso-8859-15" ?>'."\n";
        $retour .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../../../commun/generique/dtd/xhtml1-strict.dtd">'."\n";
        $retour .= '<html xmlns="http://w ww.w3.org/1999/xhtml" lang="fr" >'."\n";
        
        $retour .= '<head>'."\n";
        $retour .= '<!-- BEGIN entete -->'."\n";
        $retour .= '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />'."\n";
        $retour .= '<meta http-equiv="Content-style-type" content="text/css" />'."\n";
        $retour .= '<meta http-equiv="Content-script-type" content="text/javascript />'."\n";
        $retour .= '<meta http-equiv="Content-language" content="fr" />'."\n";
        $retour .= '<title>Liste de noms latins</title>'."\n";
        $retour .= '<!-- END entete -->'."\n";
        $retour .= '</head>'."\n";
        
        $retour .= '<body>'."\n";
        $retour .= '<!-- BEGIN corps -->'."\n";
        $retour .= '<h1>'.'Liste des noms trouvés'.'</h1>'."\n";
        $retour .= '<h2>'.'Résumé de la recherche :'.'</h2>'."\n";
        $retour .= '<dl>'."\n";
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS','afficherRadicalRang');
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS>PROJET_VERSION','afficherResumerRecherche');
        $retour .= '</dl>'."\n";
        $retour .= '<ol>'."\n";
        
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS>NOM_RECHERCHE','afficherNom');
        $retour .= '</ol>'."\n";
        $retour .= '<!-- END corps -->'."\n";
        $retour .= '</body>'."\n";
        $retour .= '</html>'."\n";
        
        // Envoi au navigateur après encodage en entité des caractères posant problème
        echo remplaceEntiteHTLM($retour);
    }
}

// +------------------------------------------------------------------------------------------------------+
// |                                            LISTE des FONCTIONS                                       |
// +------------------------------------------------------------------------------------------------------+
function afficherRadicalRang($donnees)
{
    //$retour = '<pre>'.print_r($donnees, true).'</pre>';
    $retour = '<dt>'.'Radical : '.'</dt>'."\n";
    $retour .= '<dd>'.$donnees['radical'].'</dd>'."\n";
    if ($donnees['rang'] != '' || $donnees['rang'] != 0) {
        $retour .= '<dt>'.'Rang : '.'</dt>'."\n";
        $retour .= '<dd>'.$donnees['rang'].'</dd>'."\n";
    }

    return $retour;
}

function afficherResumerRecherche($donnees)
{
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
    $retour = '';
    if (!empty($donnees['epr_intitule_projet'])) {
        $retour .= '<dt>'.'Référentiel : '.'</dt>'."\n";
        $retour .= '<dd>'.$donnees['epr_intitule_projet'].' - Version : '.$donnees['eprv_code_version'].'</dd>'."\n";
    }
    return $retour;
}
function afficherListeEntete($donnees)
{
    $retour = '';
    if ($GLOBALS['_NOM_LATIN_']['tete'] == true) {
        $GLOBALS['_NOM_LATIN_']['tete'] = false;
        $retour .= '<ol>'."\n";
    }
    return $retour;
}
function afficherNom($donnees)
{
    //$retour = '<pre>'.print_r($donnees, true).'</pre>';
    ++$GLOBALS['_NOM_LATIN_']['num'];
    $retour = '<li>';
    if (isset($donnees['esn_ce_statut'])) {
        if ($donnees['esn_ce_statut'] == 3) {//Nom retenu
            $retour .= '<strong><a href="func_UrlFicheNom('.$donnees['en_id_nom'].', '.$donnees['esn_id_version_projet_taxon'].')">'.$donnees['eni_intitule_nom'].'</a></strong>';
        } else {
            $retour .= '<a href="func_UrlFicheNom('.$donnees['en_id_nom'].', '.$donnees['esn_id_version_projet_taxon'].')">'.$donnees['eni_intitule_nom'].'</a>';
        }
    } else {
        $retour .= '<a href="{UrlFicheNom}'.$donnees['en_id_nom'].'">'.$donnees['eni_intitule_nom'].'</a>';
    }
    $retour .= '</li>'."\n";
    return $retour;
}
function afficherListePied($donnees)
{
    $retour = '';
    if ($GLOBALS['_NOM_LATIN_']['pied'] == true) {
        $GLOBALS['_NOM_LATIN_']['pied'] = false;
        $retour .= '</ol>'."\n";
    }
    return $retour;
}
function afficherMessage($donnees = array())
{
    $retour = '';
    if ($GLOBALS['_NOM_LATIN_']['num'] == 0) {
        $retour .= '<p class="information">'.'Aucun nom latin ne correspond à ce radical!'.'</p>'."\n";
    }
    return $retour;
}
// +------------------------------------------------------------------------------------------------------+
// |                                            PIED du PROGRAMME                                         |
// +------------------------------------------------------------------------------------------------------+


/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.6  2005/06/09 18:09:52  jpm
* Début gestion des référenciels dans la recherche nomenclaturale.
*
* Revision 1.5  2005/03/15 13:45:42  tam
* modifs labels
*
* Revision 1.4  2005/01/28 19:47:09  jpm
* Amélioration du rendu par ajout d'entité à la place des caractères posant pb et changement de l'encodage.
*
* Revision 1.3  2005/01/26 10:45:13  jpm
* Ajout de commentaires d'entête.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>