Subversion Repositories Applications.papyrus

Rev

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

Rev 448 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.fonct.php,v 1.1 2005-09-22 14:02:49 ddelon Exp $
29
// $Id: cartographie.fonct.php,v 1.2 2006-04-04 12:23:05 florian Exp $
30
// FICHIER : $RCSfile: cartographie.fonct.php,v $
30
// FICHIER : $RCSfile: cartographie.fonct.php,v $
31
// AUTEUR    : $Author: ddelon $
31
// AUTEUR    : $Author: florian $
32
// VERSION : $Revision: 1.1 $
32
// VERSION : $Revision: 1.2 $
33
// DATE        : $Date: 2005-09-22 14:02:49 $
33
// DATE        : $Date: 2006-04-04 12:23:05 $
34
*/
34
*/
Line 35... Line 35...
35
 
35
 
36
/** function carto_texte_cocher ()
36
/** function carto_liste_fiches()
37
*
37
*
38
*
38
*
39
*	@return string  HTML
39
*	@return string  HTML
-
 
40
*/
-
 
41
function carto_liste_fiches(&$monde, $nom_table1, $nom_table2, $nom_champs_pays, $nom_champs_cp, $requete_sql) {
-
 
42
 
-
 
43
    global $mailer;
-
 
44
    global $select;//utilisé dans liste_inscrit.php
-
 
45
    
-
 
46
	$javascript = "
-
 
47
	function confirmer () {
-
 
48
        if (window.confirm ('Cliquez sur OK pour confirmer.')) {
-
 
49
            window.formmail.submit();
-
 
50
        }
-
 
51
    }
-
 
52
 
-
 
53
	function setCheckboxes(the_form) 
-
 
54
	{
-
 
55
    	var do_check=document.forms[the_form].elements['selecttotal'].checked;
-
 
56
    	var elts            = document.forms[the_form].elements['select[]'];
-
 
57
    	var elts_cnt = (typeof(elts.length) != 'undefined')
-
 
58
                        ? elts.length
-
 
59
                        : 0;
-
 
60
    	if (elts_cnt) {
-
 
61
        	for (var i = 0; i < elts_cnt; i++) {
-
 
62
            	elts[i].checked = do_check;
-
 
63
        	} // Fin for
-
 
64
    	} 
-
 
65
    	else {
-
 
66
       	 elts.checked = do_check;
-
 
67
    	} // Fin if... else
-
 
68
    	return true;
Line -... Line 69...
-
 
69
	} // Fin de la fonction 'setCheckboxes()'
-
 
70
 
-
 
71
	";
-
 
72
	GEN_stockerCodeScript($javascript);
-
 
73
 
-
 
74
	$res = '';
-
 
75
	$tabmonde = explode ('*',$monde->historique);
-
 
76
	
-
 
77
	// Premier cas, on vient de cliquer sur un pays qui n'est pas 
-
 
78
	// la France, on affiche les adhérents de ce pays
-
 
79
	if (count($tabmonde) == 3) {
-
 
80
    	$argument = $tabmonde[2];
-
 
81
    	$query = 'SELECT * FROM carto_PAYS WHERE CP_ID_pays="'.$argument.'"';
-
 
82
    	$result = $GLOBALS['ins_db']->query($query);
-
 
83
    	if (DB::isError($result)) {
-
 
84
    		die ($result->getMessage().'<br />'.$result->getDebugInfo()) ;
-
 
85
    	}
-
 
86
    	$row = $result->fetchRow(DB_FETCHMODE_OBJECT) ;    
-
 
87
    	$pays = $row->CP_Intitule_pays;
-
 
88
    	$monde->nom = $monde->nom.'*'.$pays;    
-
 
89
    	$tabonglet = explode ('*', $monde->historique);
-
 
90
    	$tabnom = explode ('*', $monde->nom);
-
 
91
    	$res .= "<b>\n";
-
 
92
    	foreach ($tabonglet as $key => $value) {
-
 
93
        	if ($key == 0) {
-
 
94
            	$chemin = $value;
-
 
95
            	$value = 'monde';
-
 
96
            	$res .= "<a class=\"chemin_carto\" href=\"".$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
-
 
97
        	} else if ($key == (count($tabonglet)-1)) {
-
 
98
            	$res .= "<a class=\"chemin_carto\">&nbsp;&gt;&nbsp;$pays</a>";
-
 
99
        	} else {
-
 
100
            	$chemin .= '*'.$value;
-
 
101
            	$res .= "<a class=\"chemin_carto\" href=\"".$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
-
 
102
        	}
-
 
103
    	}
-
 
104
        $res .= "</b>\n";
-
 
105
    	$capitale = $row->CP_Intitule_capitale;
-
 
106
	    $query2 = ' SELECT count('.$nom_champs_cp.') as nbr'.
-
 
107
    	          ' FROM '.$nom_table1;
-
 
108
    	if ($nom_table2!=0) $query2 .=  ', '.$nom_table2;
-
 
109
    	$query2 .= ' WHERE '.$nom_champs_pays.'="'.$argument.'"';
-
 
110
    	if ($requete_sql!='') $query2 .=  ' AND ('.$requete_sql.')';
-
 
111
    	
-
 
112
    	$result2 = $GLOBALS['ins_db']->query($query2);
-
 
113
    	if (DB::isError($result2)) {
-
 
114
    		die ($result2->getMessage().'<br />'.$result2->getDebugInfo()) ;
-
 
115
    	}
-
 
116
	    $row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT) ;
-
 
117
	    $res .= '<br /><br /><div class="info_pays">'.$pays.' (capitale: '.$capitale.') : ' ;
-
 
118
	    if ($row2->nbr == 0) {
-
 
119
		    $res .= INS_AUCUN_INSCRIT.' '.INS_LABEL_PROJET ;
-
 
120
		    
-
 
121
	    } 
-
 
122
	    else if ($row2->nbr == 1) {
-
 
123
		    $res .= $row2->nbr.' '.INS_INSCRIT.' '.INS_LABEL_PROJET ;
-
 
124
	    }
-
 
125
	    else {
-
 
126
		    $res .= $row2->nbr.' '.INS_INSCRIT.'s '.INS_LABEL_PROJET ;
-
 
127
	    }
-
 
128
	    $res .= "</div>\n";
-
 
129
	    if ($row2->nbr>0) {
-
 
130
		    if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) {
-
 
131
			    $res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ;
-
 
132
		    }
-
 
133
		    else {
-
 
134
			    $requete = 'SELECT * FROM '.$nom_table1;
-
 
135
			    if ($nom_table2!=0) $requete .=  ', '.$nom_table2;
-
 
136
			    $requete .= ' WHERE '.$nom_champs_pays.'="'.$argument.'"';
-
 
137
			    if ($requete_sql!='') $requete .=  ' AND ('.$requete_sql.')';
-
 
138
			    //todo: gerer l'ordre ' ORDER BY '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM;
-
 
139
			    
-
 
140
			    if ($row2->nbr >= 1) {
-
 
141
				    $res .= listes_inscrit($requete, $select, $_SERVER['REQUEST_URI']) ;
-
 
142
				    if ($mailer==1) {
-
 
143
					    if (!is_array($select)) {
-
 
144
						    $res .= "<div>".INS_NO_DESTINATAIRE."</div>";
-
 
145
					    }
-
 
146
					    else {
-
 
147
						    $res .= '<div class="zone_info">'.INS_MESSAGE_ENVOYE.'</div>'."\n" ;
-
 
148
						    carto_envoie_mail() ;
-
 
149
					    }
-
 
150
				    }
-
 
151
				    else {
-
 
152
					    $res .= carto_texte_cocher() ;
-
 
153
				    }
-
 
154
				    $res .= carto_formulaire() ;
-
 
155
			    }
-
 
156
		    }
-
 
157
	    }
