Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 167 Rev 392
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
/**
2
/* Exemple lancement:
3
 * Exemple lancement:
3
/opt/lampp/bin/php -d memory_limit=3500M /home/mohcen/web/cartoOSM/scripts/cli.php mise_a_jour -a recupererRelationAMod 
4
 * /opt/lampp/bin/php -d memory_limit=3500M cli.php osm/mise_a_jour -a MAJ -f fichier_osm_a_analyser
4
 * -f fichier_osm_change -e fichier_osm_nouveau
-
 
5
*/
5
 */
6
class MiseAjour extends Script {
6
class MiseAjour extends Script {
7
	private $communes = array();
7
	private $communes = array();
8
	private $relations_communes = array();
8
	private $relations_communes = array();
9
	private $relation_a_chemins = array();
9
	private $relation_a_chemins = array();
10
	private $chemin_a_noeuds = array();
10
	private $chemin_a_noeuds = array();
11
	private $noeuds = array();
11
	private $noeuds = array();
12
	private $pas = 10000;
12
	private $pas = 10000;
13
	private $pas_commune = 1000;
13
	private $pas_commune = 1000;
14
		
14
 
15
	protected $parametres_autorises = array(
15
	protected $parametres_autorises = array(
16
	'-f' => array(true, null, 'Chemin du fichier osm à analyser'));
16
	'-f' => array(true, null, 'Chemin du fichier osm à analyser'));
Line 17... Line 17...
17
 
17
 
18
	public function executer() {
18
	public function executer() {
Line 26... Line 26...
26
				break;
26
				break;
27
				default :
27
				default :
28
				$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));
28
				$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));
29
		}
29
		}
30
    }
30
    }
31
	
31
 
32
 
32
 
33
	/**
33
	/**
34
	 * Fonction permettant de traiter et d'analyser le fichier de différence et de mettre  à jour la base de données
34
	 * Fonction permettant de traiter et d'analyser le fichier de différence et de mettre  à jour la base de données
35
	 * en tenant compte des trois cas:Suppression, Création ,modification
35
	 * en tenant compte des trois cas:Suppression, Création ,modification
36
	*/
36
	*/
37
	private function MettreAjour() {
37
	private function MettreAjour() {
Line 41... Line 41...
41
			while ($lecteur->read()) {
41
			while ($lecteur->read()) {
42
				if ($lecteur->nodeType == XMLREADER::ELEMENT) {
42
				if ($lecteur->nodeType == XMLREADER::ELEMENT) {
43
					if ($lecteur->localName == 'create') {
43
					if ($lecteur->localName == 'create') {
44
						$creations = $lecteur->expand();
44
						$creations = $lecteur->expand();
45
						$this->	analyserCreations($creations);
45
						$this->	analyserCreations($creations);
46
					} 
46
					}
47
					if ($lecteur->localName == 'modify') {
47
					if ($lecteur->localName == 'modify') {
48
						$modifications = $lecteur->expand();
48
						$modifications = $lecteur->expand();
49
						$this->	analyserModifications($modifications);
49
						$this->	analyserModifications($modifications);
50
					} 
50
					}
51
					if ($lecteur->localName == 'delete') {
51
					if ($lecteur->localName == 'delete') {
52
						$suppressions = $lecteur->expand();
52
						$suppressions = $lecteur->expand();
53
						$this->	analyserSuppressions($suppressions);
53
						$this->	analyserSuppressions($suppressions);
54
					} 
54
					}
55
				}
55
				}
56
			}
56
			}
57
		} else {
57
		} else {
58
			$e = "Impossible d'ouvrir le fichier osm : %s";
58
			$e = "Impossible d'ouvrir le fichier osm : %s";
59
			$this->traiterErreur($e, array($this->getParametre('f')));
59
			$this->traiterErreur($e, array($this->getParametre('f')));
60
		}
60
		}
61
	}
61
	}
62
	
62
 
63
	/**
63
	/**
64
	 * Fonction permettant le traitement du cas création concernant les relations, ways et les noeuds.
64
	 * Fonction permettant le traitement du cas création concernant les relations, ways et les noeuds.
65
	 */
65
	 */
