Subversion Repositories Applications.annuaire

Rev

Rev 56 | Rev 143 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 56 Rev 120
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * classe Controleur du module Carte.
4
 * classe Controleur du module Carte.
5
 *
5
 *
6
 * @package     Collection
6
 * @package     Collection
7
 * @category    Php5
7
 * @category    Php5
8
 * @author      Jean-Pascal MILCENT <jpm@tela-botanica.org>
8
 * @author      Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @author      Aurélien Peronnet <aurelien@tela-botanica.org>
9
 * @author      Aurélien Peronnet <aurelien@tela-botanica.org>
10
 * @copyright   2010 Tela-Botanica
10
 * @copyright   2010 Tela-Botanica
11
 * @license     http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license     http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license     http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @license     http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @version     SVN: $Id$
13
 * @version     SVN: $Id$
14
 */
14
 */
15
class CartoControleur extends Controleur {
15
class CartoControleur extends AppControleur {
16
 
16
 
17
 
17
 
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';
20
 
20
 
21
	// nom du fond de carte en cours
21
	// nom du fond de carte en cours
22
    private $nom_fond = '';
22
    private $nom_fond = '';
23
 
23
 
24
    //+----------------------------------------------------------------------------------------------------------------+
24
    //+----------------------------------------------------------------------------------------------------------------+
25
    // Méthodes
25
    // Méthodes
26
 
26
 
27
    /**
27
    /**
28
     * Fonction d'affichage par défaut, elle appelle la cartographie
28
     * Fonction d'affichage par défaut, elle appelle la cartographie
29
     */
29
     */
30
    public function executerActionParDefaut() {
30
    public function executerActionParDefaut() {
31
        return $this->cartographier(1);
31
        return $this->cartographier(1);
32
    }
32
    }
33
 
33
 
34
    /**
34
    /**
35
     * Cartographier un annuaire.
35
     * Cartographier un annuaire.
36
     * @param int $id_annuaire l'identitifiant de l'annuaire à cartographier
36
     * @param int $id_annuaire l'identitifiant de l'annuaire à cartographier
37
     * @param int $continent l'identitifiant du continent sur lequel on se trouve
37
     * @param int $continent l'identitifiant du continent sur lequel on se trouve
38
     * @param string $pays l'identitifiant du pays sur lequel on se trouve (normalement seulement la france si présent)
38
     * @param string $pays l'identitifiant du pays sur lequel on se trouve (normalement seulement la france si présent)
39
     * @return string la vue correspondante
39
     * @return string la vue correspondante
40
     */
40
     */
41
    public function cartographier($id_annuaire, $continent= null , $pays = null) {
41
    public function cartographier($id_annuaire, $continent= null , $pays = null) {
42
        // Initialisation de variable
42
        // Initialisation de variable
43
        $donnees = array();
43
        $donnees = array();
44
 
44
 
45
		// la présence d'un pays (non) et d'un continent (ou non) détermine le niveau de carte à afficher
45
		// la présence d'un pays (non) et d'un continent (ou non) détermine le niveau de carte à afficher
46
        $niveau = $this->calculerNiveau($continent, $pays);
46
        $niveau = $this->calculerNiveau($continent, $pays);
47
 
47
 
48
        // suivant le niveau, continent et pays, on renvoie un template html différent
48
        // suivant le niveau, continent et pays, on renvoie un template html différent
49
        $fond = $this->renvoyerPrefixePourNiveau($niveau, $continent, $pays);
49
        $fond = $this->renvoyerPrefixePourNiveau($niveau, $continent, $pays);
50
 
50
 
51
		$carte = '';
51
		$carte = '';
52
 
52
 
53
		// chaque continent possède un fond de carte différent
53
		// chaque continent possède un fond de carte différent
54
		if($niveau == 1) {
54
		if($niveau == 1) {
55
        	$carte = $this->renvoyerSuffixePourContinent($niveau, $continent, $pays);
55
        	$carte = $this->renvoyerSuffixePourContinent($niveau, $continent, $pays);
56
		}
56
		}
57
 
57
 
58
        // Création de la carte
58
        // Création de la carte
59
        $options = array(
59
        $options = array(
60
            'carte_nom' => $fond.$carte,
60
            'carte_nom' => $fond.$carte,
61
            'formule' => Cartographie::FORMULE_PROPORTIONNEL,
61
            'formule' => Cartographie::FORMULE_PROPORTIONNEL,
62
            'couleur_claire' => Config::get('carte_couleur_claire'),
62
            'couleur_claire' => Config::get('carte_couleur_claire'),
63
            'couleur_foncee' => Config::get('carte_couleur_foncee'),
63
            'couleur_foncee' => Config::get('carte_couleur_foncee'),
64
            'fond_fichier' => Config::get('carte_base_nom_'.$fond).$carte,
64
            'fond_fichier' => Config::get('carte_base_nom_'.$fond).$carte,
65
            'fond_dossier' => Application::getChemin().Config::get('carte_fonds_chemin'),
65
            'fond_dossier' => Application::getChemin().Config::get('carte_fonds_chemin'),
66
            'stock_dossier' => Config::get('carte_stockage_chemin'),
66
            'stock_dossier' => Config::get('carte_stockage_chemin'),
67
            'stock_url' => Config::get('carte_stockage_url'),
67
            'stock_url' => Config::get('carte_stockage_url'),
68
            'debug' => Config::get('carte_mode_debug'));
68
            'debug' => Config::get('carte_mode_debug'));
69
        $cartographie = Composant::fabrique('cartographie', $options);
69
        $cartographie = Composant::fabrique('cartographie', $options);
70
 
70
 
71
        $this->nom_fond = Config::get('carte_base_nom_'.$fond).$carte;
71
        $this->nom_fond = Config::get('carte_base_nom_'.$fond).$carte;
72
 
72
 
73
        // Construction des données nécessaires à la cartographie
73
        // Construction des données nécessaires à la cartographie
74
        $zones = $cartographie->getCarteZones();
74
        $zones = $cartographie->getCarteZones();
75
        $this->chargerZonesNbre($id_annuaire,$zones, $niveau);
75
        $this->chargerZonesNbre($id_annuaire,$zones, $niveau);
76
        $this->chargerZonesUrls($id_annuaire, $zones, $continent, $pays, $niveau);
76
        $this->chargerZonesUrls($id_annuaire, $zones, $continent, $pays, $niveau);
77
 
77
 
78
 
78
 
79
 
79
 
80
        $cartographie->setCarteZones($zones);
80
        $cartographie->setCarteZones($zones);
81
 
81
 
82
        $cartographie->creerCarte();
82
        $cartographie->creerCarte();
83
        $donnees['map'] = $cartographie->getImageMap();
83
        $donnees['map'] = $cartographie->getImageMap();
84
 
84
 
85
        $resultat = $this->getVue('cartes/'.$fond, $donnees);
85
        $resultat = $this->getVue('cartes/'.$fond, $donnees);
86
        return $resultat;
86
        return $resultat;
87
    }
87
    }
88
 
88
 
89
	/**
89
	/**
90
	 * Charge le nombre d'inscrit par zone pour un annuaire donné
90
	 * Charge le nombre d'inscrit par zone pour un annuaire donné
91
	 * @param int $id_annuaire l'identifiant de l'annuaire
91
	 * @param int $id_annuaire l'identifiant de l'annuaire
92
	 * @param array $zones les zones à cartographier (attention, passage par référence, donc les zones sont modifiées)
92
	 * @param array $zones les zones à cartographier (attention, passage par référence, donc les zones sont modifiées)
93
	 * @param int $niveau le niveau de la carto (monde, continent, ou pays)
93
	 * @param int $niveau le niveau de la carto (monde, continent, ou pays)
94
	 */
94
	 */
95
    private function chargerZonesNbre($id_annuaire, &$zones, $niveau = 0) {
95
    private function chargerZonesNbre($id_annuaire, &$zones, $niveau = 0) {
96
 
96
 
97
        $metaModele = $this->getModele('AnnuaireModele');
97
        $metaModele = $this->getModele('AnnuaireModele');
98
        // on charge les inscrits pour le niveau donné
98
        // on charge les inscrits pour le niveau donné
99
        $zones_infos = $this->chargerNombreInscritsParNiveauGeographique($id_annuaire, $niveau);
99
        $zones_infos = $this->chargerNombreInscritsParNiveauGeographique($id_annuaire, $niveau);
100
 
100
 
101
        foreach ($zones as $id => &$infos) {
101
        foreach ($zones as $id => &$infos) {
102
 
102
 
103
			// si l'on a des données pour la zone, on renseigne le nombre d'inscrits
103
			// si l'on a des données pour la zone, on renseigne le nombre d'inscrits
104
            if (isset($zones_infos[$id])) {
104
            if (isset($zones_infos[$id])) {
105
 
105
 
106
                $nbre = $zones_infos[$id];
106
                $nbre = $zones_infos[$id];
107
                $infos['info_nombre'] = $nbre;
107
                $infos['info_nombre'] = $nbre;
108
            } else {
108
            } else {
109
            	// sinon on le met à 0
109
            	// sinon on le met à 0
110
                $infos['info_nombre'] = 0;
110
                $infos['info_nombre'] = 0;
111
            }
111
            }
112
        }
112
        }
113
    }
113
    }
114
 
114
 
115
	/**
115
	/**
116
	 * Charge les des zones pour un annuaire donné
116
	 * Charge les des zones pour un annuaire donné
117
	 * @param int $id_annuaire l'identifiant de l'annuaire
117
	 * @param int $id_annuaire l'identifiant de l'annuaire
118
	 * @param array $zones les zones à cartographier (attention, passage par référence, donc les zones sont modifiées)
118
	 * @param array $zones les zones à cartographier (attention, passage par référence, donc les zones sont modifiées)
119
	 * @param int $continent l'identitifiant du continent sur lequel on se trouve
119
	 * @param int $continent l'identitifiant du continent sur lequel on se trouve
120
     * @param string $pays l'identitifiant du pays sur lequel on se trouve (normalement seulement la france si présent)
120
     * @param string $pays l'identitifiant du pays sur lequel on se trouve (normalement seulement la france si présent)
121
	 * @param int $niveau le niveau de la carto (monde, continent, ou pays)
121
	 * @param int $niveau le niveau de la carto (monde, continent, ou pays)
122
	 */
122
	 */
123
    private function chargerZonesUrls($id_annuaire, &$zones, $continent = null, $pays = null, $niveau = 0) {
123
    private function chargerZonesUrls($id_annuaire, &$zones, $continent = null, $pays = null, $niveau = 0) {
124
 
124
 
125
    	$url = new URL(Config::get('url_base'));
125
    	$url = new URL(Config::get('url_base'));
126
 
126
 
127
    	$url->setVariableRequete('id_annuaire', $id_annuaire);
127
    	$url->setVariableRequete('id_annuaire', $id_annuaire);
128
        //$url->setVariableRequete('m', 'annuaire_inscrits_carto');
128
        //$url->setVariableRequete('m', 'annuaire_inscrits_carto');
129
 
129
 
130
        foreach ($zones as $id => &$infos) {
130
        foreach ($zones as $id => &$infos) {
131
 
131
 
132
        	switch ($niveau) {
132
        	switch ($niveau) {
133
				// niveau 0 de la carte : on affiche tous les continents
133
				// niveau 0 de la carte : on affiche tous les continents
134
				// l'url va pointer vers un continent en particulier
134
				// l'url va pointer vers un continent en particulier
135
				case 0:
135
				case 0:
136
					$url->setVariableRequete('m', 'annuaire_afficher_carte');
136
					$url->setVariableRequete('m', 'annuaire_afficher_carte');
137
					$url->setVariableRequete('continent', $id);
137
					$url->setVariableRequete('continent', $id);
138
				break;
138
				break;
139
 
139
 
140
				// niveau 1, on est sur un continent en particulier : on affiche le détail du continent demandé
140
				// niveau 1, on est sur un continent en particulier : on affiche le détail du continent demandé
141
				// l'url pointe sur des pays
141
				// l'url pointe sur des pays
142
				case 1:
142
				case 1:
143
					$url->setVariableRequete('continent', $continent);
143
					$url->setVariableRequete('continent', $continent);
144
 
144
 
145
					// si le pays c'est la france alors l'url pointera vers la carte des départements
145
					// si le pays c'est la france alors l'url pointera vers la carte des départements
146
					if($id == $this->id_france) {
146
					if($id == $this->id_france) {
147
						$url->setVariableRequete('m', 'annuaire_afficher_carte');
147
						$url->setVariableRequete('m', 'annuaire_afficher_carte');
148
					} else {
148
					} else {
149
						// sinon l'url pointe vers la liste des inscrits de ce pays
149
						// sinon l'url pointe vers la liste des inscrits de ce pays
150
						$url->setVariableRequete('m', 'annuaire_inscrits_carto');
150
						$url->setVariableRequete('m', 'annuaire_inscrits_carto');
151
					}
151
					}
152
					$url->setVariableRequete('pays', $id);
152
					$url->setVariableRequete('pays', $id);
153
 
153
 
154
				break;
154
				break;
155
 
155
 
156
				// niveau 2, si on a cliqué sur la france pour afficher les départements :
156
				// niveau 2, si on a cliqué sur la france pour afficher les départements :
157
				case 2:
157
				case 2:
158
					$url->setVariableRequete('m','annuaire_inscrits_carto');
158
					$url->setVariableRequete('m','annuaire_inscrits_carto');
159
					$url->setVariableRequete('continent', $continent);
159
					$url->setVariableRequete('continent', $continent);
160
					$url->setVariableRequete('pays', $pays);
160
					$url->setVariableRequete('pays', $pays);
161
					$url->setVariableRequete('departement', $id);
161
					$url->setVariableRequete('departement', $id);
162
				break;
162
				break;
163
			}
163
			}
164
            $infos['url'] = sprintf($url, $id);
164
            $infos['url'] = sprintf($url, $id);
165
        }
165
        }
166
    }
166
    }
167
 
167
 
168
	/**
168
	/**
169
	 * Renvoie le niveau auquel on se trouve suivant la présence ou non de certains paramètres
169
	 * Renvoie le niveau auquel on se trouve suivant la présence ou non de certains paramètres
170
	 * @param int $continent l'identitifiant du continent sur lequel on se trouve
170
	 * @param int $continent l'identitifiant du continent sur lequel on se trouve
171
     * @param string $pays l'identitifiant du pays sur lequel on se trouve (normalement seulement la france si présent)
171
     * @param string $pays l'identitifiant du pays sur lequel on se trouve (normalement seulement la france si présent)
172
	 */
172
	 */
173
    private function calculerNiveau($continent, $pays) {
173
    private function calculerNiveau($continent, $pays) {
174
 
174
 
175
		// le niveau 0 c'est la carte de base
175
		// le niveau 0 c'est la carte de base
176
    	$niveau = 0;
176
    	$niveau = 0;
177
 
177
 
178
		// le niveau 1 on consulte un continent en particulier (ex. Amérique du Sud)
178
		// le niveau 1 on consulte un continent en particulier (ex. Amérique du Sud)
179
		if($continent != null) {
179
		if($continent != null) {
180
    		$niveau = 1;
180
    		$niveau = 1;
181
    	}
181
    	}
182
 
182
 
183
		// le niveau 2 c'est un pays en particulier (ce cas là n'arrive que pour la france)
183
		// le niveau 2 c'est un pays en particulier (ce cas là n'arrive que pour la france)
184
    	if($pays != null) {
184
    	if($pays != null) {
185
    		$niveau = 2;
185
    		$niveau = 2;
186
    	}
186
    	}
187
 
187
 
188
    	return $niveau;
188
    	return $niveau;
189
    }
189
    }
190
 
190
 
191
	/**
191
	/**
192
	 * Renvoie le type de template à utiliser suivant le niveau de certains paramètres
192
	 * Renvoie le type de template à utiliser suivant le niveau de certains paramètres
193
	 * @param int $niveau le niveau de la carto
193
	 * @param int $niveau le niveau de la carto
194
	 * @return string le type de template
194
	 * @return string le type de template
195
	 */
195
	 */
196
    private function renvoyerPrefixePourNiveau($niveau) {
196
    private function renvoyerPrefixePourNiveau($niveau) {
197
    	switch ($niveau) {
197
    	switch ($niveau) {
198
    		case 0:
198
    		case 0:
199
    			$fond = 'continents';
199
    			$fond = 'continents';
200
    		break;
200
    		break;
201
 
201
 
202
    		case 1:
202
    		case 1:
203
				$fond = 'pays';
203
				$fond = 'pays';
204
    		break;
204
    		break;
205
 
205
 
206
    		case 2 :
206
    		case 2 :
207
				$fond = 'france';
207
				$fond = 'france';
208
			break;
208
			break;
209
 
209
 
210
			default:
210
			default:
211
				$fond = '';
211
				$fond = '';
212
			break;
212
			break;
213
    	}
213
    	}
214
 
214
 
215
    	return $fond;
215
    	return $fond;
216
    }
216
    }
217
 
217
 
218
	/**
218
	/**
219
	 * Renvoie le suffixe de fond de carte à utiliser pour un continent donné
219
	 * Renvoie le suffixe de fond de carte à utiliser pour un continent donné
220
	 * @param int $niveau le niveau de la carto
220
	 * @param int $niveau le niveau de la carto
221
	 * @param int $niveau l'identifiant de continent
221
	 * @param int $niveau l'identifiant de continent
222
	 * @return string le suffixe
222
	 * @return string le suffixe
223
	 */
223
	 */
224
    private function renvoyerSuffixePourContinent($niveau, $continent) {
224
    private function renvoyerSuffixePourContinent($niveau, $continent) {
225
 
225
 
226
    	switch ($continent) {
226
    	switch ($continent) {
227
    		case 1:
227
    		case 1:
228
				$carte = '_afrique';
228
				$carte = '_afrique';
229
			break;
229
			break;
230
 
230
 
231
    		case 2:
231
    		case 2:
232
				$carte = '_nord_amerique';
232
				$carte = '_nord_amerique';
233
			break;
233
			break;
234
 
234
 
235
    		case 3:
235
    		case 3:
236
				$carte = '_asie';
236
				$carte = '_asie';
237
			break;
237
			break;
238
 
238
 
239
    		case 4:
239
    		case 4:
240
				$carte = '_europe';
240
				$carte = '_europe';
241
			break;
241
			break;
242
 
242
 
243
    		case 5:
243
    		case 5:
244
				$carte = '_oceanie';
244
				$carte = '_oceanie';
245
    		break;
245
    		break;
246
 
246
 
247
    		case 6:
247
    		case 6:
248
				$carte = '_sud_amerique';
248
				$carte = '_sud_amerique';
249
    		break;
249
    		break;
250
 
250
 
251
    		case 7:
251
    		case 7:
252
				$carte = '_moyen_orient';
252
				$carte = '_moyen_orient';
253
    		break;
253
    		break;
254
 
254
 
255
    		default:
255
    		default:
256
    			$carte = '';
256
    			$carte = '';
257
    		break;
257
    		break;
258
    	}
258
    	}
259
 
259
 
260
    	return $carte;
260
    	return $carte;
261
    }
261
    }
262
 
262
 
263
	/**
263
	/**
264
	 * renvoie tous les noms templates pour chaque zone du monde
264
	 * renvoie tous les noms templates pour chaque zone du monde
265
	 * @return array un tableau associatif indexé par les identifiants de zone et contenant les noms de templates
265
	 * @return array un tableau associatif indexé par les identifiants de zone et contenant les noms de templates
266
	 */
266
	 */
267
    private function renvoyerTousTemplates() {
267
    private function renvoyerTousTemplates() {
268
    	return array(1 => 'pays_afrique', 2 => 'pays_nord_amerique', 3 => 'pays_asie', 4 => 'pays_europe', 5 => 'pays_oceanie', 6 => 'pays_sud_amerique', 7 => 'pays_moyen_orient');
268
    	return array(1 => 'pays_afrique', 2 => 'pays_nord_amerique', 3 => 'pays_asie', 4 => 'pays_europe', 5 => 'pays_oceanie', 6 => 'pays_sud_amerique', 7 => 'pays_moyen_orient');
269
    }
269
    }
270
 
270
 
271
	/**
271
	/**
272
	 * Charge la liste des inscrits par zone pour un niveau géographique donné
272
	 * Charge la liste des inscrits par zone pour un niveau géographique donné
273
	 * @param int $id_annuaire l'identifiant de l'annuaire
273
	 * @param int $id_annuaire l'identifiant de l'annuaire
274
	 * @param int $niveau le niveau où l'on se situe
274
	 * @param int $niveau le niveau où l'on se situe
275
	 * @return array un tableau associatif indexé par les identifiants de zone et contenant le nombre d'inscrits pour chaque zone
275
	 * @return array un tableau associatif indexé par les identifiants de zone et contenant le nombre d'inscrits pour chaque zone
276
	 */
276
	 */
277
    private function chargerNombreInscritsParNiveauGeographique($id_annuaire, $niveau) {
277
    private function chargerNombreInscritsParNiveauGeographique($id_annuaire, $niveau) {
278
 
278
 
279
		$nb_inscrits = array();
279
		$nb_inscrits = array();
280
 
280
 
281
		if($niveau == 0) {
281
		if($niveau == 0) {
282
			// si on est au niveau des continents
282
			// si on est au niveau des continents
283
			$zones_ids = array();
283
			$zones_ids = array();
284
			// il faut faire la somme des inscrits par zones géographique
284
			// il faut faire la somme des inscrits par zones géographique
285
			$templates = $this->renvoyerTousTemplates();
285
			$templates = $this->renvoyerTousTemplates();
286
		} else {
286
		} else {
287
			// sinon on appelle la fonction pour la zone demandée
287
			// sinon on appelle la fonction pour la zone demandée
288
			$zones_ids = $this->chargerZonesParCsv(Application::getChemin().Config::get('carte_fonds_chemin').$this->nom_fond);
288
			$zones_ids = $this->chargerZonesParCsv(Application::getChemin().Config::get('carte_fonds_chemin').$this->nom_fond);
289
		}
289
		}
290
 
290
 
291
		$annuaire_controleur = new AnnuaireControleur();
291
		$annuaire_controleur = new AnnuaireControleur();
292
 
292
 
293
		switch ($niveau) {
293
		switch ($niveau) {
294
			// niveau de la carte du monde
294
			// niveau de la carte du monde
295
    		case 0:
295
    		case 0:
296
    			// pour chacun des continents, on fait la somme des membres de sa zone
296
    			// pour chacun des continents, on fait la somme des membres de sa zone
297
    			foreach($templates as $id_continent => $template) {
297
    			foreach($templates as $id_continent => $template) {
298
    				$zones_continent_ids = $this->chargerZonesParCsv(Application::getChemin().Config::get('carte_fonds_chemin').$template);
298
    				$zones_continent_ids = $this->chargerZonesParCsv(Application::getChemin().Config::get('carte_fonds_chemin').$template);
299
    				$nb_inscrits[$id_continent] = array_sum($annuaire_controleur->chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $zones_continent_ids));
299
    				$nb_inscrits[$id_continent] = array_sum($annuaire_controleur->chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $zones_continent_ids));
300
    			}
300
    			}
301
    		break;
301
    		break;
302
 
302
 
303
			// niveau de la carte des pays d'un continent
303
			// niveau de la carte des pays d'un continent
304
    		case 1:
304
    		case 1:
305
				$nb_inscrits = $annuaire_controleur->chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $zones_ids);
305
				$nb_inscrits = $annuaire_controleur->chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $zones_ids);
306
    		break;
306
    		break;
307
 
307
 
308
			// détail d'un pays
308
			// détail d'un pays
309
    		case 2 :
309
    		case 2 :
310
				$nb_inscrits = $annuaire_controleur->chargerNombreAnnuaireListeInscritsParDepartement($id_annuaire);
310
				$nb_inscrits = $annuaire_controleur->chargerNombreAnnuaireListeInscritsParDepartement($id_annuaire);
311
			break;
311
			break;
312
 
312
 
313
			// action par défaut, on renvoie les departements
313
			// action par défaut, on renvoie les departements
314
			// TODO: changer ça, ça n'a pas de sens
314
			// TODO: changer ça, ça n'a pas de sens
315
			default:
315
			default:
316
			//	$nb_inscrits = $annuaire_controleur->chargerNombreAnnuaireListeInscritsParDepartement($id_annuaire);
316
			//	$nb_inscrits = $annuaire_controleur->chargerNombreAnnuaireListeInscritsParDepartement($id_annuaire);
317
 
317
 
318
			break;
318
			break;
319
		}
319
		}
