Subversion Repositories Applications.annuaire

Rev

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

Rev 177 Rev 214
Line 15... Line 15...
15
 
15
 
16
	/**
16
	/**
17
	 * Les mails doivent ils être modérés ?
17
	 * Les mails doivent ils être modérés ?
18
	 */
18
	 */
-
 
19
	private $moderer_mail = false;
-
 
20
	
-
 
21
	/**
-
 
22
	 * Doit on envoyer une copie des message au modérateur
-
 
23
	 */
Line 19... Line 24...
19
	private $moderer_mail = false;
24
	private $moderation_copie = false;
20
 
25
 
21
	/**
26
	/**
22
	 * Le ou les mails des modérateurs, si ce sont plusieurs mails,
27
	 * Le ou les mails des modérateurs, si ce sont plusieurs mails,
Line 44... Line 49...
44
 
49
 
45
		// doit on modérer ?
50
		// doit on modérer ?
46
		if(Config::get('moderer_mail') != null) {
51
		if(Config::get('moderer_mail') != null) {
47
			$this->moderer_mail = Config::get('moderer_mail');
52
			$this->moderer_mail = Config::get('moderer_mail');
-
 
53
		}
-
 
54
		
-
 
55
		// doit on envoyer des copies des messages ?
-
 
56
		if(Config::get('moderation_copie') != null) {
-
 
57
			$this->moderation_copie = Config::get('moderation_copie');
Line 48... Line 58...
48
		}
58
		}
49
 
59
 
50
		// mail du modérateur pour l'envoi de messages au dessus d'un certain seuil
60
		// mail du modérateur pour l'envoi de messages au dessus d'un certain seuil
51
		if($this->moderer_mail && Config::get('mail_moderateur') != null) {
61
		if($this->moderer_mail && Config::get('mail_moderateur') != null) {
Line 176... Line 186...
176
		$sujet = $this->filtrerChaine($sujet);
186
		$sujet = $this->filtrerChaine($sujet);
177
		$message = $this->getVue(Config::get('dossier_squelettes_mails').'mail_messagerie',$donnees);
187
		$message = $this->getVue(Config::get('dossier_squelettes_mails').'mail_messagerie',$donnees);
Line 178... Line 188...
178
 
188
 
179
		// si on modere les mails et s'il y a trop de destinataires
189
		// si on modere les mails et s'il y a trop de destinataires
180
		if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
-
 
-
 
190
		if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
181
			// on prévient le moderateur
191
 
182
			$this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message);
192
			$this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message);
-
 
193
			$donnees['moderation'] = true;
183
			$donnees['moderation'] = true;
194
			
-
 
195
		} else {
184
		} else {
196
						
185
			// sinon, envoi direct
197
			// sinon, envoi direct
-
 
198
			$this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message);
-
 
199
			
-
 
200
			if($this->moderation_copie) {
-
 
201
				$this->envoyerCopieMessageAuModerateur($id_annuaire, $expediteur, $sujet, $destinataires_mail, $message);
-
 
202
			}
186
			$this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message);
203
			
187
			$donnees['moderation'] = false;
204
			$donnees['moderation'] = false;
Line 188... Line 205...
188
		}
205
		}
Line 189... Line 206...
189
 
206
 
Line 190... Line 207...
190
		$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_envoi_confirmation',$donnees);
207
		$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_envoi_confirmation',$donnees);
-
 
208
 
-
 
209
		return $resultat;
-
 
210
 
-
 
211
	}
-
 
212
	
-
 
213
	public function obtenirMailParTableauId($id_annuaire, $destinataires) {
-
 
214
		// on remplace les identifiants par leurs destinataires
-
 
215
		$this->chargerModele('AnnuaireModele');
-
 
216
		$destinataires_mails = $this->AnnuaireModele->obtenirMailParTableauId($id_annuaire, $destinataires);
-
 
217
		
-
 
218
		return $destinataires_mails;
-
 
219
	}
-
 
220
	
-
 
221
	private function envoyerCopieMessageAuModerateur($id_annuaire, $expediteur, $sujet, $destinataires, $message) {
-
 
222
		
-
 
223
		$donnees['expediteur_message'] = $expediteur;
-
 
224
		$donnees['sujet_message'] = $sujet;
-
 
225
		$donnees['contenu_message'] = $message;
-
 
226
		
-
 
227
		if(is_array($destinataires)) {
-
 
228
			$destinataires = implode(', ', $destinataires);	
-
 
229
		}
-
 
230
		
-
 
231
		$donnees['destinataires_message'] = $destinataires;
-
 
232
	
Line -... Line 233...
-
 
233
		$contenu_mail_copie = $this->getVue(Config::get('dossier_squelettes_mails').'mail_moderation_copie',$donnees);
191
 
234
		
192
		return $resultat;
235
		return $this->envoyerMail($this->adresse_mail_annuaire, $this->mail_moderateur, 'Un message a été envoyé à travers l\'annuaire', $contenu_mail_copie);	
193
 
236
	}
194
	}
237
 
195
 
238
	
Line 214... Line 257...
214
				$donnees = array('envoi_reussi' => true);
257
				$donnees = array('envoi_reussi' => true);
215
			} else {
258
			} else {
216
				$donnees = array('envoi_echoue' => true);
259
				$donnees = array('envoi_echoue' => true);
217
			}
260
			}
Line 218... Line -...
218
			
-
 
219
			// suppression des données temporaires
-
 
220
			// TODO: envoyer un message à l'utilisateur original ?
261
			
-
 
262
			$supression_donnees_temp = $message_modele->supprimerDonneeTemporaire($code_confirmation);
221
			$supression_donnees_temp = $message_modele->supprimerDonneeTemporaire($code_confirmation);
263
			
222
		} else {
264
		} else {
223
			$donnees = array('message_inexistant' => true);
265
			$donnees = array('message_inexistant' => true);
Line 224... Line 266...
224
		}
266
		}
Line 241... Line 283...
241
		$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_moderation_confirmation',$donnees);
283
		$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_moderation_confirmation',$donnees);
Line 242... Line 284...
242
 
284
 
243
		return $resultat;
285
		return $resultat;
Line 244... Line -...
244
	}
-
 
245
	
-
 
246
	public function obtenirMailParTableauId($id_annuaire, $destinataires) {
-
 
247
		// on remplace les identifiants par leurs destinataires
-
 
248
		$this->chargerModele('AnnuaireModele');
-
 
249
		$destinataires_mails = $this->AnnuaireModele->obtenirMailParTableauId($id_annuaire, $destinataires);
-
 
250
		
-
 
251
		return $destinataires_mails;
-
 
252
	}
286
	}
253
 
287
	
254
	/**
288
	/**
255
	 * Stocke un mail dans la base des données temporaires et envoie un mail au modérateur
289
	 * Stocke un mail dans la base des données temporaires et envoie un mail au modérateur
256
	 * @param string $expediteur l'expéditeur du mail
290
	 * @param string $expediteur l'expéditeur du mail
Line 283... Line 317...
283
	 * @param string $sujet_message_a_moderer sujet du message
317
	 * @param string $sujet_message_a_moderer sujet du message
284
	 * @param string $message_a_moderer corps du message
318
	 * @param string $message_a_moderer corps du message
285
	 */
319
	 */
286
	private function envoyerMailModeration($id_mail_a_moderer, $destinataires, $sujet_message_a_moderer, $message_a_moderer) {
320
	private function envoyerMailModeration($id_mail_a_moderer, $destinataires, $sujet_message_a_moderer, $message_a_moderer) {
Line 287... Line 321...
287
 
321
 
288
		$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
322
		$url_cette_page = $this->getUrlCettePage();
Line 289... Line 323...
289
		$url_base = $url_cette_page;
323
		$url_base = $url_cette_page;
Line 290... Line 324...
290
 
324
 
Line 310... Line 344...
310
			$destinataires = implode(', ', $destinataires);;	
344
			$destinataires = implode(', ', $destinataires);;	
311
		}
345
		}
312
		$donnees['destinataires_message'] = $destinataires;
346
		$donnees['destinataires_message'] = $destinataires;
Line 313... Line 347...
313
 
347
 
314
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_moderation_message',$donnees);
-
 
315
		
-
 
316
		echo $contenu_mail;
-
 
Line 317... Line 348...
317
		exit;
348
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_moderation_message',$donnees);
Line 318... Line 349...
318
 
349