"; ftp_rename($id_con, "OUT/".$tableau[$i], "OUT/Archives/".$tableau[$i]); }else{ echo "NOK
"; } $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; $nbItemsTRACOL=0; include_once('../config/config.inc.php'); 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."
"; 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."
"; // 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 "
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 "
Mise a jour effectuee pour la commande #".$IDORDER." : ID COLIS = ".$IDCOLIS." ( ".$sql.")

"; $log.="CRPCMD traité pour la commande #".$IDORDER.", tracking_number = ".$IDCOLIS."\n"; } // } } } } } } } } $items=explode('TRACOLTEST',$fichier); if(count($items)==2) { $nbItemsTRACOL++; $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('COL'); foreach($elements as $row){ $element = $elements->item($i); // On obtient le nœud zcode $i++; $enfants = $element->childNodes; // On récupère les nœuds enfants de zcode avec childNodes $IDCOLIS=""; $DATEEVT=""; $CODEEVT=""; $CODETRP=""; $COMMTRP=""; foreach($enfants as $enfant2) // On prend chaque nœud enfant séparément { if($enfant2->hasChildNodes() == true){ // $enfant3=$enfant2->childNodes; $nom = $enfant2->nodeName; // On prend le nom de chaque nœud // echo $nom."
"; $nom = $enfant2->nodeName; // On prend le nom de chaque nœud // echo $nom."
"; // die(); if ($nom == 'CODACTI')$CODACTI= $enfant2->nodeValue; if ($nom == 'IDORDER') { $IDORDER= $enfant2->nodeValue; $id=explode(date('Y'),$IDORDER); $IDORDER=$id[0]; // $IDORDER=str_replace($dateAnnneMois,"",$IDORDER); } if ($nom == 'IDCOLIS')$IDCOLIS= $enfant2->nodeValue; if ($nom == 'DATEEVT')$DATEEVT= $enfant2->nodeValue; if ($nom == 'CODEEVT')$CODEEVT= $enfant2->nodeValue; if ($nom == 'CODETRP')$CODETRP= $enfant2->nodeValue; if ($nom == 'COMMTRP'){ $COMMTRP= $enfant2->nodeValue; if($IDORDER!=762 && $IDORDER!=771 && $IDORDER!=755 && $IDORDER!=742){ // echo $IDORDER." ".$CODACTI." ".$IDCOLIS." ".$DATEEVT." ".$CODEEVT." ".$CODETRP."

"; if($CODEEVT=="OK-IN-TRANST" || $CODEEVT=="OK-DELIVERED"){ $history = new OrderHistory(); $history->id_order = $IDORDER; $history->id_employee = 3; $use_existings_payment = false; if($CODEEVT=="OK-IN-TRANST"){ // commande envoyée $history->changeIdOrderState2(4, $IDORDER, $use_existings_payment); }else if($CODEEVT=="OK-DELIVERED"){ // commande livrée $history->changeIdOrderState2(5, $IDORDER, $use_existings_payment); } $templateVars = array( '{commentaire}' => $COMMTRP ); if ($history->addWithemail(true, $templateVars)) { } $log.="TRACOL traité pour la commande #".$IDORDER.", CODEEVT = ".$CODEEVT."\n"; } } } } } } } // 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; $log.="Fichier renomme : ".$nom_fichier." et place dans /OUT/Archives/".$nom_fichier."\n"; } } 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"; $nbItemsTRACOL++; if($nbItemsTRACOL>1){ $log.="OK - ".$nbItemsTRACOL." commandes mises à jour avec succes\n"; // $log.="Fichier renomme : ".$nom_fichier." et place dans /OUT/Archives/".$nom_fichier."\n"; } } //LOG $log.="-- STOP --------------------------------------\n\n"; echo $log; if($log!=''){ $file3 = "LOG_RETOURCOMMANDE_TEST.txt"; $ar3=fopen('logs/'.$file3,'a+') or die("Probleme de création"); fputs($ar3,$log); fclose($ar3); echo "

Voir les logs"; } ?>