Subversion Repositories Applications.annuaire

Rev

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

Rev 56 Rev 60
1
<?php
1
<?php
2
/**
2
/**
3
* PHP Version 5
3
* PHP Version 5
4
*
4
*
5
* @category  PHP
5
* @category  PHP
6
* @package   annuaire
6
* @package   annuaire
7
* @author    aurelien <aurelien@tela-botanica.org>
7
* @author    aurelien <aurelien@tela-botanica.org>
8
* @copyright 2010 Tela-Botanica
8
* @copyright 2010 Tela-Botanica
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @version   SVN: <svn_id>
10
* @version   SVN: <svn_id>
11
* @link      /doc/annuaire/
11
* @link      /doc/annuaire/
12
*
12
*
13
*/
13
*/
14
 
14
 
15
/**
15
/**
16
 * Controleur chargé de la vérification des formulaire
16
 * Controleur chargé de la vérification des formulaire
17
 * Remplace aussi les valeurs lors des actions spéciales comme la modification du mail
17
 * Remplace aussi les valeurs lors des actions spéciales comme la modification du mail
18
 * (l'inscription à la lettre d'actu se fait aussi ici même si ça n'estp as totalement sa place)
18
 * (l'inscription à la lettre d'actu se fait aussi ici même si ça n'estp as totalement sa place)
19
 */
19
 */
20
class VerificationControleur extends Controleur {
20
class VerificationControleur extends Controleur {
21
 
21
 
22
	/**
22
	/**
23
	 * Vérifie que les valeurs des champs de mappage et les valeurs obligatoires d'un annuaire donné
23
	 * Vérifie que les valeurs des champs de mappage et les valeurs obligatoires d'un annuaire donné
24
	 * sont correctes
24
	 * sont correctes
25
	 * @param int $id_annuaire l'identifiant de l'annuaire
25
	 * @param int $id_annuaire l'identifiant de l'annuaire
26
	 * @param Array $valeurs les valeurs à vérifier
26
	 * @param Array $valeurs les valeurs à vérifier
27
	 */
27
	 */
28
	public function verifierErreursChampsSelonType($id_annuaire, $valeurs, $tableau_mappage) {
28
	public function verifierErreursChampsSelonType($id_annuaire, $valeurs, $tableau_mappage) {
29
 
29
 
30
		$erreurs = false;
30
		$erreurs = array();
31
 
31
 
32
		$this->chargerModele('AnnuaireModele');
32
		$this->chargerModele('AnnuaireModele');
33
		$tableau_champs_obligatoire = $this->AnnuaireModele->obtenirChampsObligatoires($id_annuaire);
33
		$tableau_champs_obligatoire = $this->AnnuaireModele->obtenirChampsObligatoires($id_annuaire);
34
 
34
 
35
		foreach($valeurs as $id => $valeur_champ) {
35
		foreach($valeurs as $id => $valeur_champ) {
36
 
36
 
37
			$type = $valeur_champ['type'];
37
			$type = $valeur_champ['type'];
38
			$valeur = $valeur_champ['valeur'];
38
			$valeur = $valeur_champ['valeur'];
39
			$condition = $valeur_champ['condition'];
39
			$condition = $valeur_champ['condition'];
40
 
40
 
41
			switch($type) {
41
			switch($type) {
42
 
42
 
43
				case 'text':
43
				case 'text':
44
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == '') {
44
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == '') {
45
						$erreurs[$id] = 'Ce champ est obligatoire';
45
						$erreurs[$id] = 'Ce champ est obligatoire';
46
					}
46
					}
47
				break;
47
				break;
48
 
48
 
49
				case 'mail':
49
				case 'mail':
50
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == '') {
50
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == '') {
51
						$erreurs[$id] = 'Le mail est obligatoire ';
51
						$erreurs[$id] = 'Le mail est obligatoire ';
52
					}
52
					}
53
 
53
 
54
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && !$this->mailValide($valeur)) {
54
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && !$this->mailValide($valeur)) {
55
						$erreurs[$id] .= 'Le mail est invalide ';
55
						$erreurs[$id] .= 'Le mail est invalide ';
56
					}
56
					}
57
 
57
 
58
					if($this->AnnuaireModele->utilisateurExisteParMail($id_annuaire, $valeur)) {
58
					if($this->AnnuaireModele->utilisateurExisteParMail($id_annuaire, $valeur)) {
59
						$erreurs[$id] .= 'Cet email est déjà utilisé par quelqu\'un d\'autre ';
59
						$erreurs[$id] .= 'Cet email est déjà utilisé par quelqu\'un d\'autre ';
60
					}
60
					}
61
				break;
61
				break;
62
 
62
 
63
				case 'password':
63
				case 'password':
64
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == ''
64
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == ''
65
					|| $valeur != $condition) {
65
					|| $valeur != $condition) {
66
							$erreurs[$id] = 'Le mot de passe est invalide';
66
							$erreurs[$id] = 'Le mot de passe est invalide';
67
					}
67
					}