320
 
320
 
321
    	return $nb_inscrits;
321
    	return $nb_inscrits;
322
    }
322
    }
323
 
323
 
324
	/**
324
	/**
325
	 * Récupère les identifiants de zone dans un fichier csv donné
325
	 * Récupère les identifiants de zone dans un fichier csv donné
326
	 * @param string $nom_csv chemin vers le fichier csv (sans extension) qui contient les données
326
	 * @param string $nom_csv chemin vers le fichier csv (sans extension) qui contient les données
327
	 * @return array un tableau contenant les identifiants des zones
327
	 * @return array un tableau contenant les identifiants des zones
328
	 */
328
	 */
329
    private function chargerZonesParCsv($nom_csv) {
329
    private function chargerZonesParCsv($nom_csv) {
330
 
330
 
331
		$fichier_csv = $nom_csv.'.csv';
331
		$fichier_csv = $nom_csv.'.csv';
332
		$zones_id = array();
332
		$zones_id = array();
333
 
333
 
334
		if (($handle = fopen($fichier_csv, 'r')) !== false) {
334
		if (($handle = fopen($fichier_csv, 'r')) !== false) {
335
			$ligne = 0;
335
			$ligne = 0;
336
 
336
 
337
			while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
337
			while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
338
 
338
 
339
				if($ligne != 0 && trim($donnees[0]) != '') {
339
				if($ligne != 0 && trim($donnees[0]) != '') {
340
					$zones_id[] = "'".$donnees[0]."'";
340
					$zones_id[] = "'".$donnees[0]."'";
341
				}
341
				}
342
				$ligne++;
342
				$ligne++;
343
			}
343
			}
344
			fclose($handle);
344
			fclose($handle);
345
		}
345
		}
346
 
346
 
347
		return $zones_id;
347
		return $zones_id;
348
    }
348
    }
349
}
349
}
350
?>
350
?>