Subversion Repositories eFlore/Applications.coel-consultation

Rev

Rev 25 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 25 Rev 29
Line 84... Line 84...
84
	* @var string nom du dossier contenant les cartes créées.
84
	* @var string nom du dossier contenant les cartes créées.
85
	*/
85
	*/
86
	private $carte_stockage_dossier;
86
	private $carte_stockage_dossier;
Line 87... Line 87...
87
 
87
	
-
 
88
	/**
-
 
89
	* L'url correspondant au dossier où sont stockées les cartes crées via la classe Cartographie.
-
 
90
	* L'url est passé à la fonction sprintf est doit donc contennir %s afin d'indiquer l'endroite où ajouter le nom du 
-
 
91
	* fichier de la carte.
-
 
92
	* @var string url des cartes créées.
-
 
93
	*/
-
 
94
	private $carte_stockage_url;
-
 
95
 
88
	/**
96
	/**
89
	* Format du tableau :
97
	* Format du tableau :
90
	* carte_zone_info est un tableau de tableaux associatifs.
98
	* carte_zone est un tableau de tableaux associatifs.
-
 
99
	* Chaque zone de la carte doit avoir son entrée dans ce tableau. Le code de la zone sert de clé.
91
	* Chaque zone de la carte doit avoir son entrée dans ce tableau. Chaque zone est représentée par :
100
	* Chaque zone est représentée par :
92
	* - nom : (string)
-
 
93
	* 	le nom de la zone.
-
 
94
	* - index : (int) 
101
	* - nom : (string)
95
	* 	l'index de la couleur dans la palette si on a à faire à une image indexée (moins de 255 zones sur la carte)
102
	* 	le nom de la zone qui sera affiché dans l'attribut title de la balise map html.
96
	* - rvb_fond : (string) Exemple : 255-255-255. 
103
	* - rvb_fond : (string) Exemple : 255-255-255.
97
	* 	les valeurs entre 0 et 255 séparées par des tirets (-) de la couleur de la zone sur la carte de fond
104
	* 	les valeurs entre 0 et 255 séparées par des tirets (-) de la couleur de la zone sur la carte de fond
98
	* 	Ne pas utiliser le blanc (255-255-255) et utiliser le noir pour les contours(0-0-0).
105
	* 	Ne pas utiliser le blanc (255-255-255) et utiliser le noir pour les contours (0-0-0).
99
	* - rvb_carte : (string) Exemple : 255-255-255.
106
	* - poly : (string)
-
 
107
	* 	les coordonnées pour la balise map html. Si une même zone à plusieurs polygones, les séparer par le 
100
	* 	les valeurs entre 0 et 255 séparées par des tirets (-) de la couleur de remplacement
108
	* 	caractère pipe "|".
101
	* - nombre : (int) Exemple : nombre de personnes présentent dans un département.
109
	* - info_nombre : (int) Exemple : nombre de personnes présentent dans un département. 
-
 
110
	* 	nombre d'occurence dans cette zone. 
-
 
111
	* - url : (string) l'url qui doit être appelée sur un clic dans la zone.
-
 
112
	* - rvb_carte : (string) Exemple : 255-255-255.
-
 
113
	* 	les valeurs entre 0 et 255 séparées par des tirets (-) de la couleur de remplacement dans le cas de la formule 
102
	* 	nombre d'occurence dans cette zone.
114
	* 	de coloriage de type "légende". 	
103
	* @var array les informations sur les zones de la carte.
115
	* @var array les informations sur les zones de la carte.
104
	*/
116
	*/
Line 105... Line 117...
105
	private $carte_zone_info = array();
117
	private $carte_zones = null;
106
	
118
	
107
	/**
119
	/**
108
	* Tableau contenant la valeur RVB de la zone du fond de carte en clé et la valeur RVB venant la remplacer en valeur.
120
	* Tableau contenant la valeur RVB de la zone du fond de carte en clé et la valeur RVB venant la remplacer en valeur.
Line 147... Line 159...
147
	* Contient le tableau des fréquences et des couleurs correspondantes.
159
	* Contient le tableau des fréquences et des couleurs correspondantes.
148
	* @var array les frequences et leurs couleurs.
160
	* @var array les frequences et leurs couleurs.
149
	*/
161
	*/
150
	private $coloriage_tableau_frequence = array();
162
	private $coloriage_tableau_frequence = array();
Line -... Line 163...
-
 
163
 
-
 
