Commit 1110b1d3 authored by Guillaume Perréal's avatar Guillaume Perréal
Browse files

Mise à jour des docblocks.

Showing with 210 additions and 70 deletions
+210 -70
<?php <?php
/**
/*
* Copyright (C) 2015 IRSTEA * Copyright (C) 2015 IRSTEA
* All rights reserved. * All rights reserved.
*
* @package irstea/file-upload-bundle
* @author Guillaume Perréal <guillaume.perreal@irstea.fr>
*/ */
namespace Irstea\FileUploadBundle\Model; namespace Irstea\FileUploadBundle\Model;
/** /**
* Description of FileManager * Gestionnaire de fichier uploadé.
*
* Cette interface est le point d'entrée obligatoire pour toute manipulation de fichiers uploadés.
*/ */
interface FileManagerInterface interface FileManagerInterface
{ {les
/** /** Retrouve un fichier uploadé par son identifiant.
*
* @param string $id Identifiant du fichier.
* *
* @param string $id * @return UploadedFileInterfaceǹull Le fichier retrouvé ou null si aucun fichier ne correspond.
* @return UploadedFileInterface *
* @api
*/ */
public function get($id); public function get($id);
/** /** Crée un nouveau fichier uploadé, vide.
* @param string $name *
* @param int $size * Le fichier est créé à l'état UploadedFileInterface::ETAT_EN_COURS.
* @param string $mimeType *
* @param int $lastModified * @param string $name Nom original du fichier.
* @return UploadedFileInterface * @param int $size Taille prévisionnelle, en octets.
* @param string $mimeType Mime TYPE provisoire.
* @param int $lastModified Timestamp de la date de dernière modification.
*
* @return UploadedFileInterface Le fichier créé.
*
* @api
*/ */
public function create($name, $size, $mimeType, $lastModified = null, $createdBy = null, $createdFrom = null); public function create($name, $size, $mimeType, $lastModified = null, $createdBy = null, $createdFrom = null);
/** /** Supprime un fichier uploadé.
* @param UploadedFileInterface $file *
* *Attention :* le fichier est supprimé du disque !
*
* @param UploadedFileInterface $file Fichier à supprimer.
*
* @api
*/ */
public function delete(UploadedFileInterface $file); public function delete(UploadedFileInterface $file);
/** /** Indique que l'upload d'un fichier est terminé.
* @param UploadedFileInterface $file *
* Cela passe le fichier à l'état UploadedFileInterface::ORPHELIN et provoque la mise-à-jour de la taille, du
* type MIME et de la somme de contrôle.
*
* @param UploadedFileInterface $file Fichier terminé.
*
* @internal
*/ */
public function completed(UploadedFileInterface $file); public function completed(UploadedFileInterface $file);
/** Retourne une liste de fichiers invalides à supprimer.
/** Retourne un tableau de fichiers à nettoyer. *
* Ce sont des fichiers partiels ou orphelin qui n'ont pas été modifiés depuis plus d'une heure.
* *
* @return UploadedFileInterface[] * @return UploadedFileInterface[]
*
* @internal
*/ */
public function findGarbage(); public function findGarbage();
/** Retourne des fichiers à valider. /** Retourne la liste des fichiers à valider.
* *
* @return UploadedFileInterface[] * @return UploadedFileInterface[]
*
* @internal
*/ */
public function findFilesToValidate(); public function findFilesToValidate();
} }
...@@ -3,29 +3,71 @@ ...@@ -3,29 +3,71 @@
/* /*
* Copyright (C) 2015 IRSTEA * Copyright (C) 2015 IRSTEA
* All rights reserved. * All rights reserved.
*
* @package irstea/file-upload-bundle
* @author Guillaume Perréal <guillaume.perreal@irstea.fr>*
*/ */
namespace Irstea\FileUploadBundle\Model; namespace Irstea\FileUploadBundle\Model;
use DateTime; use DateTime;
/** /** Un fichier uploadé.
* *
* @author Guillaume Perréal <guillaume.perreal@irstea.fr>
*/ */
interface UploadedFileInterface interface UploadedFileInterface
{ {
/** Fichier en cours d'upload.
*
* @var string
*/
const ETAT_EN_COURS = 'en-cours'; const ETAT_EN_COURS = 'en-cours';
/** Fichier orphelin.
*
* Fichier qui n'a pas encore été associé à un objet métier.
*
* @var string
*/
const ETAT_ORPHELIN = 'orphelin'; const ETAT_ORPHELIN = 'orphelin';
/** Fichier normal.
*
* Fichier associé à un objet métier.
*
* @var string
*/
const ETAT_NORMAL = 'normal'; const ETAT_NORMAL = 'normal';
/** Fichier corrompu.
*
* Fichier dont le contenu disque ne correspond pas à la somme de contrôle enregistreé en base de données.
*
* @var string
*/
const ETAT_CORROMPU = 'corrompu'; const ETAT_CORROMPU = 'corrompu';
/** Fichier manquant.
*
* Fichier existant en base de données mais introuvable sur disque.
*
* @var string
*/
const ETAT_MANQUANT = 'manquant'; const ETAT_MANQUANT = 'manquant';
/** Fichier rejeté.
*
* Fichier uploadé mais rejeté par un listener (par exemple l'antivirus).
*
* @var string
*/
const ETAT_REJETE = 'rejete'; const ETAT_REJETE = 'rejete';
/** /** Retourne l'identifiant du fichier.
* Get id
* *
* @return integer * @return string
*
* @api
*/ */
public function getId(); public function getId();
...@@ -34,46 +76,64 @@ interface UploadedFileInterface ...@@ -34,46 +76,64 @@ interface UploadedFileInterface
* *
* @param string $displayName * @param string $displayName
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setDisplayName($displayName); public function setDisplayName($displayName);
/** /** Retourne le nom original du fichier (c-à-d sur le poste de l'utilisateur ayant fait l'upload.)
* Get originalFilename
* *
* @return string * @return string
*
* @api
*/ */
public function getDisplayName(); public function getDisplayName();
/** /**
* @param string $description * @param string $description
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setDescription($description = null); public function setDescription($description = null);
/** /** Retourne la description du fichier.
*
* @return string * @return string
*
* @api
*/ */
public function getDescription(); public function getDescription();
/** /** Retourne le chemin du fichier dans le filesystem.
* Get path
* *
* @return string * @return string
*
* @api
*/ */
public function getPath(); public function getPath();
/** /** Remplace le chemin du fichier dans le filesystem.
* Set path *
* Cela devrait causer un déplacement/renommage du fichier.
* *
* @param string $path * @param string $path
*
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setPath($path); public function setPath($path);
/** Change le chemin d'un fichier sans changer le nom. /** Change le chemin du fichier sans changer le nom.
* *
* @param string $newDir Nouveau répertoire * @param string $newDir Nouveau répertoire
*
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @uses UploadedFileInterface::setPath
*
* @api
*/ */
public function moveTo($newDir); public function moveTo($newDir);
...@@ -82,13 +142,16 @@ interface UploadedFileInterface ...@@ -82,13 +142,16 @@ interface UploadedFileInterface
* *
* @param string $mimeType * @param string $mimeType
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setMimeType($mimeType); public function setMimeType($mimeType);
/** /** Retourne le type MIME enregistré.
* Get mimeType
* *
* @return string * @return string
*
* @api
*/ */
public function getMimeType(); public function getMimeType();
...@@ -97,13 +160,16 @@ interface UploadedFileInterface ...@@ -97,13 +160,16 @@ interface UploadedFileInterface
* *
* @param integer $size * @param integer $size
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setSize($size); public function setSize($size);
/** /** Retourne la taille enregistrée, en octets.
* Get size
* *
* @return integer * @return integer
*
* @api
*/ */
public function getSize(); public function getSize();
...@@ -112,135 +178,180 @@ interface UploadedFileInterface ...@@ -112,135 +178,180 @@ interface UploadedFileInterface
* *
* @param string $checksum * @param string $checksum
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setChecksum($checksum); public function setChecksum($checksum);
/** /** Retourne la somme de contrôle enregistrée.
* Get checksum
* *
* @return string * @return string
*
* @api
*/ */
public function getChecksum(); public function getChecksum();
/** /** Modifie l'état courant du fichier.
* Set etat
* *
* @param string $etat * @param string $etat
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setEtat($etat); public function setEtat($etat);
/** /** Retourne l'état courant du fichier.
* Get etat
* *
* @return string * @return string
*
* @api
*/ */
public function getEtat(); public function getEtat();
/** /** Retourne la date de création du fichier.
* Get createdAt
* *
* @return DateTime * @return DateTime
*
* @api
*/ */
public function getCreatedAt(); public function getCreatedAt();
/** /** Retourne le nom de l'utilisateur ayant uploadé le fichier.
* Get createdBy
* *
* @return string * @return string
*
* @api
*/ */
public function getCreatedBy(); public function getCreatedBy();
/** /** Retourne l'adresse IP du client ayant uploadé le fichier.
* Get createdFrom
* *
* @return string * @return string
*
* @api
*/ */
public function getCreatedFrom(); public function getCreatedFrom();
/** /** Remplace les métadonnées du fichier.
* Set metadata *
* @param array $metadata Les nouvelles métadonnées.
* *
* @param array $metadata
* @return UploadedFileInterface * @return UploadedFileInterface
*
* @api
*/ */
public function setMetadata(array $metadata); public function setMetadata(array $metadata);
/** /** Retourne les métadonnées du fichier.
* Get metadata
* *
* @return array * @return array
*
* @api
*/ */
public function getMetadata(); public function getMetadata();
/** /** Retourne une représentation texte du fichier.
*
* @return string * @return string
*
* @api
*/ */
public function __toString(); public function __toString();
/** /** Vérifie la validité du fichier.
* *
* Cela consiste à vérifier que le fichier existe dans le filesystem, et que la taille et la somme de contrôle
* correspondent. En cas d'erreur, l'état du fichier est modifié en conséquence.
*
* @uses UploadedFileInterface::setEtat
*
* @api
*/ */
public function validate(); public function validate();
/** /** Détermine si le fichier est dans un état "valide".
* *
* @return boolean * @return boolean
*
* @api
*/ */
public function isValid(); public function isValid();
/** /** Détermine si le fichier est orphelin.
* *
* @return boolean * @return boolean
*
* @api
*/ */
public function isOrphelin(); public function isOrphelin();
/** Retourne la date de dernière modification dans le filesystem. /** Retourne la date de dernière modification dans le filesystem.
* *
* @return DateTime * @return DateTime
*
* @api
*/ */
public function getLastModified(); public function getLastModified();
/** Retourne le contenu du fichier. /** Retourne le contenu du fichier.
* *
* @return string Une chaîne si $asResource vaut faux, * @return string Une chaîne.
*
* @api
*/ */
public function getContent(); public function getContent();
/** Ecrit dans le fichier. /** Remplace le contenu du fichier.
* *
* @param string $content * @param string $content
*
* @api
*/ */
public function setContent($content); public function setContent($content);
/** Ecrit dans le fichier depuis un descripteur de fichier. /** Ecrit dans le fichier depuis un descripteur de fichier.
* *
* @param resource $source * @param resource $source Flux d'entrée à lire.
* @param int $maxlen * @param int $maxlen Nombre maximum d'octets à lire.
* @param int $writeOffset * @param int $writeOffset Offset depuis le début du fichier.
* @return int *
* @return int Nombre d'octets écrits.
*
* @api
*/ */
public function copyFrom($source, $maxlen = -1, $writeOffset = 0); public function copyFrom($source, $maxlen = -1, $writeOffset = 0);
/** Envoie le contenu du fichier dans un descripteur de fichier. /** Envoie le contenu du fichier dans un descripteur de fichier.
* *
* @param resource $dest * @param resource $dest Flux de sortie.
* @param int $maxlen * @param int $maxlen Nombre maximum d'octets à lire.
* @param int $readOffset * @param int $readOffset Offset depuis le début du fichier.
* @return int *
* @return int Nombre d'octets lus.
*
* @api
*/ */
public function copyTo($dest, $maxlen = PHP_INT_MAX, $readOffset = 0); public function copyTo($dest, $maxlen = PHP_INT_MAX, $readOffset = 0);
/** Retourne un nom de fichier local pour ce fichier. /** Retourne un nom de fichier local pour ce fichier.
* *
* Ce peut-être un fichier temporaire qui sera supprimé à la fin de la requête ! * Ce peut-être un fichier temporaire qui sera supprimé à la fin de la requête.
* *
* @return string * @return string
*
* @api
*/ */
public function getLocalPath(); public function getLocalPath();
/** /** Retourne une représentation "tableau" des attributs du fichier uploadé.
*
* Utilisé comme sérialisation du pauvre.
*
* @todo Utiliser un vrai serializer.
*
* @return array * @return array
*
* @internal
*/ */
public function toArray(); public function toArray();
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment