Browse Source

On sort le commentaire de emballer() pour lui créer une api commenter().

On en profite pour renommer les fonctions de base setComment et getComment.
Par contre, utilisation du mode retrait pour l'ouverture de l'archive qui devrait plutôt être renommé en modification pour couvrir à la fois le retrait et le commentaire.
pull/4422/head
Eric Lupinacci 10 months ago
parent
commit
f1477db072
  1. 7
      src/AbstractArchiver.php
  2. 4
      src/ArchiveInterface.php
  3. 11
      src/ArchiverInterface.php
  4. 34
      src/SpipArchiver.php
  5. 4
      src/TarArchive.php
  6. 6
      src/ZipArchive.php

7
src/AbstractArchiver.php

@ -98,13 +98,18 @@ abstract class AbstractArchiver implements ArchiverInterface
/**
* {@inheritDoc}
*/
abstract public function emballer(array $fichiers = [], ?string $racine = null, ?string $meta = null): bool;
abstract public function emballer(array $fichiers = [], ?string $racine = null): bool;
/**
* {@inheritDoc}
*/
abstract public function retirer(array $fichiers = []): bool;
/**
* {@inheritDoc}
*/
abstract public function commenter(string $texte = ''): bool;
/**
* Définir la dernière erreur produite.
*

4
src/ArchiveInterface.php

@ -54,10 +54,10 @@ interface ArchiveInterface
/**
* Associer un commentaire à l'archive
*/
public function setMeta(string $meta): bool;
public function setComment(string $meta): bool;
/**
* Lire le commentaire associé à l'archive si il existe
*/
public function getMeta();
public function getComment();
}

11
src/ArchiverInterface.php

@ -54,7 +54,7 @@ interface ArchiverInterface
*
* @return bool Succès de l'opération
*/
public function emballer(array $fichiers = [], ?string $racine = null, ?string $meta = null): bool;
public function emballer(array $fichiers = [], ?string $racine = null): bool;
/**
* Retirer une liste de fichiers dans le fichier d'archive.
@ -64,4 +64,13 @@ interface ArchiverInterface
* @return bool Succès de l'opération
*/
public function retirer(array $fichiers = []): bool;
/**
* Associer un commentaire à l'archive.
*
* @param string $texte Texte du commentaire à associer à l'archive
*
* @return bool Succès de l'opération
*/
public function commenter(string $texte = ''): bool;
}

34
src/SpipArchiver.php

@ -40,7 +40,7 @@ class SpipArchiver extends AbstractArchiver implements ArchiverInterface
$liste['fichiers'] = $archive->list();
$liste['proprietes']['racine'] = $this->trouverRacine(array_column($liste['fichiers'], 'filename'));
$liste['meta'] = $archive->getMeta();
$liste['meta'] = $archive->getComment();
$archive->close();
}
@ -112,15 +112,6 @@ class SpipArchiver extends AbstractArchiver implements ArchiverInterface
}
$retour = $archive->compress($source, $fichiers);
// Ajout d'un commentaire si spécifié
if (
$retour
and !is_null($meta)
) {
$archive->setMeta($meta);
}
$archive->close();
}
$this->setErreur(intval(!$retour));
@ -176,4 +167,27 @@ class SpipArchiver extends AbstractArchiver implements ArchiverInterface
return false;
}
/**
* {@inheritDoc}
*/
public function commenter(string $texte = ''): bool {
$retour = false;
if ($texte) {
$archive = $this->getArchive();
if ($archive) {
if (1 === $archive->open($this->fichier_archive, 'retrait')) {
$archive->setComment($texte);
$archive->close();
}
$this->setErreur(0);
return true;
}
}
return $retour;
}
}

4
src/TarArchive.php

@ -103,14 +103,14 @@ class TarArchive implements ArchiveInterface
/**
* {@inheritDoc}
*/
public function setMeta(string $meta): bool {
public function setComment(string $meta): bool {
return true;
}
/**
* {@inheritDoc}
*/
public function getMeta() {
public function getComment() {
return '';
}
}

6
src/ZipArchive.php

@ -93,14 +93,14 @@ class ZipArchive implements ArchiveInterface
/**
* {@inheritDoc}
*/
public function setMeta(string $meta): bool {
return $this->zip->setArchiveComment($meta);
public function setComment(string $text): bool {
return $this->zip->setArchiveComment($text);
}
/**
* {@inheritDoc}
*/
public function getMeta() {
public function getComment() {
return $this->zip->getArchiveComment();
}
}

Loading…
Cancel
Save