-
 
158
		
-
 
159
		// 2 ème cas, on vient de cliquer sur un département français
-
 
160
		} else if (count($tabmonde) == 4) {
-
 
161
	    $argument = $tabmonde[3];
-
 
162
	    $query = 'SELECT * FROM '.INS_TABLE_DPT.' WHERE '.INS_CHAMPS_ID_DEPARTEMENT.'='.$argument;
-
 
163
	    $result = $GLOBALS['ins_db']->query($query);
-
 
164
	    if (DB::isError($result)) {
-
 
165
	        die ($result->getMessage() .'<br />'.$result->getDebugInfo());
-
 
166
	    }
-
 
167
	    $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
-
 
168
	    $nom = $row[INS_CHAMPS_NOM_DEPARTEMENT];
-
 
169
	    
-
 
170
	    $tabonglet=explode ('*', $monde->historique);
-
 
171
	    $tabnom=explode ('*', $monde->nom);
-
 
172
	    $res.="<div><b>\n";
-
 
173
	    foreach ($tabonglet as $key=>$value) {
-
 
174
	        if ($key==0) {
-
 
175
	            $chemin=$value;
-
 
176
	            $value='monde';
-
 
177
	            $res.= "<a class=\"chemin_carto\" href=\"".$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
-
 
178
	        }
-
 
179
	        else if ($key==(count($tabonglet)-1)) {
-
 
180
	            $res.="<a class=\"chemin_carto\">&nbsp;&gt;&nbsp;$nom</a>";
-
 
181
	        }
-
 
182
	        else {
-
 
183
	            $chemin.='*'.$value;
-
 
184
	            $res.= "<a class=\"chemin_carto\" href=\"".$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
-
 
185
	        }
-
 
186
	    }
-
 
187
	    $res .= "</b></div>\n";	
-
 
188
	    
-
 
189
	    $query2 = ' SELECT count('.$nom_champs_cp.') as nbr'.
-
 
190
	              ' FROM '.$nom_table1;
-
 
191
	    if ($nom_table2!=0) $query2 .=  ', '.$nom_table2;
-
 
192
	    $query2 .= ' WHERE '.$nom_champs_cp.' LIKE "'.$argument.'%"'.
-
 
193
	              ' AND '.$nom_champs_pays.'="FR"';
-
 
194
	    if ($requete_sql!='') $query2 .=  ' AND ('.$requete_sql.')';
-
 
195
	    $result2 = $GLOBALS['ins_db']->query($query2);
-
 
196
	    if (DB::isError($result2)) {
-
 
197
	    	die ($result2->getMessage().'<br />'.$result2->getDebugInfo()) ;
-
 
198
	    }
-
 
199
	    
-
 
200
	    $row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT);