68
				break;
68
				break;
69
 
69
 
70
				// cas du champ checkbox
70
				// cas du champ checkbox
71
				case 'checkbox':
71
				case 'checkbox':
72
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($condition) != 'on') {
72
					if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($condition) != 'on') {
73
						$erreurs[$id] = 'N\'oubliez pas de cocher cette case';
73
						$erreurs[$id] = 'N\'oubliez pas de cocher cette case';
74
					}
74
					}
75
				break;
75
				break;
76
 
76
 
77
				default:
77
				default:
78
					if($this->estUnchampObligatoire && trim($valeur['valeur']) == '') {
-
 
79
						$erreurs[$id] = 'Ce champ est obligatoire';
-
 
80
					}
78
 
81
				break;
79
				break;
82
			}
80
			}
83
		}
81
		}
-
 
82
 
-
 
83
		if(count($erreurs) == 0) {
-
 
84
			$erreurs = false;
-
 
85
		}
84
 
86
 
85
		return $erreurs;
87
		return $erreurs;
86
	}
88
	}
87
 
89
 
88
	/**
90
	/**
89
	 * Vérifie les valeurs des champs pour la modification d'un formulaire
91
	 * Vérifie les valeurs des champs pour la modification d'un formulaire
90
	 */
92
	 */
91
	public function verifierErreurChampModification($id_annuaire, $id_utilisateur, $type ,$valeur, $confirmation = false) {
93
	public function verifierErreurChampModification($id_annuaire, $id_utilisateur, $type ,$valeur, $confirmation = false) {
92
 
94
 
93
		$retour = array(true,false);
95
		$retour = array(true,false);
94
 
96
 
95
		switch($type) {
97
		switch($type) {
96
			case 'mail':
98
			case 'mail':
97
				if(!$this->mailValide($valeur)) {
99
				if(!$this->mailValide($valeur)) {
98
					$retour[0] = false;
100
					$retour[0] = false;
99
					$retour[1] = 'mail invalide';
101
					$retour[1] = 'mail invalide';
100
					break;
102
					break;
101
				}
103
				}
102
 
104
 
103
				$this->chargerModele('AnnuaireModele');
105
				$this->chargerModele('AnnuaireModele');
104
				$ancien_mail = $this->AnnuaireModele->obtenirMailParId($id_annuaire,$id_utilisateur);
106
				$ancien_mail = $this->AnnuaireModele->obtenirMailParId($id_annuaire,$id_utilisateur);
105
 
107
 
106
				if($ancien_mail != $valeur && $this->AnnuaireModele->utilisateurExisteParMail($id_annuaire, $valeur)) {
108
				if($ancien_mail != $valeur && $this->AnnuaireModele->utilisateurExisteParMail($id_annuaire, $valeur)) {
107
					$retour[0] = false;
109
					$retour[0] = false;
108
					$retour[1] = 'cet email est déjà utilisé par quelqu\'un d\'autre';
110
					$retour[1] = 'cet email est déjà utilisé par quelqu\'un d\'autre';
109
				}
111
				}
110
 
112
 
111
			break;
113
			break;
112
 
114
 
113
			case 'password':
115
			case 'password':
114
 
116
 
115
				if(trim($valeur) != trim($confirmation)) {
117
				if(trim($valeur) != trim($confirmation)) {
116
					$retour[0] = false;
118
					$retour[0] = false;
117
					$retour[1] = 'mot de passe invalide';
119
					$retour[1] = 'mot de passe invalide';
118
				}
120
				}
119
		}
121
		}
120
 
122
 
121
		return $retour;
123
		return $retour;
122
	}
124
	}
