Subversion Repositories Applications.papyrus

Rev

Rev 1081 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
448 ddelon 1
<?php
2
 
3
//vim: set expandtab tabstop=4 shiftwidth=4:
4
// +-----------------------------------------------------------------------------------------------+
5
// | PHP version 4.0                                                                               |
6
// +-----------------------------------------------------------------------------------------------+
7
// | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group                                      |
8
// +-----------------------------------------------------------------------------------------------+
9
// | This source file is subject to version 2.0 of the PHP license,                                |
10
// | that is bundled with this package in the file LICENSE, and is                                 |
11
// | available at through the world-wide-web at                                                    |
12
// | http://www.php.net/license/2_02.txt.                                                          |
13
// | If you did not receive a copy of the PHP license and are unable to                            |
14
// | obtain it through the world-wide-web, please send a note to                                   |
15
// | license@php.net so we can mail you a copy immediately.                                        |
16
// +-----------------------------------------------------------------------------------------------+
17
/**
18
*
19
*Page permettant l'affichage des informations de cartographie des inscrits
20
*
21
*@package cartographie
22
//Auteur original :
23
*@author                Alexandre GRANIER <alexandre@tela-botanica.org>
24
//Autres auteurs :
25
*@copyright         Tela-Botanica 2000-2004
26
*@version             03 mai 2004
27
// +-----------------------------------------------------------------------------------------------+
28
//
1189 alexandre_ 29
// $Id: cartographie.php,v 1.7 2007-01-04 16:53:02 alexandre_tb Exp $
448 ddelon 30
// FICHIER : $RCSfile: cartographie.php,v $
1189 alexandre_ 31
// AUTEUR    : $Author: alexandre_tb $
32
// VERSION : $Revision: 1.7 $
33
// DATE        : $Date: 2007-01-04 16:53:02 $
448 ddelon 34
*/
612 florian 35
include_once PAP_CHEMIN_RACINE.'/client/bottin/configuration/bottin.config.inc.php';
448 ddelon 36
include_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php';
810 florian 37
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
448 ddelon 38
include_once INS_CHEMIN_APPLI.'bibliotheque/lib.carto.php';
39
 
