/trunk/configuration/echoro_config_bdd.inc.php |
---|
New file |
0,0 → 1,76 |
<?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-chorologie. | |
// | | |
// | 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: echoro_config_bdd.inc.php,v 1.3 2005-05-19 07:37:47 jpm Exp $ |
/** |
* Fichier de configuration de la base de données de la chorologie d'eFlore. |
* |
* Fichier contenant des constantes permettant de stocker les informations de configuration de la base de données |
* de l'application eFlore-chorologie. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ $Date: 2005-05-19 07:37:47 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage de la base de données. |
/** Constante stockant le protocole d'accès à la base de données.*/ |
define('ECHORO_BDD_PROTOCOLE', 'mysql'); |
/** Constante stockant le nom du serveur de bases de données.*/ |
define('ECHORO_BDD_SERVEUR', 'localhost'); |
/** Constante stockant le nom de l'utilisateur de la base de données d'eFlore-chorologie.*/ |
define('ECHORO_BDD_UTILISATEUR', ''); |
/** Constante stockant le mot de passse de l'utilisateur de la base de données d'eFlore-chorologie.*/ |
define('ECHORO_BDD_MOT_DE_PASSE', ''); |
/** Constante stockant le nom de la base de données d'eFlore-chorologie.*/ |
define('ECHORO_BDD_NOM', ''); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage de la valeur du DSN pour Pear DB. |
/** Constante stockant le DSN permetant de se connecter à la base de données d'eFlore-chorologie.*/ |
define('ECHORO_DSN', ECHORO_BDD_PROTOCOLE.'://'.ECHORO_BDD_UTILISATEUR.':'.ECHORO_BDD_MOT_DE_PASSE.'@'.ECHORO_BDD_SERVEUR.'/'.ECHORO_BDD_NOM); |
/** Constante stockant le DSN permetant de se connecter aux serveurs des bases de données d'eFlore-chorologie.*/ |
define('ECHORO_DSN_SANS_BDD', ECHORO_BDD_PROTOCOLE.'://'.ECHORO_BDD_UTILISATEUR.':'.ECHORO_BDD_MOT_DE_PASSE.'@'.ECHORO_BDD_SERVEUR); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2005/02/22 19:36:55 jpm |
* Ajout de constantes de configuration. |
* |
* Revision 1.1 2005/02/22 12:02:41 jpm |
* Ajout des fichiers de configuration de l'application. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/configuration/echoro_config.inc.php |
---|
New file |
0,0 → 1,358 |
<?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-chorologie. | |
// | | |
// | 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: echoro_config.inc.php,v 1.7 2006-05-31 14:43:35 jp_milcent Exp $ |
/** |
* Fichier de configuration de la chorologie d'eFlore. |
* |
* Fichier contenant des constantes et des variables globales permettant de configurer eFlore-chorologie. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2006-05-31 14:43:35 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
/** Definition de la variable globale d'eFlore.*/ |
$GLOBALS['_ECHORO_'] = array(); |
/** Constante stockant une URL de base de l'application recherche de plante sous forme d'objet Pear URL.*/ |
$GLOBALS['_ECHORO_']['url'] = $GLOBALS['_GEN_commun']['url']; |
/** Constante stockant l'URL de base du site sous forme d'objet Pear URL.*/ |
$GLOBALS['_ECHORO_']['url_base'] =& new Net_URL('http://'.$_SERVER['HTTP_HOST'].'/'); |
// +------------------------------------------------------------------------------------------------------+ |
// Définition des chemins de fichiers. |
/** Constante stockant le chemin de base de l'application de chorologie.*/ |
define('ECHORO_CHEMIN_APPLI', GEN_CHEMIN_CLIENT.'eflore_chorologie/'); |
/** Constante stockant le chemin absolu de base de l'application de chorologie.*/ |
define('ECHORO_CHEMIN_ABSO_APPLI', PAP_CHEMIN_RACINE.GEN_CHEMIN_CLIENT.'eflore_chorologie/'); |
/** Constante stockant le chemin vers le dossier "autres" de l'API général de Papyrus.*/ |
define('ECHORO_CHEMIN_API_AUTRE', GEN_CHEMIN_API.'autres/'); |
/** Constante stockant le chemin vers le dossier "PEAR" de l'API général de Papyrus.*/ |
define('ECHORO_CHEMIN_API_PEAR', PAP_CHEMIN_API_PEAR); |
/** Constante stockant le chemin vers le dossier "fragmenteur" de l'API.*/ |
define('ECHORO_CHEMIN_API_FRAGMENTEUR', GEN_CHEMIN_API.'fragmenteur/'); |
/** Constante stockant le chemin vers le dossier "formulaire" de l'API.*/ |
define('ECHORO_CHEMIN_API_FORMULAIRE', GEN_CHEMIN_API.'formulaire/'); |
/** Constante stockant le chemin vers le dossier bibliothèque.*/ |
define('ECHORO_CHEMIN_BIBLIO', ECHORO_CHEMIN_APPLI.'bibliotheque/'); |
/** Constante stockant le chemin absolu vers le dossier bibliothèque.*/ |
define('ECHORO_CHEMIN_ABSO_BIBLIO', ECHORO_CHEMIN_ABSO_APPLI.'bibliotheque/'); |
/** Constante stockant le chemin vers le dossier bibliothèque de la cartographie.*/ |
define('ECHORO_CHEMIN_BIBLIO_CARTO', ECHORO_CHEMIN_BIBLIO.'cartographie/'); |
/** Constante stockant le chemin absolu vers le dossier bibliothèque de la cartographie.*/ |
define('ECHORO_CHEMIN_ABSO_BIBLIO_CARTO', ECHORO_CHEMIN_ABSO_BIBLIO.'cartographie/'); |
/** Constante stockant le chemin vers le dossier des images png de la bibliothèque cartographique.*/ |
define('ECHORO_CHEMIN_CARTE', ECHORO_CHEMIN_BIBLIO_CARTO.'cartes/'); |
/** Constante stockant le chemin vers le dossier présentation.*/ |
define('ECHORO_CHEMIN_PRESENTATION', ECHORO_CHEMIN_APPLI.'presentations/'); |
/** Constante stockant le chemin vers le dossier des langues.*/ |
define('ECHORO_CHEMIN_LANGUE', ECHORO_CHEMIN_APPLI.'langues/'); |
/** Constante stockant le chemin vers le dossier styles.*/ |
define('ECHORO_CHEMIN_STYLE', ECHORO_CHEMIN_PRESENTATION.'styles/'); |
/** Constante stockant le chemin vers le dossier script.*/ |
define('ECHORO_CHEMIN_SCRIPT', ECHORO_CHEMIN_PRESENTATION.'scripts/'); |
/** Constante stockant le chemin vers le dossier images.*/ |
define('ECHORO_CHEMIN_IMAGE', ECHORO_CHEMIN_PRESENTATION.'images/'); |
// +------------------------------------------------------------------------------------------------------+ |
// Définition de fichiers |
/** Constante stockant le nom du fichier de la carte de France des départements.*/ |
define('ECHORO_FICHIER_CARTE_FR_DPT', 'france.png'); |
/** Constante stockant le nom du fichier de la carte de France des départements.*/ |
define('ECHORO_FICHIER_CARTE_FR_DPT_MASQUE', 'france_masque.png'); |
// +------------------------------------------------------------------------------------------------------+ |
// Définition de chemin d'accès et de nom de fichier pour la Cartographie |
/** Constante stockant le chemin d'accès et le nom du fichier récupérant l'image de la carte et la renvoyant au client.*/ |
define('CAR_CHEMIN_CARTE', ECHORO_CHEMIN_BIBLIO_CARTO.'carto.php?session_name='.session_name().ini_get('arg_separator.output').'session_id='.session_id()); |
/** Constante stockant le chemin d'accès et le nom du fichier récupérant l'image de la carte et la renvoyant au client.*/ |
define('CAR_CHEMIN_TMP', ECHORO_CHEMIN_ABSO_BIBLIO_CARTO.'cartes_tmp/'); |
// +------------------------------------------------------------------------------------------------------+ |
// Définition de la langue |
/** Constante stockant la langue utilisée pour l'application.*/ |
define('ECHORO_LANGUE', substr($GLOBALS['_GEN_commun']['i18n'], 0, 2)); |
/** Constantes liées à l'utilisation des url*/ |
//define('BASE_URL', 'http://'.$_SERVER["HTTP_HOST"].'/');//URL de base. Exemple: http://www.tela-botanica.org/ |
//define('URL_DOCUMENT','document.php?project='.$GS_GLOBAL['project'].'&locale='.$GS_GLOBAL['locale'].'&doc='.$GS_GLOBAL['document_row']->D_NAME.'&page='.$GS_GLOBAL['current_page_ndx']);//l'url de base de l'apllication |
/** Constantes liées à l'utilisation de la carto */ |
define('ID_CARTE_FR_DPT', 'france');//Identifiant de la carte des départements français |
define('ID_ZONE_GEO_CARTE_FR_DPT', 'fr');//Identifiant de la zone géographique qui correspond à la carte des départements français |
define('NOM_CARTE_FR_DPT', 'France');//Identifiant de la carte des départements français |
/** Constantes définissants les couleurs minimum, medium et maximum des cartes */ |
define('COULEUR_ZERO_R', 255); |
define('COULEUR_ZERO_V', 255); |
define('COULEUR_ZERO_B', 255); |
define('COULEUR_MINI_R', 244); |
define('COULEUR_MINI_V', 237); |
define('COULEUR_MINI_B', 249); |
define('COULEUR_MEDIUM_R', 208); |
define('COULEUR_MEDIUM_V', 171); |
define('COULEUR_MEDIUM_B', 225); |
define('COULEUR_MAXI_R', 132); |
define('COULEUR_MAXI_V', 4); |
define('COULEUR_MAXI_B', 186); |
/** Constantes définissants les paramétrages du fragmenteur de la recherche alphabétique. */ |
define('NBRE_LIGNE_PAGE_DEFAUT', 100); |
define('NUMERO_LIGNE_DEPART', 0); |
define('AFFICHER_TITRE', 0); |
define('TITRE_FRAGMENTEUR', 'Sélectionner le nombre de taxons à afficher par page'); |
global $choro_dep_TABLEAU_CHOIX_LIGNE_PAGE; |
$choro_dep_TABLEAU_CHOIX_LIGNE_PAGE = array(10,'Afficher les taxons par 10',20,'Afficher les taxons par 20',50,'Afficher les taxons par 50',100,'Afficher les taxons par 100', 200,'Afficher les taxons par 200'); |
define('MODELE_INFO', 'taxon'); |
define('CLASSE_CSS_TITRE', 'echoro_titre'); |
define('CLASSE_CSS_FRAGMENTEUR', 'nav_fragmenteur'); |
define('CLASSE_CSS_INFO', 'echoro_info'); |
/** Constantes de définition de style */ |
define('STYLE_GSITE', 1);//à 1 on utilise le la librairie de style GSITE à O, on doit inclure un fichier CSS dans l'entête |
define('STYLE', 'eflore');//le nom du style à utiliser dans le fichier lib.putstyle.php |
define('COULEUR_LIGNE', 'green');//la couleur utilisée pour les lignes paires de tableau html |
/** Constantes de connexion aux bases de données MySQL */ |
//Il faut mettre dans la constante ci-dessous la même valeur que pour la constante |
//BD_OFFICIEL si on ne veut pas mettre les tables de chorologie dans |
//une base différente. |
define('BD_BOTA','tela_prod_botanica');//Nom de la base des tables de chorologie |
define('BD_GENERALE', 'tela_prod_v4');//Nom de la base des tables de la carto (et éventuellement de chorologie) |
/** Constante de message d'erreur lors du débogage d'application */ |
define('STYLE_REQUETE', 'text-align: left; font-weight: bold; font-size: 26px;');//Le style du titre des messages d'erreur des requetes |
define('ER_CONNECT', 'Impossible de se connecter à :'.ECHORO_BDD_SERVEUR.'.');//Le message d'erreur de connection |
define('ER_SEL_BD_GENERALE', 'Impossible de sélectionner la base '.BD_GENERALE.'.');//Le message d'erreur de sélection de BD_GENERALE |
define('ER_SEL_BD_BOTA', 'Impossible de sélectionner la base '.BD_BOTA.'.');//Le message d'erreur de sélection de BD_BOTA |
/** Constantes des noms de champs de la table MySQL : carto_DEPARTEMENT_FR */ |
define('CD_BD_TABLE', BD_GENERALE.'.carto_DEPARTEMENT'); |
define('CD_NOM_TABLE', 'carto_DEPARTEMENT'); |
define('CD_ID', 'CD_ID_Departement'); |
define('CD_NOM', 'CD_Intitule_departement'); |
define('CD_R', 'CD_Couleur_R'); |
define('CD_V', 'CD_Couleur_V'); |
define('CD_B', 'CD_Couleur_B'); |
define('CD_PAYS', 'CD_ID_Pays'); |
/** Constantes des noms de champs de la table MySQL : carto_ACTION */ |
define('CA_BD_TABLE', BD_GENERALE.'.carto_ACTION'); |
define('CA_NOM_TABLE', 'carto_ACTION'); |
define('CA_PROJET', 'CA_ID_Projet_Carto'); |
define('CA_CARTE', 'CA_ID_Carte'); |
define('CA_ZG', 'CA_ID_Zone_geo'); |
define('CA_TYPE_ZG', 'CA_Type_zone'); |
define('CA_ACTION', 'CA_Action'); |
define('CA_CARTE_DESTINATION', 'CA_ID_Carte_destination'); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_CHOROLOGIE_DEPARTEMANTALE |
//================================================================================== |
*/ |
define("ECD_BD_TABLE", BD_BOTA.".EFLORE_CHOROLOGIE_DEPARTEMENTALE"); |
define("ECD_NOM_TABLE","EFLORE_CHOROLOGIE_DEPARTEMENTALE"); |
define("ECD_DEP","ECD_ID_Departement"); |
define("ECD_NUM_TAXO","ECD_ID_Numero_taxonomique"); |
define("ECD_NUM_NOMEN","ECD_ID_Numero_nomenclatural"); |
define("ECD_INDICE","ECD_ID_Indice_rarete"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_ANT_CHOROLOGIE |
//================================================================================== |
*/ |
define('EAC_BD_TABLE', BD_BOTA.'.EFLORE_ANT_CHOROLOGIE'); |
define('EAC_NOM_TABLE','EFLORE_ANT_CHOROLOGIE'); |
define('EAC_DEP','ECD_ID_Zone_geographique'); |
define('EAC_NUM_TAXO','ECD_ID_Numero_taxonomique'); |
define('EAC_NUM_NOMEN','ECD_ID_Numero_nomenclatural'); |
define('EAC_STATUT','ECD_ID_Statut'); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_REU_CHOROLOGIE |
//================================================================================== |
*/ |
define('ERC_BD_TABLE', BD_BOTA.'.EFLORE_REU_CHOROLOGIE'); |
define('ERC_NOM_TABLE','EFLORE_REU_CHOROLOGIE'); |
define('ERC_DEP','ECD_ID_Zone_geographique'); |
define('ERC_NUM_TAXO','ECD_ID_Numero_taxonomique'); |
define('ERC_NUM_NOMEN','ECD_ID_Numero_nomenclatural'); |
define('ERC_STATUT','ECD_ID_Statut'); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_CHOROLOGIE_STATUTS |
//================================================================================== |
*/ |
define("ECS_BD_TABLE", BD_BOTA.".EFLORE_CHOROLOGIE_STATUTS"); |
define("ECS_NOM_TABLE","EFLORE_CHOROLOGIE_STATUTS"); |
define("ECS_ID","ECS_ID_Statut"); |
define("ECS_INTITULE","ECS_Intitule_statut"); |
define("ECS_ABREV","ECS_Abreviation_statut"); |
define("ECS_DESCRIPTION","ECS_Description_statut"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_CHOROLOGIE_CORRESPONDANTS |
//================================================================================== |
*/ |
define("ECC_BD_TABLE", BD_BOTA.".EFLORE_CHOROLOGIE_CORRESPONDANTS"); |
define("ECC_NOM_TABLE","EFLORE_CHOROLOGIE_CORRESPONDANTS"); |
define("ECC_ID","ECC_ID_Correspondant"); |
define("ECC_PRENOM","ECC_Prenom_correspondant"); |
define("ECC_NOM","ECC_Nom_correspondant"); |
define("ECC_COURRIEL","ECC_Courriel_correspondant"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_CHOROLOGIE_DEP_CORRES |
//================================================================================== |
*/ |
define("ECDC_BD_TABLE", BD_BOTA.".EFLORE_CHOROLOGIE_DEP_CORRES"); |
define("ECDC_NOM_TABLE","EFLORE_CHOROLOGIE_DEP_CORRES"); |
define("ECDC_DEP","ECDC_ID_Departement"); |
define("ECDC_CORRES","ECDC_ID_Correspondant"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_CHOROLOGIE_DEP_SOURCES |
//================================================================================== |
*/ |
define("ECDS_BD_TABLE", BD_BOTA.".EFLORE_CHOROLOGIE_DEP_SOURCE"); |
define("ECDS_NOM_TABLE","EFLORE_CHOROLOGIE_DEP_SOURCE"); |
define("ECDS_DEP","ECDS_ID_Departement"); |
define("ECDS_SOURCE","ECDS_ID_Source_biblio"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_CHOROLOGIE_SOURCES |
//================================================================================== |
*/ |
define("ECSO_BD_TABLE", BD_BOTA.".EFLORE_CHOROLOGIE_SOURCES"); |
define("ECSO_NOM_TABLE","EFLORE_CHOROLOGIE_SOURCES"); |
define("ECSO_ID","ECSO_ID_Source_biblio"); |
define("ECSO_REF","ECSO_Reference_biblio"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_ZG_DEPARTEMENTS |
//================================================================================== |
*/ |
define("EZD_BD_TABLE", BD_BOTA.".EFLORE_ZG_DEPARTEMENTS"); |
define("EZD_NOM_TABLE","EFLORE_ZG_DEPARTEMENTS"); |
define("EZD_ID","EZD_ID_Departement"); |
define("EZD_NOM","EZD_Nom_departement"); |
define("EZD_REG","EZD_ID_Region"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_NOMS_TAXONS |
//================================================================================== |
*/ |
define("ENT_BD_TABLE", BD_BOTA.".EFLORE_NOMS_TAXONS"); |
define("ENT_NOM_TABLE","EFLORE_NOMS_TAXONS"); |
define("ENT_NUM_TAXO","Num_taxonomique"); |
define("ENT_NUM_NOMEN","Num_nomenclatural"); |
define("ENT_NOM","Nom"); |
define("ENT_NOM_AUTEUR","Auteur"); |
define("ENT_TYPE_SUB_SP","Type_ss_espece"); |
define("ENT_NOM_SUB_SP","Nom_ss_espece"); |
define("ENT_AUTEUR_SUB_SP","Auteur_ss_espece"); |
define("ENT_TYPE_INFRA_2","Type_infra_2"); |
define("ENT_NOM_INFRA_2","Nom_infra_2"); |
define("ENT_AUTEUR_INFRA_2","Auteur_infra_2"); |
define("ENT_TYPE_INFRA_3","Type_infra_3"); |
define("ENT_NOM_INFRA_3","Nom_infra_3"); |
define("ENT_AUTEUR_INFRA_3","Auteur_infra_3"); |
define("ENT_ANNEE","Annee"); |
define("ENT_NOM_COMPLET","Nom_complet"); |
define("ENT_NOM_COMPLET_01","Nom_complet_01"); |
define("ENT_NOM_COMPLET_02","Nom_complet_02"); |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_ANT_NOMS_TAXONS |
//================================================================================== |
*/ |
define('EANT_BD_TABLE', BD_BOTA.'.EFLORE_ANT_NOMS_TAXONS'); |
define('EANT_NOM_TABLE','EFLORE_ANT_NOMS_TAXONS'); |
//Pour les noms de champs utiliser ceux de la table EFLORE_NOMS_TAXONS |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_REU_NOMS_TAXONS |
//================================================================================== |
*/ |
define('ERNT_BD_TABLE', BD_BOTA.'.EFLORE_REU_NOMS_TAXONS'); |
define('ERNT_NOM_TABLE','EFLORE_REU_NOMS_TAXONS'); |
//Pour les noms de champs utiliser ceux de la table EFLORE_NOMS_TAXONS |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de champs de la table MySQL EFLORE_REU_CHOROLOGIE_STATUTS |
//================================================================================== |
*/ |
define("ERCS_BD_TABLE", BD_BOTA.".EFLORE_REU_CHOROLOGIE_STATUTS"); |
define("ERCS_NOM_TABLE","EFLORE_REU_CHOROLOGIE_STATUTS"); |
//Pour les noms de champs utiliser ceux de la table EFLORE_CHOROLOGIE_STATUTS |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2005/05/19 07:37:47 jpm |
* Correction des bogues et derniers réglages avant mise en ligne du site v4. |
* |
* Revision 1.5 2005/03/15 15:10:32 jpm |
* Ajout du chemin vers l'API formulaire. |
* |
* Revision 1.4 2005/02/28 15:37:08 jpm |
* Changement de nom de dossier d'API. |
* |
* Revision 1.3 2005/02/23 17:30:14 jpm |
* Modification de valeurs de constantes. |
* |
* Revision 1.2 2005/02/22 19:36:55 jpm |
* Ajout de constantes de configuration. |
* |
* Revision 1.1 2005/02/22 12:02:41 jpm |
* Ajout des fichiers de configuration de l'application. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/cartographie/carto.php |
---|
New file |
0,0 → 1,100 |
<?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 Cartographie. | |
// | | |
// | 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: carto.php,v 1.4 2006-05-31 14:43:35 jp_milcent Exp $ |
/** |
* Fournie une image cartographique. |
* |
* Fichier permettant de récupérer l'image d'une carte créer par la bibliothèque cartographique |
* et de la faire passer dans les entête HTTP. |
* |
*@package Cartographie |
//Auteur original : |
*@author Nicolas MATHIEU |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ $Date: 2006-05-31 14:43:35 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
session_name($_GET['session_name']); |
session_id($_GET['session_id']); |
session_start(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$image = imagecreatefrompng($_SESSION['chemin'].$_SESSION['fichier'].'.png'); |
if (!$image) { |
echo '<pre>'; |
echo session_name()."\n"; |
echo session_id()."\n"; |
echo $_SESSION['chemin'].$_SESSION['fichier'].'.png'."\n"; |
echo '</pre>'; |
trigger_error($image); |
} else { |
header("Expires: Wen, 01 Dec 1999 01:00:00 GMT");// Date du passé |
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");// toujours modifié |
header("Cache-Control: no-cache, must-revalidate");// HTTP/1.1 |
header("Pragma: no-cache"); // HTTP/1.0 |
header ("content-type:image/png"); |
chmod($_SESSION['chemin'].$_SESSION['fichier'].'.png', 755); |
imagepng($image); |
unlink($_SESSION['chemin'].$_SESSION['fichier'].'.png'); |
//Nous nettoyons le dossier tmp des fichiers qu'il contient: |
$poignet_de_dossier = opendir($_SESSION['chemin']); |
while ($fichier_dechet = readdir($poignet_de_dossier)) { |
if ($fichier_dechet != '.' && $fichier_dechet != '..') { |
unlink($_SESSION['chemin'].$fichier_dechet); |
} |
} |
closedir($poignet_de_dossier); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
exit(); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2005/02/22 19:35:08 jpm |
* Fin de gestion des variables via les sessions. |
* |
* Revision 1.2 2005/02/22 16:35:16 jpm |
* Mise en forme. |
* Utilisation de constantes pour les chemins d'accès aux fichiers. |
* Ajout de commentaires. |
* |
* Revision 1.1 2005/02/22 12:02:57 jpm |
* Ajout des fichiers de la bibliothèque cartographique. |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/cartographie/carto_historique.class.php |
---|
New file |
0,0 → 1,131 |
<?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 Cartographie. | |
// | | |
// | 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: carto_historique.class.php,v 1.2 2005-02-22 16:35:16 jpm Exp $ |
/** |
* Classe Carto_Historique. |
* |
* Classe permettant de réaliser des cartes. |
* |
*@package Cartographie |
//Auteur original : |
*@author Nicolas MATHIEU |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-02-22 16:35:16 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Classe Carto_Historique() - Affiche les liens avec les carte précédentes. |
* |
* La classe Carto_Historique sert à pouvoir afficher les liens avec les carte précédentes |
* On accède à cette fonctionnalité grâce à la méthode afficherHistoriqueCarte() |
* L'objet Carto_HistoriqueCarte recoit en parametres : |
* - la généalogie du niveau ou on en est (du type monde*europe*france ) |
* - l'url du document |
* - en option : - le caractere de separation (par defaut c'est >) |
* - la classe css des liens |
*/ |
class Carto_Historique |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// LES ATTRIBUTS DE LA CLASSE |
var $historique; |
var $url; |
var $caractere_separation; |
var $class_css; |
var $nom; |
// +--------------------------------------------------------------------------------------------------+ |
// LE CONSTRUCTEUR DE LA CLASSE |
/** |
* Constructeur Carto_Historique() |
* |
* Constructeur initialisant les attributs de la classe Carto_Historique(). |
*/ |
function Carto_Historique($objet_carte, $caractere = '>', $class = '') |
{ |
$this->historique = $objet_carte->historique; |
$this->url = $objet_carte->url; |
$this->nom = $objet_carte->nom; |
unset ($objet_carte); |
$this->caractere_separation = $caractere; |
$this->class_css = $class; |
}//Fin du constructeur Carto_Historique(). |
// +--------------------------------------------------------------------------------------------------+ |
// LES METHODES PUBLIQUES |
function afficherHistoriqueCarte() |
{ |
$res=''; |
$tabonglet = explode ('*', $this->historique); |
$tabnom = explode ('*', $this->nom); |
foreach ($tabonglet as $key=>$value) { |
if ($key == 0) { |
$chemin = $value; |
} |
else { |
$chemin .= '*'.$value; |
} |
$res.= '<a '; |
if (!empty($this->class_css)) { |
$res.='class="'.$this->class_css.'" '; |
} |
$res.='href="'.$this->url.'&historique_cartes='.$chemin.'"> '.$this->caractere_separation.' '.$tabnom[$key].'</a>'; |
} |
return $res; |
}//Fin de la méthode afficherHistoriqueCarte(). |
}//Fin de la classe Carto_Historique. |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/22 12:02:57 jpm |
* Ajout des fichiers de la bibliothèque cartographique. |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/cartographie/carto_action.class.php |
---|
New file |
0,0 → 1,210 |
<?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 Cartographie. | |
// | | |
// | 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: carto_action.class.php,v 1.2 2005-02-22 16:35:16 jpm Exp $ |
/** |
* Classe ActionCarte. |
* |
* Calsse permettant de connaître les actions à réaliser sur une carte. |
* |
*@package Cartographie |
//Auteur original : |
*@author Nicolas MATHIEU |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-02-22 16:35:16 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Classe Carto_Action() - Recueille les infos sur l'action à réaliser pour une zone géo donnée. |
* |
* La classe Carto_Action sert a definir les paramètres nécessaires pour recueillir l'action a réaliser en |
* fonction des coordonnées du point, du masque et du niveau. |
* Elle remplace la fonction get_cartoAction() que l'on peut trouver dans le fichier carto_commun.php |
* des différentes application utilisant la carto. |
* Les champs a renseigner sont les suivants : |
* -le nom de la table ($nom_table_carto_action) où sont stokée les actions à réalisées |
* en fonction des couleurs |
* -les 5 champs principaux de la table : |
* -l'identifiant de la zone géographique (un nom, un numéro ou une abréviation) -> $nom_champ_cle |
* -les couleurs -> $nom_champ_rouge, $nom_champ_vert, $nom_champ_bleu |
* -l'action -> $nom_champ_action |
* Elle possède une seule méthode : get_cartoAction(). |
*/ |
class Carto_Action |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// LES ATTRIBUTS DE LA CLASSE |
var $_table_zone_geo; |
var $_id_zone_geo_zone; |
var $_rouge; |
var $_vert; |
var $_bleu; |
var $_table_action; |
var $_id_carte_action; |
var $_id_zone_geo_action; |
var $_type_zone_geo_action; |
var $_action; |
var $_id_carte_destination; |
// +--------------------------------------------------------------------------------------------------+ |
// LE CONSTRUCTEUR DE LA CLASSE |
/** |
* Constructeur Carto_Action() |
* |
* Constructeur initialisant les attributs de la classe Carto_Action(). |
*/ |
function Carto_Action($info_table_zone_geo, $info_table_action) |
{ |
$this->_table_zone_geo = $info_table_zone_geo['nom_table_zone']; |
$this->_id_zone_geo_zone = $info_table_zone_geo['nom_chp_id_zone']; |
$this->_rouge = $info_table_zone_geo['nom_chp_rouge']; |
$this->_vert = $info_table_zone_geo['nom_chp_vert']; |
$this->_bleu = $info_table_zone_geo['nom_chp_bleu']; |
$this->_table_action = $info_table_action['nom_table_action']; |
$this->_id_carte_action = $info_table_action['nom_chp_id_carte']; |
$this->_id_zone_geo_action = $info_table_action['nom_chp_id_zg_action']; |
$this->_type_zone_geo_action = $info_table_action['nom_chp_type_zg']; |
$this->_action = $info_table_action['nom_chp_action']; |
$this->_id_carte_destination = $info_table_action['nom_chp_id_carte_destination']; |
} |
// +--------------------------------------------------------------------------------------------------+ |
// LES METHODES PRIVÉES |
/** |
* Méthode _consulterActionImage($imageX, $imageY, $masque, $id_carte) |
* |
* Elle renvoit l'action a réaliser. |
* Nous passons les paramètres suivant : |
* -les coordonnees du point ($imageX et $imageY) |
* -le masque pour recuperer la couleur ($masque) |
* -l'identifiant de la carte où nous nous trouvons ($id_carte) |
*/ |
function _consulterActionImage($imageX, $imageY, $masque, $id_carte) |
{ |
// Nous récuperons les valeurs RVB de la couleur sur laquelle l'utilisateur a cliqué. |
// Les valeurs RVB sont stockées dans le tableau associatif $valeurs_RVB. |
$masque_courant = imagecreatefrompng($masque); |
$index_couleur = imagecolorat($masque_courant,$imageX,$imageY); |
$valeurs_RVB = imagecolorsforindex($masque_courant, $index_couleur); |
// Nous effectuons une requete dans la table carto_ACTION pour récupérer la valeur |
// du champ "action", afin de savoir quoi faire. |
$requete = |
'SELECT '.$this->_action.', '.$this->_id_carte_destination.', '.$this->_id_zone_geo_action. |
' FROM '.$this->_table_action.', '.$this->_table_zone_geo. |
' WHERE '.$this->_table_zone_geo.'.'.$this->_rouge.' = '.$valeurs_RVB['red']. |
' AND '.$this->_table_zone_geo.'.'.$this->_vert.' = '.$valeurs_RVB['green']. |
' AND '.$this->_table_zone_geo.'.'.$this->_bleu.' = '.$valeurs_RVB['blue']. |
' AND '.$this->_table_action.'.'.$this->_id_zone_geo_action.' = '.$this->_table_zone_geo.'.'.$this->_id_zone_geo_zone. |
' AND '.$this->_table_action.'.'.$this->_id_carte_action.' = "'.$id_carte.'"'; |
$resultat=mysql_query($requete) or die(' |
<H2 style="text-align: center; font-weight: bold; font-size: 26px;">Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$ligne = mysql_fetch_object ($resultat); |
if (mysql_num_rows ($resultat) != 0) { |
$chp_id_zone_geo = $this->_id_zone_geo_action; |
$chp_action = $this->_action; |
$chp_id_carte_destination = $this->_id_carte_destination; |
$action['id_zone_geo'] = $ligne->$chp_id_zone_geo; |
$action['type_action'] = $ligne->$chp_action; |
$action['id_carte_destination'] = $ligne->$chp_id_carte_destination; |
return $action; |
} |
}//Fin de la méthode _consulterActionImage(). |
/** |
* Méthode _consulterActionListe($id_zone_carte, $id_carte) |
* |
* Elle renvoit l'action a réaliser. |
* Nous passons les paramètres suivant : |
* -l'identifiant de la zone que l'on veut afficher |
* -l'identifiant de la carte où nous nous trouvons ($id_carte) |
*/ |
function _consulterActionListe($id_zone_carte, $id_carte) |
{ |
// Nous effectuons une requete dans la table carto_ACTION pour récupérer la valeur |
// du champ "action", afin de savoir quoi faire. |
$requete = |
'SELECT '.$this->_action.', '.$this->_id_carte_destination.', '.$this->_id_zone_geo_action. |
' FROM '.$this->_table_action.', '.$this->_table_zone_geo. |
' WHERE '.$this->_table_action.'.'.$this->_id_zone_geo_action.' = '.$this->_table_zone_geo.'.'.$this->_id_zone_geo_zone. |
' AND '.$this->_table_zone_geo.'.'.$this->_id_zone_geo_zone.' = "'.$id_zone_carte.'"'. |
' AND '.$this->_table_action.'.'.$this->_id_carte_action.' = "'.$id_carte.'"'; |
$resultat=mysql_query($requete) or die(' |
<H2 style="text-align: center; font-weight: bold; font-size: 26px;">Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$ligne = mysql_fetch_object ($resultat); |
if (mysql_num_rows ($resultat) != 0) { |
$chp_id_zone_geo = $this->_id_zone_geo_action; |
$chp_action = $this->_action; |
$chp_id_carte_destination = $this->_id_carte_destination; |
$action['id_zone_geo'] = $ligne->$chp_id_zone_geo; |
$action['type_action'] = $ligne->$chp_action; |
$action['id_carte_destination'] = $ligne->$chp_id_carte_destination; |
return $action; |
} |
}//Fin de la méthode get_cartoAction(). |
}//Fin de la classe Carto_Action. |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/22 12:02:57 jpm |
* Ajout des fichiers de la bibliothèque cartographique. |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/cartographie/carto_carte.class.php |
---|
New file |
0,0 → 1,821 |
<?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 Cartographie. | |
// | | |
// | 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: carto_carte.class.php,v 1.6 2007-01-08 11:41:13 jp_milcent Exp $ |
/** |
* Classe Carto_Carte. |
* |
* Calsse permettant de réaliser des cartes. |
* |
*@package Cartographie |
//Auteur original : |
*@author Nicolas MATHIEU |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.6 $ $Date: 2007-01-08 11:41:13 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
require 'carto_action.class.php'; |
require 'carto_couleur.class.php'; |
require 'carto_historique.class.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Classe Carto_Carte() - Classe principale de la cartographie. |
* |
* La classe Carto_Carte permet de travailler les fichiers images des cartes. |
*/ |
class Carto_Carte |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// LES ATTRIBUTS DE LA CLASSE |
var $id; |
var $_id_zone_geo_carte; |
var $nom; |
var $masque; |
var $fond; |
var $chemin; |
var $image; |
var $fils; |
var $url; |
var $_info_table_zg; |
var $filiation; |
var $image_x; |
var $image_y; |
var $historique_cartes; |
var $liste_zone_carte; |
var $historique; |
// La couleur dominante ( $maxiRVB ), la couleur la plus claire ($miniRVB) et la couleur |
// intermédiaire précédant le maximum ( $mediumRVB ) au cas ou il y aurait un trop grand |
//ecart entre les deux plus grandes valeurs. |
var $_zeroR; |
var $_zeroV; |
var $_zeroB; |
var $_miniR; |
var $_miniV; |
var $_miniB; |
var $_mediumR; |
var $_mediumV; |
var $_mediumB; |
var $_maxiR; |
var $_maxiV; |
var $_maxiB; |
//Le type de formule mathématique permettant de colorier la carte |
var $_formule_coloriage; |
//L'action à réaliser |
var $_action; |
// +--------------------------------------------------------------------------------------------------+ |
// LE CONSTRUCTEUR DE LA CLASSE |
function Carto_Carte($id, $id_zone_geo_carte, $nom, $masque, $fond, $chemin, $info_table_zg, $info_table_action) |
{ |
$this->id = $id; |
$this->_id_zone_geo_carte = $id_zone_geo_carte; |
$this->nom = $nom; |
$this->masque = $chemin.$masque; |
$this->fond = $chemin.$fond; |
$this->chemin = $chemin; |
$this->_info_table_zg = $info_table_zg; |
$this->_action = new Carto_Action($info_table_zg, $info_table_action); |
$this->fils = array(); |
$this->filiation = $id; |
$this->historique_cartes = ''; |
$this->liste_zone_carte = ''; |
$this->definirCouleurs(); |
$this->definirFormuleColoriage(); |
} |
// +--------------------------------------------------------------------------------------------------+ |
// LES METHODES PUBLIQUES |
function definirCouleurs ( |
$couleur_zero_R = '255', $couleur_zero_V = '255', $couleur_zero_B = '255', |
$couleur_mini_R = '210', $couleur_mini_V = '230', $couleur_mini_B = '210', |
$couleur_medium_R = '92', $couleur_medium_V = '181', $couleur_medium_B = '92', |
$couleur_maxi_R = '0', $couleur_maxi_V = '127', $couleur_maxi_B = '0') |
{ |
$this->_zeroR = $couleur_zero_R; |
$this->_zeroV = $couleur_zero_V; |
$this->_zeroB = $couleur_zero_B; |
$this->_miniR = $couleur_mini_R; |
$this->_miniV = $couleur_mini_V; |
$this->_miniB = $couleur_mini_B; |
$this->_mediumR = $couleur_medium_R; |
$this->_mediumV = $couleur_medium_V; |
$this->_mediumB = $couleur_medium_B; |
$this->_maxiR = $couleur_maxi_R; |
$this->_maxiV = $couleur_maxi_V; |
$this->_maxiB = $couleur_maxi_B; |
} |
function definirFormuleColoriage ($nomFormuleColoriage = 'defaut') |
{ |
$this->_formule_coloriage = $nomFormuleColoriage; |
} |
//******************************************************************************************************** |
// La méthode donnerImageSimple ($objet) permet de récupérer une image non cliquable. |
//********************************************************************************************************* |
function donnerImageSimple($objet) |
{ |
$nom_fichier_image = $this->_donnerIdUnique(); |
$objet->_lancerColoriage('', $nom_fichier_image); |
$retour = '<img src="cartographie/bibliotheque/lib.carto.extractimg.php?fichier='.$nom_fichier_image.'" alt="Carte" />'; |
return $retour; |
} |
//******************************************************************************************************** |
// La methode ajouterFils() est essentielle. Elle permet d'ajouter toutes les sous cartes voulues. |
// Il faut lui indiquer, comme a la carte du niveau du dessus, son nom, le masque, le fond et info_table_couleur. |
// On a ainsi une inclusion d'objets les uns dans les autres. |
//********************************************************************************************************* |
function ajouterFils($id, $id_zone_geo_carte, $nom, $masque, $fond, $info_table) |
{ |
$this->fils[$id] = new Carto_Carte ($id, $id_zone_geo_carte, $nom, $masque, $fond, $this->chemin, $info_table); |
//Si on ajoute à la carte du monde comme fils celle de l'europe, alors |
//on aura comme valeur pour $this->filiation de la carte d'europe : monde*europe |
$this->fils[$id]->filiation = $this->filiation.'*'.$id; |
$this->fils[$id]->url = $this->url; |
//Si on ajoute à la carte du monde dont le nom est 'Monde' comme fils celle de l'europe, |
//dont le nom est 'Europe', alors on aura comme valeur pour $this->nom de la carte d'europe : Monde*Europe |
$this->fils[$id]->nom = $this->nom.'*'.$nom; |
$this->fils[$id]->historique_cartes = $this->historique_cartes; |
} |
//********************************************************************************************************* |
// La methode donnerFormulaireImage() est la methode principale de la carto. C'est elle qui gere ce qu'il y a faire en |
// fonction de l'action de l'utilisateur. |
// Trois cas se distinguent : |
// -soit l'utilisateur a clique sur un point de la carte. |
// -soit il a clique sur un des liens que l'on a afficher avec la méthode afficherHistoriqueCarte de l'objet Carto_HistoriqueCarte. |
// -soit il a sélectionné une zone géographique dans la liste déroulante. |
// Elle renvoit a la fin: |
// -soit une nouvelle carte coloriée |
// -soit false. |
//********************************************************************************************************** |
function donnerFormulaireImage () |
{ |
//global $GS_GLOBAL; |
$res = ''; |
// Nous commençons par tester tout d'abords si nous venons d'une autre carte. Pour cela nous vérifions, |
// si les attributs $this->image_x et $this->image_y de la classe Carte existe ou ne sont pas null. |
// La carte est une image appelée par une balise <input type="image"> et non par une balise classique <img>. |
// Ansi, lorsqu'on clique sur la carte le formulaire appelle (via l'url du formulaire) l'application |
// utilisant la classe carte et lui renvoit deux variables contenant les coordonnées x et y du clic. |
// L'application instancie à nouveau les objets cartes mais cette fois ci la carte affichée dépendra des |
// informations founit par une table de la base de données. |
// La classe carto_action instanciée dans l'application utilisant la classe carte fournit les noms |
// des champs et celui de la table contenant les valeur RVB de chaque zone des cartes, l'identifiant |
// de la zone et l'action à entreprendre pour la zone conssidérée. |
// La méthode imgform() utilise la méthode get_cartoAction() de l'objet Carto_Action pour connaître |
// en fonction des coordonnées du clic l'action à entreprendre. |
// Quoi qu'il arrive, on ouvre la balise formulaire |
$res = '<form id="cartographie" action="'.$this->url.'" method="post">'."\n"; |
$res .= '<p>'; |
if (isset ($this->image_x) && ($this->image_x != '') && isset ($this->image_y) && ($this->image_y != '')) { |
// on regarde ici si l'on a pas un objet de plus bas niveau présent dans la variable de session carte |
//a charger a la place de l'objet de plus haut niveau |
$var_session_retour = $_SESSION['carte']; |
if ($var_session_retour) { |
$image_x = $this->image_x; |
$image_y = $this->image_y; |
$liste_zone_carte = $this->liste_zone_carte; |
// Nous chargons alors l'ojet approprié en descendant grâce a la généalogie |
$historique_cartes = explode('*',$this->historique_cartes); |
foreach ($historique_cartes as $key => $value) { |
if ($key != 0) { |
//$this = $this->fils[$value]; |
foreach (get_object_vars($this->fils[$value]) as $key => $value) { |
$this->$key = $value; |
} |
} |
} |
$this->image_x = $image_x; |
$this->image_y = $image_y; |
$this->liste_zone_carte = $liste_zone_carte; |
unset($_SESSION['carte']) ; |
} |
// on regarde qu'est-ce qu'on doit faire grace a la methode _consulterAction() de l'objet Carto_Action |
$action = $this->_action->_consulterActionImage($this->image_x, $this->image_y, $this->masque, $this->id); |
// Nous distinguons 2 cas : |
//le cas ou il faut afficher une nouvelle carte ... : |
if ($action['type_action'] == 'Aller_a') { |
$id_carte_destination = $action['id_carte_destination'] ; |
$this->fils[$id_carte_destination]->liste_zone_carte = $this->liste_zone_carte; |
$res .= ''.$this->fils[$id_carte_destination]->_donnerListeZoneCarte()."<br />\n"; |
$res .= '<input type="image" src="'; |
$id_image = $this->_donnerIdUnique(); |
$this->fils[$id_carte_destination]->_lancerColoriage($id_image); |
$obj = serialize($this->fils[$id_carte_destination]); |
$_SESSION['carte'] = $obj; |
$this->historique = $this->fils[$id_carte_destination]->filiation; |
$this->id = $this->fils[$id_carte_destination]->id; |
$this->nom = $this->fils[$id_carte_destination]->nom; |
} |
//Dans le cas où l'on veut rappeler une nouvelle carte, il se peut que la nouvelle carte à rappeler |
//soit la même que précédement. |
//Cette possibilité peut se présenter quand on clique sur un zone blanche d'une carte (càd dans la mer) |
//Là, on recharge la carte précédente : |
elseif ($action['type_action'] == 'Recharger') { |
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n"; |
$res .= '<input type="image" src="'; |
$id_image = $this->_donnerIdUnique(); |
$this->_lancerColoriage($id_image); |
$obj = serialize($this); |
$_SESSION['carte'] = $obj ; |
$this->historique = $this->filiation; |
} |
// ... et le cas ou il faut lancer le dernier niveau |
else if ($action['type_action'] == 'Stop') { |
unset ($_SESSION['carte']) ; |
$this->historique = $this->filiation.'*'.$action['id_zone_geo']; |
$obj = serialize($this); |
$_SESSION['carte'] = $obj ; |
return false; |
} |
} |
elseif ($this->liste_zone_carte != '') { |
$liste_zone_carte = $this->liste_zone_carte; |
$historique_cartes = explode('*',$this->historique_cartes); |
foreach ($historique_cartes as $key => $value) { |
if ($key != 0) { |
//$this = $this->fils[$value]; |
foreach (get_object_vars($this->fils[$value]) as $key => $value) { |
$this->$key = $value; |
} |
} |
} |
$this->liste_zone_carte = $liste_zone_carte; |
$res .= ''.$this->_donnerListeZoneCarte($this->liste_zone_carte)."<br />\n"; |
$res .= '<input type="image" src="'; |
$id_image = $this->_donnerIdUnique(); |
$this->_lancerColoriage($id_image, '', $this->liste_zone_carte); |
$this->historique = $this->historique_cartes; |
$obj = serialize($this); |
$_SESSION['carte'] = $obj ; |
} |
// On teste maintenant si l'on vient d'un lien. Si c'est le cas on a recu un argument |
// qui nous donne la "genealogie" de la carte que l'on doit afficher |
else if ($this->historique_cartes) { |
// Nous chargons alors l'ojet approprié en descendant grâce a la généalogie |
$historique_cartes = explode('*',$this->historique_cartes); |
foreach ($historique_cartes as $key => $value) { |
if ($key != 0) { |
//$this = $this->fils[$value]; |
foreach (get_object_vars($this->fils[$value]) as $key => $value) { |
$this->$key = $value; |
} |
} |
} |
// une foit que l'on a charge le bon objet nous le colorions |
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n"; |
$res .= '<input type="image" src="'; |
$id_image = $this->_donnerIdUnique(); |
$this->_lancerColoriage($id_image); |
$this->historique = $this->historique_cartes; |
$obj = serialize($this); |
$_SESSION['carte'] = $obj ; |
} |
// Enfin si on ne vient pas d'une carte ou d'un lien c'est que l'on vient de l'onglet carto du menu |
// et on affiche alors la premiere carte |
else { |
unset ($_SESSION['carte']) ; |
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n"; |
$res .= '<input type="image" src="'; |
$id_image = $this->_donnerIdUnique(); |
$this->_lancerColoriage($id_image); |
$this->historique = $this->id; |
$obj = serialize($this); |
$_SESSION['carte'] = $obj; |
} |
$_SESSION['chemin'] = CAR_CHEMIN_TMP; |
$_SESSION['fichier'] = $this->id.$id_image; |
$res .= CAR_CHEMIN_CARTE.'"'; |
$res .= ' name="image" />'."\n"; |
$res .= '<input type="hidden" name="historique_cartes" value="'.$this->historique.'" />'."\n"; |
$res .= '</p>'."\n"; |
$res .= '</form>'."\n"; |
return $res; |
} |
// +--------------------------------------------------------------------------------------------------+ |
// LES METHODES PRIVÉES |
function _donnerListeZoneCarte($zone_par_defaut = '') |
{ |
$retour = ''; |
$requete = |
'SELECT '.$this->_info_table_zg['nom_chp_id_zone'].', '.$this->_info_table_zg['nom_chp_nom_zone']. |
' FROM '.$this->_info_table_zg['nom_table_zone']; |
if ($this->_info_table_zg['nom_chp_zone_sup'] != ''){ |
if(ereg("[a-z]+",$this->_id_zone_geo_carte)){ |
$requete .= |
' WHERE '.$this->_info_table_zg['nom_chp_zone_sup'].' = "'.$this->_id_zone_geo_carte.'"'; |
} |
else{ |
$requete .= |
' WHERE '.$this->_info_table_zg['nom_chp_zone_sup'].' = '.$this->_id_zone_geo_carte; |
} |
} |
$requete .= |
' ORDER BY '.$this->_info_table_zg['nom_chp_nom_zone'].' ASC'; |
$resultat = mysql_query ($requete) or die(' |
<H2 style="text-align: center; font-weight: bold; font-size: 26px;">Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$i=0; |
$retour = '<select id="liste_zone_carte" name="liste_zone_carte" onchange="javascript:this.form.submit();">'."\n"; |
$retour .= '<option value="">Visualiser une zone :</option>'."\n"; |
$nom_chp_nom_zone = $this->_info_table_zg['nom_chp_nom_zone']; |
$nom_chp_id_zone = $this->_info_table_zg['nom_chp_id_zone']; |
while ($ligne = mysql_fetch_object ($resultat)) { |
if ($zone_par_defaut == $ligne->$nom_chp_id_zone){ |
$retour .= '<option value="'.$ligne->$nom_chp_id_zone.'" selected="selected">'.$ligne->$nom_chp_nom_zone.'</option>'."\n"; |
} |
else { |
$retour .= '<option value="'.$ligne->$nom_chp_id_zone.'">'.$ligne->$nom_chp_nom_zone.'</option>'."\n"; |
} |
$i++; |
} |
$retour .= '</select>'."\n"; |
return $retour; |
} |
//============================================================================== |
// METHODE _lancerColoriage() |
// |
// Elle lance le coloriage de l'image. |
// Elle est lancée toute seule par la méthode donnerFormulaireImage(). |
// Les informations qui lui sont necessaires sont déjà données à l'objet carte (fond, info_table_couleur). |
//============================================================================== |
function _lancerColoriage ($id_image = '_00', $nom_fichier = '', $id_zone_a_reperer = '') |
{ |
$this->image = imagecreatefrompng($this->fond); |
$this->_colorierImage ($this->image, $this->_info_table_zg['nom_table_zone'], $this->_info_table_zg['nom_chp_id_zone'], $this->_info_table_zg['nom_chp_rouge'], |
$this->_info_table_zg['nom_chp_vert'], $this->_info_table_zg['nom_chp_bleu'], $this->_info_table_zg['nom_chp_zone_sup'], |
$this->_info_table_zg['tableau_valeurs_zone'], $id_zone_a_reperer) ; |
if ($nom_fichier != '') { |
imagepng(&$this->image, CAR_CHEMIN_TMP.$nom_fichier.'.png'); |
//$this->image = imagepng(&$this->image); |
} |
else { |
imagepng(&$this->image, CAR_CHEMIN_TMP.$this->id.$id_image.'.png'); |
//imagepng(&$this->image); |
} |
} |
//============================================================================== |
// METHODE _colorierImage() |
// |
// Elle réalise le coloriage de l'image. |
//============================================================================== |
function _colorierImage (&$image_fond, $table_zone_geo, $chp_id_zone_couleur, $chp_rouge, $chp_vert, $chp_bleu, $chp_zone_sup, $tableau_valeurs_zone, $id_zone_a_reperer) |
{ |
//---------------------------------------------------------------------------- |
// Cherche les valeurs RVB de la couleur de chaque zone géographique et les rentre dans |
//un tableau d'objets Carto_InformationCouleur (voir la description de la classe ci-dessus. |
$requete_01 = |
'SELECT *'. |
' FROM '.$table_zone_geo; |
if ($chp_zone_sup != ''){ |
if(ereg("[a-z]+",$this->_id_zone_geo_carte)){ |
$requete_01 .= |
' WHERE '.$chp_zone_sup.' = "'.$this->_id_zone_geo_carte.'"'; |
} |
else{ |
$requete_01 .= |
' WHERE '.$chp_zone_sup.' = '.$this->_id_zone_geo_carte; |
} |
} |
$resultat_01 = mysql_query ($requete_01) or die(' |
<H2 style="text-align: center; font-weight: bold; font-size: 26px;">Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_01. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$i=0; |
$attachments = array(); |
while ($ligne_01 = mysql_fetch_object ($resultat_01)) { |
$attachments[$i] = new Carto_Couleur ($ligne_01->$chp_id_zone_couleur, $ligne_01->$chp_rouge, $ligne_01->$chp_vert, $ligne_01->$chp_bleu); |
$i++; |
} |
//Nous libérons toute la mémoire associée à l'identifiant de résultat. |
mysql_free_result ($resultat_01); |
//---------------------------------------------------------------------------- |
// On realide l'association entre l'index des couleurs et la zone de meme couleur |
$attachments = $this->_construireAssociationIndexZone ($image_fond, $attachments); |
//---------------------------------------------------------------------------- |
//Dans l'application qui utilise la classe carte, nous avons instancié un tableau |
//associatif qui contient en clé l'identifiant d'une zone géographique et en valeur |
//un nombre (qui peut-être un nombre d'inscrit, d'institutions, de taxons...). |
// Nous récupérons ci-dessous la valeur minimum autre que 0 présente dans ce tableau |
//puis une valeur conscidérée comme maximum |
if (!is_array($tableau_valeurs_zone)) { |
$mini = 0; |
$medium = 0; |
$maxi = 0; |
$nbre_valeurs = 0; |
} |
else { |
if (count($tableau_valeurs_zone) == 0) { |
$mini=0; |
$medium = 0; |
$maxi=0; |
} |
else { |
$i=0; |
foreach ($tableau_valeurs_zone as $cle => $valeur) { |
//Nous recherchons le minimum, le maximum et le la valeur médium juste au dessous du maximum. |
if ($valeur != 0) { |
$tablo_valeurs[$i] = $valeur; |
$i++; |
} |
} |
//Nombre d'entrées dans le tableau de valeurs non nulles : |
$nbre_valeurs = count($tablo_valeurs); |
$somme_valeurs = array_sum($tablo_valeurs); |
$tablo_frequences = array_count_values($tablo_valeurs); |
$nbre_frequences = count($tablo_frequences); |
if ($nbre_valeurs > 0){ |
//Nous trions le tableau dans l'ordre croissant : |
sort($tablo_valeurs); |
//Nous récupérons la valeur la plus petite : |
$mini = $tablo_valeurs[0]; |
$maxi = $tablo_valeurs[$nbre_valeurs-1]; |
isset($tablo_valeurs[$nbre_valeurs-2]) ? $medium = $tablo_valeurs[$nbre_valeurs-2] : $medium = 0; |
$moyenne = $somme_valeurs/$nbre_valeurs; |
$ecart_au_carre_moyen = 0; |
for ($i = 0; $i < $nbre_valeurs; $i++) { |
$ecart_au_carre_moyen += pow(($tablo_valeurs[$i] - $moyenne), 2); |
} |
$variance = $ecart_au_carre_moyen/$nbre_valeurs; |
$ecart_type = sqrt($variance); |
$moyenne = round($moyenne, 0); |
$variance = round($variance, 0); |
$ecart_type = round($ecart_type, 0); |
/*echo 'Nombre de valeurs : '.$nbre_valeurs.'<br>'; |
echo 'Nombre de frequences : '.$nbre_frequences.'<br>'; |
echo 'Moyenne : '.$moyenne.'<br>'; |
echo 'Variance : '.$variance.'<br>'; |
echo 'Ecart-type : '.$ecart_type.'<br>'; |
echo 'Formule de coloriage : '.$this->_formule_coloriage.'<br>'; |
echo "mini : $mini medium : $medium maxi : $maxi<br/>"; |
*/ |
} |
} |
} |
//---------------------------------------------------------------------------- |
// Nous réalisons le coloriage de toutes les zones : |
$requete_03 = |
"SELECT $chp_id_zone_couleur ". |
"FROM $table_zone_geo"; |
$resultat_03 = mysql_query ($requete_03) or die(' |
<H2 style="text-align: center; font-weight: bold; font-size: 26px;">Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_03. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
while ($ligne_03 = mysql_fetch_object ($resultat_03)) { |
$id_zone_geo = $ligne_03->$chp_id_zone_couleur; |
if (!isset ($tableau_valeurs_zone[$id_zone_geo])) { |
$tableau_valeurs_zone[$id_zone_geo] = 0; |
} |
//Nous cherchons la couleur a afficher pour chaque zone. |
if ($tableau_valeurs_zone[$id_zone_geo] != 0) { |
//echo 'ZONE:'.$id_zone_geo."<br/>"; |
//echo $tableau_valeurs_zone[$id_zone_geo]."<br/>"; |
$theColor = $this->_donnerCouleur ( |
$this->_miniR, $this->_miniV, $this->_miniB, |
$this->_mediumR , $this->_mediumV , $this->_mediumB , |
$this->_maxiR , $this->_maxiV , $this->_maxiB , |
$mini, $medium, $maxi, $nbre_valeurs, $ecart_type, $moyenne, $tablo_valeurs, |
$tablo_frequences, $nbre_frequences, |
$tableau_valeurs_zone[$id_zone_geo], |
$this->_formule_coloriage); |
//echo $theColor['R'].'<br>'; |
//echo $theColor['V'].'<br>'; |
//echo $theColor['B'].'<br>'; |
} |
else { |
$theColor['R'] = $this->_zeroR; |
$theColor['V'] = $this->_zeroV; |
$theColor['B'] = $this->_zeroB; |
} |
//Nous réalisons le coloriage de toutes les zones de l'image avec la couleur obtenue. |
$this->_remplacerCouleur ($image_fond, $attachments, $id_zone_geo, $theColor['R'], $theColor['V'], $theColor['B'], $id_zone_a_reperer); |
} |
//Nous libérons toute la mémoire associée à l'identifiant de résultat de la requête. |
mysql_free_result ($resultat_03); |
} |
//============================================================================== |
// METHODE _construireAssociationIndexZone ($image, &$att) |
// |
// Le tableau $att est passé par référence. La méthode modifie donc directement |
// le tableau et ne renvoit donc rien. |
// Attache dans un tableau $att, contenant sous forme d'objet (Carto_ColorInfo) |
// les valeurs RVB des zones d'une image, la valeur de l'index correspondant |
// à la couleur de la zone. |
// Note : les images en question sont constituées de zones distincte possédant |
// chacune une couleur unique et unie. |
//============================================================================== |
function _construireAssociationIndexZone (&$image_fond, &$att) |
{ |
// Nous récupérons le nombre de couleur différentes contenues dans l'image. |
//echo $this->fond.'<BR>'; |
$image_fond = imagecreatefrompng($this->fond); |
$taille_palette = imagecolorstotal ($image_fond); |
//echo $taille_palette.'<br>'; |
// Pour chaque couleur contenue dans l'image, nous cherchons l'objet correspondant |
// dans le tableau $att, qui contient des informations sur chaque zone de l'image, |
// et nous attribuons à l'objet la valeur de l'index de sa couleur dans l'image. |
for ($i = 0; $i < $taille_palette; $i++) { |
$valeurs_RVB = array(); |
$valeurs_RVB = imagecolorsforindex ($image_fond, $i); |
for ($j = 0; $j < count ($att); $j++) { |
if (($att[$j]->rouge == $valeurs_RVB['red']) && ($att[$j]->vert == $valeurs_RVB['green']) && ($att[$j]->bleu == $valeurs_RVB['blue'])) { |
$att[$j]->index = $i; |
//echo 'ICI'.$att[$j]->id_zone.$att[$j]->index.'<br>'; |
break; |
} |
} |
} |
return $att; |
}//Fin méthode _construireAssociationIndexZone() |
//============================================================================== |
// METHODE _donnerCouleur() |
//------------------------------------------------------------------------------ |
// Renvoie pour une valeur donnee la couleur a mettre |
//------------------------------------------------------------------------------ |
// ENTREE |
// $miniR : valeur rouge du minimum |
// $miniV : valeur vert du minimum |
// $miniB : valeur blue du minimum |
// $maxiR : valeur rouge du maximum |
// $maxiV : valeur vert du maximum |
// $maxiB : valeur bleu du maximum |
// $mediumR : valeur rouge du deuxieme maximum |
// $mediumV : valeur vert du deuxieme maximum |
// $mediumB : valeur bleu du deuxieme maximum |
// $mini : valeur mini sur l'echelle |
// $medium : valeur juste au dessous du maximum sur l'echelle |
// $maxi : valeur maxi sur l'echelle |
// $val : valeur dont on cherche la couleur |
//------------------------------------------------------------------------------ |
// SORTIE |
// $couleur array donne la couleur pour la valeur demande ($val) |
//------------------------------------------------------------------------------ |
function _donnerCouleur ($miniR, $miniV, $miniB, $mediumR, $mediumV, $mediumB, $maxiR, |
$maxiV, $maxiB, $mini, $medium, $maxi, $nbre_valeurs, $ecart_type, $moyenne, $tablo_valeurs, $tablo_frequences, $nbre_frequences, $val, $formuleColoriage) |
{ |
if ($formuleColoriage == 'defaut'){ |
if ($val == $maxi) { |
$couleur['R'] = $maxiR; |
$couleur['V'] = $maxiV; |
$couleur['B'] = $maxiB; |
} |
if ($val == $mini && $val != $maxi) { |
$couleur['R'] = $miniR; |
$couleur['V'] = $miniV; |
$couleur['B'] = $miniB; |
} |
if ($maxi/10 > $medium && $maxi/40 < $medium) { |
$diff = $medium - $mini; |
if ($diff > 0 && $val != $medium && $val != $maxi) { |
$diffR = $mediumR - $miniR; |
$diffV = $mediumV - $miniV; |
$diffB = $mediumB - $miniB; |
$variationR = round ( ($diffR/$diff ), 0 ); |
$variationV = round ( ($diffV/$diff ), 0 ); |
$variationB = round ( ($diffB/$diff ), 0 ); |
$couleur['R'] = couleur_bornerNbre(($miniR + ($val * $variationR)), 0, 255); |
$couleur['V'] = couleur_bornerNbre(($miniV + ($val * $variationV)), 0, 255); |
$couleur['B'] = couleur_bornerNbre(($miniB + ($val * $variationB)), 0, 255); |
} |
else if ($val == $medium) { |
$couleur['R'] = $mediumR; |
$couleur['V'] = $mediumV; |
$couleur['B'] = $mediumB; |
} |
} |
else { |
$diff = $maxi - $mini; |
if ($diff > 0 && $val != $maxi && $val != $mini) { |
$diffR = $maxiR - $miniR; |
$diffV = $maxiV - $miniV; |
$diffB = $maxiB - $miniB; |
$variationR = round ( ($diffR/$diff ), 0 ); |
$variationV = round ( ($diffV/$diff ), 0 ); |
$variationB = round ( ($diffB/$diff ), 0 ); |
$couleur['R'] = couleur_bornerNbre(($miniR + ($val * $variationR)), 0, 255); |
$couleur['V'] = couleur_bornerNbre(($miniV + ($val * $variationV)), 0, 255); |
$couleur['B'] = couleur_bornerNbre(($miniB + ($val * $variationB)), 0, 255); |
} |
else if ($diff == 0){ |
$couleur['R'] = $mediumR; |
$couleur['V'] = $mediumV; |
$couleur['B'] = $mediumB; |
} |
} |
} |
elseif ($formuleColoriage == 'ecart_type') { |
if ($ecart_type == 0) { |
$couleur['R'] = $maxiR; |
$couleur['V'] = $maxiV; |
$couleur['B'] = $maxiB; |
} |
elseif ($ecart_type >= 1 && $ecart_type <= 15) { |
if ($val == $mini) { |
$couleur['R'] = $miniR; |
$couleur['V'] = $miniV; |
$couleur['B'] = $miniB; |
} |
elseif ($val == $medium) { |
$couleur['R'] = $mediumR; |
$couleur['V'] = $mediumV; |
$couleur['B'] = $mediumB; |
} |
elseif ($val == $maxi) { |
$couleur['R'] = $maxiR; |
$couleur['V'] = $maxiV; |
$couleur['B'] = $maxiB; |
} |
else { |
$dif_valeur_maxi_mini = $maxi - $mini; |
$diffR = $maxiR - $miniR; |
$diffV = $maxiV - $miniV; |
$diffB = $maxiB - $miniB; |
$variationR = round ( ($diffR/$dif_valeur_maxi_mini ), 0 ); |
$variationV = round ( ($diffV/$dif_valeur_maxi_mini ), 0 ); |
$variationB = round ( ($diffB/$dif_valeur_maxi_mini ), 0 ); |
$couleur['R']=$miniR + ($val * $variationR); |
$couleur['V']=$miniV + ($val * $variationV); |
$couleur['B']=$miniB + ($val * $variationB); |
} |
} |
elseif ($ecart_type > 15) { |
//Le tableau est trié de la plus petite à la plus grande clé. |
ksort($tablo_frequences); |
$i = 0; |
foreach ($tablo_frequences as $cle => $valeur){ |
//Nous cherchons la correspondance entre la valeur et la clé. |
if ($cle == $val) { |
//Pour faire le Rouge, Vert, Bleu |
$couleur['R'] = $miniR + ($i/$nbre_frequences) * ($maxiR - $miniR); |
$couleur['V'] = $miniV + ($i/$nbre_frequences) * ($maxiV - $miniV); |
$couleur['B'] = $miniB + ($i/$nbre_frequences) * ($maxiB - $miniB); |
} |
$i++; |
} |
} |
} |
return $couleur; |
}//Fin méthode _donnerCouleur() |
//============================================================================== |
// METHODE _remplacerCouleur ($img, $att, $id_zone_geo, $r, $g, $b) |
// |
// $img is the image, $att an array of carto_colorinfo objects, $id_zone_geo the name |
// of an object of $att, ($r, $g, $b) the new color. |
// |
// In the palette of $img, the color matching with $id_zone_geo is modified. |
//============================================================================== |
function _remplacerCouleur (&$image, &$atta, $id_zone_geo, $rouge, $vert, $bleu, $id_zone_a_reperer) |
{ |
// Nous recherchons la valeur de l'index. |
$index = -1; |
for ($i = 0; $i < count ($atta); $i++) { |
if ($atta[$i]->id_zone == $id_zone_geo) { |
$index = $atta[$i]->index; |
//Dans le cas où nous voulons repérer une zone sur la carte : |
if($id_zone_geo == $id_zone_a_reperer) { |
$rouge = 255; |
$vert = 0; |
$bleu = 0; |
} |
break; |
} |
} |
// Nous mettons à jour l'image de la carte avec la valeur de l'index. |
if ($index >= 0) { |
imagecolorset (&$image, $index, $rouge, $vert, $bleu); |
} |
}//Fin de la méthode _remplacerCouleur |
//============================================================================== |
// METHODE _donnerIdUnique () |
// |
// Cette méthode privée retourne un identifiant de 32 caractères unique. |
// |
//============================================================================== |
function _donnerIdUnique () |
{ |
$id = ''; |
$id = md5 (uniqid (rand())); |
return $id; |
}//Fin de la méthode _donnerIdUnique() |
}//Fin de la classe Carto_Carte() |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.5 2005/11/23 10:25:03 jp_milcent |
* Compatibilité avec PHP5. |
* |
* Revision 1.4 2005/02/23 17:29:38 jpm |
* Ajout d'un id au formulaire de la carto. |
* |
* Revision 1.3 2005/02/22 19:35:08 jpm |
* Fin de gestion des variables via les sessions. |
* |
* Revision 1.2 2005/02/22 16:35:16 jpm |
* Mise en forme. |
* Utilisation de constantes pour les chemins d'accès aux fichiers. |
* Ajout de commentaires. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/cartographie/carto_couleur.class.php |
---|
New file |
0,0 → 1,189 |
<?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 Cartographie. | |
// | | |
// | 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: carto_couleur.class.php,v 1.2 2005-02-22 16:35:16 jpm Exp $ |
/** |
* Classe Carto_Couleur. |
* |
* Classe permettant de réaliser des cartes. |
* |
*@package Cartographie |
//Auteur original : |
*@author Nicolas MATHIEU |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-02-22 16:35:16 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Classe Carto_Couleur() - Info sur les couleurs. |
* |
* La classe Carto_Couleur n'est utilisée que par la classe carte. |
* C'est une classe privée. |
* Elle sert à stocker les informations (RVB et index) sur la couleur d'une |
* zone d'une image. |
*/ |
class Carto_Couleur |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// LES ATTRIBUTS DE LA CLASSE |
var $id_zone; |
var $rouge; |
var $vert; |
var $bleu; |
var $index; |
// +--------------------------------------------------------------------------------------------------+ |
// LE CONSTRUCTEUR DE LA CLASSE |
/** |
* Constructeur Carto_Couleur() |
* |
* Constructeur initialisant les attributs de la classe Carto_Couleur(). |
*/ |
function Carto_Couleur($id_zone, $rouge, $vert, $bleu) |
{ |
$this->id_zone = $id_zone; |
$this->rouge = $rouge; |
$this->vert = $vert; |
$this->bleu = $bleu; |
$this->index = -1; |
} |
// +--------------------------------------------------------------------------------------------------+ |
// LES METHODES PUBLIQUES |
/** |
* La fonction array couleur_hexadecimalAuRgb(string color) renvoie des valeurs de couleur en RGB. |
* |
*Cette fonction prend une valeur de couleur codée en hexadécimal et retourne |
*les valeurs RGB correspondantes sous forme de tableau. |
*Exemple d'utilisation: |
*$rgb = couleur_hexadecimalAuRgb("fffc49"); |
*echo "<br>couleur_hexadecimalAuRgb de 'fffc49' : ".$rgb['R']." ".$rgb['V']." ".$rgb['B']; |
* |
*@author iubito <sylvain_machefert@yahoo.fr> |
*@copyright iubito - http://iubito.free.fr/ - 2003 |
* |
*@param string $couleur représente une couleur codée en héxadécimal. |
* |
*@return array tableau associatif contenant les 3 valeurs RGB, avec clé du rouge 'R', |
* du vert 'V' et enfin du bleu 'B'. |
*/ |
function couleur_hexadecimalAuRgb($couleur_html) |
{ |
//gestion du #... |
if (substr($couleur_html, 0, 1) == "#") { |
$couleur_html = substr($couleur_html, 1, 6); |
} |
$tablo_rgb['R'] = hexdec(substr($couleur_html, 0, 2)); |
$tablo_rgb['V'] = hexdec(substr($couleur_html, 2, 2)); |
$tablo_rgb['B'] = hexdec(substr($couleur_html, 4, 2)); |
return $tablo_rgb; |
} |
/** |
* La fonction string couleur_rgbAuHexadecimal(array tablo) renvoie la valeur d'une |
*couleur en héxadécimal. |
* |
*Cette fonction prend un tableau de valeurs d'une couleur codées en RGB et retourne |
*la valeur hexadécimal correspondante sous forme de chaîne. |
*C'est la réciproque exacte de la fonction couleur_hexadecimalAuRgb. |
* |
*@author iubito <sylvain_machefert@yahoo.fr> |
*@copyright iubito - http://iubito.free.fr/ - 2003 |
* |
*@param array $tablo_RGB représente un tableau associatif avec les valeurs RGB |
*d'une couleur.Les trois clés du tableau sont : R pour rouge, V pour vert et B pour bleu. |
* |
*@return string chaîne contenant la valeur de la couleur sous forme héxadécimale. |
*/ |
function couleur_rgbAuHexadecimal($tablo_rgb) |
{ |
//Vérification des bornes... |
foreach($tablo_rgb as $cle => $valeur) { |
$tablo_rgb[$cle] = bornes($tablo_rgb[$cle],0,255); |
} |
//Le str_pad permet de remplir avec des 0 |
//parce que sinon couleur_rgbAuHexadecimal(array(0,255,255)) retournerai #0ffff<=manque un 0 ! |
return "#".str_pad(dechex(($tablo_rgb['R']<<16)|($tablo_rgb['V']<<8)|$tablo_rgb['B']),6,"0",STR_PAD_LEFT); |
} |
/** |
* La fonction int couleur_bornerNbre(int nb, int min, int max) borne des nombres. |
* |
*Cette fonction permet de borner la valeur d'un nombre entre un minimum $mini et |
*un maximum $maxi. |
* |
*@author iubito <sylvain_machefert@yahoo.fr> |
*@copyright iubito - http://iubito.free.fr/ - 2003 |
* |
*@param integer $nbre le nombre à borner. |
*@param integer $mini la borne minimum. |
*@param integer $maxi la borne maximum. |
* |
*@return integer le nombre limité aux bornes si nécessaire. |
*/ |
function couleur_bornerNbre($nbre, $mini, $maxi) |
{ |
if ($nbre < $mini) { |
$nbre = $mini; |
} |
if ($nbre > $maxi) { |
$nbre = $maxi; |
} |
return $nbre; |
} |
}//Fin de la classe Carto_Couleur |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/22 12:02:57 jpm |
* Ajout des fichiers de la bibliothèque cartographique. |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/cartographie/cartes/france_masque.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/bibliotheque/cartographie/cartes/france_masque.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/bibliotheque/cartographie/cartes/france.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/bibliotheque/cartographie/cartes/france.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/bibliotheque/echoro_encodage.fonct.php |
---|
New file |
0,0 → 1,78 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of eFlore-Chorologie. | |
// | | |
// | 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: echoro_encodage.fonct.php,v 1.2 2005-05-19 07:37:47 jpm Exp $ |
/** |
* Fonctions manipulant les encodages |
* |
* Fichiers contenant des fonctions manipulant l'encodage. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-05-19 07:37:47 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE DES FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* La fonction remplaceEntiteHTLM() remplace des caractères par les entités html. |
* |
* Cette fonction retourne un texte dans lequel touts les caractères correspondant |
* à des entités html sont remplacés par la valeur de l'entité, à l'exception |
* des caractères <, >, & et ". |
* Cela permet de remplacer toutes les entités dans une chaine contenant du html. |
* |
*@param string la chaîne html à parsser. |
*@return string contient la chaîne html avec les entités intégrées. |
*/ |
function remplaceEntiteHTLM($texte) |
{ |
$texte_retour = ''; |
$tab_entites = get_html_translation_table(HTML_ENTITIES); |
unset($tab_entites['"']); |
unset($tab_entites['<']); |
unset($tab_entites['>']); |
unset($tab_entites['&']); |
$tab_entites[' & '] = ' & '; |
return strtr($texte, $tab_entites); |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/22 12:03:14 jpm |
* Ajout des fichiers de la bibliothèque de l'application. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/echoro_information.fonct.php |
---|
New file |
0,0 → 1,195 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of MON_PROGRAMME. | |
// | | |
// | 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: echoro_information.fonct.php,v 1.2 2005-02-22 16:35:40 jpm Exp $ |
/** |
* Contient des fonctions fournissant des informations issues de la base de données. |
* |
* Ces fonctions PHP permettent de récupérer des données de la base de données et de les formater. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-02-22 16:35:40 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Fonction echoro_recupererNomDepartement() - renvoie le nom d'un département. |
* |
* Cette fonction retourne une chaîne correspondant au nom d'un département en |
* fonction du numéro du département passé en paramètre. |
* Le code source de la fonction : |
* {@source} |
* |
* @param int l'identifiant d'un département. |
* @return string le nom du département. |
*/ |
function echoro_recupererNomDepartement($num_departement) |
{ |
$requete = |
'SELECT '.EZD_NOM. |
' FROM '.EZD_BD_TABLE. |
' WHERE '.EZD_ID.' = '.$num_departement; |
$resultat = mysql_query ($requete) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$ligne = mysql_fetch_array ($resultat); |
$nom_departement = $ligne[EZD_NOM]; |
return $nom_departement; |
} |
/** |
* Fonction echoro_possederCourriel() - renvoie un lien vers le courriel. |
* |
* Cette fonction retourne une chaîne correspondant à l'adresse de courriel passée |
* en paramêtre avec un lien mailto si l'adresse posséde une @. |
* Exemple de retour : <a href="mailto:adresse_couriel">adresse_couriel</a> |
* |
* Le tableau associatif des atributs du lien: |
* - clé "class": permet d'attribuer une classe au lien. |
* - clé "title": permet d'attribuer une aide (bulle) lors du passage de la souris sur le lien. |
* |
* Le code source dela fonction : |
* {@source} |
* |
* @param string l'adresse de courriel. |
* @param array un tableau associatif des attributs de la balise <a>. |
* @return string l'adresse de courriel avec lien ou pas. |
*/ |
function echoro_possederCourriel($courriel, $tablo_formatLien = array()) |
{ |
$retour = '';//Initialisation de la variable retournée. |
if (!ereg("[@]", $courriel)){//Nous traitons le cas où le correspondant n'a pas de courriel. |
$retour = $courriel; |
} |
else{//Le cas où le correspondant a un courriel. |
//Nous testons l'existence de valeur pour les attributs class et title et |
//nous attribuons éventuellement des valeurs par défaut. |
isset($tablo_formatLien['class'])?'':$tablo_formatLien['class']=''; |
isset($tablo_formatLien['title'])?'':$tablo_formatLien['title']='Cliquer pour écrire un message'; |
$retour = '<a class="'.$tablo_formatLien['class'].'" title="'.$tablo_formatLien['title'].'" href="mailto:'.$courriel.'">'.$courriel.'</a>'; |
} |
return $retour; |
} |
/** |
* Fonction echoro_recupererInfoDep() - donne toutes les infos choro sur un département. |
* |
* Cette fonction retourne un tableau associatif contenant toutes les infos sur |
* un département. |
* Les clés de ce tableau ont pour valeur: |
* - NUMERO : entier - numéro du département. |
* - NOM : chaine - nom du département |
* - SOURCES : tableau - sources bibliographique |
* - CORRESPONDANTS : tableau de tableaux associatifs - correspodants départementaux |
* Les clés des tableaux associatifs sont: |
* -PRENOM : une chaîne |
* -NOM : une chaîne mise en majuscule |
* -COURRIEL : l'adresse de courriel. |
* Le code source de la fonction : |
* {@source} |
* |
* @param int le numéro du département. |
* @return array tableau associatif contenant toutes les infos sur le département. |
*/ |
function echoro_recupererInfoDep($num_departement) |
{ |
$tableau_retour = ''; |
$tableau_source = ''; |
$tableau_corres = ''; |
$tableau_retour{'NUMERO'} = $num_departement; |
$tableau_retour{'NOM'} = echoro_recupererNomDepartement($num_departement); |
$requete_01 = |
'SELECT '.ECSO_REF. |
' FROM '.ECDS_BD_TABLE.','.ECSO_BD_TABLE. |
' WHERE '.ECDS_DEP.' = '.$num_departement. |
' AND '.ECDS_SOURCE.' = '. ECSO_ID; |
$resultat_01 = mysql_query ($requete_01) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_01. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$i=0; |
$tableau_source[0] = 'Aucune';//Initialisation du tableau |
while($ligne_01 = mysql_fetch_array ($resultat_01)){ |
$tableau_source[$i] =$ligne_01[ECSO_REF]; |
$i++; |
} |
$tableau_retour{'SOURCES'} = $tableau_source; |
$requete_02 = |
'SELECT '.ECC_PRENOM.', '.ECC_NOM.', '.ECC_COURRIEL. |
' FROM '.ECC_BD_TABLE.','.ECDC_BD_TABLE. |
' WHERE '.ECDC_DEP.' = '.$num_departement. |
' AND '.ECDC_CORRES.' = '. ECC_ID; |
$resultat_02 = mysql_query ($requete_02) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_02. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$i=0; |
$tableau_corres{'PRENOM'} = '';//Initialisation du tableau |
$tableau_corres{'NOM'} = 'Aucun';//Initialisation du tableau |
$tableau_corres{'COURRIEL'} = '';//Initialisation du tableau |
$tableau_corres_tous[0] = $tableau_corres;//Initialisation du tableau |
while($ligne_02=mysql_fetch_array ($resultat_02)){ |
$tableau_corres{'PRENOM'} = $ligne_02[ECC_PRENOM]; |
$tableau_corres{'NOM'} = strtoupper($ligne_02[ECC_NOM]); |
$tableau_corres{'COURRIEL'} = $ligne_02[ECC_COURRIEL]; |
$tableau_corres_tous[$i] = $tableau_corres; |
$i++; |
} |
$tableau_retour{'CORRESPONDANTS'} = $tableau_corres_tous; |
return $tableau_retour; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/22 12:03:14 jpm |
* Ajout des fichiers de la bibliothèque de l'application. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/bibliotheque/echoro_affichage_xhtml.fonct.php |
---|
New file |
0,0 → 1,296 |
<?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-chorologie. | |
// | | |
// | 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: echoro_affichage_xhtml.fonct.php,v 1.9 2006-09-07 16:01:17 jp_milcent Exp $ |
/** |
* Fichier permettant d'inclure les données dans du XHTML. |
* |
* Fichier contenant des fonctions retournant du XHTML une fois les données passées en paramêtre incluse à l 'intérieur. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.9 $ $Date: 2006-09-07 16:01:17 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
/** |
* Gestion des messages d'alerte. |
* |
*Cette fonction retourne un message d'alerte en XHTML. |
* |
* @param string le type de message d'alerte à retourner. |
* @return string contient le message d'alerte en XHTML. |
*/ |
function message_alerte($type_message){ |
$message_renvoyer=''; |
switch ($type_message){ |
case '01' : |
$message_renvoyer = |
inclusion_html('debut_ligne_alerte'). |
'Pas de taxon commençant par cette lettre dans ce département !'. |
inclusion_html('fin_ligne_alerte'); |
break; |
case '02' : |
$message_renvoyer = |
inclusion_html('debut_ligne_alerte'). |
'Aucune liste disponible pour l\'instant dans ce département !'. |
inclusion_html('fin_ligne_alerte'); |
break; |
case '03' : |
$message_renvoyer = |
inclusion_html('debut_ligne_alerte'). |
'Veuillez précisez le format pour l\'export !'. |
inclusion_html('fin_ligne_alerte'); |
break; |
}//fin du switch |
$message_renvoyer = remplaceEntiteHTLM($message_renvoyer); |
return $message_renvoyer; |
} |
/** |
* Gestion des inclusions XHTML dans le code PHP. |
* |
* Cette fonction retourne du XHTML à insérer dans le code PHP. |
* |
* @param string le type d'inclusion de XHTML à retourner. |
* @param array le tableau des paramêtre à inclure dans le XHTML à retourner. |
* @return string contient du XHTML à insérer dans le code PHP. |
*/ |
function inclusion_html($type_inclusion, $variable = array()) |
{ |
$html_renvoyer=''; |
switch ($type_inclusion){ |
//----------------------------- LES TITRES ----------------------------- |
case 'titre_liste' : |
$html_renvoyer = '<h1>Département : '.$variable[0].' ( '.$variable[1].' taxons )</h1>'."\n"; |
break; |
case 'titre_carte' : |
$html_renvoyer = '<h1>'.$variable[0].' départements possédant une liste de plantes en cours d\'élaboration</h1>'."\n"; |
break; |
case 'titre_contrib' : |
$html_renvoyer = '<h1>Les contributeurs départementaux</h1>'."\n"; |
break; |
case 'titre_sources' : |
$html_renvoyer = '<h1>Les sources bibliographiques</h1>'."\n"; |
break; |
case 'titre_avertir' : |
$html_renvoyer = '<h1>Avertissement concernant le projet chorologie départementale</h1>'."\n"; |
break; |
//----------------------------- LES OUVERTURES DE TABLEAUX ----------------------------- |
case 'tab_ouvre' : |
$html_renvoyer = '<table>'."\n"; |
break; |
case 'tab_ouvre_liste_taxon' : |
if ($variable[0] == 'tous') { |
$html_renvoyer = '<h2>Affichage de tous les taxons du département</h2>'; |
} else { |
$html_renvoyer = '<h2>Affichage des taxons commençant par la lettre : '.$variable[0].'</h2>'; |
} |
$html_renvoyer .='<table id="echoro_resultat"> |
<colgroup> |
<col class="echoro_colonne_01" /> |
<col class="echoro_colonne_02" /> |
</colgroup> |
<thead> |
<tr class="echoro_ligne_entete_01"> |
<th>Nom du taxon</th> |
<th>Indice</th> |
</tr> |
<tr class="echoro_ligne_entete_02"> |
<th> |
<img id="echoro_info_01" '. |
'src="'.ECHORO_CHEMIN_IMAGE.'info.png'.'" '. |
'title=" En cliquant sur le nom d\'un taxon, vous accédez à sa fiche nomenclaturale.'. |
'Nombre vert : numéro nomenclatural. Nombre unique attribué à chaque nom. '. |
'Nombre rouge : numéro taxonomique. Tous les noms appartenant à un même taxon possédent le même numéro taxonomique." '. |
'alt=" En cliquant sur le nom d\'un taxon, vous accédez à sa fiche nomenclaturale. '. |
'Nombre vert : numéro nomenclatural. Nombre unique attribué à chaque nom. '. |
'Nombre rouge : numéro taxonomique. Tous les noms appartenant à un même taxon possédent le même numéro taxonomique." '. |
'onmouseover="AffBulle(\'En cliquant sur le nom d\\\'un taxon, vous accédez à sa fiche nomenclaturale. '. |
'<br />Nombre vert : numéro nomenclatural. Nombre unique attribué à chaque nom. <br />'. |
'Nombre rouge : numéro taxonomique. Tous les noms appartenant à un même taxon possédent le même numéro taxonomique.\')" '. |
'onmouseout="HideBulle()" /> |
</th> |
<th> |
<img id="echoro_info_02" '. |
'src="'.ECHORO_CHEMIN_IMAGE.'info.png'.'" '. |
'title="Indice de rareté : information sur la présence de l\'espèce dans le département." '. |
'alt="Indice de rareté : information sur la présence de l\'espèce dans le département." '. |
'onmouseover="AffBulle(\'Indice de rareté : information sur la présence de l\\\'espèce dans le département.\')" '. |
'onmouseout="HideBulle()" /> |
</th> |
</tr> |
</thead> |
<tbody>'; |
break; |
//----------------------------- LES FERMETURES DE TABLEAUX ----------------------------- |
case 'tab_evol_ferme' : |
$html_renvoyer ='</tbody>'."\n".'</table>'."\n"; |
break; |
case 'tab_ferme' : |
$html_renvoyer = '</table>'."\n"; |
break; |
//----------------------------- LES OUVERTURES DE LIGNES DE TABLEAUX ----------------------------- |
case 'debut_ligne_alerte' : |
$html_renvoyer ='<p class="echoro_avertissement">'."\n"; |
break; |
//----------------------------- LES FIN DE LIGNES DE TABLEAUX ----------------------------- |
case 'fin_ligne_alerte' : |
$html_renvoyer ='</p>'."\n"; |
break; |
//----------------------------- LES TEXTES DANS TABLEAUX ----------------------------- |
case 'avertissement_carte' : |
$html_renvoyer = |
'<p>'."\n". |
'Cliquez sur une zone colorée de la carte pour afficher la liste des taxons.<br />'."\n". |
'La couleur est proportionnelle au nombre de taxons.'."\n". |
'</p>'."\n". |
'<h2>Avertissement : </h2>'."\n". |
'<p>'."\n". |
'Les informations fournies par cette application ne peuvent pas être considérées comme des références.<br />'."\n". |
'Ce sont des documents en cours d\'élaboration.<br />'."\n". |
'</p>'."\n"; |
break; |
case 'info_dep' : |
$html_renvoyer = '<h1>Informations sur le département : </h1>'."\n"; |
// Gestion des contributeurs d'un département |
$nbre_contrib = count($variable[1]); |
if ($nbre_contrib >= 1) { |
$html_renvoyer .= '<h2>Contributeurs : </h2>'."\n"; |
} else { |
$html_renvoyer .= '<h2>Contributeur : </h2>'."\n"; |
} |
$html_renvoyer .= '<ul>'."\n"; |
for ($i = 0; $i < $nbre_contrib; $i++){ |
if(ereg("[@]", $variable[1][$i]['COURRIEL'])){ |
$html_renvoyer .= |
'<li>'. |
'<a class="echoro_lien" href="mailto:'.$variable[1][$i]['COURRIEL'].'">'.$variable[1][$i]['PRENOM'].' '.$variable[1][$i]['NOM'].'</a>'. |
'</li>'; |
} else { |
$html_renvoyer .= '<li>'.$variable[1][$i]['PRENOM'].' '.$variable[1][$i]['NOM'].'</li>'; |
} |
} |
$html_renvoyer .= '</ul>'."\n"; |
// Gestion des sources d'un département |
$nbre_source = count($variable[0]); |
if ($nbre_source >= 1) { |
$html_renvoyer .= '<h2>Sources : </h2>'."\n"; |
} else { |
$html_renvoyer .= '<h2>Source : </h2>'."\n"; |
} |
$html_renvoyer .= '<ul>'."\n"; |
for($i = 0; $i < $nbre_source; $i++){ |
$html_renvoyer .= '<li>'.$variable[0][$i].'</li>'; |
} |
$html_renvoyer .= '</ul>'; |
// Gestion de l'export |
if ($GLOBALS['export_bool']) { |
$html_renvoyer .= '<h2>Télécharger les données : </h2>'."\n"; |
$url_export = clone $GLOBALS['_ECHORO_']['url']; |
$url_export->addQueryString('lettre', $GLOBALS['lettre']); |
$url_export->addQueryString('departement', $GLOBALS['departement']); |
$url_export->addQueryString('nombre_taxon', $GLOBALS['nombre_taxon']); |
$url_export->addQueryString('action', 'export'); |
$url_export->addQueryString('format', 'xls'); |
if ($GLOBALS['lettre'] != 'tous') { |
$html_renvoyer .= '<p><a href="'.$url_export->getURL().'">Export au format excel des taxons du département commençant par la lettre '.$GLOBALS['lettre'].'.</a></p>'; |
} else { |
$html_renvoyer .= '<p><a href="'.$url_export->getURL().'">Export au format excel de tous les taxons du département.</a></p>'; |
} |
} |
// Gestion du titre de la navigation |
$html_renvoyer .= '<h2>Recherche et navigation dans les résultats : </h2>'."\n"; |
break; |
case 'intro_contrib' : |
$html_renvoyer = '<h1>Dans quel but joindre les contributeurs ?</h1>'. |
'<p>'."\n". |
'Il est utile d\'informer les contributeurs départementaux lorsque vous constatez des erreurs dans les listes.<br />'."\n". |
'Ce ne sont que des listes de travail qui sont donc incomplètes ou qui peuvent indiquer des taxons disparus.<br />'."\n". |
'C\'est pour améliorer la qualité de ces listes et en faire profiter tous les membres du réseau que nous comptons sur votre participation.<br /><br />.'."\n". |
'La coordination du projet et l\'intégration des données sont assurées par <a href="mailto:philippe.julve@wanadoo.fr" class="eflore_lien">Philippe JULVE</a>'."\n". |
'</p>'."\n"; |
break; |
//----------------------------- LES PIEDS DE PAGES ----------------------------- |
case 'pied_page' : |
$html_renvoyer = '<p class="echoro_pied_page">'."\n". |
'Si vous constatez des problèmes ou des insuffisances en utilisant cette application, veuillez contacter :'."\n". |
'<a href="mailto:jpm@tela-botanica.org">Jean-Pascal MILCENT</a>'."\n". |
'</p>'."\n"; |
break; |
}//fin du switch |
$html_renvoyer = remplaceEntiteHTLM($html_renvoyer); |
return $html_renvoyer; |
}//fin fonction inclusion_html |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.8 2006/05/31 15:20:04 jp_milcent |
* Suppression de commentaires. |
* |
* Revision 1.7 2006/05/31 15:19:12 jp_milcent |
* Simplification de l'url pour l'export. |
* |
* Revision 1.6 2006/05/31 15:11:29 jp_milcent |
* Amélioration de la gestion de l'export xls. |
* |
* Revision 1.5 2006/05/31 14:43:35 jp_milcent |
* Correction de la gestion des sessions pour l'affichage de la carte. |
* Ajout de l'export au format xls. |
* |
* Revision 1.4 2005/05/31 13:45:22 jpm |
* Correction erreur xhtml. |
* |
* Revision 1.3 2005/02/23 17:29:57 jpm |
* Amélioration du code html. |
* |
* Revision 1.2 2005/02/22 19:36:28 jpm |
* Suppression de code html superflu. |
* Mise en conformité avec la convention de codage. |
* |
* Revision 1.1 2005/02/22 12:03:14 jpm |
* Ajout des fichiers de la bibliothèque de l'application. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/eflore_chorologie.php |
---|
New file |
0,0 → 1,683 |
<?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-chorologie. | |
// | | |
// | 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_chorologie.php,v 1.14 2007-07-17 17:12:46 jp_milcent Exp $ |
/** |
* Affichage des listes de noms de plantes par zones géographiques. |
* |
* Ce script fournit le code html correspondant aux listes de noms de plantes par zone géographique. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.14 $ $Date: 2007-07-17 17:12:46 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier config de la base de données de l'application eflore-chorolgie. */ |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config_bdd.inc.php'; |
/** Inclusion du fichier config de l'application eflore-chorolgie. */ |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config.inc.php'; |
/** Inclusion du fichier de langue de l'application eflore-chorologie. */ |
require_once ECHORO_CHEMIN_LANGUE.'echoro_langue_'.ECHORO_LANGUE.'.inc.php'; |
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/ |
require_once ECHORO_CHEMIN_API_PEAR.'HTML/QuickForm.php'; |
/** Inclusion de la bibliothèque PEAR de gestion des URL.*/ |
require_once ECHORO_CHEMIN_API_PEAR.'Net/URL.php'; |
// Ajout d'une feuille de style propre à eFlore. |
GEN_stockerStyleExterne('echoro', ECHORO_CHEMIN_STYLE.'echoro.css'); |
/** Inclusion de la classe "form" de l'API Formulaire. */ |
require_once ECHORO_CHEMIN_API_FORMULAIRE.'FORM_formulaire.class.php'; |
/** Inclusion de la classe "Fragmenteur" de l'API Fragmenteur. */ |
require_once ECHORO_CHEMIN_API_FRAGMENTEUR.'FRAG_Fragmenteur.class.php'; |
/** Inclusion de la classe "Fragmenteur Session" de l'API Fragmenteur. */ |
require_once ECHORO_CHEMIN_API_FRAGMENTEUR.'FRAG_Fragmenteur_Session.class.php'; |
/** Inclusion des fonctions de l'API Fragmenteur. */ |
require_once ECHORO_CHEMIN_API_FRAGMENTEUR.'FRAG_fragmenteur.fonct.php'; |
/** Inclusion de la bibliothèque Cartographie. */ |
require_once ECHORO_CHEMIN_BIBLIO_CARTO.'carto_carte.class.php'; |
/** Inclusion du fichier comportant des fonctions communes aux applis du package eFlore-chorologie.*/ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_information.fonct.php'; |
/** Inclusion du fichier gérant les fonctions d'encodage. */ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_encodage.fonct.php'; |
/** Inclusion du fichier gérant les fonctions fournissant l'affichage en XHTML. */ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_affichage_xhtml.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuNavigation() |
{ |
$sortie = ''; |
return $sortie; |
} |
function afficherContenuTete() |
{ |
$sortie = ''; |
return $sortie; |
} |
function afficherContenuCorps() |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// Initialisation |
$sortie = ''; |
$image_x = null; |
if (isset($_POST['image_x'])) $image_x = $_POST['image_x']; |
$image_y = null; |
if (isset($_POST['image_y'])) $image_y = $_POST['image_y']; |
$historique_cartes = null; |
if (isset($_POST['historique_cartes'])) $historique_cartes = $_POST['historique_cartes']; |
$liste_zone_carte = null; |
if (isset($_POST['liste_zone_carte'])) $liste_zone_carte = $_POST['liste_zone_carte']; |
$lettre = null; |
if (isset($_GET['lettre'])) $lettre = $_GET['lettre']; |
$GLOBALS['lettre'] = $lettre; |
$departement = null; |
if (isset($_GET['departement'])) $departement = $_GET['departement']; |
$GLOBALS['departement'] = $departement; |
$nombre_taxon = null; |
if (isset($_GET['nombre_taxon'])) $nombre_taxon = $_GET['nombre_taxon']; |
$GLOBALS['nombre_taxon'] = $nombre_taxon; |
// +--------------------------------------------------------------------------------------------------+ |
// PARAMETRAGE des TABLEAUX de la FONCTION rechercheAlphabet() |
$tablo_formatLigne['Class_pair'] = 'echoro_ligne_paire'; |
$tablo_formatLigne['Class_impair'] = 'echoro_ligne_impaire'; |
//Choix du contenu de la colonne affichant le nom du taxon. |
$tab_valeur_colonne_nom_complet[0] = array( |
'type' => 'texte', |
'valeur' => ' <b> '); |
$tab_valeur_colonne_nom_complet[1] = array( |
'type' => 'colonne', |
'valeur' => ENT_NOM_COMPLET_02); |
$tab_valeur_colonne_nom_complet[2] = array( |
'type' => 'texte', |
'valeur' => ' [ <span class="echoro_num_nomen">'); |
$tab_valeur_colonne_nom_complet[3] = array( |
'type' => 'colonne', |
'valeur' => ENT_NUM_NOMEN); |
$tab_valeur_colonne_nom_complet[4] = array( |
'type' => 'texte', |
'valeur' => '</span> - <span class="echoro_num_taxo">' ); |
$tab_valeur_colonne_nom_complet[5] = array( |
'type' => 'colonne', |
'valeur' => ENT_NUM_TAXO); |
$tab_valeur_colonne_nom_complet[6] = array( |
'type' => 'texte', |
'valeur' => '</span> ]'); |
$tab_valeur_colonne_nom_complet[7] = array( |
'type' => 'texte', |
'valeur' => ' </b> '); |
// Création de l'url pour obtenir les fiches |
//Implémentation du tableau contenant les informations pour |
//l'affichage des résultats. |
$tablo_formatResultat[0] = array( |
'Col_nom' => $tab_valeur_colonne_nom_complet, |
'Col_width' => 450, |
'Col_class' => 'texte_i', |
'Col_lien_href' => $GLOBALS['_ECHORO_']['url_base']->getURL().'nn', |
'Col_lien_href_param' => ENT_NUM_NOMEN, |
'Col_lien_target' => '_blank', |
'Col_lien_class' => 'echoro_lien', |
'Col_lien_title' => 'Voir la fiche correspondante dans l\'index des plantes'); |
if ($departement == 971 || $departement == 972 ) { |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfgm_nn'; |
} elseif ($departement == 974) { |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfr_nn'; |
} |
$tablo_formatResultat[1]=array( |
'Col_nom' => ECS_INTITULE, |
'Col_width' => 150, |
'Col_class' => 'texte_c'); |
$fragmenteur['nbre_ligne_page_defaut'] = NBRE_LIGNE_PAGE_DEFAUT; |
$fragmenteur['numero_ligne_depart'] = NUMERO_LIGNE_DEPART; |
$fragmenteur['afficher_titre'] = AFFICHER_TITRE; |
$fragmenteur['titre'] = TITRE_FRAGMENTEUR; |
$fragmenteur['tableau_choix_ligne_page'] = $GLOBALS['choro_dep_TABLEAU_CHOIX_LIGNE_PAGE']; |
$fragmenteur['modele_info'] = MODELE_INFO; |
$fragmenteur['classe_css_titre'] = CLASSE_CSS_TITRE; |
$fragmenteur['classe_css_fragmenteur'] = CLASSE_CSS_FRAGMENTEUR; |
$fragmenteur['classe_css_info'] = CLASSE_CSS_INFO; |
// +--------------------------------------------------------------------------------------------------+ |
// RÉCUPÉRATION DU NOMBRE DE TAXON PAR DÉPARTEMENT |
//Connexion à la base |
if(BD_BOTA != BD_GENERALE){ |
//Nous sommes dans le cas où l'on a deux base: une pour les tables de la chorologie l'autre pour |
//les tables de la carto. |
//On ne sélectionne donc pas de base. |
/** Definition de la variable globale stokant la connexion à la base de données. */ |
//$GLOBALS['_ECHORO_']['bdd'] = DB::connect(ECHORO_DSN_SANS_BDD); |
$GLOBALS['_ECHORO_']['bdd'] = mysql_connect(ECHORO_BDD_SERVEUR, ECHORO_BDD_UTILISATEUR, ECHORO_BDD_MOT_DE_PASSE ) or die (ER_CONNECT.mysql_error()); |
} |
else{ |
//Nous sommes dans le cas où l'on a une seule base. |
//$GLOBALS['_ECHORO_']['bdd'] = DB::connect(ECHORO_DSN); |
$GLOBALS['_ECHORO_']['bdd'] = mysql_connect(ECHORO_BDD_SERVEUR, ECHORO_BDD_UTILISATEUR, ECHORO_BDD_MOT_DE_PASSE ) or die (ER_CONNECT.mysql_error()); |
mysql_select_db(BD_GENERALE, $GLOBALS['_ECHORO_']['bdd']) or die (ER_SEL_BD_GENERALE); |
} |
//Requète fournisant le nombre de taxon pour chaque département. Nous récupérons aussi grâce à |
//cette requète les valeurs nécessaires à la réalisation de la carte dynamique. |
$requete_01 = |
'SELECT DISTINCT '.CD_ID. |
' FROM '.CD_BD_TABLE; |
$resultat_01 = mysql_query($requete_01, $GLOBALS['_ECHORO_']['bdd']) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_01. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$requete_02 = |
'SELECT * ,count('.CD_ID.') as nbr '. |
'FROM '.ECD_BD_TABLE.', '.CD_BD_TABLE.' '. |
'WHERE '.CD_ID.' = '.ECD_DEP.' '. |
'GROUP BY '.CD_ID; |
$resultat_02 = mysql_query($requete_02, $GLOBALS['_ECHORO_']['bdd']) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_02. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
//Requête spécifique aux départements des Antilles |
$requete_971_972 = |
'SELECT * ,count('.EAC_DEP.') as nbr '. |
'FROM '.EAC_BD_TABLE.' '. |
'WHERE ('.EAC_DEP.' = 971 '. |
'OR '.EAC_DEP.' = 972 ) '. |
'GROUP BY '.EAC_DEP; |
$resultat_971_972 = mysql_query($requete_971_972, $GLOBALS['_ECHORO_']['bdd']) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_971_972. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
//Requête spécifique au département de la Réunion |
$requete_974 = |
'SELECT * ,count('.ERC_DEP.') as nbr '. |
'FROM '.ERC_BD_TABLE.' '. |
'WHERE '.ERC_DEP.' = 974 '. |
'GROUP BY '.ERC_DEP; |
$resultat_974 = mysql_query($requete_974, $GLOBALS['_ECHORO_']['bdd']) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_974. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
//Nous stockons les résultats de la requete département par département dans |
//un tableau associatif : $tableau_dep_taxons. |
//Pour chaque identifiant de département, nous sotckons dans le tableau le nombre |
//de taxon présent. |
$tableau_dep_taxons = array(); |
while ($ligne_01 = mysql_fetch_array($resultat_01)) { |
$tableau_dep_taxons[$ligne_01[CD_ID]] = 0; |
} |
while ($ligne_02 = mysql_fetch_array($resultat_02)) { |
$tableau_dep_taxons[$ligne_02[CD_ID]] = $ligne_02['nbr']; |
} |
//Résultat pour la requête spécifique aux départements des Antilles |
while ($ligne_971_972 = mysql_fetch_array($resultat_971_972)) { |
$tableau_dep_taxons[$ligne_971_972[EAC_DEP]] = $ligne_971_972['nbr']; |
} |
//Résultat pour la requête spécifique au département de la Réunion |
while ($ligne_974 = mysql_fetch_array($resultat_974)) { |
$tableau_dep_taxons[$ligne_974[EAC_DEP]] = $ligne_974['nbr']; |
} |
//Nous comptons le nombre de département possédant une liste : |
$nbre_liste = 0; |
foreach($tableau_dep_taxons as $cle => $valeur){ |
if ($valeur != 0) { |
$nbre_liste++; |
} |
} |
// Instanciation du tableau contenant les infos sur la table des zones géo. |
$info_table_zg['nom_table_zone'] = CD_BD_TABLE; |
$info_table_zg['nom_chp_id_zone'] = CD_ID; |
$info_table_zg['nom_chp_nom_zone'] = CD_NOM; |
$info_table_zg['nom_chp_rouge'] = CD_R; |
$info_table_zg['nom_chp_vert'] = CD_V; |
$info_table_zg['nom_chp_bleu'] = CD_B; |
$info_table_zg['nom_chp_zone_sup'] = CD_PAYS; |
$info_table_zg['tableau_valeurs_zone'] = $tableau_dep_taxons; |
// Instanciation du tableau contenant les champs de la table action |
$info_table_action['nom_table_action'] = CA_BD_TABLE; |
$info_table_action['nom_chp_id_carte'] = CA_CARTE; |
$info_table_action['nom_chp_id_zg_action'] = CA_ZG; |
$info_table_action['nom_chp_type_zg'] = CA_TYPE_ZG; |
$info_table_action['nom_chp_action'] = CA_ACTION; |
$info_table_action['nom_chp_id_carte_destination'] = CA_CARTE_DESTINATION; |
// +--------------------------------------------------------------------------------------------------+ |
// CRÉATION DES OBJETS CARTE ET ACTION |
//Nous commençons par vider la chaine renvoyée par la fonction putFrame(). |
$res = ''; |
//Nous créons un nouvel objet carte. |
$france = new Carto_Carte( ID_CARTE_FR_DPT, |
ID_ZONE_GEO_CARTE_FR_DPT, |
NOM_CARTE_FR_DPT, |
ECHORO_FICHIER_CARTE_FR_DPT_MASQUE, |
ECHORO_FICHIER_CARTE_FR_DPT, |
ECHORO_CHEMIN_CARTE, |
$info_table_zg, |
$info_table_action); |
//Les valeurs de coordonnées x et y du clic sur l'image, |
//sont renvoyée automatiquement par le formulaire de la carte. |
//A la première exécution du script ces variables sont vides. |
$france->historique_cartes = $historique_cartes; |
$france->image_x = $image_x; |
$france->image_y = $image_y; |
$france->liste_zone_carte = $liste_zone_carte; |
$france->url = $GLOBALS['_ECHORO_']['url']->getURL(); |
//Nous définissons les couleurs de la carte: |
$france->definirCouleurs ( |
COULEUR_ZERO_R, COULEUR_ZERO_V, COULEUR_ZERO_B, |
COULEUR_MINI_R, COULEUR_MINI_V, COULEUR_MINI_B, |
COULEUR_MEDIUM_R, COULEUR_MEDIUM_V, COULEUR_MEDIUM_B, |
COULEUR_MAXI_R, COULEUR_MAXI_V, COULEUR_MAXI_B); |
$france->definirFormuleColoriage('ecart_type'); |
// +--------------------------------------------------------------------------------------------------+ |
// GESTION AFFICHAGE CARTE OU LISTE |
//Une fois l'arborescence créee, nous lançons la méthode imgform() pour récuperer le formulaire de la |
//carte (dans $carte_france). S'il n'y a pas de carte à afficher imgform() renvoi false. Nous pouvons |
//alors afficher la liste des taxons pour le département sélectioné. |
//Initialisation de la variable $carte_france. |
if(empty($carte_france)){ |
$carte_france = false; |
} |
//Récupération de la valeur de l'action: |
//-false = affichage de la liste |
//-true = affichage d'une carte (mais ici ce cas ne se présente jamais. |
$carte_france = $france->donnerFormulaireImage(); |
// Nous testons $lettre pour affichier la carte ou la liste |
if (isset($lettre)) { |
//Affichage de la liste des taxon pour le département. |
//L'utilisateur a cliqué sur une lettre dans la liste alphabétique |
//sur un département. |
//Nous récupérons toutes les infos sur le département : |
$tableau_infoDep = echoro_recupererInfoDep($departement); |
//Nous affectons les messages d'erreur |
if($nombre_taxon != 0){ |
$message_alerte = message_alerte('01'); |
} else { |
$message_alerte = message_alerte('02'); |
} |
//La requete qui sélectionne les noms de taxons pour le département |
//et la lettre transmis dans l'url par la variable $lettre. |
if ($tableau_infoDep['NUMERO'] == 971 || $tableau_infoDep['NUMERO'] == 972) { |
$requete_03 = |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '. |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE. |
' FROM '.EAC_BD_TABLE.', '.EANT_BD_TABLE.', '.ECS_BD_TABLE. |
' WHERE '; |
if ($lettre != 'tous'){ |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'; |
} else { |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "%"'; |
} |
$requete_03 .= |
' AND '.EAC_DEP.'='.$tableau_infoDep['NUMERO']. |
' AND '.EAC_NUM_NOMEN.' = '.ENT_NUM_NOMEN. |
' AND '.EAC_STATUT.' = '.ECS_ID. |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC'; |
} elseif ($tableau_infoDep['NUMERO'] == 974) { |
$requete_03 = |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '. |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE. |
' FROM '.ERC_BD_TABLE.', '.ERNT_BD_TABLE.', '.ERCS_BD_TABLE. |
' WHERE '; |
if ($lettre != "tous"){ |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'; |
} else { |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "%"'; |
} |
$requete_03 .= |
' AND '.ERC_DEP.'='.$tableau_infoDep['NUMERO']. |
' AND '.ERC_NUM_NOMEN.' = '.ENT_NUM_NOMEN. |
' AND '.ERC_STATUT.' = '.ECS_ID. |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC'; |
} else { |
$requete_03 = |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '. |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE. |
' FROM '.ECD_BD_TABLE.', '.ENT_BD_TABLE.', '.ECS_BD_TABLE. |
' WHERE '; |
if ($lettre != "tous"){ |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'; |
} else { |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "%"'; |
} |
$requete_03 .= |
' AND '.ECD_DEP.'='.$tableau_infoDep['NUMERO']. |
' AND '.ECD_NUM_NOMEN.' = '.ENT_NUM_NOMEN. |
' AND '.ECD_INDICE.' = '.ECS_ID. |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC'; |
} |
$resultat_export = mysql_query($requete_03, $GLOBALS['_ECHORO_']['bdd']) or die(' |
<h2 style='.STYLE_REQUETE.'>Erreur de requête</h2>'. |
'<b>Requete : </b>'.$requete_03. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$GLOBALS['export_bool'] = true; |
if (mysql_num_rows($resultat_export) == 0) { |
$GLOBALS['export_bool'] = false; |
} |
if (isset($_GET['action']) && $_GET['action'] == 'export') { |
// Gestion de l'export XLS |
$i = 0; |
if (isset($_GET['format']) && $_GET['format'] == 'xls') { |
/** Inclusion de la classe PEAR de création de fichiers excell. */ |
require_once ECHORO_CHEMIN_API_PEAR.'Spreadsheet/Excel/Writer.php'; |
$workbook = new Spreadsheet_Excel_Writer(); |
$nom_feuille = 'Département '.$tableau_infoDep['NUMERO']; |
$nom_fichier = 'Chorologie - '.$nom_feuille.'.xls'; |
$worksheet = $workbook->addWorksheet($nom_feuille); |
$format_titre = $workbook->addFormat(); |
$format_titre->setBold(1); |
$format_titre->setSize(16); |
$format_intro = $workbook->addFormat(); |
$format_intro->setBold(1); |
$format_intro->setSize(12); |
$worksheet->mergeCells($i++, 0, $i, 8); |
if ($lettre != 'tous') { |
$titre = 'Export des taxons commençant par la lettre '.$lettre.' présents dans le département '.$tableau_infoDep['NUMERO']; |
} else { |
$titre = 'Export des taxons présents dans le département '.$tableau_infoDep['NUMERO']; |
} |
$worksheet->writeString(0, 0, $titre, $format_titre); |
$worksheet->mergeCells(++$i, 0, $i, 8); |
$titre_projet = 'Projet :'; |
$worksheet->writeString($i++, 0, $titre_projet, $format_intro); |
$worksheet->mergeCells($i, 0, $i, 8); |
$txt_projet = 'Phytochorologie départementale - Coordinateur : Philippe JULVE'; |
$worksheet->writeString($i++, 0, $txt_projet); |
$worksheet->mergeCells($i, 0, $i, 8); |
$titre_licence = 'Licence :'; |
$worksheet->writeString($i++, 0, $titre_licence, $format_intro); |
$worksheet->mergeCells($i, 0, $i, 8); |
$txt_licence = 'http://creativecommons.org/licenses/by-sa/2.0/fr/'; |
$worksheet->writeUrl($i++, 0, $txt_licence); |
$worksheet->mergeCells($i, 0, $i, 8); |
$titre_contributeur = 'Contributeurs :'; |
$worksheet->writeString($i++, 0, $titre_contributeur, $format_intro); |
for ($j = 0; $j < count($tableau_infoDep['CORRESPONDANTS']); $j++){ |
if(ereg("[@]", $tableau_infoDep['CORRESPONDANTS'][$j]['COURRIEL'])){ |
$worksheet->writeString($i, 0, $tableau_infoDep['CORRESPONDANTS'][$j]['PRENOM']); |
$worksheet->writeString($i, 1, $tableau_infoDep['CORRESPONDANTS'][$j]['NOM']); |
$worksheet->writeString($i++, 2, $tableau_infoDep['CORRESPONDANTS'][$j]['COURRIEL']); |
} else { |
$worksheet->writeString($i, 0, $tableau_infoDep['CORRESPONDANTS'][$j]['PRENOM']); |
$worksheet->writeString($i++, 1, $tableau_infoDep['CORRESPONDANTS'][$j]['NOM']); |
} |
} |
$worksheet->mergeCells($i, 0, $i, 8); |
$titre_source = 'Sources :'; |
$worksheet->writeString($i++, 0, $titre_source, $format_intro); |
for ($j = 0; $j < count($tableau_infoDep['SOURCES']); $j++){ |
$worksheet->mergeCells($i, 0, $i, 8); |
$worksheet->writeString($i++, 0, $tableau_infoDep['SOURCES'][$j]); |
} |
$worksheet->setColumn(0, 1, 20); |
$worksheet->setColumn(2, 2, 60); |
$worksheet->setColumn(3, 3, 20); |
$worksheet->writeString($i, 0, 'N° taxonomique', $format_intro); |
$worksheet->writeString($i, 1, 'N° nomenclatural', $format_intro); |
$worksheet->writeString($i, 2, 'Nom complet', $format_intro); |
$worksheet->writeString($i++, 3, 'Indice', $format_intro); |
while ($ligne = mysql_fetch_array($resultat_export)) { |
//echo '<pre>'.print_r($ligne).'</pre>'; |
$worksheet->writeNumber($i, 0, $ligne[ENT_NUM_TAXO]); |
$worksheet->writeNumber($i, 1, $ligne[ENT_NUM_NOMEN]); |
$worksheet->writeString($i, 2, $ligne[ENT_NOM_COMPLET_02]); |
$worksheet->writeString($i++, 3, $ligne[ECS_INTITULE]); |
} |
$workbook->send($nom_fichier); |
$workbook->close(); |
exit(); |
} else { |
return remplaceEntiteHTLM(message_alerte('03')); |
} |
} else { |
//Nous plaçons des données javascripts pour la gestion des infos bulles: |
$tableau_inclusion = array($tableau_infoDep['NOM'], $nombre_taxon); |
$res = inclusion_html('titre_liste', $tableau_inclusion); |
$tableau_inclusion = array($tableau_infoDep['SOURCES'], $tableau_infoDep['CORRESPONDANTS']); |
$res .= inclusion_html('info_dep', $tableau_inclusion); |
$tablo_inclusion = array($lettre); |
$res .= rechercheAlphabet($requete_03, $GLOBALS['_ECHORO_']['url']->getURL(), '&departement='.$tableau_infoDep['NUMERO'].'&nombre_taxon='.$nombre_taxon, |
inclusion_html('tab_ouvre_liste_taxon', $tablo_inclusion), inclusion_html('tab_evol_ferme'), $tablo_formatLigne, |
$tablo_formatResultat, $message_alerte, $fragmenteur); |
return remplaceEntiteHTLM($res); |
} |
} else { |
if (!$carte_france) { |
//Affichage quand il n'y a plus de carte. |
//Dans notre cas l'utilisateur a cliqué sur un département. |
//Nous appelons la fonction javascript à insérer dans l'entête. |
GEN_stockerFichierScript('echoro', ECHORO_CHEMIN_SCRIPT.'echoro.js'); |
//Nous récupérons l'identifiant du département transmis dans l'historique sous |
//la forme france*numéro_departement |
$tableau_departement = explode ('*',$france->historique); |
//Nous récupérons toutes les infos sur le département : |
$tableau_infoDep = echoro_recupererInfoDep($tableau_departement[1]); |
//Attribution à la variable globale du numéro du département |
$GLOBALS['departement'] = $tableau_infoDep['NUMERO']; |
if ($tableau_infoDep['NUMERO'] == 971 || $tableau_infoDep['NUMERO'] == 972) { |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfgm_nn'; |
} elseif ($tableau_infoDep['NUMERO'] == 974) { |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfr_nn'; |
} |
//Nous récupérons le nombre de taxons présent dans le département |
if(isset($tableau_dep_taxons[$tableau_infoDep['NUMERO']]) && $tableau_dep_taxons[$tableau_infoDep['NUMERO']] != 0) { |
$nombre_taxon = $tableau_dep_taxons[$tableau_infoDep['NUMERO']]; |
$message_alerte = message_alerte('01'); |
} else { |
$nombre_taxon = 0; |
$message_alerte = message_alerte('02'); |
} |
//Nous affichons par défaut la liste des taxons dont le nom |
//commence par A. |
$lettre = 'A'; |
//La requete qui sélectionne les noms de taxons pour le département |
//et la lettre A. |
if ($tableau_infoDep['NUMERO'] == 971 || $tableau_infoDep['NUMERO'] == 972) { |
$requete_04 = |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '. |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE. |
' FROM '.EAC_BD_TABLE.', '.EANT_BD_TABLE.', '.ECS_BD_TABLE. |
' WHERE '.ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'. |
' AND '.EAC_DEP.' = '.$tableau_infoDep['NUMERO']. |
//' AND '.EAC_NUM_TAXO.' = '.ENT_NUM_TAXO. |
' AND '.EAC_NUM_NOMEN.' = '.ENT_NUM_NOMEN. |
' AND '.EAC_STATUT.' = '.ECS_ID. |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC'; |
} elseif ($tableau_infoDep['NUMERO'] == 974) { |
$requete_04 = |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '. |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE. |
' FROM '.ERC_BD_TABLE.', '.ERNT_BD_TABLE.', '.ERCS_BD_TABLE. |
' WHERE '.ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'. |
' AND '.ERC_DEP.' = '.$tableau_infoDep['NUMERO']. |
//' AND '.ERC_NUM_TAXO.' = '.ENT_NUM_TAXO. |
' AND '.ERC_NUM_NOMEN.' = '.ENT_NUM_NOMEN. |
' AND '.ERC_STATUT.' = '.ECS_ID. |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC'; |
} else { |
$requete_04 = |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '. |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE. |
' FROM '.ECD_BD_TABLE.', '.ENT_BD_TABLE.', '.ECS_BD_TABLE. |
' WHERE '.ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'. |
' AND '.ECD_DEP.' = '.$tableau_infoDep['NUMERO']. |
//' AND '.ECD_NUM_TAXO.' = '.ENT_NUM_TAXO. |
' AND '.ECD_NUM_NOMEN.' = '.ENT_NUM_NOMEN. |
' AND '.ECD_INDICE.' = '.ECS_ID. |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC'; |
} |
$resultat_export = mysql_query($requete_04, $GLOBALS['_ECHORO_']['bdd']) or die(' |
<h2 style='.STYLE_REQUETE.'>Erreur de requête</h2>'. |
'<b>Requete : </b>'.$requete_04. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$GLOBALS['export_bool'] = true; |
if (mysql_num_rows($resultat_export) == 0) { |
$GLOBALS['export_bool'] = false; |
} |
// Gestion de l'affichage XHTML |
$tableau_inclusion = array($tableau_infoDep['NOM'], $nombre_taxon); |
$res = inclusion_html('titre_liste', $tableau_inclusion); |
$tableau_inclusion = array($tableau_infoDep['SOURCES'], $tableau_infoDep['CORRESPONDANTS']); |
$res .= inclusion_html('info_dep', $tableau_inclusion); |
//La fonction gérant l'affichage de la liste alphabétique et |
//de l'affichage suite à une seléction dans la liste. |
$tablo_inclusion = array($lettre); |
$res .= FRAG_rechercherAvecAlphabet($requete_04, $GLOBALS['_ECHORO_']['url']->getURL(), '&departement='.$tableau_infoDep['NUMERO'].'&nombre_taxon='.$nombre_taxon, |
inclusion_html('tab_ouvre_liste_taxon', $tablo_inclusion), inclusion_html('tab_evol_ferme'), $tablo_formatLigne, |
$tablo_formatResultat, $message_alerte, $fragmenteur); |
return remplaceEntiteHTLM($res); |
} else { |
//Affichage de la carte de france des départements. |
//L'utilisateur arrive sur la page. |
$tableau_inclusion = array($nbre_liste); |
$res = inclusion_html('titre_carte', $tableau_inclusion);//Le titre dans une ligne de tableau |
//Nous affichons la carte |
$res .= $carte_france; |
$res .= inclusion_html('avertissement_carte');//Commentaire dans des lignes de tableau |
return remplaceEntiteHTLM($res); |
}//Fin du test de $carte_france. |
}//Fin du test de $lettre |
} |
function afficherContenuPied() |
{ |
return inclusion_html('pied_page'); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.13 2006-05-31 16:00:13 jp_milcent |
* Gestion de l'url pour le lien vers la licence du fichier d'export. |
* |
* Revision 1.12 2006/05/31 15:14:51 jp_milcent |
* Amélioration de la gestion de l'export xls (suite). |
* |
* Revision 1.11 2006/05/31 15:11:29 jp_milcent |
* Amélioration de la gestion de l'export xls. |
* |
* Revision 1.10 2006/05/31 14:43:35 jp_milcent |
* Correction de la gestion des sessions pour l'affichage de la carte. |
* Ajout de l'export au format xls. |
* |
* Revision 1.9 2005/06/30 15:23:02 jpm |
* Utilisation d'un fichier javascript à part. |
* |
* Revision 1.8 2005/05/31 13:45:10 jpm |
* Mise en place de la gestion entités html. |
* |
* Revision 1.7 2005/05/19 07:37:47 jpm |
* Correction des bogues et derniers réglages avant mise en ligne du site v4. |
* |
* Revision 1.6 2005/03/15 15:10:40 jpm |
* Ajout de l'API formulaire. |
* |
* Revision 1.5 2005/02/24 17:06:17 jpm |
* Changement du nom d'une fonction. |
* |
* Revision 1.4 2005/02/23 17:31:04 jpm |
* Modification de noms de classes css. |
* |
* Revision 1.3 2005/02/22 19:36:03 jpm |
* Suppression de code html superflu. |
* |
* Revision 1.2 2005/02/22 16:39:20 jpm |
* Changement divers pour l'adaptation à Papyrus. |
* |
* Revision 1.1 2005/02/21 19:36:57 jpm |
* Ajout du code de l'appli de tela v3. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/eflore_chorologie_source.php |
---|
New file |
0,0 → 1,149 |
<?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-chorologie. | |
// | | |
// | 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_chorologie_source.php,v 1.2 2005-05-31 13:45:10 jpm Exp $ |
/** |
* Affichage des sources biblio utilisées pour les listes chorologiques. |
* |
* Ce script fournit le code html permettant d'afficher les sources biblio des listes chorologiques. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-05-31 13:45:10 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier config de la base de données de l'application eflore-chorolgie. */ |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config_bdd.inc.php'; |
/** Inclusion du fichier config de l'application eflore-chorolgie. */ |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config.inc.php'; |
/** Inclusion du fichier de langue de l'application eflore-chorologie. */ |
require_once ECHORO_CHEMIN_LANGUE.'echoro_langue_'.ECHORO_LANGUE.'.inc.php'; |
// Ajout d'une feuille de style propre à eFlore. |
GEN_stockerStyleExterne('echoro', ECHORO_CHEMIN_STYLE.'echoro.css'); |
/** Inclusion du fichier comportant des fonctions communes aux applis du package eFlore-chorologie.*/ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_information.fonct.php'; |
/** Inclusion du fichier gérant les fonctions d'encodage. */ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_encodage.fonct.php'; |
/** Inclusion du fichier gérant les fonctions fournissant l'affichage en XHTML. */ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_affichage_xhtml.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuNavigation() |
{ |
$sortie = ''; |
return $sortie; |
} |
function afficherContenuTete() |
{ |
$sortie = ''; |
return $sortie; |
} |
function afficherContenuCorps() |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// Initialisation |
$sortie = ''; |
//Connection à la base |
$connexion = mysql_connect(ECHORO_BDD_SERVEUR, ECHORO_BDD_UTILISATEUR, ECHORO_BDD_MOT_DE_PASSE) or die (ER_CONNECT); |
mysql_select_db(BD_BOTA, $connexion) or die (ER_SEL_BD_BOTA); |
//Requête récupérant les infos sur les sources pour tous les départements |
$requete_01 = |
'SELECT '.EZD_ID.', '.EZD_NOM.', '.ECSO_REF. |
' FROM '.ECSO_BD_TABLE.', '.EZD_BD_TABLE.', '.ECDS_BD_TABLE. |
' WHERE '.EZD_ID.' = '.ECDS_DEP.' AND '.ECDS_SOURCE.' = '.ECSO_ID. |
' ORDER BY '.EZD_ID.' ASC'; |
$resultat_01 = mysql_query ($requete_01) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_01. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$num_dep = ''; |
//Nous ajoutons un titre à la page |
$sortie .= inclusion_html('titre_sources'); |
//Boucle affichant les lignres de résultats |
while($resultat_source = mysql_fetch_array($resultat_01)) { |
//Dans le cas d'un nouveau département, nous devons afficher le titre... |
if ($num_dep != $resultat_source[EZD_ID]){ |
//Nous stockons la nouvelle valeur du numéro de département. |
$num_dep = $resultat_source[EZD_ID]; |
// Nous fermons la liste du département précédent |
if ($num_dep != 1) { |
$sortie .= '</ul>'."\n"; |
} |
// Ligne de titre. |
$sortie .= '<h2>'.$resultat_source[EZD_ID].' - '.$resultat_source[EZD_NOM].'</h2>'."\n"; |
// Ligne de résultat. |
$sortie .= '<ul>'."\n"; |
$sortie .= '<li>'.$resultat_source[ECSO_REF].'</li>'."\n"; |
} else { |
//Nous sommes dans le même département nous affichons juste la nouvelle ligne de résultat. |
$sortie .= '<li>'.$resultat_source[ECSO_REF].'</li>'."\n"; |
} |
} |
$sortie .= '</ul>'."\n"; |
return remplaceEntiteHTLM($sortie); |
} |
function afficherContenuPied() |
{ |
return inclusion_html('pied_page'); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/23 17:30:41 jpm |
* Ajout de la consultation des sources de la chorologie. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/langues/echoro_langue_fr.inc.php |
---|
New file |
0,0 → 1,56 |
<?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-chorologie. | |
// | | |
// | 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: echoro_langue_fr.inc.php,v 1.1 2005-02-22 12:03:28 jpm Exp $ |
/** |
* Fichier de traduction en langue française. |
* |
* Fichier contenant des constantes et des variables globales permettant de traduire l'application |
* eFlore-chorologie. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2005-02-22 12:03:28 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Les paramtres des urls. |
define('ECHORO_LG_URL_ONGLET', 'onglet'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/presentations/scripts/echoro.js |
---|
New file |
0,0 → 1,113 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | Javascript version 1.5 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) Tela Botanica (accueil@tela-botanica.org), 2005. | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Chorologie. | |
// | | |
// | 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: echoro.js,v 1.1 2005-05-19 07:37:47 jpm Exp $ |
/** |
* Contient le code javascript. |
* |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.1 $ $Date: 2005-05-19 07:37:47 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
//D'autres scripts sur http://www.toutjavascript.com |
//Si vous utilisez ce script, merci de m'avertir ! < webmaster@toutjavascript.com > |
//Auteur original :Olivier Hondermarck <webmaster@toutjavascript.com> |
//Modifs compatibilité Netscape 6/Mozilla : Cédric Lamalle 09/2001 <cedric@cpac.embrapa.br> |
//Correction Mac IE5 (Merci Fred) |
var IB=new Object; |
var posX=0; |
var posY=0; |
var xOffset=10; |
var yOffset=10; |
function AffBulle(texte) |
{ |
contenu='<table border="0" cellspacing="0" cellpadding="'+IB.NbPixel+'"><tr bgcolor="'+IB.ColContour+'"><td><table border="0" cellpadding="2" cellspacing="0" bgcolor="'+IB.ColFond+'"><tr><td style="color:'+IB.ColTexte+';">'+texte+'</td></tr></table></td></tr></table> '; |
var finalPosX=posX-xOffset; |
if (finalPosX<0) { |
finalPosX=0; |
} |
if (document.getElementById) { |
document.getElementById('bulle').innerHTML=contenu; |
document.getElementById('bulle').style.top=posY+yOffset+'px'; |
document.getElementById('bulle').style.left=finalPosX+'px'; |
document.getElementById('bulle').style.zIndex=100; |
document.getElementById('bulle').style.visibility="visible"; |
//Nous vérifions que nous utilisons bien IE ou Mozilla pour supprimer les valeurs tiltes de images fournissant les infos bulles d'aides. |
//Cela pourrait être amélioré en vérifiant aussi les liens car l'aide pourrait être donnée par l'intermédiaire de lien. |
//alert(navigator.appName); |
if (document.images.length) { |
//if (navigator.appName == 'Netscape' || navigator.appName == 'Microsoft Internet Explorer') { |
for(i=1; i<document.images.length; i++) { |
var nom = 'echoro_info_0'+i; |
if (document.images[nom] != null ) { |
document.images[nom].title = ""; |
} |
} |
} |
} |
} |
function getMousePos(e) |
{ |
if (document.getElementById) { |
posX=e.pageX; |
posY=e.pageY; |
} |
} |
function HideBulle() |
{ |
if (document.getElementById) { |
document.getElementById('bulle').style.visibility = 'hidden'; |
} |
} |
function InitBulle(ColTexte,ColFond,ColContour,NbPixel) |
{ |
IB.ColTexte=ColTexte;IB.ColFond=ColFond;IB.ColContour=ColContour;IB.NbPixel=NbPixel; |
if (document.getElementById) { |
document.onmousemove = getMousePos; |
document.write('<div id="bulle" style="position:absolute;top:0;left:0;visibility:hidden;"></div>'); |
} |
} |
//// InitBulle(couleur de texte, couleur de fond, couleur de contour, taille contour); |
InitBulle("navy","#FFCC66","orange", 1); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
/trunk/presentations/styles/echoro.css |
---|
New file |
0,0 → 1,159 |
/* vim: set expandtab tabstop=4 shiftwidth=4: */ |
/* ======================================================================================================== |
| Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) | |
+---------------------------------------------------------------------------------------------------------+ |
| This file is part of eFlore-Chorologie. | |
| | |
| 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: echoro.css,v 1.2 2005-02-23 17:29:13 jpm Exp $ |
=========================================================================================================== |
DESCRIPTION : |
Designe de l'application eFlore-Chorologie. |
=========================================================================================================== |
Auteur original : |
Jean-Pascal MILCENT <jpm@tela-botanica.org> |
Autres auteurs : |
Aucun |
=========================================================================================================== |
AUTEUR : $Author: jpm $ |
VERSION : $Revision: 1.2 $ $Date: 2005-02-23 17:29:13 $ |
======================================================================================================= */ |
/* +----------------------------------------------------------------------------------------------------+ |
| STRUCTURE | |
+----------------------------------------------------------------------------------------------------+*/ |
/* +----------------------------------------------------------------------------------------------------+ |
| DESIGN | |
+----------------------------------------------------------------------------------------------------+*/ |
/* Styles de la cartographie*/ |
#cartographie { |
text-align: center; |
} |
/* Styles de la recherche alphabétique et du fragmenteur*/ |
#real_alphabet, #real_page_quantite, #real_nbre_resultat, .nav_fragmenteur { |
text-align: center; |
} |
/* Styles des résultats de la recherche alphabétique*/ |
#echoro_resultat { |
border: 3px solid #d0abe1; |
border-collapse: collapse; |
width: 90%; |
margin: auto; |
} |
#echoro_resultat thead, tfoot { |
background-color:#eee1f5; |
border:1px solid #d0abe1; |
} |
#echoro_resultat tbody { |
background-color:#FFFFFF; |
border:1px solid #d0abe1; |
} |
#echoro_resultat th { |
font-family:monospace; |
border:1px dotted #d0abe1; |
padding:5px; |
background-color:#eee1f5; |
width:25%; |
text-align:center; |
} |
#echoro_resultat td { |
font-family:sans-serif; |
font-size:80%; |
border:1px solid #d0abe1; |
padding:5px; |
text-align:center; |
} |
#echoro_resultat caption { |
font-family:sans-serif; |
text-align: center; |
width:90%; |
margin:auto; |
} |
/* Information diverses de la chorologie*/ |
.echoro_pied_page { |
font-family: Arial, Helvetica, Verdana, sans-serif; |
font-size: 10px; |
color: #A9A9A9; |
background-color: #FFFFFF; |
} |
.echoro_avertissement { |
font-family: Arial, Helvetica, Verdana, sans-serif; |
font-size: 12px; |
color: #FF0000; |
background-color: #FFFFFF; |
} |
.echoro_lien { |
text-decoration: none; |
font-family: Arial, Helvetica, Verdana, sans-serif; |
font-size: 12px; |
} |
.eflore_lien_info { |
text-decoration: none; |
color: #000000; |
} |
.echoro_ligne_impaire { |
background-color: #f9f5fa; |
} |
.echoro_num_taxo { |
color: #CC0000; |
} |
.echoro_num_nomen { |
color: #009900; |
} |
/* Formatage général du texte de la chorologie*/ |
/* Ces styles devrait passer dans la feuille de style globale!*/ |
.texte_g { |
font-weight: bold; |
} |
.texte_i { |
font-style: italic; |
} |
.texte_j { |
text-align: justify; |
} |
.texte_c { |
text-align: center; |
} |
.texte_ga { |
text-align: left; |
} |
/* +--Fin des CSS ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin des CSS ----------------------------------------------------------------------------------------+ |
*/ |
/trunk/presentations/images/info.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/presentations/images/info.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/eflore_chorologie_contributeur.php |
---|
New file |
0,0 → 1,163 |
<?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-chorologie. | |
// | | |
// | 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_chorologie_contributeur.php,v 1.2 2005-05-31 13:45:10 jpm Exp $ |
/** |
* Affichage des contributeurs aux listes chorologiques. |
* |
* Ce script fournit le code html permettant d'afficher les contributeurs aux listes chorologiques. |
* |
*@package eFlore |
*@subpackage Chorologie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-05-31 13:45:10 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier config de la base de données de l'application eflore-chorolgie. */ |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config_bdd.inc.php'; |
/** Inclusion du fichier config de l'application eflore-chorolgie. */ |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config.inc.php'; |
/** Inclusion du fichier de langue de l'application eflore-chorologie. */ |
require_once ECHORO_CHEMIN_LANGUE.'echoro_langue_'.ECHORO_LANGUE.'.inc.php'; |
// Ajout d'une feuille de style propre à eFlore. |
GEN_stockerStyleExterne('echoro', ECHORO_CHEMIN_STYLE.'echoro.css'); |
/** Inclusion du fichier comportant des fonctions communes aux applis du package eFlore-chorologie.*/ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_information.fonct.php'; |
/** Inclusion du fichier gérant les fonctions d'encodage. */ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_encodage.fonct.php'; |
/** Inclusion du fichier gérant les fonctions fournissant l'affichage en XHTML. */ |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_affichage_xhtml.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuNavigation() |
{ |
$sortie = ''; |
return $sortie; |
} |
function afficherContenuTete() |
{ |
$sortie = ''; |
return $sortie; |
} |
function afficherContenuCorps() |
{ |
// +--------------------------------------------------------------------------------------------------+ |
// Initialisation |
$sortie = ''; |
//Définition des attributs des de la balise <a> pour le lien sur le mail |
//Ce tableau est utilisé par la fonction choro_dep_possederCourriel. |
$tablo_formatLien['class']='eflore_lien'; |
$tablo_formatLien['title']='Cliquer pour écrire un message'; |
//Connection à la base |
$connexion = mysql_connect(ECHORO_BDD_SERVEUR, ECHORO_BDD_UTILISATEUR, ECHORO_BDD_MOT_DE_PASSE) or die (ER_CONNECT); |
mysql_select_db(BD_BOTA, $connexion) or die (ER_SEL_BD_BOTA); |
//Requête sql qui récupére les informations sur les correspondant présents dans chaque département. |
$requete_01 = |
'SELECT '.EZD_ID.', '.EZD_NOM.', '.ECC_ID.', '.ECC_PRENOM.', '.ECC_NOM.', '.ECC_COURRIEL. |
' FROM '.ECC_BD_TABLE.', '.EZD_BD_TABLE.', '.ECDC_BD_TABLE. |
' WHERE '.EZD_ID.' = '.ECDC_DEP. |
' AND '.ECDC_CORRES.' = '.ECC_ID. |
' ORDER BY '.EZD_ID.' ASC'; |
$resultat_01 = mysql_query ($requete_01) or die(' |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'. |
'<b>Requete : </b>'.$requete_01. |
'<br/><br/><b>Erreur : </b>'.mysql_error()); |
$num_dep = ''; |
//Inclusion du tite et de l'ouverture du tableau qui permetra d'afficher les correspondants. |
$sortie .= inclusion_html('titre_contrib'); |
$sortie .= inclusion_html('intro_contrib'); |
//Boucle qui fournie les lignes du tableau. |
//Chaque ligne contient : |
//-soit le titre, càd numéro du département suivi de son nom |
//-soit un correspondant |
//-soit un message de recherche de correspondant |
while($resultat_corres = mysql_fetch_array($resultat_01)) { |
if ($num_dep != $resultat_corres[EZD_ID]){//Nous sommes dans le cas d'un nouveau département... |
$num_dep = $resultat_corres[EZD_ID]; //Nous récupérons le numéro du nouveau département |
// Nous fermons la liste du département précédent |
if ($num_dep != 1) { |
$sortie .= '</ul>'."\n"; |
} |
//Nous affichons le titre |
$sortie .= '<h2>'.$resultat_corres[EZD_ID].' - '.$resultat_corres[EZD_NOM].'</h2>'."\n"; |
$sortie .= '<ul>'."\n"; |
// Nous testons si on est dans le cas d'une recherche de correspondant pour le département |
if ($resultat_corres[ECC_ID] == 0){ |
$sortie .= '<li>'.$resultat_corres[ECC_NOM].'</li>'."\n"; |
} else { |
//Nous avons un correspondant pour le département et nous l'affichons |
$sortie .= '<li>'.$resultat_corres[ECC_PRENOM].' '.strtoupper($resultat_corres[ECC_NOM]).' - '; |
$sortie .= echoro_possederCourriel($resultat_corres[ECC_COURRIEL], $tablo_formatLien).'</li>'."\n"; |
} |
} else { |
//Nous sommes dans le cas où nous avons plus d'un correspondant pour le département |
$sortie .= '<li>'.$resultat_corres[ECC_PRENOM].' '.strtoupper($resultat_corres[ECC_NOM]).' - '; |
$sortie .= echoro_possederCourriel($resultat_corres[ECC_COURRIEL], $tablo_formatLien).'</li>'."\n"; |
} |
} |
$sortie .= '</ul>'."\n"; |
return remplaceEntiteHTLM($sortie); |
} |
function afficherContenuPied() |
{ |
return inclusion_html('pied_page'); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/02/23 17:30:35 jpm |
* Ajout de la consultation des contributeurs de la chorologie. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |