Subversion Repositories Applications.annuaire

Rev

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

Rev 117 Rev 120
Line 9... Line 9...
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
*/
Line 13... Line 13...
13
 
13
 
Line 14... Line 14...
14
Class MessageControleur extends Controleur {
14
Class MessageControleur extends AppControleur {
15
 
15
 
16
	/**
16
	/**
17
	 * Les mails doivent ils être modérés ?
17
	 * Les mails doivent ils être modérés ?
Line 60... Line 60...
60
		// adresse d'expéditeur
60
		// adresse d'expéditeur
61
		if(Config::get('adresse_mail_annuaire') != null) {
61
		if(Config::get('adresse_mail_annuaire') != null) {
62
			$this->adresse_mail_annuaire = Config::get('adresse_mail_annuaire');
62
			$this->adresse_mail_annuaire = Config::get('adresse_mail_annuaire');
63
		}
63
		}
64
	}
64
	}
-
 
65
	
-
 
66
/** -------------------Fonctions pour l'inscription et l'oubli de mot de passe  -----------------------*/
Line -... Line 67...
-
 
67
 
-
 
68
	/**
-
 
69
	 * En cas de tentative d'inscription, envoie un mail contenant un lien de confirmation à l'utilisateur
-
 
70
	 * @param string $adresse_mail adresse mail
-
 
71
	 * @param string $nom nom
-
 
72
	 * @param string $prenom prénom
-
 
73
	 * @param string $code_confirmation_inscription code de confirmation à inclure dans le mail
-
 
74
	 *
-
 
75
	 * @return boolean le succès ou l'échec de l'envoi du mail
-
 
76
	 */
-
 
77
	public function envoyerMailConfirmationInscription($adresse_mail, $nom, $prenom, $code_confirmation_inscription) {
-
 
78
 
-
 
79
		$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
-
 
80
		$base_url = new URL($url_cette_page);
-
 
81
		$base_url->setVariablesRequete(array());
-
 
82
		$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
-
 
83
		$base_url->setVariableRequete('id',$code_confirmation_inscription);
-
 
84
 
-
 
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
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
-
 
89
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
-
 
90
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
-
 
91
	     // En-têtes additionnels
-
 
92
	     $entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
-
 
93
 
-
 
94
		return mail($adresse_mail,'Inscription à l\'annuaire',$contenu_mail, $entetes);
-
 
95
 
-
 
96
	}
-
 
97
 
-
 
98
	 /** En cas d'oubli de mot de passe, régénère le mot de passe et envoie un mail à l'utilisateur
-
 
99
	 * @param int $id_annuaire l'identifiant d'annuaire
-
 
100
	 * @param string $adresse_mail adresse mail
-
 
101
	 * @return boolean le succès ou l'échec de l'envoi du mail
-
 
102
	 */
-
 
103
	public function envoyerMailOubliMdp($id_annuaire,$mail, $nouveau_mdp) {
-
 
104
 
-
 
105
		$base_url = clone(Registre::getInstance()->get('base_url_application'));
-
 
106
		
-
 
107
		$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
-
 
108
		$url_base = $url_cette_page;
-
 
109
		$base_url = new URL($url_base);
-
 
110
		$base_url->setVariablesRequete(array());
-
 
111
		$base_url->setVariableRequete('m','annuaire_fiche_utilisateur_consultation');
-
 
112
		$base_url->setVariableRequete('id_annuaire',$id_annuaire);
-
 
113
 
-
 
114
		$donnees['nouveau_mdp'] = $nouveau_mdp;
-
 
115
		$donnees['lien_profil'] = $base_url;
-
 
116
 
-
 
117
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_oubli_mdp',$donnees);
-
 
118
 
-
 
119
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
-
 
120
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
-
 
121
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
-
 
122
	     // En-têtes additionnels
-
 
123
	     $entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
-
 
124
 
-
 
125
		 return mail($mail,'Demande de réinitialisation de mot de passe',$contenu_mail, $entetes);
-
 
126
 
-
 
127
	}
-
 
128
 
-
 
129
	
-
 
130
/** -------------------Fonctions pour la messagerie entre utilisateurs -----------------------*/
-
 
131
	
65
 
132
	
66
	/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
133
	/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
67
	 * à l'adresse donnée en paramètre
134
	 * à l'adresse donnée en paramètre
68
	 * @param string $expediteur l'expediteur du message
135
	 * @param string $expediteur l'expediteur du message
69
	 * @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
136
	 * @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
70
	 * @param string $sujet sujet du mail
137
	 * @param string $sujet sujet du mail
71
	 * @return boolean true ou false suivant le succès ou non de l'envoi
138
	 * @return boolean true ou false suivant le succès ou non de l'envoi
72
	 */
139
	 */
Line 73... Line 140...
73
	private function envoyerMail($expediteur, $destinataires, $sujet, $message) {
140
	public function envoyerMail($expediteur, $destinataires, $sujet, $message) {
74
 
141
 
75
		if(is_array($destinataires)) {
142
		if(is_array($destinataires)) {
Line 76... Line 143...
76
			$destinataires = implode(',',$destinataires);
143
			$destinataires = implode(',',$destinataires);
77
		}
144
		}
78
 
145
 
79
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
146
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
80
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
-
 
81
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
147
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
Line 82... Line 148...
82
	     // En-têtes additionnels
148
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
Line 83... Line 149...
83
	    // $entetes .= 'To: '.$destinataires."\r\n";
149
	     // En-têtes additionnels