66
	private function analyserCreations($creations) {
66
	private function analyserCreations($creations) {
67
		$relations = $creations->getElementsByTagName('relation');
67
		$relations = $creations->getElementsByTagName('relation');
Line 91... Line 91...
91
		$this->insererRelationsCommunes();
91
		$this->insererRelationsCommunes();
92
		$this->insererRelationAChemins();
92
		$this->insererRelationAChemins();
93
		$this->insererCheminANoeuds();
93
		$this->insererCheminANoeuds();
94
		$this->insererNoeuds();
94
		$this->insererNoeuds();
95
	}
95
	}
96
	
96
 
97
	/**
97
	/**
98
	 * Fonction permettant le traitement du cas modification concernant les relations, ways et les noeuds.
98
	 * Fonction permettant le traitement du cas modification concernant les relations, ways et les noeuds.
99
	 */
99
	 */
100
	private function analyserModifications($modifications) {
100
	private function analyserModifications($modifications) {
101
		$relations = $modifications->getElementsByTagName('relation');
101
		$relations = $modifications->getElementsByTagName('relation');
Line 125... Line 125...
125
		$this->modifierRelationsCommunes();
125
		$this->modifierRelationsCommunes();
126
		$this->modifierRelationAChemins();
126
		$this->modifierRelationAChemins();
127
		$this->modifierCheminANoeuds();
127
		$this->modifierCheminANoeuds();
128
		$this->modifierNoeuds();
128
		$this->modifierNoeuds();
129
	}
129
	}
130
	
130
 
131
	/**
131
	/**
132
	 * Fonction permettant le traitement du cas suppression concernant les relations, ways et les noeuds.
132
	 * Fonction permettant le traitement du cas suppression concernant les relations, ways et les noeuds.
133
	 */
133
	 */
134
	private function analyserSuppressions($suppressions) {
134
	private function analyserSuppressions($suppressions) {
135
		$relations = $suppressions->getElementsByTagName('relation');
135
		$relations = $suppressions->getElementsByTagName('relation');
Line 159... Line 159...
159
		$this->supprimerRelationsCommunes();
159
		$this->supprimerRelationsCommunes();
160
		$this->supprimerRelationAChemins();
160
		$this->supprimerRelationAChemins();
161
		$this->supprimerCheminANoeuds();
161
		$this->supprimerCheminANoeuds();
162
		$this->supprimerNoeuds();
162
		$this->supprimerNoeuds();
163
	}
163
	}
164
	
164
 
165
	
165
 
166
	/**
166
	/**
167
	 * Récupère l'id commune, nom commune et le code INSEE et remplie la table `osm_relations`
167
	 * Récupère l'id commune, nom commune et le code INSEE et remplie la table `osm_relations`
168
	 */  
168
	 */
169
	private function analyserRelation($relation) {
169
	private function analyserRelation($relation) {
170
		$relation_id = $this->proteger($relation->getAttribute('id'));
170
		$relation_id = $this->proteger($relation->getAttribute('id'));
171
		$chemins = $relation->getElementsByTagName('member');
171
		$chemins = $relation->getElementsByTagName('member');
172
		foreach ($chemins as $chemin) {
172
		foreach ($chemins as $chemin) {
173
			if ($chemin->getAttribute('type') == 'way') { //écarter le noeud centrale
173
			if ($chemin->getAttribute('type') == 'way') { //écarter le noeud centrale
174
				$chemin_id = $this->proteger($chemin->getAttribute('ref'));
174
				$chemin_id = $this->proteger($chemin->getAttribute('ref'));
175
				$role = $this->proteger($chemin->getAttribute('role'));//role: null, inner, outer, exclave et enclave.
175
				$role = $this->proteger($chemin->getAttribute('role'));//role: null, inner, outer, exclave et enclave.
176
				$this->relation_a_chemins[] = array($relation_id, $chemin_id, $role); 
176
				$this->relation_a_chemins[] = array($relation_id, $chemin_id, $role);
177
			}
177
			}
178
		}
178
		}
179
		$commune_nom = null;
179
		$commune_nom = null;
180
		$commune_insee = null;
180
		$commune_insee = null;
181
		$tags = $relation->getElementsByTagName('tag');
181
		$tags = $relation->getElementsByTagName('tag');
Line 183... Line 183...
183
			$tag_cle = $tag->getAttribute('k');
183
			$tag_cle = $tag->getAttribute('k');
184
			$tag_val = $tag->getAttribute('v');
184
			$tag_val = $tag->getAttribute('v');
185
			switch ($tag_cle) {
185
			switch ($tag_cle) {
186
				case 'name' :
186
				case 'name' :
187
					$commune_nom = $this->proteger($tag_val);
187
					$commune_nom = $this->proteger($tag_val);
188
					break;	
188
					break;
189
				case 'ref:INSEE' :
189
				case 'ref:INSEE' :
190
					$commune_insee = $this->proteger($tag_val);
190
					$commune_insee = $this->proteger($tag_val);
191
					break;
191
					break;
192
			}
192
			}
193
			if (!is_null($commune_nom) && !is_null($commune_insee)) {
193
			if (!is_null($commune_nom) && !is_null($commune_insee)) {
Line 199... Line 199...
199
						"Veuillez corriger la carte OSM.";
199
						"Veuillez corriger la carte OSM.";
200
					$this->traiterErreur($e, array($this->communes[$commune_insee], $commune_insee, $relation_id));
200
					$this->traiterErreur($e, array($this->communes[$commune_insee], $commune_insee, $relation_id));
201
				}
201
				}
202
				break;
202
				break;
203
			}
203
			}
