View Issue Details

IDProjectCategoryView StatusLast Update
0000225NOALYSSGeneralpublic2013-11-12 10:03
Reporterdanydb Assigned Todanydb  
PrioritynormaleSeveritymineurReproducibilitysans objet
Status ferméResolutioncorrigé 
Target Version5.5Fixed in Version5.5 
Summary0000225: 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
TagsNo tags attached.
Attached Files
ac_common.php (20,069 bytes)
class_document.php (35,909 bytes)
Extension Noalyss

Activities

fidudjan

2011-02-18 09:43

reporter   ~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

administrator   ~0000437

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

danydb

2011-02-18 22:36

administrator   ~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

administrator   ~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

administrator   ~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

administrator   ~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

administrator   ~0002238

reopened by websvn

Issue History

Date Modified Username Field Change
2011-02-15 21:41 danydb New Issue
2011-02-18 09:25 fidudjan File Added: ac_common.php
2011-02-18 09:25 fidudjan File Added: class_document.php
2011-02-18 09:43 fidudjan Note Added: 0000436
2011-02-18 11:40 danydb Note Added: 0000437
2011-02-18 14:45 danydb Assigned To => danydb
2011-02-18 14:45 danydb Status new => assigned
2011-02-18 22:36 danydb Note Added: 0000438
2011-02-19 22:53 danydb Note Added: 0000439
2011-02-19 22:53 danydb Status assigned => resolved
2011-02-19 22:53 danydb Fixed in Version => Next Release
2011-02-19 22:53 danydb Resolution open => fixed
2011-03-01 14:20 danydb Target Version => 5.5
2011-03-01 14:21 danydb Fixed in Version Next Release => 5.5
2011-03-05 17:33 danydb Status resolved => closed
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 Added: 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 Added: 0002152
2013-11-10 22:56 danydb Status closed => confirmed
2013-11-12 10:03 danydb Note Added: 0002238
2013-11-12 10:03 danydb Status confirmed => closed