Changeset 101153 in spip-zone


Ignore:
Timestamp:
Dec 17, 2016, 12:12:56 PM (3 years ago)
Author:
maieul@…
Message:

vérifier correctement le respect du caractère obligatoire d'un envoi de fichier

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/inc/saisies.php

    r101059 r101153  
    205205
    206206                // Cas de la saisie 'fichiers':
    207                 // la valeur est le contenu de $_FILES[$champ];
     207                // la valeur est calcul en fonction de l'erreur contenu dans $_FILES. Idéalement il faudrait vérifier de mani
    208208                if ($saisie['saisie'] == 'fichiers') {
    209                         $valeur = $_FILES[$champ];
     209                        $valeur = null; //On considère que par défaut on a envoyé aucun fichiers
     210                        foreach ($_FILES[$champ]['error'] as $err) {
     211                                if ($err != 4) { //Si un seul fichier a été envoyé, même avec une erreur, on considère que le critère obligatoir est rempli. Il faudrait que verifier/fichiers.php vérifier les autres types d'erreurs. Voir http://php.net/manual/fr/features.file-upload.errors.php
     212                                        $valeur = True;
     213                                        break;
     214                                }
     215                        }
    210216                } else { // tout type de saisie, sauf fichiers
    211217                        // Si le nom du champ est un tableau indexé, il faut parser !
     
    226232                        $valeur = array_filter($valeur);
    227233                }
    228 
    229234                // On regarde d'abord si le champ est obligatoire
    230235                if ($obligatoire
    231236                        and $obligatoire != 'non'
    232237                        and (
    233                                 ($file and !$_FILES[$champ]['name'])
     238                                ($file and $valeur==null)
    234239                                or (!$file and (
    235240                                        is_null($valeur)
  • _plugins_/saisies/trunk/paquet.xml

    r101129 r101153  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="2.14.4"
     4        version="2.14.5"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.