Fix: Mise a jour statut en cas d'erreur

This commit is contained in:
Laurent Destailleur 2005-08-11 19:23:04 +00:00
parent 49dd42e995
commit e4c4058211

View File

@ -35,7 +35,6 @@
* consommation. L'application du principe du consentement préalable en * consommation. L'application du principe du consentement préalable en
* droit français résulte de la transposition de l'article 13 de la Directive * droit français résulte de la transposition de l'article 13 de la Directive
* européenne du 12 juillet 2002 « Vie privée et communications électroniques ». * européenne du 12 juillet 2002 « Vie privée et communications électroniques ».
*/ */
@ -47,13 +46,18 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
} }
if (! $argv[1]) { if (! $argv[1]) {
print "Syntax: mailing-send.php ID_MAILING\n"; print "Usage: mailing-send.php ID_MAILING\n";
exit; exit;
} }
$id=$argv[1]; $id=$argv[1];
require ("../htdocs/master.inc.php"); // Recupere root dolibarr
require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"); $path=eregi_replace('mailing-send.php','',$_SERVER["PHP_SELF"]);
require_once ($path."../htdocs/master.inc.php");
require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
$error = 0; $error = 0;
@ -104,7 +108,7 @@ if ($resql)
if ($num) if ($num)
{ {
dolibarr_syslog("mailing-send: mailing $num cibles"); dolibarr_syslog("mailing-send: target number = $num");
// Positionne date debut envoi // Positionne date debut envoi
$sql="UPDATE ".MAIN_DB_PREFIX."mailing SET date_envoi=SYSDATE() WHERE rowid=".$id; $sql="UPDATE ".MAIN_DB_PREFIX."mailing SET date_envoi=SYSDATE() WHERE rowid=".$id;
@ -121,8 +125,7 @@ if ($resql)
$obj = $db->fetch_object($resql); $obj = $db->fetch_object($resql);
$sendto = stripslashes($obj->prenom). " ".stripslashes($obj->nom) ."<".$obj->email.">"; $sendto = stripslashes($obj->prenom). " ".stripslashes($obj->nom) ."<".$obj->email.">";
$mail = new DolibarrMail($subject, $sendto, $from, $message); $mail = new CMailFile($subject, $sendto, $from, $message, array(), array(), array());
$mail->errors_to = $errorsto; $mail->errors_to = $errorsto;
if ( $mail->sendfile() ) if ( $mail->sendfile() )
@ -142,7 +145,7 @@ if ($resql)
// Mail en echec // Mail en echec
$nbko++; $nbko++;
$sql="UPDATE ".MAIN_DB_PREFIX."mailing_cibles SET statut=1, date_envoi=SYSDATE() WHERE rowid=".$obj->rowid; $sql="UPDATE ".MAIN_DB_PREFIX."mailing_cibles SET statut=-1, date_envoi=SYSDATE() WHERE rowid=".$obj->rowid;
$resql2=$db->query($sql); $resql2=$db->query($sql);
if (! $resql2) if (! $resql2)
{ {
@ -152,16 +155,17 @@ if ($resql)
$i++; $i++;
} }
}
// Met a jour statut global du mail et date envoi // Met a jour statut global du mail
$statut=2; $statut=2;
$sql="UPDATE ".MAIN_DB_PREFIX."mailing SET statut=".$statut." WHERE rowid=".$id; if (! $nbko) $statut=3;
$resql2=$db->query($sql);
if (! $resql2)
{
dolibarr_print_error($db);
}
$sql="UPDATE ".MAIN_DB_PREFIX."mailing SET statut=".$statut." WHERE rowid=".$id;
$resql2=$db->query($sql);
if (! $resql2)
{
dolibarr_print_error($db);
} }
} }
else else