Subversion Repositories Applications.annuaire

Rev

Rev 153 | Rev 158 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 aurelien 1
<?php
2
// declare(encoding='UTF-8');
3
/**
4
 *
5
 * PHP version 5
6
 *
7
 * @category PHP
8
 * @package Framework
9
 * @author Aurelien PERONNET <aurelien@tela-botanica.org>
10
 * @copyright Tela-Botanica 2009
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
13
 * @version   SVN: $$Id$$
14
 * @link /doc/framework/
15
 */
16
 
57 aurelien 17
include_once('initialisation.php');
4 aurelien 18
 
78 aurelien 19
 
153 aurelien 20
// on récupère les variables d'identification
40 aurelien 21
$identification = Config::get('identification');
22
$annuaire_controleur = new AnnuaireControleur();
78 aurelien 23
if($identification) {
24
	$id = $annuaire_controleur->obtenirIdParMail('1', $identification);
25
} else {
26
	$id = false;
27
}
40 aurelien 28
 
57 aurelien 29
Registre::getInstance()->set('est_admin',false);
30
Registre::getInstance()->set('identification_id',$id);
31
Registre::getInstance()->set('identification_mail',$identification);
32
 
40 aurelien 33
// identification
34
// TODO : faire mieux (un wrapper pour gérer différents types d'objets)
35
if(isset($_GET['id_utilisateur'])) {
36
	$GLOBALS['id_utilisateur'] = $_GET['id_utilisateur'];
51 aurelien 37
} else if (isset($_POST['id_utilisateur'])) {
40 aurelien 38
	$GLOBALS['id_utilisateur'] = $_POST['id_utilisateur'];
39
} else {
40
	$GLOBALS['id_utilisateur'] = $id;
41
}
42
 
78 aurelien 43
 
4 aurelien 44
/**
45
 * Fonction d'affichage de Papyrus, pour le corps de page
46
 */