123
 
125
 
124
	public function remplacerValeurChampPourInsertion($type, $valeur, $mail_utilisateur) {
126
	public function remplacerValeurChampPourInsertion($type, $valeur, $mail_utilisateur) {
125
 
127
 
126
		$valeur_modifiee = $valeur;
128
		$valeur_modifiee = $valeur;
127
 
129
 
128
		switch($type) {
130
		switch($type) {
129
 
131
 
130
			// cas du champ texte, à priori, rien de particulier
132
			// cas du champ texte, à priori, rien de particulier
131
			case 'text':
133
			case 'text':
132
				$valeur_modifiee = $valeur;
134
				$valeur_modifiee = $valeur;
133
			break;
135
			break;
134
 
136
 
135
			// cas du champ password : on le crypte
137
			// cas du champ password : on le crypte
136
			case 'password':
138
			case 'password':
137
				$valeur_modifiee = $this->encrypterMotDePasse($valeur);
139
				$valeur_modifiee = $this->encrypterMotDePasse($valeur);
138
			break;
140
			break;
139
 
141
 
140
			// cas du champ checkbox
142
			// cas du champ checkbox
141
			case 'checkbox':
143
			case 'checkbox':
142
				// Si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
144
				// Si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
143
				if(is_array($valeur)) {
145
				if(is_array($valeur)) {
144
					// on stocke les valeurs d'ontologies liées au cases cochées
146
					// on stocke les valeurs d'ontologies liées au cases cochées
145
					$valeur_modifiee = implode(Config::get('separateur_metadonnee'), array_keys($valeur));
147
					$valeur_modifiee = implode(Config::get('separateur_metadonnee'), array_keys($valeur));
146
 
148
 
147
				} else {
149
				} else {
148
					if($valeur == 'on') {
150
					if($valeur == 'on') {
149
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
151
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
150
						$valeur_modifiee = 1;
152
						$valeur_modifiee = 1;
151
					} else {
153
					} else {
152
						$valeur_modifiee = 0;
154
						$valeur_modifiee = 0;
153
					}
155
					}
154
				}
156
				}
155
 
157
 
156
			break;
158
			break;
157
 
159
 
158
			case 'lettre':
160
			case 'lettre':
159
					if($valeur == 'on') {
161
					if($valeur == 'on') {
160
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
162
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
161
						$valeur_modifiee = 1;
163
						$valeur_modifiee = 1;
162
						// Si c'est une inscription à la lettre d'actualité, on appelle la fonction d'inscription
164
						// Si c'est une inscription à la lettre d'actualité, on appelle la fonction d'inscription
163
						$lettre_controleur = new LettreControleur();
165
						$lettre_controleur = new LettreControleur();
164
						$lettre_controleur->inscriptionLettreActualite($mail_utilisateur);
166
						$lettre_controleur->inscriptionLettreActualite($mail_utilisateur);
165
					} else {
167
					} else {
166
						$valeur_modifiee = 0;
168
						$valeur_modifiee = 0;
167
					}
169
					}
168
			break;
170
			break;
169
 
171
 
170
			default:
172
			default:
171
				$valeur_modifiee = $valeur;
173
				$valeur_modifiee = $valeur;
172
			break;
174
			break;
173
		}
175
		}
174
 
176
 
175
		return $valeur_modifiee;
177
		return $valeur_modifiee;
176
	}
178
	}
177
 
179
 