-
 
201
	    $res .= '<br /><br /><div class="nb_inscrits">' ;
-
 
202
	    if ($row2->nbr == 0) {
-
 
203
	        $res .= INS_AUCUN_INSCRIT." ".INS_LABEL_PROJET ;
-
 
204
	    }
-
 
205
	    else if ($row2->nbr == 1) {
-
 
206
	        $res .= $row2->nbr." ".INS_INSCRIT." ".INS_LABEL_PROJET ;
-
 
207
	    } 
-
 
208
	    else {
-
 
209
	        $res .= $row2->nbr." ".INS_INSCRIT."s ".INS_LABEL_PROJET ;
-
 
210
	    }
-
 
211
	    $res .= "</div><br />\n";
-
 
212
	    if ($row2->nbr>0) {
-
 
213
		    if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) {
-
 
214
		    	$res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ;
-
 
215
		    } else {		    
-
 
216
			    $requete = 'SELECT * FROM '.$nom_table1;
-
 
217
			    if ($nom_table2!=0) $requete .=  ', '.$nom_table2;			    
-
 
218
			    
-
 
219
			    if (strlen($argument)==1) {
-
 
220
			    	$argument='0'.$argument;
-
 
221
			    }
-
 
222
			    
-
 
223
			    $requete .= ' WHERE '.$nom_champs_cp.' LIKE "'.$argument.'%"'.
-
 
224
			    ' AND '.$nom_champs_pays.'="FR"';
-
 
225
			    	
-
 
226
			    if ($requete_sql!='') $requete .=  ' AND ('.$requete_sql.')';			
-
 
227
			    //todo: ' ORDER BY '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM;
-
 
228
			    $res .= listes_inscrit($requete, $select, $_SERVER['REQUEST_URI']) ;
-
 
229
			    if ($mailer==1) {
-
 
230
				    if (!is_array($select)) {
-
 
231
					    $res.= INS_NO_DESTINATAIRE;
-
 
232
				    } else {
-
 
233
					    $res .= '<p class="zone_info">'.INS_MESSAGE_ENVOYE."</p>\n" ;
-
 
234
					    carto_envoie_mail() ;
-
 
235
				    }
-
 
236
			    } else {
-
 
237
				    $res .=carto_texte_cocher() ;
-
 
238
			    }
-
 
239
			    $res .= carto_formulaire() ;
-
 
240
		    }
