garancia/L4/retour_commandesSAVE.php

165 lines
5.1 KiB
PHP

<?php
// die();
//LOG
$log="-- START --------------------------------------\n".date('Y-m-d-H:i:s')." - retour_commandes.php\n";
//définition des variables
$dateAnnneMois=date('Ym');
$nom_fichier=""; //pour marquer le nom du fichier dans les logs
//Données de connection L4
$serveur_ftp = "ftp.l4-logistics.fr";
$id_con = ftp_connect($serveur_ftp);
//FTP TEST
// $ftp_user = "Gar_test";
// $ftp_pw = "Rsk33As*!";
//FTP PROD
$ftp_user = "Gar_log";
$ftp_pw = "ZAnP49*!";
$result_login = ftp_login($id_con, $ftp_user, $ftp_pw);
// on ferme la connexion FTP.
$tableau=ftp_nlist($id_con,'OUT');
$nombre=count($tableau);
$i=0;
while ($i<count($tableau))
{
$item=$tableau[$i];
$explod=explode('.',$item);
if($explod[1]=="xml")
if(ftp_get($id_con, "OUT/".$tableau[$i], "OUT/".$tableau[$i], FTP_BINARY)){
echo "OK<br/>";
ftp_rename($id_con, "OUT/".$tableau[$i], "OUT/Archives/".$tableau[$i]);
}else{
echo "NOK<br/>";
}
$i++;
}
ftp_close($id_con);
//Données de connection garanciax
$conn = mysql_connect('localhost', 'garancia', 'avkm1zmn');
mysql_select_db('garancia');
function parsage($document)
{
$document_xml = new DomDocument;
$document_xml->load($document);
$elements = $document_xml->getElementsByTagName('zcode');
$resultat_html = '';
$arbre = $elements->item(0);
$resultat_html = parsage_enfant($arbre);
}
if(!$dossier = opendir("OUT")){
echo "ERR - Ouverture Dossier OUT impossible";
$log.="ERR - Ouverture Dossier OUT impossible\n";
exit;
}
$nbItems=0;
while ( $fichier = readdir($dossier))
{
if($fichier!='Archives' && $fichier!='..' && $fichier!='.'){
$items=explode('CRPCMD',$fichier);
if(count($items)==2) {
$nbItems++;
$document_xml = new DomDocument(); // Instanciation de la classe DomDocument : création d'un nouvel objet
$resultat_html = ''; // Initialisation de la chaîne qui contient le résultat
$document_xml->load('OUT/'.$fichier); // Chargement à partir de zcode.xml
$elements = $document_xml->getElementsByTagName('CRORDERS');
$element = $elements->item(0); // On obtient le nœud zcode
$enfants = $element->childNodes; // On récupère les nœuds enfants de zcode avec childNodes
foreach($enfants as $enfant2) // On prend chaque nœud enfant séparément
{
if($enfant2->hasChildNodes() == true){
$enfant3=$enfant2->childNodes;
foreach($enfant3 as $enfant) // On prend chaque nœud enfant séparément
{
$nom = $enfant->nodeName; // On prend le nom de chaque nœud
// echo $nom."<br/>";
if ($nom == 'CODACTI')
{
$CODACTI= $enfant->nodeValue;
// echo $CODACTI." ";
}
if ($nom == 'IDORDER')
{
$IDORDER= $enfant->nodeValue;
$id=explode(date('Y'),$IDORDER);
$IDORDER=$id[0];
// $IDORDER=str_replace($dateAnnneMois,"",$IDORDER);
// echo $IDORDER." ";
}
if ($nom == 'DATETRT')
{
$DATETRT= $enfant->nodeValue;
// echo $DATETRT." ";
}
if ($nom == 'COLIS')
{
if($enfant->hasChildNodes() == true){
$enfant4=$enfant->childNodes;
foreach($enfant4 as $enfant0) // On prend chaque nœud enfant séparément
{
$nom = $enfant0->nodeName; // On prend le nom de chaque nœud
if ($nom == 'IDCOLIS')
{
$IDCOLIS= $enfant0->nodeValue;
// echo $IDCOLIS."<br/>";
// die();
// if($IDORDER==2){
// Supprimer la condition pour appliquer la mise à jour à toutes les commandes du XML
$sql="update ps_orders set shipping_number='".$IDCOLIS."' where id_order=".(int)$IDORDER;
if($result = mysql_query($sql, $conn))
echo "<br/>Mise a jour effectuee pour la commande #".$IDORDER." : ID COLIS = ".$IDCOLIS." ( ".$sql.")";
$sql="update ps_order_carrier set tracking_number='".$IDCOLIS."' where id_order=".(int)$IDORDER;
if($result = mysql_query($sql, $conn))
echo "<br/>Mise a jour effectuee pour la commande #".$IDORDER." : ID COLIS = ".$IDCOLIS." ( ".$sql.")<br/><br/>";
}
// }
}
}
}
}
}
}
// $document_xml->save('OUT/un_nouveau_fichier_xml.xml');
// $xml = simplexml_load_file('OUT/'.$fichier);
}
rename('/opt/web/clients/g/garancia/garancia-beauty.com/public_html/L4/OUT/'.$fichier,'/opt/web/clients/g/garancia/garancia-beauty.com/public_html/L4/OUT/Archives/'.$fichier);
$nom_fichier=$fichier;
}
}
if($nbItems==0){
echo "Fichier XML deja traite ";
$log.="ERR - Fichier XML deja traite\n";
}else{
$nbItems++;
$log.="OK - ".$nbItems." commandes mises à jour avec succes\n";
$log.="Fichier renomme : ".$nom_fichier." et place dans /OUT/Archives/".$nom_fichier."\n";
}
//LOG
$log.="-- STOP --------------------------------------\n\n";
if($log!=''){
$file3 = "LOG_RETOURCOMMANE.txt";
$ar3=fopen('logs/'.$file3,'a+') or die("Probleme de création");
fputs($ar3,$log);
fclose($ar3);
echo "<br/><br/><a href='logs/".$file3."' target='_blank'>Voir les logs</a>";
}
?>