178
	public function remplacerValeurChampPourModification($id_annuaire, $id_utilisateur, $type, $valeur, $mail_utilisateur) {
180
	public function remplacerValeurChampPourModification($id_annuaire, $id_utilisateur, $type, $valeur, $mail_utilisateur) {
179
 
181
 
180
		$valeur_modifiee = $valeur;
182
		$valeur_modifiee = $valeur;
181
 
183
 
182
		switch($type) {
184
		switch($type) {
183
 
185
 
184
			// cas du champ texte, à priori, rien de particulier
186
			// cas du champ texte, à priori, rien de particulier
185
			case 'text':
187
			case 'text':
186
				$valeur_modifiee = $valeur;
188
				$valeur_modifiee = $valeur;
187
			break;
189
			break;
188
 
190
 
189
			// cas du champ password : on le crypte
191
			// cas du champ password : on le crypte
190
			case 'password':
192
			case 'password':
191
				$valeur_modifiee = $this->encrypterMotDePasse($valeur);
193
				$valeur_modifiee = $this->encrypterMotDePasse($valeur);
192
			break;
194
			break;
193
 
195
 
194
			// cas du champ checkbox
196
			// cas du champ checkbox
195
			case 'checkbox':
197
			case 'checkbox':
196
				// Si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
198
				// Si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
197
				if(is_array($valeur)) {
199
				if(is_array($valeur)) {
198
 
200
 
199
					// on stocke les valeurs d'ontologies liées au cases cochées
201
					// on stocke les valeurs d'ontologies liées au cases cochées
200
					$valeur_modifiee = implode(Config::get('separateur_metadonnee'), array_keys($valeur));
202
					$valeur_modifiee = implode(Config::get('separateur_metadonnee'), array_keys($valeur));
201
 
203
 
202
				} else {
204
				} else {
203
					if($valeur == 'on') {
205
					if($valeur == 'on') {
204
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
206
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
205
						$valeur_modifiee = 1;
207
						$valeur_modifiee = 1;
206
					} else {
208
					} else {
207
						$valeur_modifiee = 0;
209
						$valeur_modifiee = 0;
208
					}
210
					}
209
				}
211
				}
210
 
212
 
211
			break;
213
			break;
212
 
214
 
213
			case 'lettre':
215
			case 'lettre':
214
 
216
 
215
				// Si c'est une inscription à la lettre d'actualité, on appelle la fonction d'inscription
217
				// Si c'est une inscription à la lettre d'actualité, on appelle la fonction d'inscription
216
				$lettre_controleur = new LettreControleur();
218
				$lettre_controleur = new LettreControleur();
217
 
219
 
218
				$this->chargerModele('AnnuaireModele');
220
				$this->chargerModele('AnnuaireModele');
219
				$ancien_mail = $this->AnnuaireModele->obtenirMailParId($id_annuaire, $id_utilisateur);
221
				$ancien_mail = $this->AnnuaireModele->obtenirMailParId($id_annuaire, $id_utilisateur);
220
 
222
 
221
				$changement_mail = false;
223
				$changement_mail = false;
222
 
224
 
223
				if($ancien_mail != $mail_utilisateur) {
225
				if($ancien_mail != $mail_utilisateur) {
224
					$changement_mail = true;
226
					$changement_mail = true;
225
				}
227
				}
226
 
228
 
227
				if($valeur == 'on') {
229
				if($valeur == 'on') {
228
					// on stocke 1 pour indique que la case est cochée (comme la checkbox oui/non)
230
					// on stocke 1 pour indique que la case est cochée (comme la checkbox oui/non)
229
					$valeur_modifiee = 1;
231
					$valeur_modifiee = 1;
230
 
232
 
231
					// si le mail a changé on désinscrit l'ancien mail et on inscrit le nouveau
233
					// si le mail a changé on désinscrit l'ancien mail et on inscrit le nouveau
232
					if($changement_mail) {
234
					if($changement_mail) {
233
						$lettre_controleur->ModificationInscriptionLettreActualite($ancien_mail, $mail_utilisateur);
235
						$lettre_controleur->ModificationInscriptionLettreActualite($ancien_mail, $mail_utilisateur);
234
					} else {
236
					} else {
235
						$lettre_controleur->inscriptionLettreActualite($mail_utilisateur);
237
						$lettre_controleur->inscriptionLettreActualite($mail_utilisateur);
236
					}
238
					}
237
 
239
 
238
				} else {
240
				} else {
239
					// sinon, si la case est vide
241
					// sinon, si la case est vide
240
					$valeur_modifiee = 0;
242
					$valeur_modifiee = 0;
241
					$mail_a_desinscrire = $mail_utilisateur;
243
					$mail_a_desinscrire = $mail_utilisateur;
242
					if($changement_mail) {
244
					if($changement_mail) {
243
						$mail_a_desinscrire = $ancien_mail;
245
						$mail_a_desinscrire = $ancien_mail;
244
					}
246
					}
245
					// on desinscrit l'utilisateur
247
					// on desinscrit l'utilisateur
246
					$lettre_controleur->desinscriptionLettreActualite($mail_a_desinscrire);
248
					$lettre_controleur->desinscriptionLettreActualite($mail_a_desinscrire);
247
				}
249
				}
248
			break;
250
			break;
249
 
251
 
250
			default:
252
			default:
251
				$valeur_modifiee = $valeur;
253
				$valeur_modifiee = $valeur;
252
			break;
254
			break;
253
		}
255
		}
254
 
256
 
255
		return $valeur_modifiee;
257
		return $valeur_modifiee;
256
	}
258
	}
