[Top][All Lists]
[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 ;}