Subversion Repositories Applications.papyrus

Rev

Rev 612 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 612 Rev 805
Line 24... Line 24...
24
//Autres auteurs :
24
//Autres auteurs :
25
*@copyright         Tela-Botanica 2000-2004
25
*@copyright         Tela-Botanica 2000-2004
26
*@version             03 mai 2004
26
*@version             03 mai 2004
27
// +-----------------------------------------------------------------------------------------------+
27
// +-----------------------------------------------------------------------------------------------+
28
//
28
//
29
// $Id: cartographie.php,v 1.2 2005-11-24 16:17:52 florian Exp $
29
// $Id: cartographie.php,v 1.3 2006-04-04 12:23:05 florian Exp $
30
// FICHIER : $RCSfile: cartographie.php,v $
30
// FICHIER : $RCSfile: cartographie.php,v $
31
// AUTEUR    : $Author: florian $
31
// AUTEUR    : $Author: florian $
32
// VERSION : $Revision: 1.2 $
32
// VERSION : $Revision: 1.3 $
33
// DATE        : $Date: 2005-11-24 16:17:52 $
33
// DATE        : $Date: 2006-04-04 12:23:05 $
34
*/
34
*/
35
include_once PAP_CHEMIN_RACINE.'/client/bottin/configuration/bottin.config.inc.php';
35
include_once PAP_CHEMIN_RACINE.'/client/bottin/configuration/bottin.config.inc.php';
36
include_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php';
36
include_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php';
37
include_once INS_CHEMIN_APPLI.'bibliotheque/cartographie.fonct.php';
37
include_once INS_CHEMIN_APPLI.'bibliotheque/cartographie.fonct.php';
38
include_once INS_CHEMIN_APPLI.'bibliotheque/lib.carto.php';
38
include_once INS_CHEMIN_APPLI.'bibliotheque/lib.carto.php';
Line 52... Line 52...
52
    global $sendpwd;//utilisé dans liste_inscrit.php
52
    global $sendpwd;//utilisé dans liste_inscrit.php
53
    global $select;//utilisé dans liste_inscrit.php
53
    global $select;//utilisé dans liste_inscrit.php
54
    global $liste_zone_carte;
54
    global $liste_zone_carte;
Line 55... Line 55...
55
    
55
    
-
 
56
//=================================================================================================
-
 
57
//Gestion de la configuration    
-
 
58
    $requete = 'SELECT * FROM carto_config WHERE cc_menu_id='.$_GET['menu'];
-
 
59
    $resultat = $GLOBALS['ins_db']->query($requete) ;
-
 
60
    if (DB::isError($resultat)) {
-
 
61
       	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
-
 
62
    }
-
 
63
    if ($resultat->numRows()>0) {
-
 
64
       	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
65
        	//valeurs par defaut enregistrees dans la table
-
 
66
        	$titre=$ligne['cc_titre_carto'];
-
 
67
        	$nom_table1=$ligne['cc_table1'];
-
 
68
        	$nom_table2=$ligne['cc_table2'];
-
 
69
        	$nom_champs_pays=$ligne['cc_pays'];
-
 
70
        	$nom_champs_cp=$ligne['cc_cp'];
56
//=================================================================================================
71
        	$requete_sql=$ligne['cc_sql'];
-
 
72
        }
-
 
73
            
57
    $requete_01 =
74
//=================================================================================================
58
        "SELECT CP_ID_Continent,count(cp_id_continent) AS nbr".
75
    $requete_01 = 'SELECT CP_ID_Continent,count(cp_id_continent) AS nbr'.
-
 
76
        		  ' FROM '.$nom_table1.', carto_PAYS';
59
        " FROM ".INS_ANNUAIRE.", carto_PAYS".
77
    if ($nom_table2!=0) $requete_01 .=  ', '.$nom_table2;     
-
 
78
    $requete_01 .= ' WHERE '.$nom_champs_pays.' = cp_id_pays';
60
        " WHERE ".INS_CHAMPS_PAYS." = cp_id_pays".
79
    if ($requete_sql!='') $requete_01 .=  ' AND ('.$requete_sql.')';
