phpcompta-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Phpcompta-support] bug à l'import de s écritures d'ouverture v2.0.


From: Stan Pinte
Subject: Re: [Phpcompta-support] bug à l'import de s écritures d'ouverture v2.0.6
Date: Fri, 15 Sep 2006 10:46:11 +0200
User-agent: Thunderbird 1.5.0.5 (Windows/20060719)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

en fait le problème n'est pas du tout lié aux slashes, etc...la
fonction tempnam de php gère cela de manière cross-platform sans
problème...

le problème était lié au test de la première ligne
"OUVERTURE"...ci-joint un patch sur la 2.0.6 que je te soumets...

dis-moi ce que tu en penses.

Stan.

Dany De Bontridder a écrit :
> Stan Pinte writes:
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Stan Pinte a écrit
>> :
>>> Dany De Bontridder a écrit :
>>>>> Je ne sais pas je dois vérifier, en revanche, ce qui
>>>>> m'inquiète le plus ce sont les 2 centimes de différence :-(
>>>>> Ah oui, je sais : c'est l'import qui se passe mal : on
>>>>> emploie des slash unix et non pas des backslash windows
>>>>> pour les répertoires, il faudrait les retrouver et les
>>>>> remplacer par DIRECTORY_SEPARATOR (variable prédéfine de
>>>>> PHP)
>>>
>>> en fait c'est plus que cela, il faut aussi se débarrasser de
>>> toutes les références absolues vers tmp...pas présent
>>> forcéement sur windows.
>> en fait normalement, la fonction tempnam devrait se charger de
>> créér un fichier ailleurs que dans /tmp, si celui-ci n'existe
>> pas.
>>> tempnam <http://www.manuelphp.com/php/function.tempnam.php>
>>> crée un fichier temporaire unique dans le dossier dir . Si le
>>> dossier n'existe pas, tempnam
>>> <http://www.manuelphp.com/php/function.tempnam.php> va générer
>>> un nom de fichier dans le dossier temporaire du système. Le nom
>>> sera préfixé par le paramètre prefix .
> Fais tout de même attention si tu changes qq chose: la génération
> des documents doit encore fonctionner après : il y a un upload vers
>  un répertoire temporaire puis unzip, changement et re-zip. Analyse
>  bien le code avant de le changer (voir la doc générée) C'est une
> partie vraiment délicate @+; D.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFCmhT/PmuubxPWAIRAqiJAJ0QrL3fSAnc7UHF+NeV/mIdeC8nvQCggIeC
Wg8zTQ6nTIUUQTBTbLQiOQ4=
=o5va
-----END PGP SIGNATURE-----

--- ../phpcompta-dev/html/ecrit_ouv.php 2006-08-04 09:18:43.669814400 +0200
+++ html/ecrit_ouv.php  2006-09-15 10:41:55.370460800 +0200
@@ -110,6 +110,7 @@
     if ( strlen ( $_FILES['import_file']['tmp_name']) != 0 ) {
       if ( move_uploaded_file($_FILES['import_file']['tmp_name'],$new_name) ) {
        // upload succeed
+  //echo "Opening: " . $new_name . "\r";
        $h_file=fopen($new_name,'r') ;
        // test if the file is opened
        if ( $h_file == false) { echo 'Je ne peux ouvrir pas ce 
fichier';exit(-1);}
@@ -120,7 +121,9 @@
 
          $line=fgets($h_file);
          // check if the first line contains the signature
-         if ( $valid  ) {
+    //echo "Testing line: [" . $line . "]</br>";
+    if ( $valid  ) 
+    {
            // skip blank line
            if (strlen (trim($line)) == 0 ) continue;
            // put the line into several array with the same index
@@ -128,9 +131,14 @@
            $asign[$idx]=$sign; $aposte[$idx]=$poste;$aamount[$idx]=$amount;
            $alabel[$idx]=$label;
            $idx++;
-           }
-         $valid=(($line=="OUVERTURE\n" && $valid==false) || $valid)?true:false;
-         
+         }    
+    else
+    {
+      //$valid=(($line=="OUVERTURE\n" && $valid==false) || $valid)?true:false;
+      $valid = strpos($line, "OUVERTURE") !== false;     
+      //echo "valid: [" . $valid . "]\r";
+      //echo "strpos: [" . strpos($line, "OUVERTURE") . "]\r";      
+    }
        } // read the file
        // if valid is still false then there is nothing to do
        if ( ! $valid) { echo 'Aucun enregistrement valide'; return ;}

reply via email to

[Prev in Thread] Current Thread [Next in Thread]