Subversion Repositories Applications.annuaire

Rev

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