Changeset 111027 in spip-zone


Ignore:
Timestamp:
Jul 7, 2018, 8:42:11 AM (17 months ago)
Author:
rastapopoulos@…
Message:

Je ne sais pas pourquoi ya ce foreach avec dedans le commentaire Si un seul fichier envoyé, alors que justement quand ya qu'un seul fichier ça ne PEUT PAS être un tableau. Donc il faut un test pour vérifier le cas où c'est pas un tableau, sinon bah ça plante. Par ailleurs ya déjà une création de booléen plus haut pour savoir si c'est un fichier ou pas, en prenant en compte aussi les input file basiques, donc il faut l'utiliser, pas juste tester la saisies fichiers.

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

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

    r109449 r111027  
    193193               
    194194                // Cas de la saisie 'fichiers':
    195                 if ($saisie['saisie'] == 'fichiers') {
     195                if ($file) {
    196196                        $infos_fichiers_precedents = _request('cvtupload_fichiers_precedents');
    197197                        if (isset($infos_fichiers_precedents[$champ])) { // si on a déjà envoyé des infos avants
    198198                                $valeur = $_FILES[$champ]; // on ne met pas true, car il faudra aussi vérifier les nouveaux fichiers du même champ qui viennent d'être envoyés.
    199                         } elseif (isset($_FILES[$champ]['error'])) {//si jamais on a déja envoyé quelque chose dans le précédent envoi = ok
     199                        }
     200                        elseif (isset($_FILES[$champ]['error'])) {//si jamais on a déja envoyé quelque chose dans le précédent envoi = ok
    200201                                $valeur = null; //On considère que par défaut on a envoyé aucun fichiers
    201                                 foreach ($_FILES[$champ]['error'] as $err) {
    202                                         if ($err != 4) {
    203                                                 //Si un seul fichier a été envoyé, même avec une erreur,
    204                                                 // on considère que le critère obligatoire est rempli.
    205                                                 // Il faudrait que verifier/fichiers.php vérifier les autres types d'erreurs.
    206                                                 // Voir http://php.net/manual/fr/features.file-upload.errors.php
    207                                                 $valeur = $_FILES[$champ];
    208                                                 break;
     202                               
     203                                // Si c'est un champ unique
     204                                if (!is_array($_FILES[$champ]['error']) and $_FILES[$champ]['error'] != 4) {
     205                                        $valeur = $_FILES[$champ];
     206                                }
     207                                elseif (is_array($_FILES[$champ]['error'])) {
     208                                        foreach ($_FILES[$champ]['error'] as $err) {
     209                                                if ($err != 4) {
     210                                                        //Si un seul fichier a été envoyé, même avec une erreur,
     211                                                        // on considère que le critère obligatoire est rempli.
     212                                                        // Il faudrait que verifier/fichiers.php vérifier les autres types d'erreurs.
     213                                                        // Voir http://php.net/manual/fr/features.file-upload.errors.php
     214                                                        $valeur = $_FILES[$champ];
     215                                                        break;
     216                                                }
    209217                                        }
    210218                                }
    211                         } elseif (!isset($_FILES[$champ])) {
     219                        }
     220                        elseif (!isset($_FILES[$champ])) {
    212221                                $valeur = null;
    213222                        }
  • _plugins_/saisies/trunk/paquet.xml

    r111014 r111027  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="2.26.2"
     4        version="2.26.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.