Changeset 84737 in spip-zone


Ignore:
Timestamp:
Sep 17, 2014, 5:06:09 PM (5 years ago)
Author:
cedric@…
Message:

Les listes de reponses sont par defaut non signifiantes car n'affichant aucune autre information que la date de saisie et l'IP source.
On permet de configurer pour chaque formulaire une chaine qui sera utilisee pour afficher un resume de chaque reponse (les champs @input_1@.. etant remplaces par leur valeur).
Ceci rend les listes de reponse beaucoup plus utilisables.

Location:
_plugins_/formidable/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/trunk/base/formidable_tables.php

    r84164 r84737  
    5858                'info_nb_objets' => 'formidable:info_nb_formulaires',
    5959
    60                 'champs_editables' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','url_redirect'),
    61                 'champs_versionnes' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','url_redirect'),
     60                'champs_editables' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','url_redirect','resume_reponse'),
     61                'champs_versionnes' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','url_redirect','resume_reponse'),
    6262                'field' => array(
    6363                        "id_formulaire" => "bigint(21) NOT NULL",
     
    7272                        "url_redirect" => "varchar(255)",
    7373                        "statut" => "varchar(10) NOT NULL default ''",
     74                        "resume_reponse" => "text NOT NULL default ''",
    7475                        "date_creation" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
    7576                        "maj" => "timestamp",
  • _plugins_/formidable/trunk/formidable_administrations.php

    r80770 r84737  
    6565        $maj['0.6.3'] = array(
    6666                array('sql_alter','TABLE spip_formulaires_reponses_champs ADD UNIQUE reponse (id_formulaires_reponse,nom)'),
     67        );
     68        $maj['0.6.4'] = array(
     69                // champ resume_reponse
     70                array('maj_tables',array('spip_formulaires')),
    6771        );
    6872
  • _plugins_/formidable/trunk/formidable_fonctions.php

    r83529 r84737  
    6666        }
    6767}
     68
     69/**
     70 * Afficher le resume d'une reponse selon un modele qui contient des noms de champ "@input_1@ ..."
     71 *
     72 * @param int $id_formulaires_reponse
     73 * @param int $id_formulaire
     74 * @param string $resume_reponse
     75 * @return string
     76 */
     77function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire=null, $modele_resume=null){
     78        static $modeles_resume = array();
     79        static $reponses_valeurs = array();
     80        $tenter_unserialize = charger_fonction('tenter_unserialize', 'filtre/');
     81
     82        if (is_null($id_formulaire)){
     83                $id_formulaire = sql_getfetsel("id_formulaire","spip_formulaires_reponses","id_formulaires_reponse=".intval($id_formulaires_reponse));
     84        }
     85        if (is_null($modele_resume) AND !isset($modeles_resume[$id_formulaire])){
     86                $modeles_resume[$id_formulaire] = sql_getfetsel("resume_reponse","spip_formulaires","id_formulaire=".intval($id_formulaire));
     87        }
     88        if (is_null($modele_resume))
     89                $modele_resume = $modeles_resume[$id_formulaire];
     90
     91        if (!$modele_resume)
     92                return "";
     93
     94        if (is_null($reponses_valeurs[$id_formulaires_reponse])) {
     95                if ($champs = sql_allfetsel('nom,valeur', 'spip_formulaires_reponses_champs', 'id_formulaires_reponse = '.intval($id_formulaires_reponse))) {
     96                        foreach ($champs as $champ) {
     97                                $valeur = $tenter_unserialize($champ['valeur']);
     98                                if (is_array($valeur)) {
     99                                        $valeur = implode(", ",$valeur);
     100                                }
     101                                $reponses_valeurs[$id_formulaires_reponse]["@".$champ['nom']."@"] = $valeur;
     102                        }
     103                }
     104        }
     105
     106        return str_replace(array_keys($reponses_valeurs[$id_formulaires_reponse]),array_values($reponses_valeurs[$id_formulaires_reponse]),$modele_resume);
     107}
  • _plugins_/formidable/trunk/formulaires/editer_formulaire.html

    r80503 r84737  
    6363                                <p class="explication"><:formidable:editer_redirige_url_explication:></p>
    6464                        </li>
     65                        #SET{name,resume_reponse}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     66                        <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     67                                <label for="#GET{name}"><:formidable:editer_resume_reponse:></label>[
     68                                <span class='erreur_message'>(#GET{erreurs})</span>
     69                                ]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/>
     70                                <p class="explication"><:formidable:editer_resume_reponse_explication:></p>
     71                        </li>
    6572                </ul>
    6673               
  • _plugins_/formidable/trunk/lang/formidable_fr.php

    r83633 r84737  
    6161        'editer_redirige_url' => 'Adresse de redirection après validation',
    6262        'editer_redirige_url_explication' => 'Laissez vide si vous souhaitez rester sur la même page',
     63        'editer_resume_reponse' => 'Affichage résumé de la réponse',
     64        'editer_resume_reponse_explication' => 'Cette chaîne sera utilisée pour afficher un résumé de chaque réponse dans les listes. Les champs comme <tt>@input_1@</tt> seront remplacés comme indiqué par l\'aide mémoire ci-contre.',
    6365        'editer_titre' => 'Titre',
    6466        'erreur_autorisation' => 'Vous n’avez pas le droit d’éditer les formulaires du site.',
  • _plugins_/formidable/trunk/paquet.xml

    r84700 r84737  
    22        prefix="formidable"
    33        categorie="communication"
    4         version="2.6.6"
     4        version="2.7.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
    77        logo="images/formidable-64.png"
    8         schema="0.6.3"
     8        schema="0.6.4"
    99        documentation="http://contrib.spip.net/Formidable-le-generateur-de-formulaires"
    1010>
  • _plugins_/formidable/trunk/prive/objets/liste/formulaires_reponses.html

    r81354 r84737  
    1313                        <th class="statut" scope='col'>[(#TRI{statut,<span>#</span>,ajax})]</th>
    1414                        <th class="date" scope='col'>[(#TRI{date,<:date:>,ajax})]</th>
     15                        <th class="resume" scope='col'></th>
    1516                        <th class="auteur" scope='col'>[(#TRI{id_auteur,<:formidable:reponses_auteur:>,ajax})]</th>
    1617                        <th class="id" scope='col'>[(#TRI{id_formulaires_reponse,<:info_numero_abbreviation:>,ajax})]</th>
     
    2122                <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
    2223                        <td class="statut">[(#ID_FORMULAIRES_REPONSE|puce_changement_statut{#STATUT, #ID_FORMULAIRE, formulaires_reponse})]</td>
    23                         <td class="date">[(#DATE|affdate_jourcourt|concat{#DATE|affdate{", H:i"}})]
    24                                 [<a href="[(#URL_ECRIRE{formulaires_reponse,id_formulaires_reponse=#ID_FORMULAIRES_REPONSE})]"><:formidable:reponses_voir_detail:></a>]</td>
     24                        <td class="date">[(#DATE|affdate_jourcourt|concat{#DATE|affdate{", H:i"}})]</td>
     25                        <td class="resume">[(#ID_FORMULAIRES_REPONSE|affiche_resume_reponse{#ID_FORMULAIRE}|sinon{[<a href="(#URL_ECRIRE{formulaires_reponse,id_formulaires_reponse=#ID_FORMULAIRES_REPONSE})"><:formidable:reponses_voir_detail:></a>]})]</td>
    2526                        <td class="auteur">
    2627                                <BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
  • _plugins_/formidable/trunk/prive/squelettes/extra/formulaire_edit.html

    r81117 r84737  
    33
    44<!--#extra-->
    5 [(#GET{configurer}|in_array{#LISTE{traitements,champs}}|oui)
     5[(#GET{configurer}|in_array{#LISTE{formulaire,traitements,champs}}|oui)
    66#BOITE_OUVRIR{'','info'}
    77        #INCLURE{fond=modeles/formulaire_aide_memoire, id_formulaire=#ID_FORMULAIRE}
Note: See TracChangeset for help on using the changeset viewer.