Rev 1081 | Blame | Last modification | View Log | RSS feed
<?php//vim: set expandtab tabstop=4 shiftwidth=4:// +-----------------------------------------------------------------------------------------------+// | PHP version 4.0 |// +-----------------------------------------------------------------------------------------------+// | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group |// +-----------------------------------------------------------------------------------------------+// | This source file is subject to version 2.0 of the PHP license, |// | that is bundled with this package in the file LICENSE, and is |// | available at through the world-wide-web at |// | http://www.php.net/license/2_02.txt. |// | If you did not receive a copy of the PHP license and are unable to |// | obtain it through the world-wide-web, please send a note to |// | license@php.net so we can mail you a copy immediately. |// +-----------------------------------------------------------------------------------------------+/****Page permettant l'affichage des informations de cartographie des inscrits**@package cartographie//Auteur original :*@author Alexandre GRANIER <alexandre@tela-botanica.org>//Autres auteurs :*@copyright Tela-Botanica 2000-2004*@version 03 mai 2004// +-----------------------------------------------------------------------------------------------+//// $Id: cartographie.php,v 1.7 2007-01-04 16:53:02 alexandre_tb Exp $// FICHIER : $RCSfile: cartographie.php,v $// AUTEUR : $Author: alexandre_tb $// VERSION : $Revision: 1.7 $// DATE : $Date: 2007-01-04 16:53:02 $*/include_once PAP_CHEMIN_RACINE.'/client/bottin/configuration/bottin.config.inc.php';include_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php';include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';include_once INS_CHEMIN_APPLI.'bibliotheque/lib.carto.php';//================================================================================================if (isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {//---------------le menu de l'appli-----------function afficherContenuNavigation () {$res =inscription_onglets();return $res ;}}//================================================================================================function construit_hierarchie(&$info_zone, &$carto_config, $info_zone_hierarchie, &$monde) {static $i=0;$i++;//requete pour trouver les fils de la carte de depart voulue$requete_zone_fils = 'SELECT * FROM carto_zone_hierarchie '.'WHERE czh_id_zone_pere='.$info_zone_hierarchie->czh_id_zone;$resultat_zone_fils = $GLOBALS['ins_db']->query($requete_zone_fils) ;//$GLOBALS['debug'] .= $requete_zone_fils.'<br /><br />';if (DB::isError($resultat_zone_fils )) {echo ($resultat_zone_fils->getMessage().'<br />'.$resultat_zone_fils->getDebugInfo()).'<br />'.$requete_zone_fils ;}if ($resultat_zone_fils->numRows()!=0) {while ($ligne_zone_fils = $resultat_zone_fils ->fetchRow(DB_FETCHMODE_OBJECT)) {//on ajoute la carto en cours en tant que fils//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher$requete_01 = 'SELECT '.$ligne_zone_fils->czh_code_alpha.'.'.$ligne_zone_fils-> czh_champs_jointure_annuaire.',count('.$ligne_zone_fils->czh_code_alpha.'.'.$ligne_zone_fils-> czh_champs_jointure_annuaire.') AS nbr'.' FROM '.$carto_config['cc_table1']; //.', '.$ligne_zone_fils->czh_nom_table_info_couleur;if ($carto_config['cc_table2']!='') $requete_01 .= ', '.$carto_config['cc_table2'].' as '.$info_zone_hierarchie->czh_code_alpha.', '.$carto_config['cc_table2'].' as '.$ligne_zone_fils->czh_code_alpha.'';$requete_01 .= ' WHERE '.$info_zone_hierarchie->czh_code_alpha.'.'.$info_zone_hierarchie->czh_champs_jointure_annuaire.' = "'.$ligne_zone_fils-> czh_identifiant_table_info_couleur.'" AND '.$info_zone_hierarchie->czh_sql_complementaire;if ($carto_config['cc_sql']!='') $requete_01 .= ' and ('.$carto_config['cc_sql'].')';if ($ligne_zone_fils-> czh_sql_complementaire != '') $requete_01 .= ' and '.$ligne_zone_fils->czh_sql_complementaire ;$requete_01 .= ' and '.$info_zone_hierarchie->czh_code_alpha.'.bfvl_ce_fiche='.$ligne_zone_fils->czh_code_alpha.'.bfvl_ce_fiche';$requete_01 .= ' GROUP BY '.$ligne_zone_fils-> czh_champs_jointure_annuaire;$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;if (DB::isError($resultat_01)) {return $resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo().'<br />'.$requete_01 ;}$tableau_repartition=array();while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {$id=$ligne_zone_fils-> czh_champs_jointure_annuaire;$tableau_repartition[$ligne_01->$id] = $ligne_01->nbr;}$info_zone[$i]['nom_table_zone'] =$ligne_zone_fils->czh_nom_table_info_couleur;$info_zone[$i]['nom_chp_id_zone'] =$ligne_zone_fils->czh_nom_champs_id;$info_zone[$i]['nom_chp_nom_zone'] =$ligne_zone_fils->czh_nom_champs_intitule;$info_zone[$i]['nom_chp_rouge'] =$ligne_zone_fils->czh_nom_champs_couleur_R;$info_zone[$i]['nom_chp_vert'] =$ligne_zone_fils->czh_nom_champs_couleur_V;$info_zone[$i]['nom_chp_bleu'] =$ligne_zone_fils->czh_nom_champs_couleur_B;$info_zone[$i]['nom_chp_zone_sup'] =$ligne_zone_fils->czh_nom_champs_id_pere;$info_zone[$i]['tableau_valeurs_zone'] = $tableau_repartition;$monde->ajouterFils($ligne_zone_fils->czh_code_alpha, $ligne_zone_fils->czh_identifiant_table_info_couleur,$ligne_zone_fils->czh_nom, $ligne_zone_fils->czh_fichier_masque,$ligne_zone_fils->czh_fichier_image, $info_zone[$i]);$monde->fils[$ligne_zone_fils->czh_code_alpha]->definirCouleurs ('255', '255', '255','200', '255', '200','100', '255', '100','0', '100', '0') ;$monde->fils[$ligne_zone_fils->czh_code_alpha]->champs_jointure = $ligne_zone_fils->czh_champs_jointure_annuaire;$monde->fils[$ligne_zone_fils->czh_code_alpha]->sql_complementaire = $ligne_zone_fils->czh_sql_complementaire;if ($i == 1) {construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$ligne_zone_fils->czh_code_alpha]);} else {construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$ligne_zone_fils->czh_code_alpha]);}}}}function afficherContenuCorps() {global $image_x;global $image_y;global $historique_cartes;global $mailer;global $fin;global $sendpwd;//utilisé dans liste_inscrit.phpglobal $select;//utilisé dans liste_inscrit.phpglobal $liste_zone_carte;//=================================================================================================//Gestion de la configuration$requete = 'SELECT * FROM carto_config WHERE cc_menu_id='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu;$resultat = $GLOBALS['ins_db']->query($requete) ;if (DB::isError($resultat)) {die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;}if ($resultat->numRows()>0) {$carto_config = $resultat->fetchRow(DB_FETCHMODE_ASSOC);//on affiche les infos lorsqu'on regarde une ficheif ( isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {$res = affiche_onglet_info();} else {//requete pour afficher la carte de depart voulue dans la conf.$requete_zone_hierarchie = 'SELECT * FROM carto_zone_hierarchie WHERE czh_id_zone='.$carto_config['cc_ce_premiere_carte'];$resultat_zone_hierarchie = $GLOBALS['ins_db']->query($requete_zone_hierarchie) ;if (DB::isError($resultat_zone_hierarchie )) {echo ($resultat_zone_hierarchie->getMessage().'<br />'.$resultat_zone_hierarchie->getDebugInfo()) ;}$ligne_zone_hierarchie = $resultat_zone_hierarchie ->fetchRow(DB_FETCHMODE_OBJECT);//initialisation de la variable 2 dimensions, contenant les infos specifiques a chaque echelle de territoire$info_zone= array();//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher$requete_01 = 'SELECT '.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire.',count('.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire.') AS nbr'.' FROM '.$carto_config['cc_table1']; //.', '.$ligne_zone_fils->czh_nom_table_info_couleur;if ($carto_config['cc_table2']!='') $requete_01 .= ', '.$carto_config['cc_table2'].' as '.$ligne_zone_hierarchie->czh_code_alpha.' ';if ($carto_config['cc_sql']!='') $requete_01 .= ' WHERE ('.$carto_config['cc_sql'].')';if ($ligne_zone_hierarchie-> czh_sql_complementaire != '') $requete_01 .= ' and '.$ligne_zone_hierarchie->czh_sql_complementaire ;$requete_01 .= ' GROUP BY '.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire;$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;if (DB::isError($resultat_01)) {echo $resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo().'<br />'.$requete_01 ;}$info_zone=array();while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {$id=$ligne_zone_hierarchie-> czh_champs_jointure_annuaire;$tableau_repartition[$ligne_01->$id] = $ligne_01->nbr;}$info_zone['nom_table_zone'] =$ligne_zone_hierarchie->czh_nom_table_info_couleur;$info_zone['nom_chp_id_zone'] =$ligne_zone_hierarchie->czh_nom_champs_id;$info_zone['nom_chp_nom_zone'] =$ligne_zone_hierarchie->czh_nom_champs_intitule;$info_zone['nom_chp_rouge'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_R;$info_zone['nom_chp_vert'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_V;$info_zone['nom_chp_bleu'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_B;$info_zone['nom_chp_zone_sup'] =$ligne_zone_hierarchie->czh_nom_champs_id_pere;$info_zone['tableau_valeurs_zone'] = $tableau_repartition;$monde = new Carto_Carte($ligne_zone_hierarchie->czh_code_alpha, '', $ligne_zone_hierarchie->czh_nom,$ligne_zone_hierarchie->czh_fichier_masque, $ligne_zone_hierarchie->czh_fichier_image,INS_CHEMIN_APPLI.'presentations/fonds/', $info_zone);$monde->definirCouleurs('255', '255', '255','200', '255', '200','100', '255', '100','0', '100', '0') ;$monde->champs_jointure = $ligne_zone_hierarchie->czh_champs_jointure_annuaire;$monde->sql_complementaire = $ligne_zone_hierarchie->czh_sql_complementaire;construit_hierarchie($info_zone, $carto_config, $ligne_zone_hierarchie, $monde);//$GLOBALS['debug'] .= '<pre>'.print_r($monde, true).'</pre>';if (isset($_REQUEST['historique_cartes'])) {$monde->historique_cartes = $_REQUEST['historique_cartes'];} else {$monde->historique_cartes = INS_ECHELLE_DEPART;}$monde->image_x = $image_x;$monde->image_y = $image_y;$monde->liste_zone_carte = $liste_zone_carte;$monde->url = $GLOBALS['ins_url']->getURL();// Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte// (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer// le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca).$img = false;if ($mailer == 1 || $fin == true) {$objet_carte = $_SESSION['carte'] ;$monde = unserialize($objet_carte);}else {$img = $monde->donnerFormulaireImage();}// Quoi qu'il arrive, on ouvre la balise formulaireif ($carto_config['cc_titre_carto']!='') $res = '<h1>'.$carto_config['cc_titre_carto'].'</h1>'."\n";else $res = '<h1>'.INS_CARTOGRAPHIE.'</h1>'."\n";$res .= '<form name="formmail" action="'.$monde->url.'" method="post">'."\n";if ((INS_AFFICHE_ECHELLE)and($img)) {$historique_carte = new Carto_HistoriqueCarte ($monde, '>', 'chemin_carto');$res .= $historique_carte->afficherHistoriqueCarte()."\n" ;}if (isset($_GET['voir_fiche'])) {return carto_liste_fiches($monde, $carto_config);}if (!$img ) {//include 'bibliotheque/cartographie.fonct.liste_inscrit.php';$res .= '';/*var_dump ($monde);if (count (explode ('*', $monde->historique)) > 2) {$monde = $monde->fils['drome'] ;} */$res .= carto_liste_fiches($monde, $carto_config);return $res;} else {$res .= $img;$res .= '<p class="zone_info">'."\n";$res .= '<strong>'.INS_CLIQUER_ACCEDER.'</strong><br />'."\n";$res .= INS_COULEUR."\n".'</p>'."\n";}$res .= '</form>'."\n";return $res;}//----------------------------------------------------------------------------------------------------------------------// Cas ou la carto n'a pas encore ete configuree} else {return '<p class="zone_alert">'.INS_FAUT_CONFIGURER_CARTO.'</p>'."\n";}}//-- Fin du code source ------------------------------------------------------------/** $Log: not supported by cvs2svn $* Revision 1.5 2006/04/19 13:49:04 alexandre_tb* correction de bug sur l'utilisation de l'id_menu de papyrus** Revision 1.4 2006/04/10 14:01:36 florian* uniformisation de l'appli bottin: plus qu'un fichier de fonctions** Revision 1.3 2006/04/04 12:23:05 florian* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire** Revision 1.2 2005/11/24 16:17:52 florian* changement template inscription + modifs carto** Revision 1.1 2005/09/22 14:02:49 ddelon* nettoyage annuaire et php5** Revision 1.2 2005/09/22 13:30:49 florian* modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!)** Revision 1.1 2004/12/15 13:33:03 alex* version initiale** Revision 1.2 2004/06/18 08:48:03 alex* améliorations diverses** Revision 1.1 2004/06/09 13:56:47 alex* corrections diverses** Revision 1.9 2003/05/06 12:49:27 alex* remplacement include par include_once** Revision 1.8 2003/03/07 15:20:32 jpm* Correction d'une erreur de texte.** Revision 1.7 2003/02/28 08:43:33 jpm* Gestion des nouvelles tables MySql carto.** Revision 1.6 2003/02/21 13:50:19 jpm* Mise à jour nouvel objet Carto_Carte.** Revision 1.5 2003/02/17 14:33:52 jpm* Modification pour être compatible avec la nouvelle classe carte.***/?>