257
 
259
 
258
	public function verifierEtRemplacerValeurChampPourAffichage($type, $valeur, $id_annuaire) {
260
	public function verifierEtRemplacerValeurChampPourAffichage($type, $valeur, $id_annuaire) {
259
 
261
 
260
		if(!$type) {
262
		if(!$type) {
261
			$valeur_modifiee = array();
263
			$valeur_modifiee = array();
262
 
264
 
263
			$valeur_modifiee['amv_type'] = 'champ_annuaire';
265
			$valeur_modifiee['amv_type'] = 'champ_annuaire';
264
			$valeur_modifiee['amv_valeur_affichage'] = $valeur;
266
			$valeur_modifiee['amv_valeur_affichage'] = $valeur;
265
 
267
 
266
		} else {
268
		} else {
267
 
269
 
268
			$valeur_modifiee = $valeur;
270
			$valeur_modifiee = $valeur;
269
 
271
 
270
			switch($type) {
272
			switch($type) {
271
 
273
 
272
				// cas du champ texte, à priori, rien de particulier
274
				// cas du champ texte, à priori, rien de particulier
273
				case 'text':
275
				case 'text':
274
					$valeur_modifiee['amv_valeur_affichage'] = $valeur['amv_valeur'];
276
					$valeur_modifiee['amv_valeur_affichage'] = $valeur['amv_valeur'];
275
				break;
277
				break;
276
 
278
 
277
				// cas du champ checkbox
279
				// cas du champ checkbox
278
				case 'checkbox':
280
				case 'checkbox':
279
					// si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
281
					// si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
280
					if(isset($valeur['amo_nom'])) {
282
					if(isset($valeur['amo_nom'])) {
281
						if(is_array($valeur['amo_nom']) && count($valeur['amo_nom']) > 0) {
283
						if(is_array($valeur['amo_nom']) && count($valeur['amo_nom']) > 0) {
282
						// on stocke les valeurs d'ontologies liées au cases cochées
284
						// on stocke les valeurs d'ontologies liées au cases cochées
283
							$valeur_modifiee['amv_valeur_affichage'] = implode(', ', $valeur['amo_nom']);
285
							$valeur_modifiee['amv_valeur_affichage'] = implode(', ', $valeur['amo_nom']);
284
						} else {
286
						} else {
285
							$valeur_modifiee['amv_valeur_affichage'] = $valeur['amo_nom'];
287
							$valeur_modifiee['amv_valeur_affichage'] = $valeur['amo_nom'];
286
						}
288
						}
287
					} else {
289
					} else {
288
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
290
						// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
289
						if($valeur_modifiee == 1) {
291
						if($valeur_modifiee == 1) {
290
							$valeur_modifiee['amv_valeur_affichage'] = 'oui';
292
							$valeur_modifiee['amv_valeur_affichage'] = 'oui';
291
						} else {
293
						} else {
292
							$valeur_modifiee['amv_valeur_affichage'] = 'non';
294
							$valeur_modifiee['amv_valeur_affichage'] = 'non';
293
						}
295
						}
294
					}
296
					}
295
				break;
297
				break;
296
 
298
 
297
				case 'select':
299
				case 'select':
298
					//echo Debug::printr($valeur);
300
					//echo Debug::printr($valeur);
299
					// TODO: si ça n'existe pas on va le chercher ?
301
					// TODO: si ça n'existe pas on va le chercher ?
300
					if(isset($valeur['amo_nom'])) {
302
					if(isset($valeur['amo_nom'])) {
301
						$valeur_modifiee['amv_valeur_affichage'] = $valeur['amo_nom'];
303
						$valeur_modifiee['amv_valeur_affichage'] = $valeur['amo_nom'];
-
 
304
					} else {
-
 
305
						if(isset($valeur['amv_valeur'])) {
-
 
306
							$ontologie_modele = new OntologieModele();
-
 
307
							$infos_onto = $ontologie_modele->chargerInformationsOntologie($valeur['amv_valeur']);
-
 
308
							if(is_array($infos_onto) && !empty($infos_onto)) {
-
 
309
								$valeur_modifiee['amv_valeur_affichage'] = $infos_onto['amo_nom'];
-
 
310
							} else  {
-
 
311
								$valeur_modifiee['amv_valeur_affichage'] = '';
-
 
312
							}
-
 
313
						}
302
					}
314
					}
303
				break;
315
				break;
304
 
316
 
305
				case 'radio':
317
				case 'radio':
306
					$valeur_modifiee['amv_valeur_affichage'] = $valeur['amo_nom'];
318
					$valeur_modifiee['amv_valeur_affichage'] = $valeur['amo_nom'];
307
				break;
319
				break;
308
 
320
 
309
				case 'image':
321
				case 'image':
310
					// si c'est une image, on recherche son url véritable à partir de l'id donnée en paramètre
322
					// si c'est une image, on recherche son url véritable à partir de l'id donnée en paramètre
311
					if(isset($valeur['amv_valeur']) && $valeur['amv_valeur'] != '') {
323
					if(isset($valeur['amv_valeur']) && $valeur['amv_valeur'] != '') {
312
						$this->chargerModele('ImageModele');
324
						$this->chargerModele('ImageModele');
313
						$valeur_modifiee['amv_valeur_affichage'] = $this->ImageModele->obtenirEmplacementFichierParId($valeur['amv_valeur'],$id_annuaire, 'S');
325
						$valeur_modifiee['amv_valeur_affichage'] = $this->ImageModele->obtenirEmplacementFichierParId($valeur['amv_valeur'],$id_annuaire, 'S');
314
					}
326
					}
315
				break;
327
				break;
316
 
328
 
317
				// cas du champ lettre
329
				// cas du champ lettre
318
				case 'lettre':
330
				case 'lettre':
319
 
331
 
320
					// on affiche oui ou non
332
					// on affiche oui ou non
321
					if($valeur_modifiee['amv_valeur'] == 1) {
333
					if($valeur_modifiee['amv_valeur'] == 1) {
322
						$valeur_modifiee['amv_valeur_affichage'] = 'oui';
334
						$valeur_modifiee['amv_valeur_affichage'] = 'oui';
323
					} else {
335
					} else {
324
						$valeur_modifiee['amv_valeur_affichage'] = 'non';
336
						$valeur_modifiee['amv_valeur_affichage'] = 'non';
325
					}
337
					}
326
				break;
338
				break;
327
 
339
 
328
				default:
340
				default:
329
					$valeur_modifiee['amv_valeur_affichage'] = $valeur['amv_valeur'];
341
					$valeur_modifiee['amv_valeur_affichage'] = $valeur['amv_valeur'];
330
				break;
342
				break;
331
			}
343
			}
332
		}
344
		}
333
 
345
 
334
		return $valeur_modifiee;
346
		return $valeur_modifiee;
335
	}
347
	}