204
		}		
204
		}
205
	}
205
	}
206
	
206
 
207
	/**
207
	/**
208
	 * Récupère l'id_way et tous les id_node de chaque way et remplie la table `osm_chemin_a_noeuds`
208
	 * Récupère l'id_way et tous les id_node de chaque way et remplie la table `osm_chemin_a_noeuds`
209
	 */  
209
	 */
210
	private function analyserWay($way) {
210
	private function analyserWay($way) {
211
		$chemin_id = $this->proteger($way->getAttribute('id'));
211
		$chemin_id = $this->proteger($way->getAttribute('id'));
212
		$ordre = 0;
212
		$ordre = 0;
213
		$noeuds = $way->getElementsByTagName('nd');
213
		$noeuds = $way->getElementsByTagName('nd');
214
		$chemin_a_noeuds = array();
214
		$chemin_a_noeuds = array();
Line 216... Line 216...
216
			$noeud_id = $this->proteger($noeud->getAttribute('ref'));
216
			$noeud_id = $this->proteger($noeud->getAttribute('ref'));
217
			$ordre++;
217
			$ordre++;
218
	    	$this->chemin_a_noeuds[] = array($chemin_id, $noeud_id, $ordre);
218
	    	$this->chemin_a_noeuds[] = array($chemin_id, $noeud_id, $ordre);
219
		}
219
		}
220
	}
220
	}
221
	
221
 
222
	/** 
222
	/**
223
	 * Fonction qui récupère tous les l'id_node et les valeurs(Lat/Lon) correspondantes et remplie la table `osm_noeuds`
223
	 * Fonction qui récupère tous les l'id_node et les valeurs(Lat/Lon) correspondantes et remplie la table `osm_noeuds`
224
	 */ 
224
	 */
225
	private function analyserNode($node) {
225
	private function analyserNode($node) {
226
		$noeud_id = $this->proteger($node->getAttribute('id'));
226
		$noeud_id = $this->proteger($node->getAttribute('id'));
227
		$lat = $this->proteger($node->getAttribute('lat'));
227
		$lat = $this->proteger($node->getAttribute('lat'));
228
		$lon = $this->proteger($node->getAttribute('lon'));
228
		$lon = $this->proteger($node->getAttribute('lon'));
229
		$this->noeuds[] = array($noeud_id, $lat, $lon);
229
		$this->noeuds[] = array($noeud_id, $lat, $lon);
230
	}
230
	}
231
	
231
 
232
	//Insertion des relations 
232
	//Insertion des relations
233
	private function insererRelationsCommunes() {
233
	private function insererRelationsCommunes() {
234
		$requete =	'INSERT INTO osm_relations (id_relation, nom, code_insee) '.
234
		$requete =	'INSERT INTO osm_relations (id_relation, nom, code_insee) '.
235
					'VALUES '.$this->creerValuesMultiple($this->relations_communes);
235
					'VALUES '.$this->creerValuesMultiple($this->relations_communes);
236
		$this->inserer($requete);
236
		$this->inserer($requete);
237
		$this->relations_communes = array();
237
		$this->relations_communes = array();
238
	}
238
	}
Line 239... Line 239...
239
 
239
 
240
	//Insertion des relations à chemins 
240
	//Insertion des relations à chemins
