Jump to content

Module Orium, problème d'import


SnoT

Recommended Posts

Bonjour,

Je travaille actuellement sur un site utilisant le module Orium, mais il ne fonctionne pas correctement.
Quand je jète un œil dans les logs d'import/export je me rend compte qu'à l'importation plusieurs problèmes sont rencontrés, voici les lignes de ces problèmes renvoyés :


2010-07-21 14:53:28 - Connecté
2010-07-21 14:53:28 - Login réussi
Impossible de télécharger OUT/Ex_numsuiviFAIR20100624000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100625000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100628000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100629000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100630000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100701000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100702000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100705000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100706000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100707000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100708000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100709000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100712000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100713000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100714000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100715000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100716000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100719000.TXT
Impossible de télécharger OUT/Ex_numsuiviFAIR20100720000.TXT
Fichiers inconnus : 19
2010-07-21 14:53:29 - Déconnexion



De plus, si je lance le cron directement dans mon navigateur j'ai des erreurs PHP m'indiquant que les fichiers sont introuvables (OUT/Ex_numsuiviFAIR20100720000.TXT et tous les autres) avec le message "no such file or directory" renvoyé par la fonction ftp_get.

Ensuite j'ai regardé la class Orium, dans la fonction getFiles appelée lors de l'import. à la ligne 569 :
if (ftp_get($connection, 'OUT/'.basename($file), './'.basename($file), FTP_BINARY))


il me semble qu'il y ait une erreur, ne serait-ce pas plutôt :

if (ftp_get($connection, './'.basename($file), 'OUT/'.basename($file), FTP_BINARY))


Le 2eme paramètre étant le dossier et le nom du fichier en local (sur mon serveur) une fois le fichier récupéré sur Orium (3eme paramètres).

Ensuite j'ai peut-être constaté une 2eme erreur, lors de la suppression de ce fichier à la ligne 572 :

if ($delete) $this->_addLogLine((ftp_delete($connection, './'.basename($file)) ? 'Fichier supprimé' : 'Suppression impossible'), false);



Là pareil, ce n'est pas './'.basename($file) en second paramètre mais plutot 'OUT/'.basename($file) ? Si on part dans la logique que une fois le fichier récup à partir de Orium sur mon serveur local on le supprime de Orium.

Enfin une 3eme erreur peut-être, le déplacement du fichier une fois importé dans le dossier "current" du module Orium.
La ligne 574 :

if (@rename($file, dirname(__FILE__).'/current/'.basename($file)))


devrait ressembler à

if (@rename(basename($file), dirname(__FILE__).'/current/'.basename($file)))


Toujours avec le même problème.

En fait ce que je vous demande c'est de me dire que cet import se fait bien dans ce sens là : Orium => mon site (donc avec mes modif là ça serait ok) et pas dans l'autre sens (mais je ne vois pas de dossier OUT dans le module Orium, d'où mes modif dans le code PHP).

Merci d'avance

PS : je vous met ma fonction getFiles modifiée au final :

public function getFiles($delete = false)
   {
       if ($connection = $this->connect())
       {
           $unknownFiles = 0;

           $files = ftp_nlist($connection, 'OUT/'); 
           foreach ($files AS $file)
           {
               if (strncmp(basename($file), 'etat_stock_', 11) AND strncmp(basename($file), 'Ex_numsuivi', 11) AND strncmp(basename($file), 'commandes_bloquees_', 19))
               {
                   ++$unknownFiles;
                   continue;
               }
//                 if (ftp_get($connection, 'OUT/'.basename($file), './'.basename($file), FTP_BINARY))
               if (ftp_get($connection, './'.basename($file), 'OUT/'.basename($file), FTP_BINARY))
               {
                   $this->_addLogLine('Download de '.$file, false);
//                     if ($delete) $this->_addLogLine((ftp_delete($connection, './'.basename($file)) ? 'Fichier supprimé' : 'Suppression impossible'), false);
                   if ($delete) $this->_addLogLine((ftp_delete($connection, 'OUT/'.basename($file)) ? 'Fichier supprimé' : 'Suppression impossible'), false);
//                     if (@rename($file, dirname(__FILE__).'/current/'.basename($file)))
         if (@rename(basename($file), dirname(__FILE__).'/current/'.basename($file)))
                       $this->_addLogLine('Fichier déplacé dans ./current/ '.$file, false);
               }
               else
                   $this->_addLogLine('Impossible de télécharger '.$file, false);
           }
           if ($unknownFiles)
               $this->_addLogLine('Fichiers inconnus : '.$unknownFiles, false);
       }
       if ($connection)
           ftp_close($connection);
       $this->_addLogLine('Déconnexion');
       $this->_writeLog();
   }




Je tiens à préciser qu'aver les modif que j'ai apporté dans mon fichier log figure maintenant :

2010-07-21 15:39:47 - Mise à jour des numéros de colis
2010-07-21 15:39:47 - Numéros de colis importés : 1


Mais bon je ne sais pas si mes modifications sont pertinentes ou non, merci de votre conseil ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...