165 lines
5.1 KiB
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>";
|
|
}
|
|
?>
|