61
        " GROUP BY cp_id_continent";
80
    $requete_01 .= ' GROUP BY cp_id_continent';
62
    $resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;
81
    $resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;
63
    if (DB::isError($resultat_01)) {
82
    if (DB::isError($resultat_01)) {
64
        die ($resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo()) ;
83
        die ($resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo()) ;
65
    }
-
 
66
    
84
    }    
67
    $tableau_ad_continent=array();
-
 
68
    
85
    $tableau_ad_continent=array();    
69
    while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {
86
    while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {
Line 70... Line 87...
70
        $tableau_ad_continent[$ligne_01->CP_ID_Continent] = $ligne_01->nbr; 
87
        $tableau_ad_continent[$ligne_01->CP_ID_Continent] = $ligne_01->nbr; 
71
    
88
    
Line 87... Line 104...
87
    if (DB::isError($resultat_02)) {
104
    if (DB::isError($resultat_02)) {
88
        die ($resultat_02->getMessage().'<br />'.$resultat_02->getDebugInfo()) ;
105
        die ($resultat_02->getMessage().'<br />'.$resultat_02->getDebugInfo()) ;
89
    }
106
    }
Line 90... Line 107...
90
    
107
    
91
    while ($ligne_02 = $resultat_02->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
92
        $requete_03 =
108
    while ($ligne_02 = $resultat_02->fetchRow(DB_FETCHMODE_OBJECT)) {
93
             'SELECT CP_ID_Pays, count(cp_id_pays) as nbr '.
109
        $requete_03 = 'SELECT CP_ID_Pays, count(cp_id_pays) as nbr '.
-
 
110
                      ' FROM '.$nom_table1.', carto_PAYS';
94
            ' FROM '.INS_ANNUAIRE.', carto_PAYS'.
111
        if ($nom_table2!=0) $requete_03 .=  ', '.$nom_table2;
-
 
112
        $requete_03 .= ' WHERE '.$nom_champs_pays.'= cp_id_pays';
95
            ' WHERE '.INS_CHAMPS_PAYS.'= cp_id_pays'.
113
        if ($requete_sql!='') $requete_03 .=  ' AND ('.$requete_sql.')';
96
            ' AND cp_id_continent = "'.$ligne_02->CC_ID_Continent.'"'.
114
        $requete_03 .= ' AND cp_id_continent = "'.$ligne_02->CC_ID_Continent.'"'.
97
            ' GROUP BY cp_id_pays';
-
 
98
        
115
                       ' GROUP BY cp_id_pays';
99
        $resultat_03 = $GLOBALS['ins_db']->query($requete_03) ;
116
        $resultat_03 = $GLOBALS['ins_db']->query($requete_03) ;
100
        if (DB::isError($resultat_03)) {
117
        if (DB::isError($resultat_03)) {
101
            die ($resultat_03->getMessage().'<br />'.$resultat_03->getDebugInfo()) ;
118
            die ($resultat_03->getMessage().'<br />'.$resultat_03->getDebugInfo()) ;
Line 102... Line 119...
102
        }
119
        }
103
        
-
 
104
        $tableau_ad_pays = array();
120
        
105
        
121
        $tableau_ad_pays = array();
106
        while ($ligne_03 = $resultat_03->fetchRow(DB_FETCHMODE_OBJECT)) {
122
        while ($ligne_03 = $resultat_03->fetchRow(DB_FETCHMODE_OBJECT)) {
Line 107... Line 123...
107
            $tableau_ad_pays[$ligne_03->CP_ID_Pays] = $ligne_03->nbr; 
123
            $tableau_ad_pays[$ligne_03->CP_ID_Pays] = $ligne_03->nbr; 
Line 115... Line 131...
115
        $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_bleu'] = 'CP_Couleur_B';
131
        $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_bleu'] = 'CP_Couleur_B';
116
        $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_zone_sup'] = 'CP_ID_Continent';
132
        $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_zone_sup'] = 'CP_ID_Continent';
117
        $info_pays[$ligne_02->CC_ID_Continent]['tableau_valeurs_zone'] = $tableau_ad_pays;
133
        $info_pays[$ligne_02->CC_ID_Continent]['tableau_valeurs_zone'] = $tableau_ad_pays;
118
    }
134
    }
119
    //============================================================================================================
135
    //============================================================================================================
120
    //récupération du numéro de département à partir du code postal
136
		//if (!isset($_POST['historique_cartes']) && INS_ECHELLE_DEPART!='france') {
121
    $requete_cp = 'SELECT a_code_postal FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_PAYS.' = "fr"';
137
			$requete_04 = 'SELECT CD_ID_Departement, count(cd_id_departement) as nbr'.
122
    $resultat_cp = $GLOBALS['ins_db']->query($requete_cp) ;
-
 
123
    if (DB::isError($resultat_cp)) {
-
 
124
        die('
-
 
125
            <h2 class="erreur">Erreur de requête</h2>'.
138
	    	    	      ' FROM '.$nom_table1.', carto_DEPARTEMENT'.
126
            '<b>Requete : </b>'.$requete_cp.
139
	        			  ' WHERE '.$nom_champs_pays.' = "fr"'.
127
            '<br/><br/><b>Erreur : </b>'.$resultat_cp->getMessage());
-
 
128
    }
-
 
129
    $tableau_ad_dpt_france = array();
-
 
130
    while ($ligne_cp = $resultat_cp->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
131
         if (preg_match("/^97|98[0-9]*/", $ligne_cp['a_code_postal'])) {
140
						  ' AND SUBSTRING('.$nom_champs_cp.' FROM 1 FOR 2) = cd_id_Departement'.
132
		 $n_dpt = substr($ligne_cp['a_code_postal'], 0, 3) ;
-
 
133
	 } else {
-
 
134
		 $n_dpt = substr($ligne_cp['a_code_postal'], 0, 2) ;
-
 
135
	 }
-
 
136
	 $requete_04 = 'SELECT cd_id_departement '.
141
	        			  ' GROUP BY cd_id_Departement';
137
	 ' FROM '.INS_ANNUAIRE.', carto_DEPARTEMENT'.
-
 
138
	 ' WHERE '.INS_CHAMPS_PAYS.' = "fr"'.
-
 
139
	 ' AND  cd_id_departement = '.$n_dpt;
-
 
140
	 $resultat_04 = $GLOBALS['ins_db']->query($requete_04) ;
142
	    	$resultat_04 = $GLOBALS['ins_db']->query ($requete_04) ;
141
	 if (DB::isError($resultat_04)) {
143
	    	$tableau_ad_dpt_france = array();
142
		 die('
-
 
143
		 <H2 class="erreur">Erreur de requête</H2>'.
-
 
144
		 '<b>Requete : </b>'.$requete_04.
-
 
145
		 '<br/><br/><b>Erreur : </b>'.$resultat_04->getMessage());
-
 
146
	 }
-
 
147
	 
-
 
148
	 while ($ligne_04 = $resultat_04->fetchRow(DB_FETCHMODE_OBJECT)) {
144
	    	while ($ligne_04 = $resultat_04->fetchRow(DB_FETCHMODE_OBJECT)) {
149
		 $tableau_ad_dpt_france[$ligne_04->cd_id_departement] = $resultat_04->numRows();
145
	    		$tableau_ad_dpt_france[$ligne_04->CD_ID_Departement] = $ligne_04->nbr;
150
	 }
-
 
151
    }
146
	    	}
152
    
-
 
153
    $info_dpt_france['nom_table_zone'] = 'carto_DEPARTEMENT';
147
	    	$info_dpt_france['nom_table_zone'] = 'carto_DEPARTEMENT';
154
    $info_dpt_france['nom_chp_id_zone'] = 'CD_ID_Departement';
148
	    	$info_dpt_france['nom_chp_id_zone'] = 'CD_ID_Departement';
155
    $info_dpt_france['nom_chp_nom_zone'] = 'CD_Intitule_departement';
149
	    	$info_dpt_france['nom_chp_nom_zone'] = 'CD_Intitule_departement';
156
    $info_dpt_france['nom_chp_rouge'] = 'CD_Couleur_R';
150
	    	$info_dpt_france['nom_chp_rouge'] = 'CD_Couleur_R';
157
    $info_dpt_france['nom_chp_vert'] = 'CD_Couleur_V';
151
	    	$info_dpt_france['nom_chp_vert'] = 'CD_Couleur_V';
158
    $info_dpt_france['nom_chp_bleu'] = 'CD_Couleur_B';
152
	    	$info_dpt_france['nom_chp_bleu'] = 'CD_Couleur_B';
159
    $info_dpt_france['nom_chp_zone_sup'] = 'CD_ID_Pays';
153
	    	$info_dpt_france['nom_chp_zone_sup'] = 'CD_ID_Pays';
160
    $info_dpt_france['tableau_valeurs_zone'] = $tableau_ad_dpt_france;
154
	    	$info_dpt_france['tableau_valeurs_zone'] = $tableau_ad_dpt_france;
-
 
155
	    //}    
Line 161... Line 156...
161
    
156
    
Line 162... Line 157...
162
    //============================================================================================================
157
    //============================================================================================================
163
 
158
 
Line 164... Line 159...
164
    
159
    
165
    //============================================================================================================
-
 
166
    // On cree tout d'abord l'arborescence
160
    //============================================================================================================
167
    
-
 
-
 
161
    // On cree tout d'abord l'arborescence
168
    $monde = new Carto_Carte('continent', '', 'Monde', 'monde_masque5c.png', 'monde5c.png', INS_CHEMIN_APPLI.'presentations/fonds/', $info_continent);
162
    
-
 
163
    $monde = new Carto_Carte('continent', '', 'Monde', 'monde_masque5c.png', 'monde5c.png', INS_CHEMIN_APPLI.'presentations/fonds/', $info_continent);    
-
 
164
    $monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;    
-
 
165
    if (isset($_POST['historique_cartes'])) {
169
    
166
    	$monde->historique_cartes = $_POST['historique_cartes'];
170
    $monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
167
    } else {
171
    
168
    	$monde->historique_cartes = INS_ECHELLE_DEPART;
172
    $monde->historique_cartes = $historique_cartes;
169
    }
Line 184... Line 181...
184
            " AND CA_ID_Carte_destination = CDC_ID_Carte";
181
            " AND CA_ID_Carte_destination = CDC_ID_Carte";
Line 185... Line 182...
185
        
182
        
186
        $resultat_05 = $GLOBALS['ins_db']->query ($requete_05) ;
183
        $resultat_05 = $GLOBALS['ins_db']->query ($requete_05) ;
187
        if (DB::isError($resultat_05)) {
184
        if (DB::isError($resultat_05)) {
188
            die ($resultat_05->getMessage().'<br />'.$resultat_05->getDebugInfo()) ;
185
            die ($resultat_05->getMessage().'<br />'.$resultat_05->getDebugInfo()) ;
189
        }
-
 
190
        
186
        }        
191
        $ligne_05 = $resultat_05->fetchRow(DB_FETCHMODE_OBJECT);
-
 
192
        
187
        $ligne_05 = $resultat_05->fetchRow(DB_FETCHMODE_OBJECT);        
193
        $monde->ajouterFils($ligne_05->CDC_ID_Carte, $ligne_05->CDC_ID_Zone_geo_carte, $ligne_05->CDC_Titre_carte, 
188
        $monde->ajouterFils($ligne_05->CDC_ID_Carte, $ligne_05->CDC_ID_Zone_geo_carte, $ligne_05->CDC_Titre_carte, 
194
                                        $ligne_05->CDC_Carte_masque, $ligne_05->CDC_Carte_fond, $valeur);
189
                                        $ligne_05->CDC_Carte_masque, $ligne_05->CDC_Carte_fond, $valeur);
195
        $monde->fils[$ligne_05->CDC_ID_Carte]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
190
        $monde->fils[$ligne_05->CDC_ID_Carte]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
Line 199... Line 194...
199
    $monde->fils['europe']->fils['france']->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
194
    $monde->fils['europe']->fils['france']->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
Line 200... Line 195...
200
    
195
    
201
    // Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte
196
    // Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte
202
    // (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer
197
    // (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer
203
    // le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca).
-
 
204
    $res = '';
198
    // le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca).
205
    
-
 
206
    
199
        
207
    $img = false;
200
    $img = false;
208
    if ($mailer == 1 || $fin == true) {
201
    if ($mailer == 1 || $fin == true) {
209
        $objet_carte = $_SESSION['carte'] ;
202
        $objet_carte = $_SESSION['carte'] ;
210
        $monde = unserialize($objet_carte);}
203
        $monde = unserialize($objet_carte);}
211
    else {
204
    else {
212
        $img = $monde->donnerFormulaireImage();
205
        $img = $monde->donnerFormulaireImage();
213
    }
206
    }
-
 
207
           
-
 
208
    // Quoi qu'il arrive, on ouvre la balise formulaire
-
 
209
    if ($titre!='') $res = '<h1>'.$titre.'</h1>'."\n";
-
 
210
    else $res = '<h1>'.INS_CARTOGRAPHIE.'</h1>'."\n";
214
    
211
    $res .= '<form action="'.$monde->url.'" method="post">'."\n";
-
 
212
    if ((INS_AFFICHE_ECHELLE)and($img)) {
-
 
213
       	$historique_carte = new Carto_HistoriqueCarte ($monde, '&gt;', 'chemin_carto');
215
    // On teste donc img
214
       	$res .= $historique_carte->afficherHistoriqueCarte()."\n" ;
216
    
215
    }
217
    if (!$img ) {
216
    if (!$img ) {
-
 
217
    	//include 'bibliotheque/cartographie.fonct.liste_inscrit.php';
218
        include 'bibliotheque/cartographie.fonct.liste_inscrit.php';
218
        $res .= carto_liste_fiches($monde, $nom_table1, $nom_table2, $nom_champs_pays, $nom_champs_cp, $requete_sql);
219
        return $res;
-
 
220
    }
219
        return $res;
221
    else {
-
 
222
    	// Quoi qu'il arrive, on ouvre la balise formulaire
-
 
223
        $res = '<form action="'.$monde->url.'" method="post">'."\n";
-
 
224
        $historique_carte = new Carto_HistoriqueCarte ($monde, '&gt;', 'chemin_carto');
-
 
225
        $res .= $historique_carte->afficherHistoriqueCarte()."\n" ;
220
    } else {
226
        $res .= $img;
-
 
227
        $res .= '</form>'."\n";
221
    	$res .= $img;
228
        $res .= '<p style="text-align: center;">'."\n";
222
        $res .= '<p class="zone_info">'."\n";
229
		$res .= '<strong>'.INS_CLIQUER_ACCEDER.'</strong><br />'."\n";
223
		$res .= '<strong>'.INS_CLIQUER_ACCEDER.'</strong><br />'."\n";
-
 
224
        $res .= INS_COULEUR."\n".'</p>'."\n";                
-
 
225
    }
230
        $res .= INS_COULEUR."\n".'</p>'."\n";        
226
    $res .= '</form>'."\n";
-
 
227
    return $res;
-
 
228
    
-
 
229
//----------------------------------------------------------------------------------------------------------------------
-
 
230
// Cas ou la carto n'a pas encore ete configuree        
-
 
231
    } else {
231
        return $res;
232
    	return '<p class="zone_alert">'.INS_FAUT_CONFIGURER_CARTO.'</p>'."\n";
232
    }
233
    }
Line 233... Line 234...
233
}
234
}
234
 
235
 
235
 
236
 
-
 
237
//-- Fin du code source    ------------------------------------------------------------
-
 
238
/*
-
 
239
* $Log: not supported by cvs2svn $
236
//-- Fin du code source    ------------------------------------------------------------
240
* Revision 1.2  2005/11/24 16:17:52  florian
237
/*
241
* changement template inscription + modifs carto
238
* $Log: not supported by cvs2svn $
242
*
239
* Revision 1.1  2005/09/22 14:02:49  ddelon
243
* Revision 1.1  2005/09/22 14:02:49  ddelon
240
* nettoyage annuaire et php5
244
* nettoyage annuaire et php5