164
	/**
-
 
165
	* Permet de savoir si la cartographie est en mode déboguage ou pas.
-
 
166
	* @var bool true si on est en mode débug, sinon false.
-
 
167
	*/
-
 
168
	private $mode_debug;
151
 
169
	
152
	//+----------------------------------------------------------------------------------------------------------------+
170
	//+----------------------------------------------------------------------------------------------------------------+
153
	/*** Constructeur : ***/
171
	/*** Constructeur : ***/
154
	public function __construct($options = array()) {
172
	public function __construct($options = array()) {
155
		// Initialisation de l'objet Cartographie
173
		// Initialisation de l'objet Cartographie
156
		$this->setCarteNom(isset($options['carte_nom']) ? $options['carte_nom'] : '');
174
		$this->setCarteNom(isset($options['carte_nom']) ? $options['carte_nom'] : '');
-
 
175
		$this->setFormuleColoriage(isset($options['formule']) ? $options['formule'] : '');
-
 
176
		$this->setColoriageCouleurClaire(isset($options['couleur_claire']) ? $options['couleur_claire'] : '');
157
		$this->setFormuleColoriage(isset($options['formule']) ? $options['formule'] : '');
177
		$this->setColoriageCouleurFoncee(isset($options['couleur_foncee']) ? $options['couleur_foncee'] : '');
158
		$this->setCarteFondFichier(isset($options['fond_fichier']) ? $options['fond_fichier'] : '');
178
		$this->setCarteFondFichier(isset($options['fond_fichier']) ? $options['fond_fichier'] : '');
159
		$this->setCarteFondDossier(isset($options['fond_dossier']) ? $options['fond_dossier'] : '');
179
		$this->setCarteFondDossier(isset($options['fond_dossier']) ? $options['fond_dossier'] : '');
-
 
180
		$this->setCarteStockageDossier(isset($options['stock_dossier']) ? $options['stock_dossier'] : '');
160
		$this->setCarteStockageDossier(isset($options['stock_dossier']) ? $options['stock_dossier'] : '');
181
		$this->setCarteStockageUrl(isset($options['stock_url']) ? $options['stock_url'] : '');
161
		$this->setCarteZoneInfo(isset($options['infos']) ? $options['infos'] : array());
182
		$this->setCarteZones(isset($options['zones']) ? $options['zones'] : null);
-
 
183
		$this->setZoneMarker(isset($options['zone_marker']) ? $options['zone_marker'] : '');
162
		$this->setZoneMarker(isset($options['zone_marker']) ? $options['zone_marker'] : '');
184
		$this->setModeDebug(isset($options['debug']) ? $options['debug'] : false);
Line 163... Line 185...
163
	}
185
	}
164
 
186
 
165
	//+----------------------------------------------------------------------------------------------------------------+
187
	//+----------------------------------------------------------------------------------------------------------------+
Line 246... Line 268...
246
	}
268
	}
247
	public function setCarteStockageDossier($csd) {
269
	public function setCarteStockageDossier($csd) {
248
		$this->carte_stockage_dossier = $csd;
270
		$this->carte_stockage_dossier = $csd;
249
	}
271
	}
Line 250... Line 272...
250
	
272
	
251
	public function getCarteZoneInfo() {
273
	public function getCarteStockageUrl() {
-
 
274
		return $this->carte_stockage_url;
-
 
275
	}
-
 
276
	public function setCarteStockageUrl($csu) {
-
 
277
		$this->carte_stockage_url = $csu;
-
 
278
	}
-
 
279
	
-
 
280
	public function getCarteZones() {
-
 
281
		if (is_null($this->carte_zones)) {
252
		return $this->carte_zone_info;
282
			$this->chargerZones();
-
 
283
		}
-
 
284
		return $this->carte_zones;
253
	}
285
	}
254
	public function setCarteZoneInfo($czi) {
286
	public function setCarteZones($cz) {
255
		$this->carte_zone_info = $czi;
287
		$this->carte_zones = $cz;
Line 256... Line 288...
256
	}
288
	}
257
	
289
	
258
	public function getZoneMarker() {
290
	public function getZoneMarker() {
259
		return $this->zone_marker;
291
		return $this->zone_marker;
260
	}
292
	}
