Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 119 → Rev 120

/trunk/controleurs/MessageControleur.php
11,7 → 11,7
* @link /doc/annuaire/
*/
 
Class MessageControleur extends Controleur {
Class MessageControleur extends AppControleur {
 
/**
* Les mails doivent ils être modérés ?
62,7 → 62,74
$this->adresse_mail_annuaire = Config::get('adresse_mail_annuaire');
}
}
/** -------------------Fonctions pour l'inscription et l'oubli de mot de passe -----------------------*/
 
/**
* En cas de tentative d'inscription, envoie un mail contenant un lien de confirmation à l'utilisateur
* @param string $adresse_mail adresse mail
* @param string $nom nom
* @param string $prenom prénom
* @param string $code_confirmation_inscription code de confirmation à inclure dans le mail
*
* @return boolean le succès ou l'échec de l'envoi du mail
*/
public function envoyerMailConfirmationInscription($adresse_mail, $nom, $prenom, $code_confirmation_inscription) {
 
$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$base_url = new URL($url_cette_page);
$base_url->setVariablesRequete(array());
$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
$base_url->setVariableRequete('id',$code_confirmation_inscription);
 
$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL());
$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_confirmation_inscription',$donnees);
 
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$entetes = 'MIME-Version: 1.0' . "\r\n";
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
// En-têtes additionnels
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
 
return mail($adresse_mail,'Inscription à l\'annuaire',$contenu_mail, $entetes);
 
}
 
/** En cas d'oubli de mot de passe, régénère le mot de passe et envoie un mail à l'utilisateur
* @param int $id_annuaire l'identifiant d'annuaire
* @param string $adresse_mail adresse mail
* @return boolean le succès ou l'échec de l'envoi du mail
*/
public function envoyerMailOubliMdp($id_annuaire,$mail, $nouveau_mdp) {
 
$base_url = clone(Registre::getInstance()->get('base_url_application'));
$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$url_base = $url_cette_page;
$base_url = new URL($url_base);
$base_url->setVariablesRequete(array());
$base_url->setVariableRequete('m','annuaire_fiche_utilisateur_consultation');
$base_url->setVariableRequete('id_annuaire',$id_annuaire);
 
$donnees['nouveau_mdp'] = $nouveau_mdp;
$donnees['lien_profil'] = $base_url;
 
$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_oubli_mdp',$donnees);
 
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$entetes = 'MIME-Version: 1.0' . "\r\n";
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
// En-têtes additionnels
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
 
return mail($mail,'Demande de réinitialisation de mot de passe',$contenu_mail, $entetes);
 
}
 
/** -------------------Fonctions pour la messagerie entre utilisateurs -----------------------*/
/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
* à l'adresse donnée en paramètre
* @param string $expediteur l'expediteur du message
70,7 → 137,7
* @param string $sujet sujet du mail
* @return boolean true ou false suivant le succès ou non de l'envoi
*/
private function envoyerMail($expediteur, $destinataires, $sujet, $message) {
public function envoyerMail($expediteur, $destinataires, $sujet, $message) {
 
if(is_array($destinataires)) {
$destinataires = implode(',',$destinataires);
80,7 → 147,6
$entetes = 'MIME-Version: 1.0' . "\r\n";
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
// En-têtes additionnels
// $entetes .= 'To: '.$destinataires."\r\n";
$entetes .= 'From: '.$expediteur."\r\n";
 
$contenu_mail = $message;