Voir les détails de l’anomalie

IdentifiantProjetCatégorieVisibilitéDernière mise à jour
0000225NOALYSSGeneralpublic2013-11-12 10:03
Rapporteurdanydb Affecté àdanydb  
PrioriténormaleSévéritémineurReproductibilitésans objet
État ferméRésolutioncorrigé 
Version ciblée5.5Résolue dans la version5.5 
Résumé0000225: Remplacer zip et unzip par fonctions php
DescriptionIl faudrait remplacer zip et unzip par des fonctions php.

Extraction d'un zip
======================
<?php
        $zip = new ZipArchive;
    $zip->open('teste.zip');
    $zip->extractTo('./');
    $zip->close();
        echo "Ok!";
?>

Ajout fichier à un zip
======================
<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>


Ajout d'un répertoire à un ZIP
===============================

class Zipper extends ZipArchive {
   
public function addDir($path) {
    print 'adding ' . $path . '
';
    $this->addEmptyDir($path);
    $nodes = glob($path . '/*');
    foreach ($nodes as $node) {
        print $node . '
';
        if (is_dir($node)) {
            $this->addDir($node);
        } else if (is_file($node)) {
            $this->addFile($node);
        }
    }
}
    


Pour windows (BITNAMI)
=======================
Dans le fichier c:\program files\Bitnami Wappstack\php\php.ini, il faut
décommenter
extension = php_zip.dll
BalisesAucune balise n’est attachée.
Pièces jointes
ac_common.php (20,069 octets)
class_document.php (35,909 octets)
Extension Noalyss

Activités

fidudjan

2011-02-18 09:43

rapporteur   ~0000436

Bonjour, j'ai attaché les deux fichiers modifiés.
le fichier commun pour la fonction de zip récursif addFolderToZip (je ne sais pas si c'est là que tu comptes le mettre)
Le module document (class_document.php / fonction Generate) pour la modification unzip/zip.
Un fichier patch.php qui regroupe les deux modifications.
Les modifs sont tagées par 0000225

1) En cas de modification, deux points a savoir. Le document ODS compressé doit avoir des "/" unix dans tous les cas sinon l'archive est donnée comme corrompue alors que tout est identique en apparence.

2) La méthode addEmptyDir de zipArchive doit être appelée avec un chemin sans le / a la fin sinon elle crée une répertoire vide dans l'archive qui est alors corrompue.

danydb

2011-02-18 11:40

administrateur   ~0000437

Merci, je vais regarder ça ce soir pour les intégrer au plus tôt

danydb

2011-02-18 22:36

administrateur   ~0000438

J'ai intégré dans le trunk, j'ai ajouté une classe objet pour Zip et modifier aussi la génération des bilans

danydb

2011-02-19 22:53

administrateur   ~0000439

Ajout de la class zip_extended + code pour compresser et decompresser dans la génération de documents

danydb

2013-05-06 20:57

administrateur   ~0001812

Fix committed to phpcompta branch. revision 4026
Date 2011-02-22 14:02:59
message task 0000225 : reset balance when exercice changed, NOT FINISHED
repository PhpCompta WebSVN
id 19691

danydb

2013-11-10 22:56

administrateur   ~0002152

Fix committed to /phpcompta/trunk/ branch. revision 4026
Date 2011-02-22 14:02:59
message task 0000225 : reset balance when exercice changed, NOT FINISHED
repository PhpCompta WebSVN
id 25803

danydb

2013-11-12 10:03

administrateur   ~0002238

reopened by websvn

Historique de l’anomalie

Date de modification Nom d’utilisateur Champ Changement
2011-02-15 21:41 danydb Nouvelle anomalie
2011-02-18 09:25 fidudjan Fichier ajouté: ac_common.php
2011-02-18 09:25 fidudjan Fichier ajouté: class_document.php
2011-02-18 09:43 fidudjan Note ajoutée: 0000436
2011-02-18 11:40 danydb Note ajoutée: 0000437
2011-02-18 14:45 danydb Affecté à => danydb
2011-02-18 14:45 danydb État nouveau => affecté
2011-02-18 22:36 danydb Note ajoutée: 0000438
2011-02-19 22:53 danydb Note ajoutée: 0000439
2011-02-19 22:53 danydb État affecté => résolu
2011-02-19 22:53 danydb Résolue dans la version => Next Release
2011-02-19 22:53 danydb Résolution ouvert => corrigé
2011-03-01 14:20 danydb Version ciblée => 5.5
2011-03-01 14:21 danydb Résolue dans la version Next Release => 5.5
2011-03-05 17:33 danydb État résolu => fermé
2013-05-06 20:57 danydb Source_changeset_attached => PhpCompta WebSVN phpcompta r4017
2013-05-06 20:57 danydb Source_changeset_attached => PhpCompta WebSVN phpcompta r4026
2013-05-06 20:57 danydb Note ajoutée: 0001812
2013-11-10 22:56 danydb Source_changeset_attached => PhpCompta WebSVN /phpcompta/trunk/ r4017
2013-11-10 22:56 danydb Source_changeset_attached => PhpCompta WebSVN /phpcompta/trunk/ r4026
2013-11-10 22:56 danydb Note ajoutée: 0002152
2013-11-10 22:56 danydb État fermé => confirmé
2013-11-12 10:03 danydb Note ajoutée: 0002238
2013-11-12 10:03 danydb État confirmé => fermé