Subversion Repositories Applications.annuaire

Rev

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

Rev 143 Rev 221
Line 18... Line 18...
18
	// identifiant de la france pour l'accès direct
18
	// identifiant de la france pour l'accès direct
19
    private $id_france = 'fr';
19
    private $id_france = 'fr';
Line 20... Line 20...
20
 
20
 
21
	// nom du fond de carte en cours
21
	// nom du fond de carte en cours
-
 
22
    private $nom_fond = '';
-
 
23
    
-
 
24
    private $niveau = 0;
-
 
25
    
-
 
26
    // contient le tableau de données sur les continents une fois chargé
-
 
27
    private $donnees_continents = array();
-
 
28
    
-
 
29
    // contient le tableau de données sur les pays une fois chargé
-
 
30
    private $donnees_pays = array();
-
 
31
    
-
 
32
    // contient le tableau de données sur les departements une fois chargé
Line 22... Line 33...
22
    private $nom_fond = '';
33
    private $donnees_departements = array();
23
 
34
 
Line 24... Line 35...
24
    //+----------------------------------------------------------------------------------------------------------------+
35
    //+----------------------------------------------------------------------------------------------------------------+
Line 41... Line 52...
41
    public function cartographier($id_annuaire, $continent= null , $pays = null) {
52
    public function cartographier($id_annuaire, $continent= null , $pays = null) {
42
        // Initialisation de variable
53
        // Initialisation de variable
43
        $donnees = array();
54
        $donnees = array();
Line 44... Line 55...
44
 
55
 
45
		// la présence d'un pays (non) et d'un continent (ou non) détermine le niveau de carte à afficher
56
		// la présence d'un pays (non) et d'un continent (ou non) détermine le niveau de carte à afficher
Line 46... Line 57...
46
        $niveau = $this->calculerNiveau($continent, $pays);
57
        $this->niveau = $this->calculerNiveau($continent, $pays);
47
 
58
 
Line 48... Line 59...
48
        // suivant le niveau, continent et pays, on renvoie un template html différent
59
        // suivant le niveau, continent et pays, on renvoie un template html différent
Line 49... Line 60...
49
        $fond = $this->renvoyerPrefixePourNiveau($niveau, $continent, $pays);
60
        $fond = $this->renvoyerPrefixePourNiveau($this->niveau, $continent, $pays);
50
 
61
 
51
		$carte = '';
62
		$carte = '';
52
 
63
 
Line 53... Line 64...
53
		// chaque continent possède un fond de carte différent
64
		// chaque continent possède un fond de carte différent
54
		if($niveau == 1) {
65
		if($this->niveau == 1) {
55
        	$carte = $this->renvoyerSuffixePourContinent($niveau, $continent, $pays);
66
        	$carte = $this->renvoyerSuffixePourContinent($this->niveau, $continent, $pays);
Line 70... Line 81...
70
 
81
 
Line 71... Line 82...
71
        $this->nom_fond = Config::get('carte_base_nom_'.$fond).$carte;
82
        $this->nom_fond = Config::get('carte_base_nom_'.$fond).$carte;
72
 
83
 
73
        // Construction des données nécessaires à la cartographie
84
        // Construction des données nécessaires à la cartographie
74
        $zones = $cartographie->getCarteZones();
85
        $zones = $cartographie->getCarteZones();
75
        $this->chargerZonesNbre($id_annuaire,$zones, $niveau);
-
 
Line -... Line 86...
-
 
86
        $this->chargerZonesNbre($id_annuaire,$zones, $this->niveau);
-
 
87
        $this->chargerZonesUrls($id_annuaire, $zones, $continent, $pays, $this->niveau);
-
 
88
 
Line 76... Line 89...
76
        $this->chargerZonesUrls($id_annuaire, $zones, $continent, $pays, $niveau);
89
        $navigation = new NavigationControleur();
Line 77... Line 90...
77
 
90
		$donnees_navigation = $this->obtenirUrlsNavigation($id_annuaire, $continent, $pays, null);
78
 
91
		$donnees['navigation'] = $navigation->afficherBandeauNavigationCartographie($donnees_navigation);
Line 123... Line 136...
123
    private function chargerZonesUrls($id_annuaire, &$zones, $continent = null, $pays = null, $niveau = 0) {
136
    private function chargerZonesUrls($id_annuaire, &$zones, $continent = null, $pays = null, $niveau = 0) {
Line 124... Line 137...
124
 
137
 
Line 125... Line 138...
125
    	$url = new URL(Config::get('url_base'));
138
    	$url = new URL(Config::get('url_base'));
126
 
-
 
Line 127... Line 139...
127
    	$url->setVariableRequete('id_annuaire', $id_annuaire);
139
 
Line 128... Line 140...
128
        //$url->setVariableRequete('m', 'annuaire_inscrits_carto');
140
    	$url->setVariableRequete('id_annuaire', $id_annuaire);
129
 
141
 
Line 317... Line 329...
317
			break;
329
			break;
318
		}
330
		}
Line 319... Line 331...
319
 
331
 
320
    	return $nb_inscrits;
332
    	return $nb_inscrits;
-
 
333
    }
-
 
334
    
-
 
335
    public function obtenirUrlsNavigation($id_annuaire ,$continent = null, $pays = null, $departement = null) {
-
 
336
    	
-
 
337
    	$donnees = array();
-
 
338
    	
-
 
339
    	$url_carte_monde = new URL(Config::get('url_base'));
-
 
340
    	$url_carte_monde->setVariableRequete('id_annuaire', $id_annuaire);
-
 
341
		$url_carte_monde->setVariableRequete('m', 'annuaire_afficher_carte');
-
 
342
    	$donnees['url_carte_monde'] =  $url_carte_monde;
-
 
343
    	$donnees['nom_carte_monde'] =  'Carte du monde';
-
 
344
    	    	
-
 
345
    	if($continent != null && trim($continent) != '') {
-
 
346
    		$infos_continents = $this->chargerInformationsContinentCsv();
-
 
347
    		$url_continent = new URL(Config::get('url_base'));
-
 
348
    		$url_continent->setVariableRequete('id_annuaire', $id_annuaire);
-
 
349
			$url_continent->setVariableRequete('m', 'annuaire_afficher_carte');
-
 
350
			$url_continent->setVariableRequete('continent', $continent);
-
 
351
    		$donnees['url_continent'] =  $url_continent;
-
 
352
    		$donnees['nom_continent'] =  $infos_continents[$continent][2];
-
 
353
    	}
-
 
354
    	
-
 
355
    	if($pays != null && trim($pays) != '') {
-
 
356
    		
-
 
357
    		$templates_continents = $this->renvoyerTousTemplates();
-
 
358
    		$infos_continents = $this->chargerInformationsPaysDuContinentsCsv($templates_continents[$continent]);
-
 
359
    		$infos_pays = $infos_continents[$pays];
-
 
360
    		$url_pays = new URL(Config::get('url_base'));
-
 
361
    		$url_pays->setVariableRequete('id_annuaire', $id_annuaire);
-
 
362
    		if($pays == $this->id_france) {
-
 
363
				$url_pays->setVariableRequete('m', 'annuaire_afficher_carte');
-
 
364
			} else {
-
 
365
				// sinon l'url pointe vers la liste des inscrits de ce pays
-
 
366
				$url_pays->setVariableRequete('m', 'annuaire_inscrits_carto');
-
 
367
			}
-
 
368
			$url_pays->setVariableRequete('continent', $continent);
-
 
369
			$url_pays->setVariableRequete('pays', $pays);
-
 
370
    		$donnees['url_pays'] =  $url_pays;
-
 
371
    		$donnees['nom_pays'] =  $infos_pays[2];
-
 
372
    	}
-
 
373
    	
-
 
374
    	if($departement != null && trim($departement) != '') {
-
 
375
    		$infos_departement = $this->chargerInformationsDepartementsFranceCsv();
-
 
376
    		$url_departement = new URL(Config::get('url_base'));
-
 
377
    		$url_departement->setVariableRequete('id_annuaire', $id_annuaire);
-
 
378
			$url_departement->setVariableRequete('m', 'annuaire_afficher_carte');
-
 
379
			$url_departement->setVariableRequete('continent', $continent);
-
 
380
			$url_departement->setVariableRequete('departement', $departement);
-
 
381
			$url_departement->setVariableRequete('pays', $pays);
-
 
382
    		$donnees['url_departement'] =  $url_departement;
-
 
383
    		$donnees['nom_departement'] =  $infos_departement[$departement][2];
-
 
384
    	}   
-
 
385
 
-
 
386
    	return $donnees;
-
 
387
    }
-
 
388
    
-
 
389
    private function chargerInformationsContinentCsv() {
-
 
390
    	
-
 
391
    	$nom_csv = Application::getChemin().Config::get('carte_fonds_chemin').'continents';
-
 
392
    	return $this->chargerInformationsCompletesParCsv($nom_csv);
-
 
393
    }
-
 
394
    
-
 
395
    private function chargerInformationsPaysDuContinentsCsv($continent) {
-
 
396
    	
-
 
397
    	$nom_csv = Application::getChemin().Config::get('carte_fonds_chemin').$continent;
-
 
398
 
-
 
399
    	return $this->chargerInformationsCompletesParCsv($nom_csv);
-
 
400
    }
-
 
401
    
-
 
402
    private function chargerInformationsDepartementsFranceCsv() {
-
 
403
    	
-
 
404
    	$nom_csv = Application::getChemin().Config::get('carte_fonds_chemin').'france';
-
 
405
    	
-
 
406
    	return $this->chargerInformationsCompletesParCsv($nom_csv);
-
 
407
    }
-
 
408
    
-
 
409
    private function chargerInformationsCompletesParCsv($nom_csv) {
-
 
410
    	
-
 
411
    	$fichier_csv = $nom_csv.'.csv';
-
 
412
    	$infos = array();
-
 
413
 
-
 
414
		if (($handle = fopen($fichier_csv, 'r')) !== false) {
-
 
415
			$ligne = 0;
-
 
416
 
-
 
417
			while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
-
 
418
				
-
 
419
				if($ligne != 0 && trim($donnees[0]) != '') {
-
 
420
					
-
 
421
					$infos[$donnees[0]] = $donnees;
-
 
422
				}
-
 
423
				$ligne++;
-
 
424
			}
-
 
425
			fclose($handle);
-
 
426
		}
-
 
427
 
-
 
428
		return $infos;
-
 
429
    	
Line 321... Line 430...
321
    }
430
    }
322
 
431
 
323
	/**
432
	/**
324
	 * Récupère les identifiants de zone dans un fichier csv donné
433
	 * Récupère les identifiants de zone dans un fichier csv donné
Line 332... Line 441...
332
 
441
 
333
		if (($handle = fopen($fichier_csv, 'r')) !== false) {
442
		if (($handle = fopen($fichier_csv, 'r')) !== false) {
Line 334... Line 443...
334
			$ligne = 0;
443
			$ligne = 0;
335
 
444
 
336
			while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
445
			while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
337
 
446
				
338
				if($ligne != 0 && trim($donnees[0]) != '') {
447
				if($ligne != 0 && trim($donnees[0]) != '') {
339
					$zones_id[] = "'".$donnees[0]."'";
448
					$zones_id[] = "'".$donnees[0]."'";
340
				}
449
				}