261
	public function setZoneMarker($zm) {
293
	public function setZoneMarker($zm) {
Line -... Line 294...
-
 
294
		$this->zone_marker = $zm;
-
 
295
	}
-
 
296
	
-
 
297
	public function getModeDebug() {
-
 
298
		return $this->mode_debug;
-
 
299
	}
-
 
300
	public function setModeDebug($md) {
262
		$this->zone_marker = $zm;
301
		$this->mode_debug = $md;
263
	}
302
	}
Line 264... Line 303...
264
 
303
 
265
	//+----------------------------------------------------------------------------------------------------------------+
304
	//+----------------------------------------------------------------------------------------------------------------+
Line 312... Line 351...
312
	public function getImageMap() {
351
	public function getImageMap() {
313
		// Initialisation de variables
352
		// Initialisation de variables
314
		$carte_map = '';
353
		$carte_map = '';
Line 315... Line 354...
315
		
354
		
316
		// Gestion de l'image map
355
		// Gestion de l'image map
317
		$chemin_carte_map_fond = $this->getCarteFondDossier().$this->getCarteNom().'.tpl.html';
356
		$chemin_carte_map_fond = $this->getCarteFondDossier().$this->getCarteFondFichier().'.tpl.html';
-
 
357
		$chemin_carte_map = $this->getCarteStockageDossier().$this->getCarteNom().'.html';
318
		$chemin_carte_map = $this->getCarteStockageDossier().$this->getCarteNom().'.html';
358
		
319
		if (file_exists($chemin_carte_map)) {
359
		if (file_exists($chemin_carte_map)) {
320
			$carte_map = file_get_contents($chemin_carte_map);
360
			$carte_map = file_get_contents($chemin_carte_map);
-
 
361
		} else {
-
 
362
			$nom_carte_png = $this->getCarteNom().'.png';
-
 
363
			$chemin_carte_png = $this->getCarteStockageDossier().$nom_carte_png;
-
 
364
			$donnees['carte_url'] = sprintf($this->getCarteStockageUrl(), $nom_carte_png);
321
		} else {
365
			$donnees['carte_alt'] = 'info';
-
 
366
			$donnees['zones'] = $this->getCarteZones();
322
			$donnees['zones'] = $this->getCarteInfo();
367
			//Debug::printr($donnees);
323
			$carte_map = SquelettePhp::analyser($chemin_carte_map_fond, $donnees);
368
			$carte_map = SquelettePhp::analyser($chemin_carte_map_fond, $donnees);
324
			if (!file_put_contents($chemin_carte_map, $carte_map)) {
369
			if (!file_put_contents($chemin_carte_map, $carte_map)) {
325
				$e = "Écriture du fichier contenant le html de la carte impossible : $chemin_carte_map";
370
				$e = "Écriture du fichier contenant le html de la carte impossible : $chemin_carte_map";
326
				trigger_error($e, E_USER_WARNING);
371
				trigger_error($e, E_USER_WARNING);
327
			}
372
			}
Line 328... Line 373...
328
		}
373
		}
329
		
374
		
Line -... Line 375...
-
 
375
		return $carte_map;
330
		return $carte_map;
376
	}
-
 
377
	
-
 
378
	//+----------------------------------------------------------------------------------------------------------------+	
-
 
379
	/*** Méthodes PRIVÉES : ***/
-
 
380
	
-
 
381
	/**
-
 
382
	 * Charge en mémoire les données du fichier csv des zones géographique de la carte
-
 
383
	 */
-
 
384
	private function chargerZones() {
-
 
385
		$fichier_csv = $this->getCarteFondDossier().$this->getCarteFondFichier().'.csv';
-
 
386
		$zones = array();
-
 
387
		if (($handle = fopen($fichier_csv, 'r')) !== false) {
-
 
388
			$ligne = 1;
-
 
389
			$cles = array();
-
 
390
			while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
-
 
391
				$cle = array_shift($donnees);
-
 
392
				if ($ligne == 1) {
-
 
393
					// Ligne 1 : les noms des champs
-
 
394
					$cles = $donnees;
-
 
395
					
-
 
396
				} else {
-
 
397
					// Ligne > 1 : traitements des données
-
 
398
					$zones[$cle] = array_combine($cles, $donnees);
-
 
399
				}
-
 
400
				$ligne++;
-
 
401
			}
-
 
402
			fclose($handle);
-
 
403
		}
331
	}
404
		$this->setCarteZones($zones);
332
	
405
	}
333
	/*** Méthodes PRIVÉES : ***/
406
	
