Changeset 68123 in spip-zone


Ignore:
Timestamp:
Dec 4, 2012, 2:41:28 PM (7 years ago)
Author:
kent1@…
Message:

On revient sur r66990 qui a été revert par r68098

Après déplacement du fichier dans IMG/, on regarde si on peut récupérer une taille du fichier, si on ne peut pas, c'est qu'il fait 0 octets et donc corrompu (ou problématique et inutile)

On ajoute cette vérification sur la génération du zip (au cas où)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.0/plugins/medias/action/ajouter_documents.php

    r68098 r68123  
    317317                if (!isset($row['autozip'])){
    318318                        $row['fichier'] = copier_document($row['extension'], $file['name'], $file['tmp_name']);
    319                         return $row;
     319                       
     320                        /**
     321                         * On vérifie que le fichier a une taille
     322                         * si non, on le supprime et on affiche une erreur
     323                         */
     324                        if($row['fichier'] && (!$taille = @intval(filesize(get_spip_doc($row['fichier']))))) {
     325                                spip_log ("Echec copie du fichier ".$file['tmp_name']." (taille de fichier indéfinie)");
     326                                spip_unlink(get_spip_doc($row['fichier']));
     327                                return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
     328                        }else
     329                                return $row;
    320330                }
    321331                // creer un zip comme demande
     
    356366                        $row['fichier']  = copier_document($row['extension'], $file['name'], $source);
    357367                        spip_unlink($source);
    358                         return $row;
     368                       
     369                        /**
     370                         * On vérifie que le fichier zip créé a une taille
     371                         * si non, on le supprime et on affiche une erreur
     372                         */
     373                        if($row['fichier'] && (!$taille = @intval(filesize(get_spip_doc($row['fichier']))))) {
     374                                spip_log ("Echec copie du fichier ".$file['tmp_name']." (taille de fichier indéfinie)");
     375                                spip_unlink(get_spip_doc($row['fichier']));
     376                                return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
     377                        }else
     378                                return $row;
    359379                }
    360380        }
Note: See TracChangeset for help on using the changeset viewer.