Line 103... |
Line 103... |
103 |
$entetes = 'MIME-Version: 1.0' . "\r\n";
|
103 |
$entetes = 'MIME-Version: 1.0' . "\r\n";
|
104 |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
|
104 |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
|
105 |
// En-têtes additionnels
|
105 |
// En-têtes additionnels
|
106 |
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
|
106 |
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
|
Line 107... |
Line 107... |
107 |
|
107 |
|
Line 108... |
Line 108... |
108 |
return mail($adresse_mail,'Inscription à l\'annuaire',$contenu_mail, $entetes);
|
108 |
return mail($adresse_mail,mb_encode_mimeheader('Inscription à l\'annuaire'),$contenu_mail, $entetes);
|
Line 109... |
Line 109... |
109 |
|
109 |
|
110 |
}
|
110 |
}
|
Line 134... |
Line 134... |
134 |
$entetes = 'MIME-Version: 1.0' . "\r\n";
|
134 |
$entetes = 'MIME-Version: 1.0' . "\r\n";
|
135 |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
|
135 |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
|
136 |
// En-têtes additionnels
|
136 |
// En-têtes additionnels
|
137 |
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
|
137 |
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
|
Line 138... |
Line 138... |
138 |
|
138 |
|
Line 139... |
Line 139... |
139 |
return mail($mail,'Demande de réinitialisation de mot de passe',$contenu_mail, $entetes);
|
139 |
return mail($mail,mb_encode_mimeheader('Demande de réinitialisation de mot de passe'),$contenu_mail, $entetes);
|
Line 140... |
Line 140... |
140 |
|
140 |
|
Line -... |
Line 141... |
- |
|
141 |
}
|
- |
|
142 |
|
- |
|
143 |
|
- |
|
144 |
/** -------------------Fonctions pour la messagerie entre utilisateurs -----------------------*/
|
- |
|
145 |
|
- |
|
146 |
/** Effectue une recherche dans la base de données et envoie un mail à tous les inscrits correspondants,
|
- |
|
147 |
* à l'adresse donnée en paramètre
|
- |
|
148 |
* @param string $expediteur l'expediteur du message
|
- |
|
149 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
- |
|
150 |
* @param string $sujet sujet du mail
|
- |
|
151 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
- |
|
152 |
*/
|
- |
|
153 |
public function envoyerMailParRequete($id_annuaire, $expediteur, $criteres, $sujet, $message) {
|
- |
|
154 |
|
- |
|
155 |
if(isset($criteres['exclusive'])) {
|
- |
|
156 |
$exclusive = $criteres['exclusive'];
|
- |
|
157 |
} else {
|
- |
|
158 |
$exclusive = true;
|
- |
|
159 |
}
|
- |
|
160 |
|
- |
|
161 |
unset($criteres['page']);
|
- |
|
162 |
unset($criteres['taille_page']);
|
- |
|
163 |
|
- |
|
164 |
$collecteur = new VerificationControleur();
|
- |
|
165 |
$tableau_valeur_collectees = $collecteur->collecterValeursRechercheMoteur($criteres, $this->obtenirChampsMappageAnnuaire($id_annuaire));
|
- |
|
166 |
|
- |
|
167 |
$valeurs_recherchees = $tableau_valeur_collectees['valeurs_recherchees'];
|
- |
|
168 |
$valeurs_mappees = $tableau_valeur_collectees['valeurs_mappees'];
|
- |
|
169 |
$valeurs_get = $tableau_valeur_collectees['valeurs_get'];
|
- |
|
170 |
|
- |
|
171 |
// on recherche dans les métadonnées
|
- |
|
172 |
$this->chargerModele('MetadonneeModele');
|
- |
|
173 |
// le résultat est un ensemble d'identifiants
|
- |
|
174 |
$resultat_metadonnees = $this->MetadonneeModele->rechercherDansValeurMetadonnees($id_annuaire,$valeurs_recherchees, $exclusive);
|
- |
|
175 |
|
- |
|
176 |
// on recherche les infos dans la table annuaire mappée
|
- |
|
177 |
// en incluant ou excluant les id déjà trouvées dans les metadonnées
|
- |
|
178 |
// suivant le critères d'exclusivité ou non
|
- |
|
179 |
$this->chargerModele('AnnuaireModele');
|
- |
|
180 |
$resultat_annuaire_mappe = $this->AnnuaireModele->rechercherInscritDansAnnuaireMappe($id_annuaire,$valeurs_mappees, $resultat_metadonnees, $exclusive, 0, 0);
|
- |
|
181 |
|
- |
|
182 |
$resultat_recherche = $resultat_annuaire_mappe['resultat'];
|
- |
|
183 |
$nb_resultats = $resultat_annuaire_mappe['total'];
|
- |
|
184 |
|
Line 141... |
Line 185... |
141 |
}
|
185 |
$destinataires = $this->aplatirTableauSansPreserverCles($resultat_recherche);
|
142 |
|
186 |
|
143 |
|
187 |
return $this->envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet, $message);
|
144 |
/** -------------------Fonctions pour la messagerie entre utilisateurs -----------------------*/
|
188 |
|
145 |
|
189 |
}
|
146 |
|
190 |
|
147 |
/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
|
191 |
/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
|
148 |
* à l'adresse donnée en paramètre
|
192 |
* à l'adresse donnée en paramètre
|
Line 149... |
Line 193... |
149 |
* @param string $expediteur l'expediteur du message
|
193 |
* @param string $expediteur l'expediteur du message
|
150 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
194 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
151 |
* @param string $sujet sujet du mail
|
195 |
* @param string $sujet sujet du mail
|
Line -... |
Line 196... |
- |
|
196 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
152 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
197 |
*/
|
153 |
*/
|
198 |
public function envoyerMail($expediteur, $destinataires, $sujet, $message) {
|
154 |
public function envoyerMail($expediteur, $destinataires, $sujet, $message) {
|
199 |
|
155 |
|
200 |
if(!is_array($destinataires)) {
|
156 |
if(is_array($destinataires)) {
|
201 |
$destinataires = array($destinataires);
|
157 |
$destinataires = implode(',',$destinataires);
|
202 |
}
|
Line 158... |
Line 203... |
158 |
}
|
203 |
|
- |
|
204 |
foreach($destinataires as $destinataire) {
|
Line 159... |
Line 205... |
159 |
|
205 |
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
|
- |
|
206 |
$entetes = 'MIME-Version: 1.0' . "\r\n";
|
- |
|
207 |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
|
- |
|
208 |
//$entetes .= 'To:'.$destinataire . "\r\n";
|
- |
|
209 |
// En-têtes additionnels
|
- |
|
210 |
$entetes .= 'From: '.$expediteur."\r\n";
|
160 |
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
|
211 |
|
Line 161... |
Line 212... |
161 |
$entetes = 'MIME-Version: 1.0' . "\r\n";
|
212 |
$contenu_mail = $this->encoderChainePourEnvoiMail($message);
|
162 |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
|
213 |
$sujet = $this->encoderChainePourEnvoiMail($sujet);
|
163 |
$entetes .= 'Bcc:'.$destinataires . "\r\n";
|
214 |
|
Line 338... |
Line 389... |
338 |
|
389 |
|
339 |
$donnees['lien_accepter_mail'] = $lien_accepter_mail;
|
390 |
$donnees['lien_accepter_mail'] = $lien_accepter_mail;
|
340 |
$donnees['lien_refuser_mail'] = $lien_refuser_mail;
|
391 |
$donnees['lien_refuser_mail'] = $lien_refuser_mail;
|
341 |
$donnees['sujet_message'] = $sujet_message_a_moderer;
|
392 |
$donnees['sujet_message'] = $sujet_message_a_moderer;
|
- |
|
393 |
$donnees['contenu_message'] = $message_a_moderer;
|
342 |
$donnees['contenu_message'] = $message_a_moderer;
|
394 |
|
343 |
if(is_array($destinataires)) {
|
395 |
if(is_array($destinataires)) {
|
344 |
$destinataires = implode(', ', $destinataires);;
|
396 |
$destinataires = implode(', ', $destinataires);;
|
345 |
}
|
397 |
}
|
Line 354... |
Line 406... |
354 |
private function filtrerChaine($message) {
|
406 |
private function filtrerChaine($message) {
|
Line 355... |
Line 407... |
355 |
|
407 |
|
356 |
return strip_tags($message);
|
408 |
return strip_tags($message);
|
Line -... |
Line 409... |
- |
|
409 |
}
|
- |
|
410 |
|
- |
|
411 |
private function encoderChainePourEnvoiMail($chaine) {
|
357 |
}
|
412 |
return stripslashes($chaine);
|