Subversion Repositories Applications.annuaire

Rev

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

Rev 120 Rev 170
Line 82... Line 82...
82
		$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
82
		$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
83
		$base_url->setVariableRequete('id',$code_confirmation_inscription);
83
		$base_url->setVariableRequete('id',$code_confirmation_inscription);
Line 84... Line 84...
84
 
84
 
85
		$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL());
85
		$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL());
-
 
86
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_confirmation_inscription',$donnees);
-
 
87
		
-
 
88
		// en attendant de gérer mieux l'envoi en mode texte
-
 
89
		// remplacement du &amp dans les urls
Line 86... Line 90...
86
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_confirmation_inscription',$donnees);
90
		$contenu_mail = str_replace('&', '&', $contenu_mail);
87
 
91
 
88
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
92
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
89
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
93
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
Line 144... Line 148...
144
		}
148
		}
Line 145... Line 149...
145
 
149
 
146
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
150
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
147
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
151
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
-
 
152
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
148
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
153
	     $entetes .= 'Bcc:'.$destinataires . "\r\n";
149
	     // En-têtes additionnels
154
	     // En-têtes additionnels
Line 150... Line 155...
150
	     $entetes .= 'From: '.$expediteur."\r\n";
155
	     $entetes .= 'From: '.$expediteur."\r\n";
Line 151... Line 156...
151
 
156
 
152
	     $contenu_mail = $message;
157
	     $contenu_mail = $message;
Line 153... Line 158...
153
 
158
 
154
		return mail($destinataires, $sujet, $contenu_mail, $entetes);
159
		return mail('', $sujet, $contenu_mail, $entetes);
155
	}
160
	}
Line 163... Line 168...
163
	 * @param string $sujet sujet du message
168
	 * @param string $sujet sujet du message
164
	 * @param string $message corps du message
169
	 * @param string $message corps du message
165
	 */
170
	 */
166
	public function envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet = '', $message = '') {
171
	public function envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet = '', $message = '') {
Line 167... Line -...
167
		
-
 
168
		// on remplace les identifiants par leurs destinataires
-
 
169
		$this->chargerModele('AnnuaireModele');
172
		
Line 170... Line 173...
170
		$destinataires = $this->AnnuaireModele->obtenirMailParTableauId($id_annuaire, $destinataires);
173
		$destinataires_mail = $this->obtenirMailParTableauId($id_annuaire, $destinataires);
171
		
174
		
172
		$donnees['contenu_message'] = $this->filtrerChaine($message);
175
		$donnees['contenu_message'] = $this->filtrerChaine($message);
Line 173... Line 176...
173
		$sujet = $this->filtrerChaine($sujet);
176
		$sujet = $this->filtrerChaine($sujet);
174
		$message = $this->getVue(Config::get('dossier_squelettes_mails').'mail_messagerie',$donnees);
177
		$message = $this->getVue(Config::get('dossier_squelettes_mails').'mail_messagerie',$donnees);
175
 
178
 
176
		// si on modere les mails et s'il y a trop de destinataires
179
		// si on modere les mails et s'il y a trop de destinataires
177
		if($this->moderer_mail && count($destinataires) >= $this->seuil_moderation) {
180
		if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
178
			// on prévient le moderateur
181
			// on prévient le moderateur
179
			$this->stockerMailPourModeration($expediteur, $destinataires, $sujet, $message);
182
			$this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message);
180
			$donnees['moderation'] = true;
183
			$donnees['moderation'] = true;
181
		} else {
184
		} else {
182
			// sinon, envoi direct
185
			// sinon, envoi direct
Line 183... Line 186...
183
			$this->envoyerMail($expediteur, $destinataires, $sujet, $message);
186
			$this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message);
Line 237... Line 240...
237
 
240
 
Line 238... Line 241...
238
		$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_moderation_confirmation',$donnees);
241
		$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_moderation_confirmation',$donnees);
239
 
242
 
-
 
243
		return $resultat;
-
 
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
		
Line 240... Line 251...
240
		return $resultat;
251
		return $destinataires_mails;
241
	}
252
	}
242
 
253
 
243
	/**
254
	/**