241
	private function insererRelationAChemins() {
241
	private function insererRelationAChemins() {
242
		$requete =	'INSERT INTO osm_relation_a_chemins (id_relation, id_chemin, role) '.
242
		$requete =	'INSERT INTO osm_relation_a_chemins (id_relation, id_chemin, role) '.
243
					'VALUES '.$this->creerValuesMultiple($this->relation_a_chemins);
243
					'VALUES '.$this->creerValuesMultiple($this->relation_a_chemins);
244
		$this->inserer($requete);
244
		$this->inserer($requete);
245
		$this->relation_a_chemins = array();
245
		$this->relation_a_chemins = array();
Line 246... Line 246...
246
	}	
246
	}
247
 
247
 
248
	//Insertion des chemins à noeuds 
248
	//Insertion des chemins à noeuds
249
	private function insererCheminANoeuds() {
249
	private function insererCheminANoeuds() {
250
		$requete = 	'INSERT INTO osm_chemin_a_noeuds (id_chemin, id_noeud, ordre) '.
250
		$requete = 	'INSERT INTO osm_chemin_a_noeuds (id_chemin, id_noeud, ordre) '.
251
					'VALUES '.$this->creerValuesMultiple($this->chemin_a_noeuds);
251
					'VALUES '.$this->creerValuesMultiple($this->chemin_a_noeuds);
252
		$this->inserer($requete);
252
		$this->inserer($requete);
253
		$this->chemin_a_noeuds = array();
253
		$this->chemin_a_noeuds = array();
254
	}
254
	}
255
		
255
 
256
	//Insertion des noeuds 
256
	//Insertion des noeuds
257
	private function insererNoeuds() {
257
	private function insererNoeuds() {
258
		$requete = 'INSERT INTO osm_noeuds (id_noeud, lat, `long`) '.
258
		$requete = 'INSERT INTO osm_noeuds (id_noeud, lat, `long`) '.
259
	    		   'VALUES '.$this->creerValuesMultiple($this->noeuds);
259
	    		   'VALUES '.$this->creerValuesMultiple($this->noeuds);
260
		$this->inserer($requete);
260
		$this->inserer($requete);
261
		$this->noeuds = array();
261
		$this->noeuds = array();
262
	}
262
	}
263
	
263
 
264
	//Update des relations 
264
	//Update des relations
265
	private function modifierRelationsCommunes() {
265
	private function modifierRelationsCommunes() {
266
		$donnees = $this->relations_communes;
266
		$donnees = $this->relations_communes;
267
		foreach ($donnees as $donnee) {
267
		foreach ($donnees as $donnee) {
268
		$requete = 'UPDATE osm_relations '. 
268
		$requete = 'UPDATE osm_relations '.
269
					"SET id_relation = $donnee[0], nom = $donnee[1], code_insee = $donnee[2] ". 
269
					"SET id_relation = $donnee[0], nom = $donnee[1], code_insee = $donnee[2] ".
270
					"WHERE id_relation = $donnee[0]";
270
					"WHERE id_relation = $donnee[0]";
271
			$this->inserer($requete);
271
			$this->inserer($requete);
272
		}
272
		}
273
		$this->relations_communes = array();
273
		$this->relations_communes = array();
274
	}
274
	}
275
	
275
 
276
	/*
276
	/*
277
	*Update des relations à chemins en supprimant l'ancienne relation et tous ses chemins 
277
	*Update des relations à chemins en supprimant l'ancienne relation et tous ses chemins
278
	*de la table osm_relation_a_chemins et insérer la nouvelle  
278
	*de la table osm_relation_a_chemins et insérer la nouvelle
279
	*/
279
	*/
280
	private function modifierRelationAChemins() {
280
	private function modifierRelationAChemins() {
281
		$relations_a_chemins_a_supp = array();
281
		$relations_a_chemins_a_supp = array();
282
		$donnees = $this->relation_a_chemins;
282
		$donnees = $this->relation_a_chemins;
283
		foreach ($donnees as $donnee) {
283
		foreach ($donnees as $donnee) {
284
			$relations_a_chemins_a_supp[] = $donnee[0];
284
			$relations_a_chemins_a_supp[] = $donnee[0];
285
		}
285
		}
286
		$values_chaine = '('.implode(',',array_unique($relations_a_chemins_a_supp)).')';
286
		$values_chaine = '('.implode(',',array_unique($relations_a_chemins_a_supp)).')';
287
		$requete = 'DELETE FROM osm_relation_a_chemins '.
287
		$requete = 'DELETE FROM osm_relation_a_chemins '.
288
					"WHERE id_relation IN $values_chaine";
288
					"WHERE id_relation IN $values_chaine";
289
		$this->inserer($requete);	
289
		$this->inserer($requete);
290
		foreach ($donnees as $donnee) {
290
		foreach ($donnees as $donnee) {
291
			$requete = 'INSERT INTO osm_relation_a_chemins (id_relation, id_chemin, role) '.
291
			$requete = 'INSERT INTO osm_relation_a_chemins (id_relation, id_chemin, role) '.
292
						"VALUES ($donnee[0], $donnee[1], $donnee[2]);";
292
						"VALUES ($donnee[0], $donnee[1], $donnee[2]);";
293
			$this->inserer($requete);
293
			$this->inserer($requete);
294
		}
294
		}
295
		$this->relation_a_chemins = array();
295
		$this->relation_a_chemins = array();
296
	}	
296
	}
