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_vernaculaire_xhtml.php,v 1.4 2005-06-30 15:25:07 jpm Exp $
/**
* Vue affichant la liste des noms vernaculaire correspondant à un radical recherché.
*
* Permet de retourner le html correspondant à la liste des noms vernaculaires 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.4 $ $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 nom verna actuellement affiché*/
$GLOBALS['_NOM_VERNA_']['num'] = 0;
/* Variable stockant le n° du message à afficher*/
$GLOBALS['_NOM_VERNA_']['message'] = 1;
/* Variable permettant de savoir si on a déjà afficher l'entête du tableau des noms verna*/
$GLOBALS['_NOM_VERNA_']['tete'] = true;
/* Variable permettant de savoir si on a déjà afficher le pied du tableau des noms verna*/
$GLOBALS['_NOM_VERNA_']['pied'] = true;

// +------------------------------------------------------------------------------------------------------+
// |                                            CLASSE de la VUE                                          |
// +------------------------------------------------------------------------------------------------------+
class recherche_nom_vernaculaire_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://www.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 vernaculaires'.'</title>'."\n";
        $retour .= '<!-- END entete -->'."\n";
        $retour .= '</head>'."\n";
        
        $retour .= '<body>'."\n";
        $retour .= '<!-- BEGIN corps -->'."\n";
        $retour .= '<h1>'.'Liste des noms vernaculaires'.'</h1>'."\n";
        $retour .= '<h2>'.'Résumé de la recherche :'.'</h2>'."\n";
        $retour .= '<dl>'."\n";
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS_VERNA','afficherRadical');
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS_VERNA>PROJET_VERSION','afficherResumerRecherche');
        $retour .= '</dl>'."\n";
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS_VERNA>VERNACULAIRE_RECHERCHE','afficherTableEntete');
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS_VERNA>VERNACULAIRE_RECHERCHE','afficherNomVerna');
        $retour .= $this->leBlock->afficherPattern('FICHE_LISTE_NOMS_VERNA>VERNACULAIRE_RECHERCHE','afficherTablePied');
        $retour .= afficherMessage();
        $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 afficherRadical($donnees)
{
    //$retour = '<pre>'.print_r($donnees, true).'</pre>';
    $retour = '<dt>'.'Radical : '.'</dt>'."\n";
    $retour .= '<dd>'.$donnees['radical'].'</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 afficherTableEntete($donnees)
{
    $retour = '';
    if (isset($donnees['ev_id_nom_vernaculaire']) AND $GLOBALS['_NOM_VERNA_']['tete'] == true) {
        $GLOBALS['_NOM_VERNA_']['tete'] = false;
        $retour .= '<table id="eflore_table_resultat_nv">'."\n";
        $retour .= '<caption>'.'Liste des noms vernaculaires correspondant au radical recherché'.'</caption>'."\n";
        $retour .= '<thead>'."\n";
        $retour .= '<tr><th>'.'N°'.'</th><th>'.'Langue'.'</th><th>'.'Pays'.'</th><th>'.'Nom vernaculaire'.'</th><th>'.'Nom latin correspondant'.'</th></tr>'."\n";
        $retour .= '</thead>'."\n";
        $retour .= '<tbody>'."\n";
    }
    return $retour;
}
function afficherNomVerna($donnees)
{
    $retour = '';
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
    if (isset($donnees['ev_id_nom_vernaculaire'])) {
        $GLOBALS['_NOM_VERNA_']['message'] = 0;
        $retour .= '<tr>'."\n";
        $retour .= '<td>'.++$GLOBALS['_NOM_VERNA_']['num'].'</td>'."\n";
        $retour .= '<td><abbr title="'.$donnees['ezg_intitule_principal_zg'].'">'.$donnees['ezg_code_zg'].'</abbr></td>'."\n";
        $retour .= '<td><abbr title="'.$donnees['el_nom_langue_principal'].'">'.$donnees['el_code_langue'].'</abbr></td>'."\n";
        $retour .= '<td>'.$donnees['ev_intitule_nom_vernaculaire'].'</td>'."\n";
        if (isset($donnees['esn_ce_statut'])) {
            if ($donnees['esn_ce_statut'] == 3) {//Nom retenu
                $retour .= '<td><strong><a href="func_UrlFicheNom('.$donnees['en_id_nom'].', '.$donnees['esn_id_version_projet_taxon'].')">'.$donnees['eni_intitule_nom'].'</a></strong></td>';
            } else {
                $retour .= '<td><a href="func_UrlFicheNom('.$donnees['en_id_nom'].', '.$donnees['esn_id_version_projet_taxon'].')">'.$donnees['eni_intitule_nom'].'</a></td>';
            }
        }
        $retour .= '</tr>'."\n";
    }
    return $retour;
}
function afficherTablePied($donnees)
{
    $retour = '';
    if (isset($donnees['ev_id_nom_vernaculaire']) AND $GLOBALS['_NOM_VERNA_']['pied'] == true) {
        $GLOBALS['_NOM_VERNA_']['pied'] = false;
        $retour .= '</tbody>'."\n";
        $retour .= '</table>'."\n";
    }
    return $retour;
}
function afficherMessage($donnees = array())
{
    $retour = '';
    if ($GLOBALS['_NOM_VERNA_']['message'] == 1 AND $GLOBALS['_NOM_VERNA_']['num'] == 0) {
        $retour .= '<p class="information">'.'Les noms vernaculaires de ce référentiel n\'ont pas encore été renseignés!'.'</p>'."\n";
    } elseif ($GLOBALS['_NOM_VERNA_']['num'] == 0) {
        $retour .= '<p class="information">'.'Aucun nom vernaculaire ne correspond à ce radical!'.'</p>'."\n";
    }
    return $retour;
}
// +------------------------------------------------------------------------------------------------------+
// |                                            PIED du PROGRAMME                                         |
// +------------------------------------------------------------------------------------------------------+


/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.3  2005/06/09 18:09:52  jpm
* Début gestion des référenciels dans la recherche nomenclaturale.
*
* Revision 1.2  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.1  2005/01/26 10:45:33  jpm
* Ajout des résultats de recherche par noms vernaculaires.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>