Rename trunk directory to public_html
[ldapsaisie.git] / public_html / includes / addons / LSaddons.mail.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 ******************************************************************************/
22
23 // Messages d'erreur
24
25 // Support
26 LSerror :: defineError('MAIL_SUPPORT_01',
27   _("MAIL Support : Pear::MAIL is missing.")
28 );
29
30 // Autres erreurs
31 LSerror :: defineError('MAIL_00',
32   _("MAIL Error : %{msg}")
33 );
34
35 LSerror :: defineError('MAIL_01',
36   _("MAIL : Error sending your email")
37 );
38       
39  /**
40   * Verification du support MAIL par ldapSaisie
41   * 
42   * @author Benjamin Renard <brenard@easter-eggs.com>
43   *
44   * @retval boolean true si MAIL est pleinement supporté, false sinon
45   */
46   function LSaddon_mail_support() {
47     $retval=true;
48
49     // Dependance de librairie
50     if (!class_exists('Mail')) {
51       if(!LSsession::includeFile(PEAR_MAIL)) {
52         LSerror :: addErrorCode('MAIL_SUPPORT_01');
53         $retval=false;
54       }
55     }
56     
57     return $retval;
58   }
59   
60   /**
61   * Envoie d'un mail
62   * 
63   * @author Benjamin Renard <brenard@easter-eggs.com>
64   *
65   * @retval boolean true si MAIL est pleinement supporté, false sinon
66   */
67   function sendMail($to,$subject,$msg,$headers=array()) {
68     $mail_obj  = & Mail::factory(MAIL_SEND_METHOD, $MAIL_SEND_PARAMS);
69     
70     if(is_array($MAIL_HEARDERS)) {
71       $headers = array_merge($headers,$MAIL_HEARDERS);
72     }
73     if ($subject) {
74       $headers["Subject"] = $subject;
75     }
76     if (!isset($headers['From']) && (LSsession :: getEmailSender() != "")) {
77       $headers['From'] = LSsession :: getEmailSender();
78     }
79     $headers["To"] = $to;
80     
81     $ret = $mail_obj -> send($to,$headers,$msg);
82     
83     if ($ret instanceof PEAR_Error) {
84       LSerror :: addErrorCode('MAIL_01');
85       LSerror :: addErrorCode('MAIL_00',$ret -> getMessage());
86       return;
87     }
88     return true;
89   }
90 ?>