-
 
241
	    }
-
 
242
	}
-
 
243
	return $res;
-
 
244
}
-
 
245
 
-
 
246
 
-
 
247
/** function carto_texte_cocher ()
-
 
248
*
-
 
249
*
40
*/
250
*	@return string  HTML
41
 
251
*/
42
function carto_texte_cocher() {
252
function carto_texte_cocher() {
43
    $res = "<div class=\"texte\">".INS_CHECK_UNCHECK ;
253
    $res = "<div class=\"texte\">".INS_CHECK_UNCHECK ;
44
    $res .= "&nbsp;<input type=\"checkbox\" name=\"selecttotal\" onclick=\"javascript:setCheckboxes('formmail');\" /></div>";
254
    $res .= "&nbsp;<input type=\"checkbox\" name=\"selecttotal\" onclick=\"javascript:setCheckboxes('formmail');\" /></div>";
Line 66... Line 276...
66
 *
276
 *
67
 * @return  Renvoie le code HTML de la liste des inscrits
277
 * @return  Renvoie le code HTML de la liste des inscrits
68
 */
278
 */
Line 69... Line 279...
69
 
279
 
70
function listes_inscrit($requete, $select, $url) {
-
 
71
    
-
 
72
    $res = '<form action="'.preg_replace('/&/', '&amp;', $url).'&amp;mailer=1&amp;select="'.$select.'" method="post" name="formmail">'."\n"."
-
 
73
                        <table id=\"table_outilsreseaux\" width=\"100%\">\n
-
 
74
                            <colgroup>
-
 
75
                                <col />
-
 
76
                                <col />
-
 
77
                                <col />
-
 
78
                                <col />
-
 
79
                                <col />
-
 
80
                                <col />
-
 
81
                            </colgroup>
-
 
82
                                <thead>\n
-
 
83
				    <tr>
-
 
84
                                        <td>&nbsp;</td>\n
-
 
85
                                        <td>".INS_NOM."</td>\n
-
 
86
                                        <td>".INS_PRENOM."</td>\n
-
 
87
                                        <td>".INS_DATE_INS."</td>\n
-
 
88
                                        <td>".INS_CODE_POSTAL."</td>\n
-
 
89
                                        <td>".INS_VILLE."</td>\n
280
function listes_inscrit($requete, $select, $url) {
90
				    </tr>
-
 
91
                                </thead>\n";
-
 
92
        
-
 
93
 
281
    $res='';
94
    $resultat= $GLOBALS['ins_db']->query($requete);
282
    $resultat= $GLOBALS['ins_db']->query($requete);
95
    if (DB::isError($resultat)) {
283
    if (DB::isError($resultat)) {
96
        die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
284
        die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
97
    }
-
 
98
    $indic=0;
-
 
99
    $i=1;
285
    }
100
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
101
        if ($indic==0) {
-
 
102
            $res.="<tr class=\"ligne_impaire\">\n";
-
 
103
            $indic=1;
-
 
104
        }
-
 
105
        else {
-
 
106
            $res.="<tr class=\"ligne_paire\">\n";
-
 
107
            $indic=0;
-
 
108
        }
286
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
109
        $res.="<td><input type=\"checkbox\" name=\"select[]\" value=\"".$ligne[INS_CHAMPS_MAIL]."\" /></td>\n
287
    	$res.='<input type="checkbox" name="select[]" value="'.$ligne[INS_CHAMPS_MAIL].'" />'."\n".
110
                        <td>".$ligne[INS_CHAMPS_NOM]."&nbsp;</td>\n
288
               $ligne[INS_CHAMPS_NOM].'&nbsp;'.$ligne[INS_CHAMPS_PRENOM].'&nbsp;'.
111
                        <td>".$ligne[INS_CHAMPS_PRENOM]."&nbsp;</td>\n
289
               $ligne[INS_CHAMPS_CODE_POSTAL].'&nbsp;'.$ligne[INS_CHAMPS_VILLE].'&nbsp;'.
112
                        <td>".date("d.m.Y", strtotime($ligne[INS_CHAMPS_DATE_INSCRIPTION]))."&nbsp;</td>\n
-
 
113
                        <td>".$ligne[INS_CHAMPS_CODE_POSTAL]."&nbsp;</td>\n
-
 
114
                        <td>".$ligne[INS_CHAMPS_VILLE]."&nbsp;</td>\n" ;
-
 
115
        $res .= "</tr>\n";
290
               date("d.m.Y", strtotime($ligne[INS_CHAMPS_DATE_INSCRIPTION])).'<br /><br />'."\n";
116
    }
-
 
117
    
291
    }    
-
 
292
    $res .= '<input type="hidden" name="mailer" value="1" />'."\n";
118
    $res .= "</table>\n";
293
    $res .= '<input type="hidden" name="select" value="'.$select.'" /><br />'."\n";
119
    return $res ;
294
    return $res ;
Line 120... Line 295...
120
}
295
}
121
 
