Changeset 45972 in spip-zone


Ignore:
Timestamp:
Mar 26, 2011, 9:37:34 PM (10 years ago)
Author:
jluc@…
Message:

Affichage d'un message d'erreur générique avant le formulaire en cas d'erreur (utile surtout pour les grrrrands formulaires)

Nouvelle option des formulaires : qu'afficher à la place du formulaire après validation et traitement ?
Peut être :

  • (par défaut) le formulaire (comme actuellement)
  • les valeurs saisies
  • rien du tout
Location:
_plugins_/formidable
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/base/formidable_installation.php

    r35072 r45972  
    3636                        ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    3737                }*/
     38               
     39                if (version_compare($version_actuelle,'0.5.7','<')){   
     40                        include_spip('base/create');
     41            maj_tables('spip_formulaires');
     42                       
     43                        echo "Mise à jour du plugin formidable en version 0.5.7<br/>";
     44                        ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
     45                }
     46        }
    3847       
    39         }
    40 
    4148}
    4249
  • _plugins_/formidable/base/formidable_tables.php

    r36592 r45972  
    3232                "public" => "enum('non', 'oui') DEFAULT 'non' NOT NULL",
    3333                "statut" => "varchar(10) NOT NULL",
    34                 "maj" => "timestamp"
     34                "maj" => "timestamp",
     35                "apres" => "varchar(12) NOT NULL",
    3536        );
    3637        $formulaires_cles = array(
  • _plugins_/formidable/echanger/formulaire/forms.php

    r42434 r45972  
    33// Sécurité
    44if (!defined("_ECRIRE_INC_VERSION")) return;
     5
     6// Importation d'un formulaire forms&table
    57
    68function echanger_formulaire_forms_importer_dist($fichier){
     
    2426                                $formulaire['descriptif'] = $descriptif ? $descriptif : '';
    2527                               
    26                                 // Le message de retour
     28                                // Le message de retour si ok
    2729                                $message_retour = trim(spip_xml_aplatit($form['texte']));
    2830                                $formulaire['message_retour'] = $message_retour ? $message_retour : '';
    29                                
     31
    3032                                // Les champs
    3133                                $formulaire['saisies'] = array();
  • _plugins_/formidable/formidable_options.php

    r39580 r45972  
    4949                        'rows' => 5,
    5050                        'class' => 'multilang'
     51                )
     52        ),
     53        array(
     54                'saisie' => 'selection',
     55                'options' => array(
     56                        'nom' => 'apres',
     57                        'label' => 'Afficher ensuite',
     58                        'explication' => 'Apres validation, afficher à la place du formulaire :',
     59                        'datas' =>
     60"formulaire|Le formulaire, à nouveau
     61valeurs|Les valeurs saisies
     62rien|Rien du tout",
     63                        'defaut' => 'formulaire',
     64                        'cacher_option_intro' => 'on'
    5165                )
    5266        )
  • _plugins_/formidable/formulaires/formidable.html

    r36457 r45972  
    22        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    33        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    4        
     4
    55        [(#ENV{editable}|oui)
    66        <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
     
    2626        </div></form>
    2727        ]
     28        [(#EDITABLE|non)
     29                [(#ENV{formidable_afficher_apres}|=={valeurs}|oui)
     30                        #VOIR_SAISIES{#ENV*{_saisies},#ENV}
     31                ]
     32                [(#ENV{formidable_afficher_apres}|=={rien}|oui)
     33                ]
     34        ]
     35        <br>
    2836</div>
  • _plugins_/formidable/formulaires/formidable.php

    r38690 r45972  
    9090        }
    9191       
     92        $contexte['_hidden'] .= "\n".'<input type="hidden" name="formidable_afficher_apres'/*.$formulaire['id_formulaire']*/.'" value="'.$formulaire['apres'].'"/>';// marche pas
     93       
     94        $contexte['formidable_afficher_apres']=$formulaire['apres'];
     95       
    9296        return $contexte;
    9397}
     
    108112       
    109113        $erreurs = saisies_verifier($saisies);
    110                
     114       
     115        if ($erreurs and !isset($erreurs['message_erreur']))
     116                $erreurs['message_erreur'] = _T('formidable:message_generique_erreur_saisie');
     117
    111118        return $erreurs;
    112119}
     
    115122function formulaires_formidable_traiter($id_formulaire, $valeurs=array(), $id_formulaires_reponse=false){
    116123        $retours = array();
    117         // Par défaut le formulaire se remet en route à la fin
    118         $retours['editable'] = true;
    119124       
    120125        $id_formulaire = intval(_request('id_formulaire'));
    121126        $formulaire = sql_fetsel('*', 'spip_formulaires', 'id_formulaire = '.$id_formulaire);
    122127        $traitements = unserialize($formulaire['traitements']);
     128               
     129        // selon le choix, le formulaire se remet en route à la fin ou non
     130        $retours['editable'] = ($formulaire['apres']=='formulaire');
     131        $retours['formidable_afficher_apres'] = $formulaire['apres'];
    123132       
    124133        if (is_array($traitements) and !empty($traitements)){
  • _plugins_/formidable/lang/formidable_fr.php

    r45076 r45972  
    3939'editer_menu_traitements' => 'Configurer les traitements',
    4040'editer_message_ok' => 'Message de retour',
    41 'editer_message_ok_explication' => 'Vous pouvez personnalisez le message qui sera affich&eacute; &agrave; l\'utilisateur apr&egrave;s l\'envoi du formulaire.',
     41'editer_message_ok_explication' => 'Vous pouvez personnaliser le message qui sera affich&eacute; &agrave; l\'utilisateur apr&egrave;s l\'envoi d\'un formulaire valide.',
    4242'editer_modifier_formulaire' => 'Modifier le formulaire',
    4343'editer_nouveau' => 'Nouveau formulaire',
     
    132132'voir_numero' => 'Formulaire num&eacute;ro :',
    133133'voir_reponses' => 'Voir les r&eacute;ponses',
    134 'voir_traitements' => 'Traitements'
     134'voir_traitements' => 'Traitements',
     135'message_generique_erreur_saisie' => 'Il y a des erreurs dans votre saisie.'
    135136);
    136 
    137137?>
  • _plugins_/formidable/plugin.xml

    r45068 r45972  
    33        <auteur>RastaPopoulos</auteur>
    44        <licence>GPL v3</licence>
    5         <version>0.5.6</version>
    6         <version_base>0.1</version_base>
     5        <version>0.5.7</version>
     6        <version_base>0.2</version_base>
    77        <etat>test</etat>
    88        <description>Cr&eacute;ation de formulaires avec une interface graphique et configuration des traitements associ&eacute;s (envoyer par courriel, enregistrer les r&eacute;ponses, etc).</description>
Note: See TracChangeset for help on using the changeset viewer.