Changeset 95565 in spip-zone


Ignore:
Timestamp:
Feb 27, 2016, 9:44:04 PM (4 years ago)
Author:
p@…
Message:

Rendre la saisies upload compatible avec l'option obligatoire

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/uploadhtml5/trunk/uploadhtml5_pipelines.php

    r95564 r95565  
    141141function uploadhtml5_formulaire_verifier($flux) {
    142142
    143         var_dump($flux);
     143        include_spip('inc/saisies');
     144
     145        // Est-ce que le formulaire soumis possède des saisies upload ?
     146        $form = $flux['args']['form'];
     147        // Ce n'est pas une faute de frappe
     148        // le pipeline renvoi les argument dans un double args
     149        $form_args = $flux['args']['args'];
     150        $saisies = saisies_chercher_formulaire($form, $form_args);
     151
     152        // Chercher si une saisie upload ce trouve dans le tableau
     153        $saisie = saisies_chercher($saisies, 'upload');
     154
     155        // Une saisie upload obligatoire a été trouvée,
     156        // il faut donc la vérifier
     157        if (isset($saisie['options']['obligatoire'])) {
     158
     159                // On commence par supprimer l'erreur générique.
     160                // Comme la dropzone n'est pas un <input> classique,
     161                // l'erreur générique sera toujours présente.
     162                unset($flux['data'][$saisie['options']['nom']]);
     163
     164                // On vérifie qu'il y a des documents dans la session
     165                include_spip('inc/saisie_upload');
     166                $documents = saisie_upload_get();
     167
     168                // Pas de document dans la session ?
     169                if (empty($documents['document'])) {
     170                        // Erreur !
     171                        $flux['data'][$saisie['options']['nom']] = _T('info_obligatoire');
     172                }
     173
     174                // On vérifie le nombre d'erreur pour savoir
     175                // s'il faut garder message_erreur
     176                if (count($flux['data']) == 1) {
     177                        // une seul erreur, c'est message_erreur qui est seul.
     178                        unset($flux['data']['message_erreur']);
     179                }
     180        }
    144181
    145182        return $flux;
Note: See TracChangeset for help on using the changeset viewer.