297
	
297
 
298
	/*
298
	/*
299
	*Update des chemins à noeuds en supprimant l'ancien chemin et tous ses noeuds 
299
	*Update des chemins à noeuds en supprimant l'ancien chemin et tous ses noeuds
300
	*de la table osm_chemins_a_noeuds et insérer le nouveau  
300
	*de la table osm_chemins_a_noeuds et insérer le nouveau
301
	*/
301
	*/
302
	private function modifierCheminANoeuds() {
302
	private function modifierCheminANoeuds() {
303
		$chemin_a_noeuds_a_supp = array();
303
		$chemin_a_noeuds_a_supp = array();
304
		$donnees = $this->chemin_a_noeuds;
304
		$donnees = $this->chemin_a_noeuds;
305
		foreach ($donnees as $donnee) {
305
		foreach ($donnees as $donnee) {
306
			$chemin_a_noeuds_a_supp[] = $donnee[0];
306
			$chemin_a_noeuds_a_supp[] = $donnee[0];
307
		}
307
		}
308
		$values_chaine = '('.implode(',',array_unique($chemin_a_noeuds_a_supp)).')';
308
		$values_chaine = '('.implode(',',array_unique($chemin_a_noeuds_a_supp)).')';
309
		$requete = 'DELETE FROM osm_chemin_a_noeuds '.
309
		$requete = 'DELETE FROM osm_chemin_a_noeuds '.
310
					"WHERE id_chemin IN $values_chaine";
310
					"WHERE id_chemin IN $values_chaine";
311
		$this->inserer($requete);	
311
		$this->inserer($requete);
312
		foreach ($donnees as $donnee) {
312
		foreach ($donnees as $donnee) {
313
			$requete = 'INSERT INTO osm_chemin_a_noeuds (id_chemin, id_noeud, ordre) '.
313
			$requete = 'INSERT INTO osm_chemin_a_noeuds (id_chemin, id_noeud, ordre) '.
314
						"VALUES ($donnee[0], $donnee[1], $donnee[2]);";
314
						"VALUES ($donnee[0], $donnee[1], $donnee[2]);";
315
			$this->inserer($requete);
315
			$this->inserer($requete);
316
		}
316
		}
317
		$this->chemin_a_noeuds = array();
317
		$this->chemin_a_noeuds = array();
318
	}
318
	}
319
	
319
 
320
	
320
 
321
	//Update des noeuds 
321
	//Update des noeuds
322
	private function modifierNoeuds() {
322
	private function modifierNoeuds() {
323
		$donnees = $this->noeuds;
323
		$donnees = $this->noeuds;
324
		foreach ($donnees as $donnee) {
324
		foreach ($donnees as $donnee) {
325
			$requete = 'UPDATE osm_noeuds '. 
325
			$requete = 'UPDATE osm_noeuds '.
326
						"SET id_noeud = $donnee[0], lat = $donnee[1], `long` = $donnee[2] ". 
326
						"SET id_noeud = $donnee[0], lat = $donnee[1], `long` = $donnee[2] ".
327
						"WHERE id_noeud = $donnee[0]";
327
						"WHERE id_noeud = $donnee[0]";
328
			$this->inserer($requete);
328
			$this->inserer($requete);
329
		}
329
		}
330
		$this->noeuds = array();
330
		$this->noeuds = array();
331
	}
331
	}
332
	
332
 
333
	
333
 
334
	//Suppressions des relations 
334
	//Suppressions des relations