296
 
122
/** envoie_mail()
297
/** envoie_mail()
123
 *
298
 *
124
 *
299
 *
125
 * @return  envoie l'email
-
 
126
 */
300
 * @return  envoie l'email
127
 
301
 */
128
function carto_envoie_mail() {
302
function carto_envoie_mail() {
129
    $requete = 'SELECT '.INS_CHAMPS_MAIL.' FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_ID.'='.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
303
    $requete = 'SELECT '.INS_CHAMPS_MAIL.' FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_ID.'='.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
130
    $resultat = $GLOBALS['ins_db']->query($requete);
304
    $resultat = $GLOBALS['ins_db']->query($requete);
Line 150... Line 324...
150
    $GLOBALS['titre_mail'] = '';
324
    $GLOBALS['titre_mail'] = '';
151
}
325
}
152
//-- Fin du code source    ------------------------------------------------------------
326
//-- Fin du code source    ------------------------------------------------------------
153
/*
327
/*
154
* $Log: not supported by cvs2svn $
328
* $Log: not supported by cvs2svn $
-
 
329
* Revision 1.1  2005/09/22 14:02:49  ddelon
-
 
330
* nettoyage annuaire et php5
-
 
331
*
155
* Revision 1.2  2005/09/22 13:30:49  florian
332
* Revision 1.2  2005/09/22 13:30:49  florian
156
* modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!)
333
* modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!)
157
*
334
*
158
* Revision 1.1  2004/12/15 13:30:20  alex
335
* Revision 1.1  2004/12/15 13:30:20  alex
159
* version initiale
336
* version initiale