40
//================================================================================================
1189 alexandre_ 41
if (isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {
810 florian 42
	//---------------le menu de l'appli-----------
43
	function afficherContenuNavigation () {
44
		$res =inscription_onglets();
45
		return $res ;
46
	}
47
}
48
 
448 ddelon 49
//================================================================================================
1081 florian 50
function construit_hierarchie(&$info_zone, &$carto_config, $info_zone_hierarchie, &$monde) {
51
	static $i=0;
52
	$i++;
53
 
1189 alexandre_ 54
 
1081 florian 55
	//requete pour trouver les fils de la carte de depart voulue
56
	$requete_zone_fils = 'SELECT * FROM carto_zone_hierarchie '.
1189 alexandre_ 57
						 'WHERE czh_id_zone_pere='.$info_zone_hierarchie->czh_id_zone;
58
	$resultat_zone_fils = $GLOBALS['ins_db']->query($requete_zone_fils) ;//$GLOBALS['debug'] .= $requete_zone_fils.'<br /><br />';
1081 florian 59
	if (DB::isError($resultat_zone_fils )) {
60
    	echo ($resultat_zone_fils->getMessage().'<br />'.$resultat_zone_fils->getDebugInfo()).'<br />'.$requete_zone_fils ;
61
	}
62
 
63
	if ($resultat_zone_fils->numRows()!=0) {
64
		while ($ligne_zone_fils  = $resultat_zone_fils ->fetchRow(DB_FETCHMODE_OBJECT)) {
1189 alexandre_ 65
			//on ajoute la carto en cours en tant que fils
66
 
67
 
1081 florian 68
			//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher
1189 alexandre_ 69
			$requete_01 = 'SELECT '.$ligne_zone_fils->czh_code_alpha.'.'.$ligne_zone_fils-> czh_champs_jointure_annuaire.
70
							',count('.$ligne_zone_fils->czh_code_alpha.'.'.$ligne_zone_fils-> czh_champs_jointure_annuaire.') AS nbr'.
71
			    		  ' FROM '.$carto_config['cc_table1']; //.', '.$ligne_zone_fils->czh_nom_table_info_couleur;
72
			if ($carto_config['cc_table2']!='') $requete_01 .=  ', '.$carto_config['cc_table2'].' as '.$info_zone_hierarchie->czh_code_alpha.', '.
73
												$carto_config['cc_table2'].' as '.$ligne_zone_fils->czh_code_alpha.'';
74
 
75
			$requete_01 .= ' WHERE '.$info_zone_hierarchie->czh_code_alpha.'.'.$info_zone_hierarchie->czh_champs_jointure_annuaire.' = "'.
76
							$ligne_zone_fils-> czh_identifiant_table_info_couleur.
77
							'" AND '.$info_zone_hierarchie->czh_sql_complementaire;
78
 
79
			if ($carto_config['cc_sql']!='') $requete_01 .=  '  and ('.$carto_config['cc_sql'].')';
80
			if ($ligne_zone_fils-> czh_sql_complementaire != '') $requete_01 .= ' and '.$ligne_zone_fils->czh_sql_complementaire ;
81
			$requete_01 .= ' and '.$info_zone_hierarchie->czh_code_alpha.'.bfvl_ce_fiche='.$ligne_zone_fils->czh_code_alpha.'.bfvl_ce_fiche';
82
			$requete_01 .= ' GROUP BY '.$ligne_zone_fils-> czh_champs_jointure_annuaire;
83
 
1081 florian 84
			$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;
85
			if (DB::isError($resultat_01)) {
1189 alexandre_ 86
			    return $resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo().'<br />'.$requete_01 ;
1081 florian 87
			}
88
			$tableau_repartition=array();
89
			while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {
1189 alexandre_ 90
				$id=$ligne_zone_fils-> czh_champs_jointure_annuaire;
1081 florian 91
			    $tableau_repartition[$ligne_01->$id] = $ligne_01->nbr;
92
			}
1189 alexandre_ 93
			$info_zone[$i]['nom_table_zone'] =$ligne_zone_fils->czh_nom_table_info_couleur;
94
			$info_zone[$i]['nom_chp_id_zone'] =$ligne_zone_fils->czh_nom_champs_id;
95
			$info_zone[$i]['nom_chp_nom_zone'] =$ligne_zone_fils->czh_nom_champs_intitule;
96
			$info_zone[$i]['nom_chp_rouge'] =$ligne_zone_fils->czh_nom_champs_couleur_R;
97
			$info_zone[$i]['nom_chp_vert'] =$ligne_zone_fils->czh_nom_champs_couleur_V;
98
			$info_zone[$i]['nom_chp_bleu'] =$ligne_zone_fils->czh_nom_champs_couleur_B;
99
			$info_zone[$i]['nom_chp_zone_sup'] =$ligne_zone_fils->czh_nom_champs_id_pere;
1081 florian 100
			$info_zone[$i]['tableau_valeurs_zone'] = $tableau_repartition;
1189 alexandre_ 101
 
102
			$monde->ajouterFils($ligne_zone_fils->czh_code_alpha, $ligne_zone_fils->czh_identifiant_table_info_couleur,
103
								$ligne_zone_fils->czh_nom, $ligne_zone_fils->czh_fichier_masque,
104
								$ligne_zone_fils->czh_fichier_image, $info_zone[$i]);
105
			$monde->fils[$ligne_zone_fils->czh_code_alpha]->definirCouleurs ('255', '255', '255','200', '255', '200','100', '255', '100','0', '100', '0') ;
106
			$monde->fils[$ligne_zone_fils->czh_code_alpha]->champs_jointure = $ligne_zone_fils->czh_champs_jointure_annuaire;
107
			$monde->fils[$ligne_zone_fils->czh_code_alpha]->sql_complementaire = $ligne_zone_fils->czh_sql_complementaire;
108
 
109
			if ($i == 1) {
110
				construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$ligne_zone_fils->czh_code_alpha]);
1081 florian 111
			} else {
1189 alexandre_ 112
	    		construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$ligne_zone_fils->czh_code_alpha]);
1081 florian 113
			}
114
		}
115
	}
116
}
448 ddelon 117
 
