252 lines
8.3 KiB
PHP
252 lines
8.3 KiB
PHP
<?php
|
|
// die();
|
|
//LOG
|
|
$log="-- START --------------------------------------\n".date('Y-m-d-H:i:s')." - retour_commandes2.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;
|
|
$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."<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/>";
|
|
|
|
$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."<br/>";
|
|
|
|
|
|
$nom = $enfant2->nodeName; // On prend le nom de chaque nœud
|
|
// echo $nom."<br/>";
|
|
// 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."<br/><br/>";
|
|
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 "<br/><br/><a href='logs/".$file3."' target='_blank'>Voir les logs</a>";
|
|
}
|
|
?>
|