0f1eb1af0a4f9d673fdcb51d0adcea7cae744008
[ldapsaisie.git] / trunk / 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 $GLOBALS['LSerror_code']['MAIL_SUPPORT_01']= array (
27   'msg' => _("MAIL Support : Pear::MAIL est introuvable."),
28   'level' => 'c'
29 );
30
31 // Autres erreurs
32 $GLOBALS['LSerror_code']['MAIL_00']= array (
33   'msg' => _("MAIL Error : %{msg}"),
34   'level' => 'c'
35 );
36
37 $GLOBALS['LSerror_code']['MAIL_01']= array (
38   'msg' => _("MAIL : Problème durant l'envoie de votre mail"),
39   'level' => 'c'
40 );
41       
42  /**
43   * Verification du support MAIL par ldapSaisie
44   * 
45   * @author Benjamin Renard <brenard@easter-eggs.com>
46   *
47   * @retval boolean true si MAIL est pleinement supporté, false sinon
48   */
49   function LSaddon_mail_support() {
50     $retval=true;
51
52     // Dependance de librairie
53     if (!class_exists('Mail')) {
54       if(!LSsession::includeFile(PEAR_MAIL)) {
55         LSerror :: addErrorCode('MAIL_SUPPORT_01');
56         $retval=false;
57       }
58     }
59     
60     return $retval;
61   }
62   
63   /**
64   * Envoie d'un mail
65   * 
66   * @author Benjamin Renard <brenard@easter-eggs.com>
67   *
68   * @retval boolean true si MAIL est pleinement supporté, false sinon
69   */
70   function sendMail($to,$subject,$msg,$headers=array()) {
71     $mail_obj  = & Mail::factory(MAIL_SEND_METHOD, $MAIL_SEND_PARAMS);
72     
73     if(is_array($MAIL_HEARDERS)) {
74       $headers = array_merge($headers,$MAIL_HEARDERS);
75     }
76     if ($subject) {
77       $headers["Subject"] = $subject;
78     }
79     if (!isset($headers['From']) && (LSsession :: getEmailSender() != "")) {
80       $headers['From'] = LSsession :: getEmailSender();
81     }
82     $headers["To"] = $to;
83     
84     $ret = $mail_obj -> send($to,$headers,$msg);
85     
86     if ($ret instanceof PEAR_Error) {
87       LSerror :: addErrorCode('MAIL_01');
88       LSerror :: addErrorCode('MAIL_00',$ret -> getMessage());
89       return;
90     }
91     return true;
92   }
93 ?>