336
 
348
 
337
	/**
349
	/**
338
	 * Renvoie vrai ou faux suivant qu'un mail donné en paramètre est syntaxiquement valide (ne vérifie pas l'existence
350
	 * Renvoie vrai ou faux suivant qu'un mail donné en paramètre est syntaxiquement valide (ne vérifie pas l'existence
339
	 * de l'adresse)
351
	 * de l'adresse)
340
	 * @param string $mail le mail à tester
352
	 * @param string $mail le mail à tester
341
	 * @return boolean vrai ou faux suivant que le mail est valide ou non
353
	 * @return boolean vrai ou faux suivant que le mail est valide ou non
342
	 */
354
	 */
343
	public function mailValide($mail) {
355
	public function mailValide($mail) {
344
 
356
 
345
		$regexp_mail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
357
		$regexp_mail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
346
		return preg_match($regexp_mail, $mail);
358
		return preg_match($regexp_mail, $mail);
347
 
359
 
348
	}
360
	}
349
 
361
 
350
	/**
362
	/**
351
	 * Renvoie un mot de passe crypté selon la fonction d'encryptage définie dans le fichier de configuration
363
	 * Renvoie un mot de passe crypté selon la fonction d'encryptage définie dans le fichier de configuration
352
	 * (si celle-ci n'existe pas on utilise une fonction par défaut)
364
	 * (si celle-ci n'existe pas on utilise une fonction par défaut)
353
	 * @param string $pass le mot de passe à encrypter
365
	 * @param string $pass le mot de passe à encrypter
354
	 * @return string le mot de passe encrypté
366
	 * @return string le mot de passe encrypté
355
	 */