334
	private function construireCorrespondanceCouleur() {
407
	private function construireCorrespondanceCouleur() {
335
		switch ($this->formule_coloriage) {
408
		switch ($this->formule_coloriage) {
Line 348... Line 421...
348
	}
421
	}
Line 349... Line 422...
349
	
422
	
350
	private function construireCorrespondanceCouleurProportionnel() {
423
	private function construireCorrespondanceCouleurProportionnel() {
351
		// Création d'un tableau contenant seulement les nombres d'information pour chaque zone.
424
		// Création d'un tableau contenant seulement les nombres d'information pour chaque zone.
352
		$tab_valeurs = array();
425
		$tab_valeurs = array();
353
		foreach ($this->carte_zone_info as $cle => $valeur) {
426
		foreach ($this->getCarteZones() as $cle => $valeur) {
354
			//Nous recherchons le minimum, le maximum et le la valeur médium juste au dessous du maximum.
427
			//Nous recherchons le minimum, le maximum et le la valeur médium juste au dessous du maximum.
355
			if (isset($valeur['info_nombre'])) {
428
			if (isset($valeur['info_nombre'])) {
356
				$tab_valeurs[] = $valeur['info_nombre'];
429
				$tab_valeurs[] = $valeur['info_nombre'];
357
				if ($valeur['info_nombre'] == 0){
430
				if ($valeur['info_nombre'] == 0){
Line 416... Line 489...
416
		// Attribution du nombre de couleurs utilisé pour réaliser la carte
489
		// Attribution du nombre de couleurs utilisé pour réaliser la carte
417
		$this->coloriage_couleurs = count(array_count_values($this->coloriage_tableau_frequence));
490
		$this->coloriage_couleurs = count(array_count_values($this->coloriage_tableau_frequence));
418
		//trigger_error('<pre>'.print_r($this->coloriage_couleurs, true).'</pre>', E_USER_ERROR);
491
		//trigger_error('<pre>'.print_r($this->coloriage_couleurs, true).'</pre>', E_USER_ERROR);
Line 419... Line 492...
419
		
492
		
420
		// Nous attribuons les couleurs à chaque zone géographique
493
		// Nous attribuons les couleurs à chaque zone géographique
421
		foreach ($this->carte_zone_info as $cle => $zg) {
494
		foreach ($this->getCarteZones() as $cle => $zg) {
422
			if (isset($this->coloriage_tableau_frequence[$zg['info_nombre']])) {
495
			if (isset($this->coloriage_tableau_frequence[$zg['info_nombre']])) {
423
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = $this->coloriage_tableau_frequence[$zg['info_nombre']];
496
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = $this->coloriage_tableau_frequence[$zg['info_nombre']];
-
 
497
			} else {
-
 
498
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = '128-128-128';
424
			} else {
499
				if ($this->getModeDebug()) {
425
				$e = "La zone ".$zg['nom']." (".$zg['rvb_fond'].") ne possède pas de couleur RVB pour la remplir. ".
500
					$e = "La zone ".$zg['nom']." (".$zg['rvb_fond'].") ne possède pas de couleur RVB pour la remplir. ".
426
					 "La valeur 128-128-128 lui a été attribué.";
501
					 "La valeur 128-128-128 lui a été attribué.";
427
				trigger_error($e, E_USER_WARNING);
-
 
-
 
502
					trigger_error($e, E_USER_WARNING);
428
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = '128-128-128';
503
				}
429
			}
504
			}
430
		}
505
		}
Line 431... Line 506...
431
	}
506
	}
432
	
507
	
433
	private function construireCorrespondanceCouleurLegende() {
508
	private function construireCorrespondanceCouleurLegende() {
434
		$tab_couleurs = array();
509
		$tab_couleurs = array();
435
		foreach ($this->carte_zone_info as $cle => $zg) {
510
		foreach ($this->getCarteZones() as $cle => $zg) {
436
			if ($zg['rvb_carte'] != '') {
511
			if ($zg['rvb_carte'] != '') {
-
 
512
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = $zg['rvb_carte'];
-
 
513
			} else {
437
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = $zg['rvb_carte'];
514
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = '128-128-128';
438
			} else {
515
				if ($this->getModeDebug()) {
439
				$e = "La zone ".$zg['nom']." (".$zg['rvb_fond'].") ne possède pas d'information pour la légende dans le champ".
516
					$e = "La zone ".$zg['nom']." (".$zg['rvb_fond'].") ne possède pas d'information pour la légende dans le champ".
440
					 " rvb_carte. La valeur 128-128-128 lui a été attribué.";
-
 
-
 
517
					 " rvb_carte. La valeur 128-128-128 lui a été attribué.";
441
				trigger_error($e, E_USER_WARNING);
518
					trigger_error($e, E_USER_WARNING);
442
				$this->carte_correspondance_couleurs[$zg['rvb_fond']] = '128-128-128';
519
				}
443
			}
520
			}
444
			if (!isset($tab_couleurs[$this->carte_correspondance_couleurs[$zg['rvb_fond']]])) {
521
			if (!isset($tab_couleurs[$this->carte_correspondance_couleurs[$zg['rvb_fond']]])) {
445
				$tab_couleurs[$this->carte_correspondance_couleurs[$zg['rvb_fond']]] = 1;
522
				$tab_couleurs[$this->carte_correspondance_couleurs[$zg['rvb_fond']]] = 1;
Line 451... Line 528...
451
	
528
	
452
	private function colorierCarte() {
529
	private function colorierCarte() {
453
		if (imageistruecolor(&$this->carte)) {
530
		if (imageistruecolor(&$this->carte)) {
454
			//+--------------------------------------------------------------------------------------------------------+
531
			//+--------------------------------------------------------------------------------------------------------+
-
 
532
			// Remplacement des couleurs sur la carte en mode vraies couleurs (RGB)
-
 
533
			$this->colorierCarteModeVraiCouleur();
-
 
534
		} else {
-
 
535
			//+--------------------------------------------------------------------------------------------------------+
-
 
536
			// Remplacement des couleurs sur la carte en mode couleurs indexées (palette de couleurs)
-
 
537
			$this->colorierCarteModeIndexe();
-
 
538
		}
Line -... Line 539...
-
 
539
	}
455
			// Remplacement des couleurs sur la carte en mode vraies couleurs (RGB)
540
	
456
			
541
	private function colorierCarteModeVraiCouleur() {
457
			// Nous commençons le rempalcement des couleurs sur la carte de fond.  
542
		// Nous commençons le rempalcement des couleurs sur la carte de fond.  
Line 458... Line 543...
458
			$hauteur = imagesy(&$this->carte);
543
		$hauteur = imagesy(&$this->carte);
Line 488... Line 573...
488
		   				// Nous ajoutons la couleur trouvées sur la carte de fond dans le tableau des couleurs traitées
573
	   				// Nous ajoutons la couleur trouvées sur la carte de fond dans le tableau des couleurs traitées
489
		   				$tab_rvb_ok[$rvb] = true;
574
	   				$tab_rvb_ok[$rvb] = true;
490
					}
575
				}
491
				}
576
			}
492
			}
577
		}
493
		} else {
578
	}
494
			//+--------------------------------------------------------------------------------------------------------+
-
 
495
			// Remplacement des couleurs sur la carte en mode couleurs indexées (palette de couleurs)
-
 
Line -... Line 579...
-
 
579
	
496
 
580
	private function colorierCarteModeIndexe() {
497
			// Nous attribuons à chaque zone présente dans le tableau $this->carte_zone_info la valeur de l'index 
581
		// Nous attribuons à chaque zone présente dans le tableau $this->getCarteZones() la valeur de l'index 
498
			// de la couleur RVB représentant cette zone sur la carte de fond.
582
		// de la couleur RVB représentant cette zone sur la carte de fond.
Line 499... Line 583...
499
			$this->construireAssociationIndexZone();
583
		$this->construireAssociationIndexZone();
500
 
584
 
501
			foreach ($this->carte_zone_info as $zg) {
585
		foreach ($this->getCarteZones() as $zg) {
502
				if (isset($this->carte_correspondance_couleurs[$zg['rvb_fond']])) {
586
			if (isset($this->carte_correspondance_couleurs[$zg['rvb_fond']])) {
503
					//Dans le cas où nous voulons repérer une zone sur la carte :
587
				//Dans le cas où nous voulons repérer une zone sur la carte :
504
					if ($this->zone_marker != '' && $zg['rvb_fond'] == $this->zone_marker) {
588
				if ($this->getZoneMarker() != '' && $zg['rvb_fond'] == $this->getZoneMarker()) {
505
						$rouge = 255;
589
					$rouge = 255;
506
						$vert = 0;
590
					$vert = 0;
507
						$bleu = 0;
591
					$bleu = 0;
508
					} else {
592
				} else {
-
 
593
					list($rouge, $vert, $bleu) = explode('-', $this->carte_correspondance_couleurs[$zg['rvb_fond']]);
509
						list($rouge, $vert, $bleu) = explode('-', $this->carte_correspondance_couleurs[$zg['rvb_fond']]);
594
				}
-
 
595
				if (isset($zg['index'])) {
-
 
596
					imagecolorset(&$this->carte, $zg['index'], $rouge, $vert, $bleu);
-
 
597
				} else if ($this->getModeDebug()) {
510
					}
598
					$e = "La zone '{$zg['nom']}' n'est pas présente sur la carte.";
511
					imagecolorset(&$this->carte, $zg['index'], $rouge, $vert, $bleu);
599
					trigger_error($e, E_USER_WARNING);
512
				}				
600
				}
513
			}
601
			}				
Line 514... Line 602...
514
		}
602
		}
515
	}
603
	}
516
	
604
	
517
	private function construireAssociationIndexZone() {
-
 
518
		// Nous récupérons le nombre de couleur différentes contenues dans l'image.
605
	private function construireAssociationIndexZone() {
519
		$taille_palette = imagecolorstotal($this->carte);
606
		// Nous récupérons le nombre de couleur différentes contenues dans l'image.
520
		//print_r($this->carte_zone_info);
607
		$taille_palette = imagecolorstotal($this->carte);
521
		// Pour chaque couleur contenue dans l'image, nous cherchons l'objet correspondant
608
		// Pour chaque couleur contenue dans l'image, nous cherchons l'objet correspondant
522
		// dans le tableau $this->carte_zone_info, qui contient des informations sur chaque zone de l'image,
609
		// dans le tableau $this->getCarteZones(), qui contient des informations sur chaque zone de l'image,
523
		// et nous attribuons la valeur de l'index de sa couleur sur la carte de fond.
610
		// et nous attribuons la valeur de l'index de sa couleur sur la carte de fond.
524
		for ($i = 0; $i < $taille_palette; $i++) {
611
		for ($i = 0; $i < $taille_palette; $i++) {
525
			$rvb = array();
612
			$rvb = array();
526
			$rvb = imagecolorsforindex($this->carte, $i);
613
			$rvb = imagecolorsforindex($this->carte, $i);
527
			$rvb_cle = $rvb['red'].'-'.$rvb['green'].'-'.$rvb['blue'];
614
			$rvb_cle = $rvb['red'].'-'.$rvb['green'].'-'.$rvb['blue'];
528
			// La couleur ne doit pas correspondre au noir ou au blanc car ces couleurs ne sont pas traitées
615
			// La couleur ne doit pas correspondre au noir ou au blanc car ces couleurs ne sont pas traitées
529
			if ($rvb_cle != '255-255-255' && $rvb_cle != '0-0-0') {
616
			if ($rvb_cle != '255-255-255' && $rvb_cle != '0-0-0') {
530
				$index_ok = false;
617
				$index_ok = false;
531
				foreach($this->carte_zone_info as $cle => $zg) {
618
				foreach($this->getCarteZones() as $cle => $zg) {
532
					if (isset($zg['rvb_fond']) && $zg['rvb_fond'] == $rvb_cle) {
-
 
533
						$this->carte_zone_info[$cle]['index'] = $i;
619
					if (isset($zg['rvb_fond']) && $zg['rvb_fond'] == $rvb_cle) {
534
						$index_ok = true;
620
						$this->carte_zones[$cle]['index'] = $i;
535
						//print_r($this->carte_zone_info[$cle]);
621
						$index_ok = true;
536
						break;
622
						break;
537
					}
623
					}
538
				}
624
				}
539
				if (!$index_ok && $rvb_cle != '0-0-0') {
625
				if (!$index_ok && $rvb_cle != '0-0-0' && $this->getModeDebug()) {
540
					$e = "Aucune zone trouvée pour l'index $i : $rvb_cle";
626
					$e = "Aucune information n'est fournie pour la zone sur la carte d'index $i : $rvb_cle";
541
					trigger_error($e, E_USER_WARNING);
627
					trigger_error($e, E_USER_WARNING);
542
					$this->carte_zone_info[] = array('rvb_fond' => $rvb_cle, 'rvb_carte' => '128-128-128', 'index' => $i);
628
					//$this->carte_zones[] = array('rvb_fond' => $rvb_cle, 'rvb_carte' => '128-128-128', 'index' => $i);
543
				}
629
				}