335
	private function supprimerRelationsCommunes() {
335
	private function supprimerRelationsCommunes() {
336
		$donnees = $this->relations_communes;
336
		$donnees = $this->relations_communes;
337
		foreach ($donnees as $donnee) {
337
		foreach ($donnees as $donnee) {
338
			$requete = 'DELETE FROM osm_relations '. 
338
			$requete = 'DELETE FROM osm_relations '.
339
						"WHERE id_relation = $donnee[0]";
339
						"WHERE id_relation = $donnee[0]";
340
			$this->inserer($requete);
340
			$this->inserer($requete);
341
		}
341
		}
342
		$this->relations_communes = array();
342
		$this->relations_communes = array();
343
	}
343
	}
344
	
344
 
345
	//Suppressions des relations à chemins 
345
	//Suppressions des relations à chemins
346
	private function supprimerRelationAChemins() {
346
	private function supprimerRelationAChemins() {
347
		$donnees = $this->relations_communes;
347
		$donnees = $this->relations_communes;
348
		foreach ($donnees as $donnee) {
348
		foreach ($donnees as $donnee) {
349
			$donnees = $this->relation_a_chemins;
349
			$donnees = $this->relation_a_chemins;
350
			$requete = 'DELETE FROM osm_relation_a_chemins '. 
350
			$requete = 'DELETE FROM osm_relation_a_chemins '.
351
						"WHERE id_relation = $donnee[0]";
351
						"WHERE id_relation = $donnee[0]";
352
			$this->inserer($requete);
352
			$this->inserer($requete);
353
		}
353
		}
354
		$this->relation_a_chemins = array();
354
		$this->relation_a_chemins = array();
355
	}	
355
	}
356
	
356
 
357
	//Suppressions des chemins à noeuds 
357
	//Suppressions des chemins à noeuds
358
	private function supprimerCheminANoeuds() {
358
	private function supprimerCheminANoeuds() {
359
		$donnees = $this->chemin_a_noeuds;
359
		$donnees = $this->chemin_a_noeuds;
360
		foreach ($donnees as $donnee) {
360
		foreach ($donnees as $donnee) {
361
			$donnees = $this->relation_a_chemins;
361
			$donnees = $this->relation_a_chemins;
362
			$requete = 'DELETE FROM osm_chemin_a_noeuds '. 
362
			$requete = 'DELETE FROM osm_chemin_a_noeuds '.
363
						"WHERE id_chemin = $donnee[0]";
363
						"WHERE id_chemin = $donnee[0]";
364
			$this->inserer($requete);
364
			$this->inserer($requete);
365
		}
365
		}
366
		$this->chemin_a_noeuds = array();
366
		$this->chemin_a_noeuds = array();
367
	}
367
	}
368
		
368
 
369
	//Suppressions des chemins à noeuds 
369
	//Suppressions des chemins à noeuds
370
	private function supprimerNoeuds() {
370
	private function supprimerNoeuds() {
371
		$donnees = $this->noeuds;
371
		$donnees = $this->noeuds;
372
		foreach ($donnees as $donnee) {
372
		foreach ($donnees as $donnee) {
373
			$requete = 'DELETE FROM osm_noeuds '. 
373
			$requete = 'DELETE FROM osm_noeuds '.
374
						"WHERE id_noeud = $donnee[0]";
374
						"WHERE id_noeud = $donnee[0]";
375
			$this->inserer($requete);
375
			$this->inserer($requete);
376
		}
376
		}
377
		$this->noeuds = array();
377
		$this->noeuds = array();
378
	}
378
	}
379
	
379
 
380
	private function inserer($requete) {
380
	private function inserer($requete) {
381
		$this->bdd->requeter($requete);
381
		$this->bdd->requeter($requete);
382
	}
382
	}
383
	
383
 
384
	private function proteger($chaine) {
384
	private function proteger($chaine) {
385
		return $this->bdd->proteger($chaine);
385
		return $this->bdd->proteger($chaine);
386
	}
386
	}
387
	
387
 
388
	private function creerValuesMultiple($donnees) {
388
	private function creerValuesMultiple($donnees) {
389
		$values = array();
389
		$values = array();
390
		foreach ($donnees as $donnee) {
390
		foreach ($donnees as $donnee) {
391
			$values[] = implode(',', $donnee);
391
			$values[] = implode(',', $donnee);
392
		}
392
		}
393
		$values_chaine = '('.implode('),(', $values).')';
393
		$values_chaine = '('.implode('),(', $values).')';
394
		return $values_chaine;
394
		return $values_chaine;
395
	}
395
	}