1
0

version fonctionnelle

This commit is contained in:
Daniel Tartavel
2021-06-17 18:35:51 +02:00
parent 3c303efeb9
commit ab2f9b87a7
243 changed files with 23955 additions and 100 deletions

139
cron.php
View File

@@ -10,11 +10,11 @@
//test();
$_SERVER["PHP_AUTH_USER"] = "cron";
//peripetieDatee();
print "envoi des courriers en attente" . EOL;
print "envoi des courriers en attente" . EOLH;
envoiCourrielEnattente();
print "envoi des péripéties" . EOL;
print "envoi des péripéties" . EOLH;
peripeties();
print "Envoi des arrivées" . EOL;
print "Envoi des arrivées" . EOLH;
arrivee();
function peripetieDatee()
@@ -38,8 +38,8 @@
$indexObjet = "Objet_" . $p['indexText'];
$objetMail = $dicoExpe["Objet_" . $p['indexText']];
$mailText = $dicoExpe[$p['indexText']] .EOL .EOL ;
print $objetMail .EOLH;
print $mailText .EOLH;
print $objetMail . EOLH;
print $mailText . EOLH;
envoiMail( $result['destMail'], $objetMail, $mailText, false);
sleep(1);
envoiMail( $result['expeMail'], $objetMail, $mailText, true);
@@ -51,6 +51,8 @@
function peripeties() //recherche des péripéties non datées
{
global $db, $base_url;
$r = 0;
$s = 0;
// ouverture DB peripéties
$dbPeripetie = new db();
// requête Mysql
@@ -58,55 +60,63 @@
$dbPeripetie->query($query);
$peripeties = $dbPeripetie->result->fetch_all(MYSQLI_ASSOC);
$dbPeripetie->close();
foreach ( $peripeties as $peripetie)
{
print "avion poème n° " . $peripetie['idAvion'] .EOL;
print "péripétie " . $peripetie["idAP"] . " - avion poème n° " . $peripetie['idAvion'] .EOLH;
$db->getPlane($peripetie['idAvion']);
$dicoExpe = getLang( $db->expeLang );
$dicoDest = getLang( $db->destLang );
// TODO calcul de la nouvelle date d'arrivée
$dateExpe = new DateTime("@$db->startTime");
$dateDest = new DateTime("@$db->deliveryTime");
$interval = $dateExpe->diff($dateDest);
$numericInterval = (($interval->days*24 + $interval->h)*60 + $interval->i)*60 + $interval->s;
$addDate = $numericInterval * 15/100;
$db->deliveryTime += $addDate;
$db->deliveryTimeServer += $addDate;
$query = "UPDATE avionpoeme SET deliveryTime=FROM_UNIXTIME(" . $db->deliveryTime . "), deliveryTimeServer=FROM_UNIXTIME(" . $db->deliveryTimeServer . ") WHERE idAvion='" . $peripetie['idAvion'] . "'" ;
$db->query($query);
$db->urlAvion = $base_url . "/?avionpoeme=" . $db->uid;
$db->datePeripetie = formatteDate($db->expeLang, $db->deliveryTime, $db->startTZ);
$indexObjet = "Objet_" . $peripetie['indexText'];
$result = replaceVariables($db, $dicoExpe["Objet_" . $peripetie['indexText']], $dicoExpe);
$objetMail = $result["text"];
$result = replaceVariables($db, $dicoExpe[$peripetie['indexText']], $dicoExpe);
$mailText = $result["text"];
//$html = $result['html'];
sleep(1);
print "envoi courriel à l'expéditeur" .EOL;
$r = envoiMail( $db->expeMail, $objetMail, $mailText);
$db->datePeripetie = formatteDate($db->destLang, $db->deliveryTime, $db->deliveryTZ);
$result = replaceVariables($db, $dicoDest["Objet_" . $peripetie['indexText']], $dicoDest);
$objetMail = $result["text"];
$result = replaceVariables($db, $dicoDest[$peripetie['indexText']], $dicoDest);
$mailText = $result["text"] .EOLH .EOLH;
print "envoi courriel au destinataire" .EOL;
$s = envoiMail( $db->destMail, $objetMail, $mailText);
sleep(1);
//print "r=" . $r ." => s=" .$s .EOLH;
if ($r AND $s)
if ($db->connect->affected_rows == 0)
{
$query = "UPDATE avionPeripetie SET mailSent=true WHERE idAP='" . $peripetie['idAP'] ."'";
$db->query($query);
}else
{
print "table avion péripétie non mise à jour" .EOL;
print "UPDATE avionPeripetie SET mailSent=true WHERE idAP='" . $peripetie['idAP'] ."'" .EOL;
log_error("Péripétie " . $peripetie["idAP"] . "n'a pas d'avion associé idAvion=>" . $peripetie['idAvion']);
print "Péripétie " . $peripetie["idAP"] . "n'a pas d'avion associé idAvion=>" . $peripetie['idAvion'];
}
else
{
//print_r($db);
$dicoExpe = getLang( $db->expeLang );
$dicoDest = getLang( $db->destLang );
// TODO calcul de la nouvelle date d'arrivée
$dateExpe = new DateTime("@$db->startTime");
$dateDest = new DateTime("@$db->deliveryTime");
$interval = $dateExpe->diff($dateDest);
$numericInterval = (($interval->days*24 + $interval->h)*60 + $interval->i)*60 + $interval->s;
$addDate = $numericInterval * 15/100;
$db->deliveryTime += $addDate;
$db->deliveryTimeServer += $addDate;
$query = "UPDATE avionpoeme SET deliveryTime=FROM_UNIXTIME(" . $db->deliveryTime . "), deliveryTimeServer=FROM_UNIXTIME(" . $db->deliveryTimeServer . ") WHERE idAvion='" . $peripetie['idAvion'] . "'" ;
$db->query($query);
$db->urlAvion = $base_url . "/?avionpoeme=" . $db->uid;
$db->datePeripetie = formatteDate($db->expeLang, $db->deliveryTime, $db->startTZ);
$indexObjet = "Objet_" . $peripetie['indexText'];
$result = replaceVariables($db, $dicoExpe["Objet_" . $peripetie['indexText']], $dicoExpe);
$objetMail = $result["text"];
$result = replaceVariables($db, $dicoExpe[$peripetie['indexText']], $dicoExpe);
$mailText = $result["text"];
//$html = $result['html'];
sleep(1);
print "envoi courriel à l'expéditeur : " . $db->expeMail . EOLH . $mailText .EOLH;
$r = envoiMail( $db->expeMail, $objetMail, $mailText);
$db->datePeripetie = formatteDate($db->destLang, $db->deliveryTime, $db->deliveryTZ);
$result = replaceVariables($db, $dicoDest["Objet_" . $peripetie['indexText']], $dicoDest);
$objetMail = $result["text"];
$result = replaceVariables($db, $dicoDest[$peripetie['indexText']], $dicoDest);
$mailText = $result["text"] . EOLH . EOLH;
print "envoi courriel au destinataire : " . $db->destMail . EOLH . $mailText .EOLH;
$s = envoiMail( $db->destMail, $objetMail, $mailText);
sleep(1);
//print "r=" . $r ." => s=" .$s .EOLH;
sleep(1);
if ($r AND $s)
{
$query = "UPDATE avionPeripetie SET mailSent=true WHERE idAP='" . $peripetie['idAP'] ."'";
$db->query($query);
}else
{
print "table avion péripétie non mise à jour" .EOL;
print "UPDATE avionPeripetie SET mailSent=true WHERE idAP='" . $peripetie['idAP'] ."'" .EOLH;
}
sleep(1);
}
}
}
@@ -114,35 +124,40 @@
function arrivee()
{
global $db;
$r = 0;
$s = 0;
//recherche des avions atteris
$query = "SELECT * FROM avionpoeme WHERE atteri = 0 AND TIMEDIFF(CONCAT_WS(' ',CURDATE(),CURTIME()),deliveryTimeServer) > '00:00'";
$db->query($query);
$avionArrive = $db->result->fetch_all(MYSQLI_ASSOC);
var_dump($avionArrive);
foreach ($avionArrive as $avion)
{
print "avion poème n° " . $avion['idAvion'] . EOLH;
print "avion poème n° " . $avion['idAvion'] . "a atterri" . EOLH;
$dicoExpe = getLang( $avion['expeLang'] );
$dicoDest = getLang( $avion['destLang'] );
$index = "Notification_Arrivee_Expediteur";
$indexObjet = "Objet_";
$objetMail = replaceVariables($db, $dicoExpe[$indexObjet . $index], $dicoExpe);
$result = replaceVariables($db, $dicoExpe[$index], $dicoExpe);
$mailText= $result["text"];
print "envoi courriel à l'expéditeur". EOLH;
$r = envoiMail( $avion['expeMail'], $objetMail["text"], $mailText);
sleep(1);
$index = "Notification_Arrivee_Destinataire";
$objetMail = replaceVariables($db, $dicoDest[$indexObjet . $index], $dicoDest);
$result = replaceVariables($db, $dicoDest[$index], $dicoDest);
log_write(__FILE__ . EOL . __LINE__ . EOL . "#" .print_r($result, true) . "#", INFO);
//envoi notification arrivée expéditeur
$indexObjet = "Objet_";
$index = "Notification_Arrivee_Expediteur";
$objetMail = replaceVariables( (object)$avion, $dicoExpe[$indexObjet . $index], $dicoExpe);
$result = replaceVariables((object)$avion, $dicoExpe[$index], $dicoExpe);
$mailText= $result["text"];
print "envoi courriel à l'expéditeur : " . $avion['expeMail'] . EOLH . $mailText .EOLH;
$r = envoiMail( $avion['expeMail'], $objetMail["text"], $mailText);
//envoi notification arrivée destinataire
$index = "Notification_Arrivee_Destinataire";
$objetMail = replaceVariables((object)$avion, $dicoDest[$indexObjet . $index], $dicoDest);
$result = replaceVariables((object)$avion, $dicoDest[$index], $dicoDest);
$mailText = $result["text"];
$html = $result['html'];
if ( $html )
{
$mailText = "<html><head></head>\n<body>" . $mailText . "</body></html>";
}
print "envoi courriel au destinataire" . EOLH;
print "envoi courriel au destinataire : " . $avion['destMail'] . EOLH . $mailText .EOLH;
sleep(1);
$s = envoiMail( $avion['destMail'], $objetMail["text"], $mailText, $html);
if ($r AND $s)
{