Changeset 100751 in spip-zone


Ignore:
Timestamp:
Nov 29, 2016, 12:14:22 PM (3 years ago)
Author:
kent1@…
Message:

PSR

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/archives/inc/archives.php

    r95301 r100751  
    1818class SpipArchives
    1919{
    20     /** @var integer Dernier code d'erreur */
    21     private $codeErreur;
     20        /** @var integer Dernier code d'erreur */
     21        private $codeErreur;
    2222
    23     /** @var string Dernier message d'erreur */
    24     private $messageErreur;
     23        /** @var string Dernier message d'erreur */
     24        private $messageErreur;
    2525
    26     /** @var array Mode de compression connus */
    27     private $compressionsConnues = array('zip');
     26        /** @var array Mode de compression connus */
     27        private $compressionsConnues = array('zip');
    2828
    29     /** @var string Mode de compression si l'extension du fichier n'est pas explicite */
    30     private $modeCompression;
     29        /** @var string Mode de compression si l'extension du fichier n'est pas explicite */
     30        private $modeCompression;
    3131
    32     /** @var string Chemin vers le fichier d'archives */
    33     private $fichierArchive;
     32        /** @var string Chemin vers le fichier d'archives */
     33        private $fichierArchive;
    3434
    35     /** @var boolean true si l'archive est en lecture seule */
    36     private $lectureSeule = true;
     35        /** @var boolean true si l'archive est en lecture seule */
     36        private $lectureSeule = true;
    3737
    38     /** @var array Liste des erreurs possibles */
    39     private $erreurs = array(
    40         0 => 'OK',
    41         1 => 'erreur_inconnue',
    42         2 => 'extension_inconnue',
    43         3 => 'fichier_absent',
    44         4 => 'fichier_lecture_seule',
    45         5 => 'destination_inaccessible',
    46     );
     38        /** @var array Liste des erreurs possibles */
     39        private $erreurs = array(
     40                0 => 'OK',
     41                1 => 'erreur_inconnue',
     42                2 => 'extension_inconnue',
     43                3 => 'fichier_absent',
     44                4 => 'fichier_lecture_seule',
     45                5 => 'destination_inaccessible',
     46        );
    4747
    48     /**
    49      * Renvoyer le dernier code d'erreur.
    50      *
    51      * @return integer Dernier code d'erreur
    52      */
    53     public function erreur()
    54     {
    55         $code = in_array($this->codeErreur, array_keys($this->erreurs)) ? $this->codeErreur : 1;
     48        /**
     49         * Renvoyer le dernier code d'erreur.
     50         *
     51         * @return integer Dernier code d'erreur
     52         */
     53        public function erreur() {
     54                $code = in_array($this->codeErreur, array_keys($this->erreurs)) ? $this->codeErreur : 1;
    5655
    57         $this->codeErreur = $code;
    58         $this->messageErreur = 'archives:'.$this->erreurs[$code];
     56                $this->codeErreur = $code;
     57                $this->messageErreur = 'archives:'.$this->erreurs[$code];
    5958
    60         return $code;
    61     }
     59                return $code;
     60        }
    6261
    63     /**
    64      * Renvoyer le dernier message d'erreur.
    65      *
    66      * @return string Dernier message d'erreur
    67      */
    68     public function message()
    69     {
    70         return $this->messageErreur;
    71     }
     62        /**
     63         * Renvoyer le dernier message d'erreur.
     64         *
     65         * @return string Dernier message d'erreur
     66         */
     67        public function message() {
     68                return $this->messageErreur;
     69        }
    7270
    73     /**
    74      * Indiquer le détail du contenu de l'archive.
    75      *
    76      * @return array détail du contenu de l'archive
    77      */
    78     public function informer()
    79     {
    80         return array(
    81             'proprietes' => array(),
    82             'fichiers' => array()
    83         );
    84     }
     71        /**
     72         * Indiquer le détail du contenu de l'archive.
     73         *
     74         * @return array détail du contenu de l'archive
     75         */
     76        public function informer() {
     77                return array(
     78                        'proprietes' => array(),
     79                        'fichiers' => array()
     80                );
     81        }
    8582
    86     /**
    87      * Extraire tout ou partie des fichiers de l'archive vers une destination.
    88      *
    89      * @param  string  $destination Chemin du répertoire d'extraction
    90      * @param  array   $fichiers    Liste des fichiers à extraire
    91      *
    92      * @return boolean              Succès de l'opération
    93      */
    94     public function deballer($destination = '', array $fichiers = array())
    95     {
    96         if ($this->codeErreur !== 0) {
    97             return false;
    98         }
     83        /**
     84         * Extraire tout ou partie des fichiers de l'archive vers une destination.
     85         *
     86         * @param  string  $destination Chemin du répertoire d'extraction
     87         * @param  array   $fichiers    Liste des fichiers à extraire
     88         *
     89         * @return boolean                        Succès de l'opération
     90         */
     91        public function deballer($destination = '', array $fichiers = array()) {
     92                if ($this->codeErreur !== 0) {
     93                        return false;
     94                }
    9995
    100         if (!(is_dir($destination) and is_writable($destination))) {
    101             $this->codeErreur = 5;
    102             return false;
    103         }
     96                if (!(is_dir($destination) and is_writable($destination))) {
     97                        $this->codeErreur = 5;
     98                        return false;
     99                }
    104100
    105         $this->codeErreur = 0;
    106         return true;
    107     }
     101                $this->codeErreur = 0;
     102                return true;
     103        }
    108104
    109     /**
    110      * Créer ou modifier des fichiers dans le fichier d'archive.
    111      *
    112      * @param  array   $fichiers Liste des fichiers à ajouter ou modifier
    113      *
    114      * @return boolean           Succès de l'opération
    115      */
    116     public function emballer(array $fichiers = array())
    117     {
    118         if ($this->lectureSeule) {
    119             $this->codeErreur = 4;
    120             return false;
    121         }
     105        /**
     106         * Créer ou modifier des fichiers dans le fichier d'archive.
     107         *
     108         * @param  array   $fichiers Liste des fichiers à ajouter ou modifier
     109         *
     110         * @return boolean                 Succès de l'opération
     111         */
     112        public function emballer(array $fichiers = array()) {
     113                if ($this->lectureSeule) {
     114                        $this->codeErreur = 4;
     115                        return false;
     116                }
    122117
    123         $this->codeErreur = 0;
    124         return true;
    125     }
     118                $this->codeErreur = 0;
     119                return true;
     120        }
    126121
    127     /**
    128      * Retirer une liste de fichiers dans le fichier d'archive.
    129      *
    130      * @param  array   $fichiers Liste des fichiers à retirer
    131      *
    132      * @return boolean           Succès de l'opération
    133      */
    134     public function retirer(array $fichiers = array())
    135     {
    136         if ($this->lectureSeule) {
    137             $this->codeErreur = 4;
    138             return false;
    139         }
     122        /**
     123         * Retirer une liste de fichiers dans le fichier d'archive.
     124         *
     125         * @param  array   $fichiers Liste des fichiers à retirer
     126         *
     127         * @return boolean                 Succès de l'opération
     128         */
     129        public function retirer(array $fichiers = array()) {
     130                if ($this->lectureSeule) {
     131                        $this->codeErreur = 4;
     132                        return false;
     133                }
    140134
    141         $this->codeErreur = 0;
    142         return true;
    143     }
     135                $this->codeErreur = 0;
     136                return true;
     137        }
    144138
    145     /**
    146      * Constructeur de base.
    147      *
    148      * @param string $fichierArchive  Chemin vers le fichier d'archives
    149      * @param string $modeCompression Mode de compression si l'extension du fichier n'est pas explicite
    150      */
    151     public function __construct($fichierArchive, $modeCompression = '')
    152     {
    153         $this->codeErreur = 0;
     139        /**
     140         * Constructeur de base.
     141         *
     142         * @param string $fichierArchive  Chemin vers le fichier d'archives
     143         * @param string $modeCompression Mode de compression si l'extension du fichier n'est pas explicite
     144         */
     145        public function __construct($fichierArchive, $modeCompression = '') {
     146                $this->codeErreur = 0;
    154147
    155         if ('' === $modeCompression) {
    156             $modeCompression = preg_replace(',.+\.([^.]+)$,', '$1', $fichierArchive);
    157         }
     148                if ('' === $modeCompression) {
     149                        $modeCompression = preg_replace(',.+\.([^.]+)$,', '$1', $fichierArchive);
     150                }
    158151
    159         $modeCompression = strtolower($modeCompression);
    160         if (!in_array($modeCompression, $this->compressionsConnues)) {
    161             $this->codeErreur = 2;
    162         } elseif (!file_exists($fichierArchive)) {
    163             $this->codeErreur = 3;
     152                $modeCompression = strtolower($modeCompression);
     153                if (!in_array($modeCompression, $this->compressionsConnues)) {
     154                        $this->codeErreur = 2;
     155                } elseif (!file_exists($fichierArchive)) {
     156                        $this->codeErreur = 3;
    164157
    165             $repertoireArchive = dirname($fichierArchive);
    166             $this->lectureSeule = !(is_dir($repertoireArchive) and is_writable($repertoireArchive));
    167         } else {
    168             $this->lectureSeule = !is_writable($fichierArchive);
    169         }
     158                        $repertoireArchive = dirname($fichierArchive);
     159                        $this->lectureSeule = !(is_dir($repertoireArchive) and is_writable($repertoireArchive));
     160                } else {
     161                        $this->lectureSeule = !is_writable($fichierArchive);
     162                }
    170163
    171         $this->modeCompression = $modeCompression;
    172         $this->fichierArchive = $fichierArchive;
    173     }
     164                $this->modeCompression = $modeCompression;
     165                $this->fichierArchive = $fichierArchive;
     166        }
    174167
    175     /**
    176      * Indique si l'archive est accessible en ecriture ou pas.
    177      *
    178      * @return boolean true si l'archive est en lecture seule
    179      */
    180     public function getLectureSeule()
    181     {
    182         return $this->lectureSeule;
    183     }
     168        /**
     169         * Indique si l'archive est accessible en ecriture ou pas.
     170         *
     171         * @return boolean true si l'archive est en lecture seule
     172         */
     173        public function getLectureSeule() {
     174                return $this->lectureSeule;
     175        }
    184176}
Note: See TracChangeset for help on using the changeset viewer.