367
	 */
356
	public function encrypterMotDePasse($pass) {
368
	public function encrypterMotDePasse($pass) {
357
 
369
 
358
		$fonction = Config::get('pass_crypt_fonct');
370
		$fonction = Config::get('pass_crypt_fonct');
359
 
371
 
360
		if(function_exists($fonction)) {
372
		if(function_exists($fonction)) {
361
			return $fonction($pass);
373
			return $fonction($pass);
362
		} else {
374
		} else {
363
			return md5($pass);
375
			return md5($pass);
364
		}
376
		}
365
	}
377
	}
366
 
378
 
367
	//TODO: créer une class util
379
	//TODO: créer une class util
368
	static function encrypterMotDepasseStatic($pass) {
380
	static function encrypterMotDepasseStatic($pass) {
369
 
381
 
370
		$fonction = Config::get('pass_crypt_fonct');
382
		$fonction = Config::get('pass_crypt_fonct');
371
 
383
 
372
		if(function_exists($fonction)) {
384
		if(function_exists($fonction)) {
373
			return $fonction($pass);
385
			return $fonction($pass);
374
		} else {
386
		} else {
375
			return md5($pass);
387
			return md5($pass);
376
		}
388
		}
377
	}
389
	}
378
 
390
 
379
	/**
391
	/**
380
	 * Suivant un identifiant de champ et un tableau, renvoie vrai ou faux suivant que le champs est obligatoire ou non
392
	 * Suivant un identifiant de champ et un tableau, renvoie vrai ou faux suivant que le champs est obligatoire ou non
381
	 * @param int $id_champ l'identifiant de champ
393
	 * @param int $id_champ l'identifiant de champ
382
	 * @param int $champ_obligatoire le tableau des champs obligatoires
394
	 * @param int $champ_obligatoire le tableau des champs obligatoires
383
	 */
395
	 */
384
	private function estUnchampObligatoire($id_champ, $champs_obligatoire) {
396
	private function estUnchampObligatoire($id_champ, $champs_obligatoire) {
385
 
397
 
386
		return in_array($id_champ, $champs_obligatoire) || in_array($id_champ, array_keys($champs_obligatoire));
398
		return in_array($id_champ, $champs_obligatoire) || in_array($id_champ, array_keys($champs_obligatoire));
387
	}
399
	}
388
}
400
}
389
?>
401
?>