mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-26 14:40:29 +01:00
67 lines
2.5 KiB
PHP
67 lines
2.5 KiB
PHP
<?php
|
|
$app->DB->Update("UPDATE prozessstarter SET mutexcounter = mutexcounter + 1 WHERE mutex = 1 AND parameter = 'zahlungsavis_mailausgang' AND aktiv = 1");
|
|
|
|
if($app->DB->Select("SELECT mutex FROM prozessstarter WHERE parameter = 'zahlungsavis_mailausgang' LIMIT 1") == 1){
|
|
return;
|
|
}
|
|
$avisids = $app->DB->SelectArr('SELECT avis_id FROM zahlungsavis_mailausgang WHERE versendet=0 AND versucht<5 ORDER BY id ASC');
|
|
if(!empty($avisids)){
|
|
foreach ($avisids as $avisid){
|
|
|
|
$avisid = $avisid['avis_id'];
|
|
|
|
$query = sprintf('UPDATE zahlungsavis_mailausgang SET versucht=versucht+1 WHERE avis_id=%d', $avisid);
|
|
$app->DB->Update($query);
|
|
|
|
$query = sprintf(
|
|
"SELECT
|
|
a.name,
|
|
IF(a.rechnungs_email='',a.email,a.rechnungs_email) AS email,
|
|
z.projekt,
|
|
CONCAT(DATE_FORMAT(z.datum,'%%Y%%m%%d'),'/',z.id) AS avis
|
|
FROM zahlungsavis z
|
|
JOIN adresse a ON z.adresse = a.id
|
|
WHERE z.id = '%d'",
|
|
$avisid
|
|
);
|
|
|
|
$adressDaten = $app->DB->SelectRow($query);
|
|
if(!empty($adressDaten)){
|
|
$to = $adressDaten['email'];
|
|
$to_name = $adressDaten['name'];
|
|
$projekt = $adressDaten['projekt'];
|
|
|
|
if(!empty($to)){
|
|
|
|
$Brief = new ZahlungsavisPDF($app,$projekt);
|
|
$Brief->GetZahlungsavis($avisid);
|
|
|
|
$text = $app->erp->GetGeschaeftsBriefText('LastschriftenZahlungsavis','deutsch',$projekt);
|
|
$betreff = $app->erp->GetGeschaeftsBriefBetreff('LastschriftenZahlungsavis','deutsch',$projekt);
|
|
if(empty($text) || empty($betreff)){
|
|
break;
|
|
}
|
|
$datei = $Brief->displayTMP();
|
|
$success = $app->erp->MailSend($app->erp->GetFirmaMail(), $app->erp->GetFirmaAbsender(), $to, $to_name, $betreff, $text, [$datei], $projekt);
|
|
|
|
if($success){
|
|
$query = sprintf("UPDATE zahlungsavis SET versendet=1, versendet_am=NOW(),zahlungsavis.versendet_per='mail' WHERE id=%d",
|
|
$avisid);
|
|
$app->DB->Update($query);
|
|
|
|
$query = sprintf("UPDATE zahlungsavis_mailausgang SET versendet = 1 WHERE avis_id=%d",
|
|
$avisid);
|
|
$app->DB->Update($query);
|
|
}
|
|
unlink($datei);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$app->DB->Update("UPDATE zahlungsavis_mailausgang zm
|
|
JOIN zahlungsavis z ON zm.avis_id = z.id
|
|
SET z.versendet_per='Mailversand fehlgeschlagen'
|
|
WHERE zm.versendet = 0 AND zm.versucht = 5 AND z.versendet_per='vorgemerkt'");
|
|
|
|
$app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 0,mutexcounter=0 WHERE parameter = 'zahlungsavis_mailausgang'"); |