diff --git a/htdocs/comm/mailing/fiche.php b/htdocs/comm/mailing/fiche.php index c0dc90a9c2e46926f291dc35828b01c2eaf2aa33..63489259be70986c155a531983d7ccf3c73de950 100644 --- a/htdocs/comm/mailing/fiche.php +++ b/htdocs/comm/mailing/fiche.php @@ -53,46 +53,46 @@ if ($_GET["action"] == 'sendall') // Action envoi test mailing if ($_POST["action"] == 'send') { - $mil = new Mailing($db); + $mil = new Mailing($db); - $mil->id = $_POST["mailid"]; - $mil->fromname = $_POST["fromname"]; - $mil->frommail = $_POST["frommail"]; - $mil->sendto = $_POST["sendto"]; - $mil->titre = $_POST["titre"]; - $mil->sujet = $_POST["subject"]; - $mil->body = $_POST["message"]; + $mil->id = $_POST["mailid"]; + $mil->fromname = $_POST["fromname"]; + $mil->frommail = $_POST["frommail"]; + $mil->sendto = $_POST["sendto"]; + $mil->titre = $_POST["titre"]; + $mil->sujet = $_POST["subject"]; + $mil->body = $_POST["message"]; - if ($mil->sendto && $mil->sujet && $mil->body) + if ($mil->sendto && $mil->sujet && $mil->body) { - // \todo Utiliser la class DolibarrMail ou CMailFile pour envoyer le mail - $headers = "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/plain; charset=iso-8859-1\n"; - $headers .= "From: ".$mil->fromname." <".$mil->frommail.">\r\n"; - $headers .= "Reply-to:".$mil->fromname." <".$mil->frommail.">\r\n"; - $headers .= "X-Priority: 3\r\n"; - $headers .= "X-Mailer: Dolibarr ".DOL_VERSION."\r\n"; - - $errorlevel=error_reporting(0); - $m=mail($mil->sendto, $mil->sujet, $mil->body, $headers); - - if($m) + require_once(DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php"); + + $sendto = $mil->sendto; + $from = $mil->fromname." <".$mil->frommail.">"; + $arr_file = array(); + $arr_mime = array(); + $arr_name = array(); + + $mailfile = new CMailFile($mil->sujet,$sendto,$from,$mil->body,$arr_file,$arr_mime,$arr_name); + + $result=$mailfile->sendfile(); + + if($result) { - $message='<div class="ok">'.$langs->trans("ResultOk").'</div>'; + $message='<div class="ok">'.$langs->trans("MailSuccessfulySent",$from,$sendto).'</div>'; } else { $message='<div class="error">'.$langs->trans("ResultKo").'</div>'; - } - error_reporting($errorlevel); - + } + $_GET["action"]=''; $_GET["id"]=$mil->id; } - else - { - $message='<div class="error">'.$langs->trans("ErrorUnknown").'</div>'; - } + else + { + $message='<div class="error">'.$langs->trans("ErrorUnknown").'</div>'; + } } diff --git a/htdocs/fourn/fournisseur.commande.class.php b/htdocs/fourn/fournisseur.commande.class.php index 8a8bb5126af91544057fd9bd720671ac35c84eed..26e0276ddd59c8d453259758ed1e2d5fbfc97fb3 100644 --- a/htdocs/fourn/fournisseur.commande.class.php +++ b/htdocs/fourn/fournisseur.commande.class.php @@ -214,7 +214,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm */ function _NotifyApprobator($user) { - require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"); + require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php"); $this->ReadApprobators(); @@ -253,10 +253,10 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm $sendto = $approb[2]; - $mailfile = new DolibarrMail($subject, + $mailfile = new CMailFile($subject, $sendto, $from, - $message); + $message, array(), array(), array()); if ( $mailfile->sendfile() ) { @@ -345,7 +345,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm */ function _NotifyCreator($user, $subject, $message) { - require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"); + require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php"); $cc = new user($this->db, $this->user_author_id); $cc->fetch(); @@ -353,10 +353,10 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm $sendto = $cc->email; $from = $user->email; - $mailfile = new DolibarrMail($subject, + $mailfile = new CMailFile($subject, $sendto, $from, - $message); + $message, array(), array(), array()); if ( $mailfile->sendfile() ) { return 0; diff --git a/scripts/factures-impayees-commerciaux.php b/scripts/factures-impayees-commerciaux.php index 86eade82aba68a44e9661ae0bab936c6c0d64513..4bf05db93284e5a9ba18ee98d389e55cce69c907 100644 --- a/scripts/factures-impayees-commerciaux.php +++ b/scripts/factures-impayees-commerciaux.php @@ -1,5 +1,7 @@ +#!/usr/bin/php <?PHP /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,13 +19,28 @@ * * $Id$ * $Source$ - * - * Envois la liste des factures impay�es aux commerciaux - * */ -require ("../htdocs/master.inc.php"); -require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"); +/** + \file scripts/factures-impayees-commerciaux.php + \ingroup facture + \brief Script d'envoi de mails r�sum� des imapy�es par commerciaux +*/ + +// Test si mode batch +$sapi_type = php_sapi_name(); +if (substr($sapi_type, 0, 3) == 'cgi') { + echo "Erreur: Vous utilisez l'interpreteur PHP pour le mode CGI. Pour executer mailing-send.php en ligne de commande, vous devez utiliser l'interpreteur PHP pour le mode CLI.\n"; + exit; +} + +// Recupere root dolibarr +$path=eregi_replace('factures-impayees-commerciaux.php','',$_SERVER["PHP_SELF"]); + + +require($path."../htdocs/master.inc.php"); +require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php"); + $error = 0; @@ -38,92 +55,89 @@ $sql .= " AND sc.fk_soc = s.idp"; $sql .= " AND sc.fk_user = u.rowid"; $sql .= " ORDER BY u.email ASC, s.idp ASC"; -if ( $db->query($sql) ) +if ( $db->query($sql) ) { - $num = $db->num_rows(); - $i = 0; - $oldemail = ''; - $message = ''; - $total = ''; - dolibarr_syslog("factures-impayees-commerciaux: "); - - while ($i < $num) + $num = $db->num_rows(); + $i = 0; + $oldemail = ''; + $message = ''; + $total = ''; + dolibarr_syslog("factures-impayees-commerciaux: "); + + if ($num) { - $obj = $db->fetch_object(); - - if ($obj->email <> $oldemail) - { - - if (strlen($oldemail)) - { - dolibarr_syslog("factures-impayees-commerciaux: send mail to $oldemail"); - $subject = "[Dolibarr] Liste des factures impay�es"; - $sendto = $oldemail; - $from = $oldemail; - - $allmessage = "Liste des factures impay�es � ce jour\n"; - $allmessage .= "Cette liste ne comporte que les factures des soci�t�s dont vous �tes r�f�renc�s comme commercial.\n"; - $allmessage .= "\n"; - $allmessage .= $message; - $allmessage .= "\n"; - $allmessage .= "Total = ".price($total)."\n"; - - $mail = new DolibarrMail($subject, - $sendto, - $from, - $allmessage); - - $mail->errors_to = $errorsto; - - if ( $mail->sendfile() ) - { - - } - - - - } - $oldemail = $obj->email; - $message = ''; - $total = 0; - } - - - $message .= "Facture ".$obj->facnumber." : ".price($obj->total_ttc)." : ".$obj->nom."\n"; - $total += $obj->total_ttc; - - dolibarr_syslog("factures-impayees-commerciaux: ".$obj->email); - $i++; - } + while ($i < $num) + { + $obj = $db->fetch_object(); + + if ($obj->email <> $oldemail) + { + if (strlen($oldemail)) + { + envoi_mail($oldemail,$message,$total); + } + $oldemail = $obj->email; + $message = ''; + $total = 0; + } + + $message .= "Facture ".$obj->facnumber." : ".price($obj->total_ttc)." : ".$obj->nom."\n"; + $total += $obj->total_ttc; + + dolibarr_syslog("factures-impayees-commerciaux: ".$obj->email); + $i++; + } - /* On r�p�te le code c'est mal */ - dolibarr_syslog("factures-impayees-commerciaux: send mail to $oldemail"); - $subject = "[Dolibarr] Liste des factures impay�es"; - $sendto = $oldemail; - $from = $oldemail; - - $allmessage = "Liste des factures impay�es � ce jour\n"; - $allmessage .= "Cette liste ne comporte que les factures des soci�t�s dont vous �tes r�f�renc�s comme commercial.\n"; - $allmessage .= "\n"; - $allmessage .= $message; - $allmessage .= "\n"; - $allmessage .= "Total = ".price($total)."\n"; - - $mail = new DolibarrMail($subject, - $sendto, - $from, - $allmessage); - - $mail->errors_to = $errorsto; - - if ( $mail->sendfile() ) + // Si il reste des envois en buffer + if ($total) + { + envoi_mail($oldemail,$message,$total); + } + } + else { - + print "Aucune facture impay�e avec des commerciaux directement rattach�s\n"; } } else { - dolibarr_syslog("factures-impayees-commerciaux: Error"); + dolibarr_print_error($db); + dolibarr_syslog("factures-impayees-commerciaux: Error"); } + +function envoi_mail($oldemail,$message,$total) +{ + global $conf; + + $subject = "[Dolibarr] Liste des factures impay�es"; + $sendto = $oldemail; + $from = $conf->global->MAIN_EMAIL_FROM; + + print "Envoi mail pour $oldemail, total: $total\n"; + dolibarr_syslog("factures-impayees-commerciaux: send mail to $oldemail"); + + $allmessage = "Liste des factures impay�es � ce jour\n"; + $allmessage .= "Cette liste ne comporte que les factures des soci�t�s dont vous �tes r�f�renc�s comme commercial.\n"; + $allmessage .= "\n"; + $allmessage .= $message; + $allmessage .= "\n"; + $allmessage .= "Total = ".price($total)."\n"; + + $mail = new CMailFile($subject, + $sendto, + $from, + $allmessage,array(),array(),array()); + + $mail->errors_to = $errorsto; + + $result=$mail->sendfile(); + if ($result) + { + + } + +} + + ?> diff --git a/scripts/prelevement-verif.php b/scripts/prelevement-verif.php index 5fb9a2e796e88f41cd68fd1a40aff15edd28cbaf..943a2e69cb96ed5281d08a5e2f4045baa78f60b0 100644 --- a/scripts/prelevement-verif.php +++ b/scripts/prelevement-verif.php @@ -1,5 +1,6 @@ <?PHP /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +29,6 @@ require ("../htdocs/master.inc.php"); require_once (DOL_DOCUMENT_ROOT."/facture.class.php"); require_once (DOL_DOCUMENT_ROOT."/societe.class.php"); -require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"); $error = 0; diff --git a/scripts/prelevement.php b/scripts/prelevement.php index 37e71dbfc7a3461dd9fc186e12f5f08b4957a501..f6df4d3a82c44a24db246d28daff12aa8704b00f 100644 --- a/scripts/prelevement.php +++ b/scripts/prelevement.php @@ -1,5 +1,6 @@ <?PHP /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,7 +30,6 @@ require_once (DOL_DOCUMENT_ROOT."/bon-prelevement.class.php"); require_once (DOL_DOCUMENT_ROOT."/facture.class.php"); require_once (DOL_DOCUMENT_ROOT."/societe.class.php"); require_once (DOL_DOCUMENT_ROOT."/paiement.class.php"); -require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"); $error = 0;