47
function afficherContenuCorps() {
48
 
78 aurelien 49
	// TODO : rendre cette partie modulable.
50
	if(isset($_GET['id_annuaire'])) {
51
		$id_annuaire = $_GET['id_annuaire'];
52
	} else {
53
		$_GET['id_annuaire'] = Config::get('annuaire_defaut');
54
	}
104 aurelien 55
 
4 aurelien 56
	$methode = '';
78 aurelien 57
 
4 aurelien 58
	if (isset($_GET['m'])) {
20 aurelien 59
		$methode = $_GET['m'];
40 aurelien 60
		//unset($_GET['m']);
20 aurelien 61
	} else {
62
		if (isset($_POST['m'])) {
63
			$methode = $_POST['m'];
40 aurelien 64
			//unset($_POST['m']);
78 aurelien 65
		} else {
66
				// Gestion des paramêtres définis dans Papyrus
67
			if (isset($GLOBALS['_GEN_commun']['info_application']->m)) {
104 aurelien 68
					       $methode = $GLOBALS['_GEN_commun']['info_application']->m;
78 aurelien 69
			}
70
 
71
			// Gestion des paramêtres définis dans Papyrus
72
			if (isset($GLOBALS['_GEN_commun']['info_application']->id_annuaire)) {
73
					        $_GET['id_annuaire'] = $GLOBALS['_GEN_commun']['info_application']->id_annuaire;
74
			}
20 aurelien 75
		}
4 aurelien 76
	}
77
 
57 aurelien 78
	$identification = Config::get('identification');
79
 
80
	if(!$identification) {
78 aurelien 81
 
82
		switch ($methode) {
83
			case 'annuaire_formulaire_inscription':
84
				$controleur = new AnnuaireControleur();
85
				$id = $_GET['id_annuaire'];
86
				$retour = $controleur->afficherFormulaireInscription($id);
87
				break;
88
 
89
			case 'annuaire_ajout_inscription':
90
				$valeurs = $_POST;
91
				$controleur = new AnnuaireControleur();
92
				$retour = $controleur->ajouterInscriptionTemporaire($valeurs);
93
				break;
94
 
95
			case 'annuaire_inscription_confirmation':
96
				$identifiant = $_GET['id'];
97
				$controleur = new AnnuaireControleur();
98
				$retour = $controleur->ajouterNouvelleInscription($identifiant);
99
				break;
141 aurelien 100
 
101
			case 'annuaire_afficher_formulaire_oubli_mdp':
102
				$identifiant_annuaire = $_GET['id_annuaire'];
103
				$controleur = new AnnuaireControleur();
104
				$retour = $controleur->afficherFormulaireOubliMotDePasse($identifiant_annuaire);
105
			break;
78 aurelien 106
 
141 aurelien 107
			case 'annuaire_oubli_mdp':
108
				$identifiant_annuaire = $_GET['id_annuaire'];
109
				$mail = $_POST['mail'];
110
				$controleur = new AnnuaireControleur();
111
				$retour = $controleur->reinitialiserMotDePasse($identifiant_annuaire, $mail);
112
			break;
153 aurelien 113
 
114
			case 'annuaire_afficher_carte':
115
				$identifiant_annuaire = $_GET['id_annuaire'];
116
 
117
				$continent = null;
118
				$pays = null;
119
				$departement = null;
120
 
121
				if(isset($_GET['continent'])) {
122
					$continent = $_GET['continent'];
123
				}
124
 
125
				if(isset($_GET['pays'])) {
126
					$pays = $_GET['pays'];
127
				}
128
 
129
				if(isset($_GET['departement'])) {
130
					$departement = $_GET['departement'];
131
				}
132
 
133
				$controleur = new CartoControleur();
134
				$retour = $controleur->cartographier($identifiant_annuaire, $continent, $pays, $departement);
135
			break;
141 aurelien 136
 
78 aurelien 137
			default :
138
				$id = $_GET['id_annuaire'];
139
				$controleur = new IdentificationControleur();
140
				$retour = $controleur->afficherFormulaireIdentification($id);
141
			break;
142
		}
143
 
144
		if (Config::get('sortie_encodage') != Config::get('appli_encodage')) {
145
			$retour = mb_convert_encoding($retour, Config::get('sortie_encodage'),Config::get('appli_encodage'));
146
		}
147
 
148
		return $retour;
57 aurelien 149
	}
150
 
78 aurelien 151
 
4 aurelien 152
	switch ($methode) {
153
 
154
		case 'annuaire_inscrits':
155
			$controleur = new AnnuaireControleur();
156
			$id = $_GET['id_annuaire'];
7 aurelien 157
 
158
			if(isset($_GET['taille_page'])) {
159
				$taille_page = $_GET['taille_page'];
160
			} else  {
161
				$taille_page = 50;
162
			}
163
 
164
			if(isset($_GET['numero_page'])) {
165
				$numero_page = $_GET['numero_page'];
166
			} else {
167
				$numero_page = 1;
168
			}
20 aurelien 169
			$retour = $controleur->afficherFormulaireRecherche($id);
170
			$retour .= $controleur->chargerAnnuaireListeInscrits($id, $numero_page, $taille_page);
4 aurelien 171
			break;
172
 
173
		case 'annuaire_fiche_utilisateur_consultation':
174
			$identifiant_annuaire = $_GET['id_annuaire'];
175
			$controleur = new AnnuaireControleur();
40 aurelien 176
			$retour = $controleur->afficherFicheUtilisateur($identifiant_annuaire,$GLOBALS['id_utilisateur']);
4 aurelien 177
			break;
178
 
40 aurelien 179
		case 'annuaire_fiche_resume_consultation':
180
			$identifiant_annuaire = $_GET['id_annuaire'];
181
			$controleur = new AnnuaireControleur();
182
			$retour = $controleur->afficherFicheResumeUtilisateur($identifiant_annuaire,$GLOBALS['id_utilisateur']);
183
			break;
20 aurelien 184
 
57 aurelien 185
		case 'annuaire_fiche_gestion_consultation':
186
			$identifiant_annuaire = $_GET['id_annuaire'];
187
			$controleur = new AnnuaireControleur();
153 aurelien 188
			$retour = $controleur->gererInscriptionExterne($identifiant_annuaire,Registre::getInstance()->get('identification_id'));
57 aurelien 189
			break;
40 aurelien 190
 
57 aurelien 191
 
20 aurelien 192
		case 'annuaire_formulaire_modification_inscription':
193
			$controleur = new AnnuaireControleur();
194
			$id_annuaire = $_GET['id_annuaire'];
153 aurelien 195
			$retour = $controleur->afficherFormulaireModificationInscription($id_annuaire, Registre::getInstance()->get('identification_id'));
20 aurelien 196
			break;
197
 
198
		case 'annuaire_modification_inscription':
199
			$controleur = new AnnuaireControleur();
200
			$valeurs = $_POST;
201
			$retour = $controleur->modifierInscription($_POST);
202
 
203
			break;
204
 
13 aurelien 205
		case 'annuaire_afficher_formulaire_ajout_image':
206
			$identifiant_annuaire = $_GET['id_annuaire'];
207
			$controleur = new AnnuaireControleur();
153 aurelien 208
			$retour = $controleur->afficherFormulaireUploadImage($identifiant_annuaire,Registre::getInstance()->get('identification_id'), $_GET);
13 aurelien 209
			break;
210
 
211
		case 'annuaire_ajouter_image':
212
			$identifiant_annuaire = $_GET['id_annuaire'];
40 aurelien 213
			$GLOBALS['id_utilisateur'] = $_GET['id_utilisateur'];
13 aurelien 214
			$infos_images = $_FILES;
215
			$controleur = new AnnuaireControleur();
153 aurelien 216
			$retour = $controleur->ajouterImageUtilisateur($identifiant_annuaire,Registre::getInstance()->get('identification_id'),$infos_images);
13 aurelien 217
			break;
218
 
20 aurelien 219
 
220
		case 'annuaire_suppression_inscription':
221
			$identifiant_annuaire = $_GET['id_annuaire'];
114 aurelien 222
			$id_utilisateur = $_GET['id_utilisateur'];
20 aurelien 223
			$controleur = new AnnuaireControleur();
153 aurelien 224
			$retour = $controleur->supprimerInscription($identifiant_annuaire,Registre::getInstance()->get('identification_id'));
20 aurelien 225
			break;
226
 
114 aurelien 227
		case 'annuaire_formulaire_suppression_inscription':
228
			$identifiant_annuaire = $_GET['id_annuaire'];
229
			$id_utilisateur = $_GET['id_utilisateur'];
230
			$controleur = new AnnuaireControleur();
153 aurelien 231
			$retour = $controleur->afficherFormulaireSuppressionInscription($identifiant_annuaire,Registre::getInstance()->get('identification_id'));
114 aurelien 232
			break;
233
 
20 aurelien 234
		case 'annuaire_afficher_formulaire_recherche':
235
			$identifiant_annuaire = $_GET['id_annuaire'];
236
			$controleur = new AnnuaireControleur();
237
			$retour = $controleur->afficherFormulaireRecherche($identifiant_annuaire);
238
			break;
239
 
240
		case 'annuaire_recherche_inscrit':
241
			$identifiant_annuaire = $_GET['id_annuaire'];
242
			unset($_GET['id_annuaire']);
243
 
244
			if(isset($_GET['inclusive'])) {
245
				$exclusive = false;
246
				unset($_GET['inclusive']);
247
			} else {
248
				$exclusive = true;
249
			}
250
 
251
			$criteres = $_GET;
40 aurelien 252
 
20 aurelien 253
			$controleur = new AnnuaireControleur();
254
			$retour = $controleur->rechercherInscrit($identifiant_annuaire,$criteres, $exclusive);
255
			break;
256
 
40 aurelien 257
		case 'annuaire_afficher_carte':
258
			$identifiant_annuaire = $_GET['id_annuaire'];
259
 
260
			$continent = null;
261
			$pays = null;
262
			$departement = null;
263
 
264
			if(isset($_GET['continent'])) {
265
				$continent = $_GET['continent'];
266
			}
267
 
268
			if(isset($_GET['pays'])) {
269
				$pays = $_GET['pays'];
270
			}
271
 
272
			if(isset($_GET['departement'])) {
273
				$departement = $_GET['departement'];
274
			}
275
 
276
			$controleur = new CartoControleur();
277
			$retour = $controleur->cartographier($identifiant_annuaire, $continent, $pays, $departement);
278
		break;
153 aurelien 279
 
280
		case 'annuaire_inscrits_carto':
281
			$identifiant_annuaire = $_GET['id_annuaire'];
282
			$criteres = $_GET;
283
			$controleur = new AnnuaireControleur();
284
			$retour = $controleur->rechercherInscritParlocalisation($identifiant_annuaire,$criteres);
285
		break;
40 aurelien 286
 
51 aurelien 287
		case 'annuaire_envoyer_message':
288
 
289
			$id_annuaire = $_GET['id_annuaire'];
290
			$contenu_message = $_GET['contenu_message'];
291
			$sujet_message = $_GET['sujet_message'];
292
			$destinataires = array_keys($_GET['destinataires']);
293
 
294
			$controleur = new MessageControleur();
295
			$retour = $controleur->envoyerMailDirectOuModere($id_annuaire ,Config::get('identification'), $destinataires, $sujet_message, $contenu_message);
296
		break;
104 aurelien 297
 
298
		// Fonctions de modération des messages
299
		case 'message_moderation_confirmation':
300
			if(isset($_GET['id'])) {
301
				$id_message = $_GET['id'];
302
			}
303
			$controleur = new MessageControleur();
304
			$retour = $controleur->envoyerMailModere($id_message);
305
		break;
51 aurelien 306
 
104 aurelien 307
		case 'message_moderation_suppression':
308
			if(isset($_GET['id'])) {
309
				$id_message = $_GET['id'];
310
			}
311
			$controleur = new MessageControleur();
312
			$retour = $controleur->supprimerMailModere($id_message);
313
		break;
314
 
57 aurelien 315
		case 'inscription_lettre_actualite':
316
			$controleur = new AnnuaireControleur();
317
			$id_annuaire = $_GET['id_annuaire'];
318
			$retour = $controleur->inscriptionLettreActualite($id_annuaire, $GLOBALS['id_utilisateur']);
319
 
320
			if(isset($_GET['retour'])) {
321
				$retour = $controleur->gererInscriptionExterne($identifiant_annuaire,$GLOBALS['id_utilisateur']);
322
			}
323
		break;
324
 
325
		case 'desinscription_lettre_actualite':
326
			$controleur = new AnnuaireControleur();
327
			$id_annuaire = $_GET['id_annuaire'];
328
			$retour = $controleur->desinscriptionLettreActualite($id_annuaire, $GLOBALS['id_utilisateur']);
329
 
330
			if(isset($_GET['retour'])) {
331
				$retour = $controleur->gererInscriptionExterne($identifiant_annuaire,$GLOBALS['id_utilisateur']);
332
			}
333
		break;
334
 
40 aurelien 335
		default:
336
			$controleur = new AnnuaireControleur();
337
			$retour = $controleur->afficherFicheUtilisateur(Config::get('annuaire_defaut'),$GLOBALS['id_utilisateur']);
338
		break;
4 aurelien 339
	}
340
 
341
	if (Config::get('sortie_encodage') != Config::get('appli_encodage')) {
342
		$retour = mb_convert_encoding($retour, Config::get('sortie_encodage'),Config::get('appli_encodage'));
343
	}
13 aurelien 344
 
345
	return $retour;
4 aurelien 346
}
347
 