1081 florian 118
function afficherContenuCorps() {
448 ddelon 119
    global $image_x;
120
    global $image_y;
121
    global $historique_cartes;
122
    global $mailer;
123
    global $fin;
124
    global $sendpwd;//utilisé dans liste_inscrit.php
125
    global $select;//utilisé dans liste_inscrit.php
126
    global $liste_zone_carte;
127
 
810 florian 128
	//=================================================================================================
129
	//Gestion de la configuration
820 alexandre_ 130
    $requete = 'SELECT * FROM carto_config WHERE cc_menu_id='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu;
805 florian 131
    $resultat = $GLOBALS['ins_db']->query($requete) ;
132
    if (DB::isError($resultat)) {
133
       	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
134
    }
135
    if ($resultat->numRows()>0) {
1081 florian 136
    	$carto_config = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
137
 
138
	   	//on affiche les infos lorsqu'on regarde une fiche
1189 alexandre_ 139
	   	if ( isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {
1081 florian 140
	   		$res = affiche_onglet_info();
1189 alexandre_ 141
	   	} else {
1081 florian 142
			//requete pour afficher la carte de depart voulue dans la conf.
143
			$requete_zone_hierarchie = 'SELECT * FROM carto_zone_hierarchie WHERE czh_id_zone='.$carto_config['cc_ce_premiere_carte'];
144
			$resultat_zone_hierarchie = $GLOBALS['ins_db']->query($requete_zone_hierarchie) ;
145
			if (DB::isError($resultat_zone_hierarchie )) {
146
		    	echo ($resultat_zone_hierarchie->getMessage().'<br />'.$resultat_zone_hierarchie->getDebugInfo()) ;
147
			}
148
			$ligne_zone_hierarchie  = $resultat_zone_hierarchie ->fetchRow(DB_FETCHMODE_OBJECT);
149
 
150
			//initialisation de la variable 2 dimensions, contenant les infos specifiques a chaque echelle de territoire
151
	    	$info_zone= array();
1189 alexandre_ 152
	    	//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher
153
			$requete_01 = 'SELECT '.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire.',count('.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire.') AS nbr'.
154
			    		  ' FROM '.$carto_config['cc_table1']; //.', '.$ligne_zone_fils->czh_nom_table_info_couleur;
155
			if ($carto_config['cc_table2']!='') $requete_01 .=  ', '.$carto_config['cc_table2'].' as '.$ligne_zone_hierarchie->czh_code_alpha.' ';
156
			if ($carto_config['cc_sql']!='') $requete_01 .=  ' WHERE ('.$carto_config['cc_sql'].')';
157
			if ($ligne_zone_hierarchie-> czh_sql_complementaire != '') $requete_01 .= ' and '.$ligne_zone_hierarchie->czh_sql_complementaire ;
158
			$requete_01 .= ' GROUP BY '.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire;
159
			$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;
160
			if (DB::isError($resultat_01)) {
161
			    echo $resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo().'<br />'.$requete_01 ;
162
			}
163
 
164
			$info_zone=array();
165
			while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {
166
				$id=$ligne_zone_hierarchie-> czh_champs_jointure_annuaire;
167
			    $tableau_repartition[$ligne_01->$id] = $ligne_01->nbr;
168
			}
169
			$info_zone['nom_table_zone'] =$ligne_zone_hierarchie->czh_nom_table_info_couleur;
170
			$info_zone['nom_chp_id_zone'] =$ligne_zone_hierarchie->czh_nom_champs_id;
171
			$info_zone['nom_chp_nom_zone'] =$ligne_zone_hierarchie->czh_nom_champs_intitule;
172
			$info_zone['nom_chp_rouge'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_R;
173
			$info_zone['nom_chp_vert'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_V;
174
			$info_zone['nom_chp_bleu'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_B;
175
			$info_zone['nom_chp_zone_sup'] =$ligne_zone_hierarchie->czh_nom_champs_id_pere;
176
			$info_zone['tableau_valeurs_zone'] = $tableau_repartition;
177
 
1081 florian 178
	    	$monde = new Carto_Carte($ligne_zone_hierarchie->czh_code_alpha, '', $ligne_zone_hierarchie->czh_nom,
179
	    							 $ligne_zone_hierarchie->czh_fichier_masque, $ligne_zone_hierarchie->czh_fichier_image,
1189 alexandre_ 180
			   		                 INS_CHEMIN_APPLI.'presentations/fonds/', $info_zone);
181
			$monde->definirCouleurs('255', '255', '255','200', '255', '200','100', '255', '100','0', '100', '0') ;
182
			$monde->champs_jointure = $ligne_zone_hierarchie->czh_champs_jointure_annuaire;
183
			$monde->sql_complementaire = $ligne_zone_hierarchie->czh_sql_complementaire;
1081 florian 184
			construit_hierarchie($info_zone, $carto_config, $ligne_zone_hierarchie, $monde);
1189 alexandre_ 185
		//$GLOBALS['debug'] .= '<pre>'.print_r($monde, true).'</pre>';
186
 
187
			if (isset($_REQUEST['historique_cartes'])) {
188
				$monde->historique_cartes = $_REQUEST['historique_cartes'];
1081 florian 189
			} else {
190
				$monde->historique_cartes = INS_ECHELLE_DEPART;
191
			}
192
			$monde->image_x = $image_x;
193
			$monde->image_y = $image_y;
194
			$monde->liste_zone_carte = $liste_zone_carte;
195
			$monde->url = $GLOBALS['ins_url']->getURL();
1189 alexandre_ 196
 
1081 florian 197
			// Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte
198
			// (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer
199
			// le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca).
200
 
201
			$img = false;
202
			if ($mailer == 1 || $fin == true) {
203
			    $objet_carte = $_SESSION['carte'] ;
204
			    $monde = unserialize($objet_carte);}
205
			else {
206
			    $img = $monde->donnerFormulaireImage();
207
			}
208
 
209
			// Quoi qu'il arrive, on ouvre la balise formulaire
210
			if ($carto_config['cc_titre_carto']!='') $res = '<h1>'.$carto_config['cc_titre_carto'].'</h1>'."\n";
211
			else $res = '<h1>'.INS_CARTOGRAPHIE.'</h1>'."\n";
212
			$res .= '<form name="formmail" action="'.$monde->url.'" method="post">'."\n";
213
			if ((INS_AFFICHE_ECHELLE)and($img)) {
214
			   	$historique_carte = new Carto_HistoriqueCarte ($monde, '&gt;', 'chemin_carto');
1189 alexandre_ 215
 
1081 florian 216
			   	$res .= $historique_carte->afficherHistoriqueCarte()."\n" ;
217
			}
1189 alexandre_ 218
			if (isset($_GET['voir_fiche'])) {
219
				return carto_liste_fiches($monde, $carto_config);
220
			}
1081 florian 221
			if (!$img ) {
222
				//include 'bibliotheque/cartographie.fonct.liste_inscrit.php';
1189 alexandre_ 223
				$res .= '';
224
				/*var_dump ($monde);
225
				if (count (explode ('*', $monde->historique)) > 2) {
226
					$monde = $monde->fils['drome'] ;
227
				} */
228
 
229
			    $res .= carto_liste_fiches($monde, $carto_config);
1081 florian 230
			    return $res;
231
			} else {
232
				$res .= $img;
233
			    $res .= '<p class="zone_info">'."\n";
234
				$res .= '<strong>'.INS_CLIQUER_ACCEDER.'</strong><br />'."\n";
235
			    $res .= INS_COULEUR."\n".'</p>'."\n";
236
			}
237
			$res .= '</form>'."\n";
1189 alexandre_ 238
 
1081 florian 239
	        return $res;
1189 alexandre_ 240
	   	}
1081 florian 241
	//----------------------------------------------------------------------------------------------------------------------
242
	// Cas ou la carto n'a pas encore ete configuree
805 florian 243
    } else {
244
    	return '<p class="zone_alert">'.INS_FAUT_CONFIGURER_CARTO.'</p>'."\n";
245
    }
448 ddelon 246
}
247
 
248
 
249
//-- Fin du code source    ------------------------------------------------------------
250
/*
251
* $Log: not supported by cvs2svn $
1081 florian 252
* Revision 1.5  2006/04/19 13:49:04  alexandre_tb
253
* correction de bug sur l'utilisation de l'id_menu de papyrus
254
*
820 alexandre_ 255
* Revision 1.4  2006/04/10 14:01:36  florian
256
* uniformisation de l'appli bottin: plus qu'un fichier de fonctions
257
*
810 florian 258
* Revision 1.3  2006/04/04 12:23:05  florian
259
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
260
*
805 florian 261
* Revision 1.2  2005/11/24 16:17:52  florian
262
* changement template inscription + modifs carto
263
*
612 florian 264
* Revision 1.1  2005/09/22 14:02:49  ddelon
265
* nettoyage annuaire et php5
266
*
448 ddelon 267
* Revision 1.2  2005/09/22 13:30:49  florian
268
* modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!)
269
*
270
* Revision 1.1  2004/12/15 13:33:03  alex
271
* version initiale
272
*
273
* Revision 1.2  2004/06/18 08:48:03  alex
274
* améliorations diverses
275
*
276
* Revision 1.1  2004/06/09 13:56:47  alex
277
* corrections diverses
278
*
279
* Revision 1.9  2003/05/06 12:49:27  alex
280
* remplacement include par include_once
281
*
282
* Revision 1.8  2003/03/07 15:20:32  jpm
283
* Correction d'une erreur de texte.
284
*
285
* Revision 1.7  2003/02/28 08:43:33  jpm
286
* Gestion des nouvelles tables MySql carto.
287
*
288
* Revision 1.6  2003/02/21 13:50:19  jpm
289
* Mise à jour nouvel objet Carto_Carte.
290
*
291
* Revision 1.5  2003/02/17 14:33:52  jpm
292
* Modification pour être compatible avec la nouvelle classe carte.
293
*
294
*
295
*/
296
?>