Sid Gifari From Gifari Industries - BD Cyber Security Team
Home
/
home
/
airmobeuag
/
pro
/
commande
/
✏️
Editing: etatcmd.cron.php
<?php /* * Etat des commandes passées * 1/ execution toutes les jours à 8 heures => etatcmd.cron.php * 2/ executé depuis stripe.confirme.php (si paiement confirmé) * liebn direct possible => etatcmd.cron.php?debug=true&idu=05102db19bec3170f76bf40c339d41fa * * */ error_reporting(E_ALL); ini_set("display_errors", 0); require './lib/phpmailer/src/PHPMailer.php'; require './lib/phpmailer/src/SMTP.php'; require './lib/phpmailer/src/Exception.php'; // Si lancé depuis stripe.confirme.php if(!$idu) { include_once("./lib/commande.lib.php"); } // Si lien direct /etatcmd.cron.php?idu=05102db19bec3170f76bf40c339d41fa if($_REQUEST['idu']) $idu = $_REQUEST['idu']; // $MyCde = new ClassCde(); $Dern24h = date("Y-m-d H:i:s",mktime(date("H")-24,date("i"),date("s"),date("m"), date("d"),date("Y"))); $cnx = $MyCde->CnxDBaseSQL(); if($_REQUEST['visu']) echo "<h1>Mode visu</h1>Aucun envoi de mail ni d'enreg. dans le xml"; // Envoi toutes les commandes ou la cde accepté if($idu) { $Etats = ['TERM'=>'Commande acceptée']; $subject = 'Nouvelle commande AIRMOB'; $Critere = "idunique='".$idu."'"; $DtlPA = true; } else { $Etats = ['TERM'=>'x Commande(s) terminée(s)','NONTERM'=>'x Commande(s) NON terminée(s)']; $subject = 'Etat des commandes AIRMOB V1'; // $Critere = "1"; // $Critere = "creation LIKE '$Hier%'"; // Date de la veille $Critere = "creation >= '$Dern24h' && creation<='".date('Y-m-d H:i:s')."'"; // Date de la veille $DtlPA = false; } // Toutes les refs. $Refs = mysqli_query($cnx, "SELECT * FROM offres WHERE 1 ") or die(mysqli_error()); while ($Refarr = mysqli_fetch_array($Refs, MYSQLI_ASSOC)) { $Ref[$Refarr['offre']][$Refarr['ref']]['ref'] = $Refarr['ref']; $Ref[$Refarr['offre']][$Refarr['ref']]['nom'] = $Refarr['nom']; } /* * Stock les commandes * */ $Cdes = mysqli_query($cnx, "SELECT * FROM commandes WHERE $Critere ") or die(mysqli_error()); $CpteCmd = $Cdes->num_rows;; while ($Cde = mysqli_fetch_array($Cdes, MYSQLI_ASSOC)) { if(!$Cde['paiement']) $Ope = "NONTERM"; else $Ope = "TERM"; $id = $Cde['id']; $MyArr[$Ope][$id]['creation'] = $Cde['creation']; $MyArr[$Ope][$id]['nomprenom'] = "<b>".$Cde['nomprenom']."</b><br>".$Cde['email']." / ".$Cde['telephone']."<br>Sté : ".$Cde['nomsociete']." (".$Cde['siret'].")"; $MyArr[$Ope][$id]['telephone'] = $Cde['telephone']; $MyArr[$Ope][$id]['facturation'] = $Cde['nofacturation']." ".$Cde['adrfacturation']."<br>".$Cde['cpfacturation']." ".$Cde['villefacturation']; $MyArr[$Ope][$id]['livraison'] = $Cde['nolivraison']." ".$Cde['adrlivraison']."<br>".$Cde['cplivraison']." ".$Cde['villelivraison']; $MyArr[$Ope][$id]['offre'] = $Cde['idoffre']; $MyArr[$Ope][$id]['msg'] = $Cde['msg']; // Si paiement if($Ope == "TERM") { $MyArr[$Ope][$id]['montant'] = $Cde['montant']; $MyArr[$Ope][$id]['paiement'] = $Cde['paiement']; } // Detail de la cde $CdesD = mysqli_query($cnx, "SELECT * FROM cde_detail WHERE id_cde='$id' ") or die(mysqli_error()); while ($CdeD = mysqli_fetch_array($CdesD, MYSQLI_ASSOC)) { $idD = $CdeD['id']; $MyArr[$Ope][$id]['Dtl'][$idD]['Total']['fas'] += $CdeD['fas']; $MyArr[$Ope][$id]['Dtl'][$idD]['Total']['rec'] += $CdeD['rec']; $MyArr[$Ope][$id]['Dtl'][$idD]['Produit'] = $CdeD['produit']; $MyArr[$Ope][$id]['Dtl'][$idD]['Offre'] = $CdeD['offre']; $MyArr[$Ope][$id]['Dtl'][$idD]['Detail'] = $CdeD['detail']; } } /* * Format HTML * */ foreach($Etats as $Etat=>$EtatLib) { $TABLE = array(); $TD1 = array(); $TR = array(); // Commande Entete foreach($MyArr[$Etat] as $idCde=>$DtlCmd) { $TD1 = []; $TD1['creation'] = "<td width='15%'>".$DtlCmd['creation']."</td>"; $TD1['nomprenom'] = "<td width='15%'>".$DtlCmd['nomprenom']."</td>"; if($Etat=="TERM") { $TD1['montant_ttc'] = "<td width='10%' align='center'><b>" . ($DtlCmd['montant'] / 100) . ' €</b></td>'; $TD1['msg'] = "<td width='20%' align='center' width='20%'>" . $DtlCmd['msg'] . "</td>"; } else { $TD1['montant_ttc'] = "<td width='10%'></td>"; $TD1['msg'] = "<td width='20%'></td>"; } $TD1['offre'] = "<td width='10%'>".$DtlCmd['offre']."</td>"; $TR[] = "<tr style='background:#f2f2f2'>".join('',$TD1)."</tr>\n"; if ($DtlPA==true) { $TR[] = "<tr style='background:#f2f2f2'><td><b>Facturation</b></td><td>" . $DtlCmd['facturation'] . "</td><td></td><td></td><td></td></tr>\n"; $TR[] = "<tr style='background:#f2f2f2'><td><b>Livraison</b></td><td>" . $DtlCmd['livraion'] . "</td><td></td><td></td><td></td></tr>\n"; } // Liste les articles if($DtlCmd['Dtl']) { foreach($DtlCmd['Dtl'] as $idDtl=>$Dtl) { // DEBUG : affichage // echo "<pre>"; print_r($Dtl); echo "</pre>"; if($Dtl['Produit']!='pack') { // Exclu le nom du pack déjà présent dans l entete // Affiche les détails pour les articles if ($DtlPA==true) { $DetailArticle = json_decode($Dtl['Detail'], true); $Lignex = []; foreach ($DetailArticle as $KeyNom => $Val) { if(!$Val) $Val= "n.c."; $Lignex[] = "<b>" . $KeyNom . "</b>=" . $Val; } $DtlLigne = join(', ', $Lignex); $DetailCde = " (".$DtlLigne.")"; } else { $DetailCde = ""; } $TD2['Offre'] = "<td style='font-style: italic;' colspan='".count($TD1)."'><li>" . $Ref[$Dtl['Produit']][$Dtl['Offre']]['nom'] . $DetailCde."</li></td>"; $TR[] = '<tr>' . join('', $TD2) . '</tr>'; } } } else { $TR[] = "<tr><td style='font-style: italic;' colspan='".count($TD1)."'><li>Pas de détail</li></td></tr>\n"; } $TR[] = "<tr><td colspan='".count($TD1)."' style='border-top:1px solid #000'> </td></tr>\n"; } $Qte = count($MyArr[$Etat]); $TABLE[]= "<TABLE cellpadding='5' cellspacing='0' border='0' width='100%'>\n"; $TABLE[]= "<tr style='background:#ccc'><td colspan='".count($TD1)."'><h3>$Qte $EtatLib</h3></td></tr>\n"; $TABLE[]= "<tr>".join('',$TR)."</tr>\n"; $TABLE[]= "</TABLE><br>\n\n"; $Body .= join ('',$TABLE); $XmlQte[] = "<qte_$Etat>".$Qte."</qte_$Etat>"; } $Css = "<style>body,td { font-family: arial; font-size:10pt;}</style>\n"; $message = $Css."\n".$Body; // DEBUG : affichage //echo "<pre>"; print_r($InfoMail); echo "</pre>"; // Si lien contient (debug=true) if( $_REQUEST['debug'] ) { echo $message; } // DEBUG : affichage // echo "<pre>"; print_r($MyArr); echo "</pre>"; if($_REQUEST['visu']) die('Vous etes en mode visu !'); // MAIL 2 / Envoi un recap $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail->isSMTP(); $mail->Host = "in-v3.mailjet.com"; $mail->SMTPAuth = true; $mail->Username = "91b3f6b2dd7870d31a16fd0611f5b35a"; $mail->Password = "c328d8d6bea5c27a4b2f72df0fe84676"; $mail->SMTPSecure = "tls"; $mail->Port = 587; // Pas le choix pour STRIPE $mail->From = "service-client@airmob.net"; $mail->FromName = "AIRMOB"; $body = $message; $mail->Subject = utf8_decode("Commande AIRMOB"); $mail->Body = utf8_decode($body); $mail->AltBody = utf8_decode($body); $mail->addAddress('contact@airmob.net'); // ''; //$mail->addAddress('luc@bvcs.fr'); // ''; $mail->Subject = utf8_decode($subject); // Envoi une copie if (!$mail->send()) { $success = ""; } else { $success = "OK"; } exit; /* * Send Email * */ $to = 'contact@airmob.net'; //$to = 'luc@bvcs.fr'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers .= 'From: AIRMOB (Cdes) <contact@airmob.net>' . "\r\n"; $SendMail = 0; if($CpteCmd>0) { // Commande envoyée if (mail($to, $subject, $message, $headers)) { $EtatEnvoi = "ok"; $DateEnvoi = date('Y-m-d H:i:s'); } // Erreur d envoi else { $EtatEnvoi = "erreur"; } } else { // Pas de commande à envoyer $EtatEnvoi = "aucun"; } // Fichier dashboard XML $XML[] = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; $XML[] = "<CMD>"; $XML[] = "<info>"; $XML[] = join('', $XmlQte); $XML[] = "<cron>" . date("Y-m-d H:i:s") . "</cron>"; $XML[] = "<date_envoi>" . $DateEnvoi . "</date_envoi>"; $XML[] = "<etat_envoi>" . $EtatEnvoi . "</etat_envoi>"; $XML[] = "</info>"; $XML[] = "</CMD>"; $fpW = fopen("xml/dash.lv.xml", "w"); fwrite($fpW, join('', $XML)); fclose($fpW); ?>
💾 Save
❌ Cancel