348
function afficherContenuTete() {
57 aurelien 349
 
78 aurelien 350
	// c'est très moche, il ne faudrait pas faire comme ceci
351
	if(function_exists('GEN_stockerStyleExterne')) {
104 aurelien 352
		GEN_stockerStyleExterne('annuaire_papyrus',Config::get('base_url_styles').'squelettes/css/annuaire_complexe.css');
353
		GEN_stockerStyleExterne('annuaire_papyrus_simple',Config::get('base_url_styles').'squelettes/css/annuaire.css');
78 aurelien 354
	}
355
	return "";
4 aurelien 356
}
357
 
358
function afficherContenuPied() {
157 aurelien 359
	return '';
4 aurelien 360
}
361
 
362
function afficherContenuNavigation() {
363
	return '';
364
}
365
 
366
function afficherContenuMenu() {
40 aurelien 367
 
51 aurelien 368
	// TODO : rendre cette partie modulable.
40 aurelien 369
	if(isset($_GET['id_annuaire'])) {
370
		$id_annuaire = $_GET['id_annuaire'];
371
	} else {
372
		$id_annuaire = Config::get('annuaire_defaut');
373
	}
374
 
78 aurelien 375
	$identification = Config::get('identification');
40 aurelien 376
 
78 aurelien 377
	if($identification) {
114 aurelien 378
		$controleur = new NavigationControleur();
379
		$menu = $controleur->afficherContenuMenu($id_annuaire,false);
380
	} else {
381
		$menu = '';
78 aurelien 382
	}
153 aurelien 383
 
384
	return '';
78 aurelien 385
 
40 aurelien 386
	return $menu;
4 aurelien 387
}
388
 
389
?>