Changeset 50068 in spip-zone for _plugins_/forms


Ignore:
Timestamp:
Jul 29, 2011, 1:15:07 PM (10 years ago)
Author:
carl.vincent38@…
Message:

Diverses améliorations du plugin 'forms_et_tables_2_0' :

  • Réparation de l'export de réponses en articles
  • Ajout d'un nouveau format de téléchargement des réponses (Format spécialement conçu pour le plugin 'csv_import' qui permet d'importer des réponses dans une table)
  • Ajout de la possibilité de paramétrer pour chaque formulaire : --> La rubrique dans laquelle les réponses doivent être exportées --> Le champ du formulaire à utiliser pour définir le titre de l'article exporté

(RESTE à FAIRE : Traduire les champs ajoutés au fichier "/lang/forms_fr.php")

En espérant que ça ne "casse" pas tout! =D

Location:
_plugins_/forms/forms_et_tables_2_0
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/forms/forms_et_tables_2_0/action/forms_edit.php

    r39009 r50068  
    1111 *
    1212 */
     13 
    1314include_spip('inc/forms');
    1415include_spip('inc/forms_edit');
    1516include_spip('inc/forms_type_champs');
     17
    1618if (!include_spip('inc/autoriser'))
    1719        include_spip('inc/autoriser_compat');
     20       
    1821// TODO : charger la bonne langue !
     22
    1923function Forms_ordonne_champs($id_form){
    2024        if (strlen($ordre = _request('ordre'))){
     
    122126        $supp_champ = _request('supp_champ');
    123127        $ordonne_champs = _request('ordonne_champs');
     128       
     129        $num_rubrique_export = _request('num_rubrique_export');
     130        $champ_titre_export = _request('champ_titre_export');
     131       
     132        // SI la variable est "" (cas quand on n'a pas encore de champs) ALORS on le remet à "null"
     133        if( $champ_titre_export == "" ){
     134                $champ_titre_export = "null";
     135        }
     136       
    124137
    125138        //
     
    128141
    129142        $nouveau_champ = $champ_visible = $ajout_choix = NULL;
     143       
    130144        // creation
    131145        if ($id_form == 'new' && $titre) {
     
    135149
    136150                $id_form = sql_insertq('spip_forms',array('titre'=>_q($titre)));
    137         }
     151               
     152                //// Ajout d'une colonne 'num_rubrique_export' à la table 'spip_forms' pour permettre d'indiquer dans quelle rubrique
     153                //// les réponses au formulaire(/table) doivent être exportées
     154                // (Au cas où la nouvelle colonne n'a pas été créee par le script '\base\forms.php' (à l'installation du plugin??) )
     155                // (Bonne solution de l'ajouter ici??? --> Regarder plutôt vers la fonction 'forms_et_tables_upgrade()'??)
     156                include_spip('base/create');
     157                maj_tables("spip_forms");
     158               
     159                // (Ajout de la colonne 'num_rubrique_export' si elle n'existe pas déjà, et avec par défaut la valeur 1 :)
     160                //sql_alter("TABLE spip_forms ADD UNIQUE(num_rubrique_export) INT DEFAULT '1'");
     161                // (??Ligne du dessus redondant avec "maj_tables()" ??)
     162               
     163        }
     164       
    138165        // maj
    139166        if (intval($id_form) && $titre) {
     167       
     168                //// Vérifie que la valeur de 'num_rubrique_export' est bien un numéro de rubrique valide :
     169                //// (??Vérification à mettre ici??)
     170               
     171                // Récupération du nom de la rubrique choisie (ne retourne rien si elle n'existe pas) :
     172                $nom_rubrique_export = sql_getfetsel( 'titre', 'spip_rubriques', sql_in('id_rubrique', $num_rubrique_export) );
     173       
     174                // SI la rubrique indiquée n'existe pas...
     175                if( !$nom_rubrique_export ){
     176                        //$txt_alerte = "/!\ Rubrique n°" . intval($num_rubrique_export) . " inexistante! /!\ ";
     177                        $num_rubrique_export = sql_getfetsel("id_rubrique", "spip_rubriques", "statut = 'publie'"); //... mettre à la première rubrique définie
     178                }
     179               
     180       
    140181                $query = "UPDATE spip_forms SET ".
    141182                        "titre="._q($titre).", ".
     
    153194                        "documents="._q($documents?$documents:'non').", ".
    154195                        "documents_mail="._q($documents_mail?$documents_mail:'non').", ".
    155                         "html_wrap="._q($html_wrap)." ".
    156                         "WHERE id_form="._q($id_form);
     196                        "html_wrap=" . _q($html_wrap) . ", " .
     197                        "num_rubrique_export=" . _q($num_rubrique_export) . ", " .
     198                        "champ_titre_export=" . _q($champ_titre_export) .
     199                       
     200                        " WHERE id_form="._q($id_form);
     201               
    157202                $result = spip_query($query);
    158203        }
     204       
    159205        // lecture
    160206        $result = spip_query("SELECT * FROM spip_forms WHERE id_form="._q($id_form));
     
    180226        if ($id_form) {
    181227                $champ_visible = NULL;
     228               
    182229                // Ajout d'un champ
    183230                if (($type = $ajout_champ) && Forms_type_champ_autorise($type)) {
     
    188235                        $champ_visible = $nouveau_champ = $champ;
    189236                }
     237               
    190238                // Modif d'un champ
    191239                if ($champ = $modif_champ) {
     
    225273                        }
    226274                }
     275               
    227276                // Suppression d'un champ
    228277                if ($champ = $supp_champ) {
     
    230279                        spip_query("DELETE FROM spip_forms_champs WHERE id_form="._q($id_form)." AND champ="._q($champ));
    231280                }
     281               
    232282                if ($id_form==intval($ordonne_champs)){
    233283                        Forms_ordonne_champs($id_form);
    234284                }
    235         }
    236         return array($id_form,$champ_visible,$nouveau_champ,$ajout_choix);
     285               
     286        }
     287       
     288        return array($id_form, $champ_visible, $nouveau_champ, $ajout_choix);
     289       
    237290}
    238291
     
    245298        //$redirect = parametre_url($redirect,'var_ajaxcharset',''); // si le redirect sert, pas d'ajax !
    246299        if ($redirect==NULL) $redirect="";
     300       
    247301        if (!include_spip("inc/securiser_action"))
    248302                include_spip("inc/actions");
    249         if (verifier_action_auteur("forms_edit-$arg",$hash,$id_auteur)==TRUE) {
     303               
     304        if (verifier_action_auteur("forms_edit-$arg",$hash,$id_auteur)==TRUE)
     305        {
    250306                $arg=explode("-",$arg);
    251307                $id_form = $arg[0];
    252                 if ((intval($id_form) && autoriser('modifier','form',$id_form))
    253                         || (($id_form=='new') && (autoriser('creer','form'))) ) {
    254                         list($id_form,$champ_visible,$nouveau_champ,$ajout_choix) = Forms_update($id_form);
     308               
     309                if ( (intval($id_form) && autoriser('modifier','form',$id_form))
     310                        || (($id_form=='new') && (autoriser('creer','form'))) )
     311                {
     312                        // (Fonction " Forms_update()" définie juste au dessus)
     313                        list($id_form, $champ_visible, $nouveau_champ, $ajout_choix) = Forms_update($id_form);
     314                       
    255315                        if ($redirect) $redirect = parametre_url($redirect,"id_form",$id_form);
    256316                        if ($redirect && $champ_visible) $redirect = parametre_url($redirect,"champ_visible",$champ_visible);
  • _plugins_/forms/forms_et_tables_2_0/action/forms_exporte_reponse_article.php

    r35302 r50068  
    2222        if (!include_spip("inc/securiser_action"))
    2323                include_spip("inc/actions");
     24               
    2425        if (verifier_action_auteur("forms_exporte_reponse_article-$id_donnee",$hash,$id_auteur)==TRUE){
    2526                // preparer l'article
    2627                $id_article = 0;
     28               
    2729                $res = spip_query("SELECT * FROM spip_forms_donnees AS r LEFT JOIN spip_forms AS f ON f.id_form = r.id_form WHERE r.id_donnee="._q($id_donnee));
    28                 if ($row=spip_fetch_array($res)){
     30                if ( $row = spip_fetch_array($res) )
     31                {
    2932                        $id_form = $row['id_form'];
    30                         $titre = _T("forms:reponse",array('id_reponse'=>$id_donnee));
     33                       
     34                        $id_champ = sql_getfetsel("champ_titre_export", "spip_forms", "id_form=".intval($id_form) );
     35                       
     36                        // SI champ non défini ALORS on prend le titre par défaut : "Réponse n°..."
     37                        if( $id_champ == "null" || $id_champ == "" ) {
     38                                $titre_article = _T("forms:reponse", array('id_reponse' => $id_donnee));
     39                        } else {
     40                                // SI champ définit ALORS valeur du champ
     41                                $titre_article = sql_getfetsel( "valeur" , "spip_forms_donnees_champs" ,
     42                                        "id_donnee=".intval($id_donnee)." AND champ=".sql_quote($id_champ) );
     43                        }
     44                       
    3145                        $soustitre = $row['titre'];
    3246                        $date = $row['date'];
    3347                        list($lib,$values,$urls) =      Forms_extraire_reponse($id_donnee);
     48                       
    3449                        $texte = "";
    3550                        $res = spip_query("SELECT * FROM spip_forms_champs AS forms WHERE id_form="._q($id_form)." ORDER BY rang");
     51                       
     52                       
    3653                        while ($row = spip_fetch_array($res)){
    3754                                $titre = $row['titre'];
     
    4663                                else {
    4764                                        $s = '';
    48                                         if (count($values[$champ])>1) $s = "\n-* ";
     65                                       
     66                                        /* Changement du "\n*-" en un simple espace " " pour qu'il n'y ait pas de tirets en trop
     67                                                ('$s' n'est alors plus vide, car contient un espace, et donc la condition "if(strlen($s))" est vérifiée */
     68                                        if (count($values[$champ])>1) $s = " ";
     69                                       
    4970                                        foreach ($values[$champ] as $id=>$valeur){
    5071                                                $valeur = typo($valeur);
     
    6485                                }
    6586                        }
     87                       
    6688                        // creer un article
    6789                        include_spip('base/abstract_sql');
     
    7092                        "(titre,soustitre,texte,date,statut)",
    7193                        "("._q($titre).","._q($soustitre).","._q($texte).","._q($date).",'prepa')");*/
    72                         $id_article = sql_insert("spip_articles",
    73                         "(titre,soustitre,texte,date,statut)",
    74                         "("._q($titre).","._q($soustitre).","._q($texte).","._q($date).",'prepa')");
     94                       
     95                       
     96                        // Récupération du numéro de Rubrique ET de Secteur pour créer au bon endroit (et proprement) l'article
     97                        $num_rubrique = sql_getfetsel( "num_rubrique_export", "spip_forms", "id_form=".intval($id_form) );
     98                       
     99                        if( $num_rubrique ){
     100                                $num_secteur = sql_getfetsel( "id_secteur" , "spip_rubriques" , "id_rubrique=".intval($num_rubrique) );
     101                        } else {
     102                                $num_secteur = 0;
     103                        }
     104                       
     105                        // (Renommage de la variable de titre de l'article en "$titre_article" (anciennement "$titre" qui correspondait aussi à la variable du titre des champs) )
     106                        // + (La fonction "_q" est remplacée par la fonction "sql_quote" équivalente --> cf. http://www.spip-contrib.net/PortageV2-Migrer-un-plugin-vers-SPIP2 )
     107                        // + (INFO : l'API "sql_*" gère toute seule les préfixe des tables --> cf. "http://www.spip-contrib.net/PortageV2-Migrer-un-plugin-vers-SPIP2" )
     108                        $id_article = sql_insert(
     109                                "spip_articles" ,
     110                                "(titre,soustitre,texte,date,statut,id_rubrique,id_secteur)" ,
     111                                "(" . sql_quote($titre_article) . "," . sql_quote($soustitre) . "," . sql_quote($texte) . "," . sql_quote($date) .
     112                                        ",'prepa'," . intval($num_rubrique) . "," . intval($num_secteur) . ")"
     113                        );
     114                       
     115                       
    75116                        if ($id_article!=0){
    76117                                spip_query("UPDATE spip_forms_donnees SET id_article_export=$id_article WHERE id_donnee="._q($id_donnee));
    77118                        }
    78119                }
     120               
    79121                if ($id_article!=0)
    80122                        redirige_par_entete(generer_url_ecrire('articles_edit',"id_article=$id_article",true));
  • _plugins_/forms/forms_et_tables_2_0/action/forms_telecharger.php

    r9709 r50068  
    1616function action_forms_telecharger(){
    1717        global $auteur_session;
     18       
    1819        $arg = _request('arg');
    1920        $hash = _request('hash');
     
    2122        $redirect = _request('redirect');
    2223        if ($redirect==NULL) $redirect="";
     24       
    2325        if (!include_spip("inc/securiser_action"))
    2426                include_spip("inc/actions");
     27               
    2528        if (verifier_action_auteur("forms_telecharger-$arg",$hash,$id_auteur)==TRUE) {
    2629                if (!include_spip('inc/autoriser'))
    2730                        include_spip('inc/autoriser_compat');
     31                       
    2832                if (autoriser('supprimer','form',$id_form)){
    2933                        $id_form = intval($arg);
    3034                        $delim = _request('delim');
    31                         if ($delim == 'TAB') $delim = "\t";
    3235                       
    33                         $out = Forms_formater_les_reponses($id_form, "csv", $delim, $fichiers, $filename);
     36                        // (Gestion du cas "Import_CSV")
     37                        if( $delim != "Import_CSV" ){ // SI autre cas :
     38                       
     39                                $format = "csv";
     40                                if ($delim == 'TAB') { $delim = "\t"; }
     41                               
     42                        } else { // SI cas "Import_CSV" :
     43                       
     44                                $format = "Import_CSV";
     45                                $delim = ";";
     46                        }
     47                       
     48                        // function Forms_formater_les_reponses($id_form, $format, $separateur, &$fichiers, &$filename, $head=true, $traduit=true)
     49                        //( dans /inc/forms_export.php )
     50                        $out = Forms_formater_les_reponses($id_form, $format, $delim, $fichiers, $filename);
    3451               
    35                         // Excel ?
    36                         if ($delim == ','){
     52                        // SI ',' ... (Excel ?)
     53                        if ($delim == ','){
     54                       
    3755                                $extension = 'csv';
    3856                                $charset = $GLOBALS['meta']['charset'];
    39                         }
    40                         else {
    41                                 $extension = 'xls';
     57                               
     58                        } else {
     59                               
     60                                // Extension 'csv' si delim = ';' (et pas forcément 'xls' !)
     61                                if ( $delim == ';' ) { $extension = 'csv'; }
     62                                else { $extension = 'xls'; }
     63                               
    4264                                # Excel n'accepte pas l'utf-8 ni les entites html... on fait quoi?
    4365                                include_spip('inc/charsets');
     
    4668                        }
    4769               
    48                         if (!count($fichiers)) {
     70                        // SI PAS de fichiers joints...
     71                        if ( !count($fichiers) ) {
     72                       
    4973                                Header("Content-Type: text/comma-separated-values; charset=$charset");
    5074                                Header("Content-Disposition: attachment; filename=$filename.$extension");
     
    5377                                echo $out;
    5478                                exit();
    55                         }
    56                         else {
     79                               
     80                        } else {
    5781                                //
    5882                                // S'il y a des fichiers joints, creer un ZIP
     
    87111                }
    88112        }
     113       
    89114        if ($redirect)
    90115                redirige_par_entete(str_replace("&","&",urldecode($redirect)));
     116               
    91117}
    92118
  • _plugins_/forms/forms_et_tables_2_0/base/forms.php

    r18702 r50068  
    3636        "arborescent" => "ENUM('non', 'oui') DEFAULT 'non' NOT NULL",
    3737        'html_wrap' => "text",
    38         "maj"           => "TIMESTAMP");
     38        "maj"           => "TIMESTAMP",
     39
     40        "num_rubrique_export" => "bigint(21) NOT NULL DEFAULT 1",
     41        "champ_titre_export" => "varchar(100) DEFAULT 'null'"
     42       
     43);
     44
    3945
    4046$spip_forms_key = array(
  • _plugins_/forms/forms_et_tables_2_0/exec/forms_edit.php

    r37388 r50068  
    5050}
    5151
     52
    5253function contenu_boite_resume($id_form, $row, &$apercu){
    5354        $prefixei18n = forms_prefixi18n($row['type_form']);
     
    7273                $out .= "</div>\n";
    7374        }
     75       
    7476        if ($champconfirm = $row['champconfirm']){
    7577                $champconfirm_known = false;
     
    126128}
    127129
     130
    128131function exec_forms_edit(){
    129132        global $spip_lang_right;
     
    322325        }
    323326
     327       
    324328        $out = "";
     329       
    325330        if ($id_form){
     331                // centre "Aperçu" (resume) ----------------------------------------------------
    326332                $out .= "<div id='resume'>";
    327333                $out .= contenu_boite_resume($id_form, $row, $apercu);
     
    329335        }
    330336
    331         // centre proprietes ---------------------------------------------------------------
     337        // centre "Propriétés" --------------------------------------------------------------
    332338        $out .= "<div id='proprietes'>";
    333339        $out .= boite_proprietes($id_form, $row, $focus, $action_link, $redirect);
     
    336342        // edition des champs ---------------------------------------------------------------
    337343        $out .= "<div id='champs'>";
    338         $out .= Forms_zone_edition_champs($id_form, $champ_visible, $nouveau_champ,$redirect);
     344        $out .= Forms_zone_edition_champs($id_form, $champ_visible, $nouveau_champ, $redirect);
    339345        $out .= "</div>\n";
    340346
     
    343349        if ($GLOBALS['spip_version_code']>=1.9203)
    344350                echo fin_gauche();
     351               
    345352        echo fin_page();
     353       
    346354}
    347355
  • _plugins_/forms/forms_et_tables_2_0/exec/forms_reponses.php

    r48181 r50068  
    151151                ORDER BY r.date DESC LIMIT "._q($debut).", "._q($tranche);
    152152        }
     153       
     154        // Nouveau bouton pour exporter toutes les réponses en même temps
     155        // (NON ENCORE FONCITONNEL!!)
     156        /*
     157        echo icone_inline(
     158                _T("forms:exporter_toutes_reponses"),
     159                generer_action_auteur('RIEN', self()),
     160                "article-24.gif",
     161                "creer.gif",
     162                "right"
     163        );
     164        */
     165       
     166        // Ajout d'une barre de séparation invisible :
     167        echo "<hr style='clear:both; visibility:hidden; margin:0;'> ";
     168       
     169       
    153170        $result = spip_query($query);
     171       
    154172        while ($row = spip_fetch_array($result)) {
     173       
     174               
    155175                $id_form = $row['id_form'];
    156176                $id_donnee = $row['id_donnee'];
     
    163183                $titre_form = $row['titre'];
    164184
    165                 echo "<br />\n";
     185                //echo "<br />\n";
    166186                echo debut_cadre_relief(_DIR_PLUGIN_FORMS."img_pack/donnees-24.png",true,'','');
    167187
     
    171191                if ($id_article_export!=0){
    172192                        $row=spip_fetch_array(spip_query("SELECT statut FROM spip_articles WHERE id_article="._q($id_article_export)));
     193                       
     194                        // SI l'article n'a pas été exporté OU exporté mais mis à la poubelle...
    173195                        if (!$row OR ($row['statut']=='poubelle'))
    174                                 $id_article_export = 0;
    175                 }
     196                                $id_article_export = 0; //... on met son 'id' à 0 pour montrer qu'on peut l'exporter
     197                               
     198                }
     199               
    176200                if ($id_article_export==0){
    177201                        echo icone_inline(_T("forms:exporter_article"), generer_action_auteur('forms_exporte_reponse_article',"$id_donnee",self()),"article-24.gif", "creer.gif", "right");
    178202                }
    179                 else
    180                         echo icone_inline(_T("forms:voir_article"), generer_url_ecrire('articles',"id_article=".$row['id_article_export']),"article-24.gif", "", "right");
    181                
    182 
    183                 echo _T("forms:reponse_envoyee").affdate($date)."<br />\n";
     203                else {
     204                        /* Changement ici : "_q($id_article_export)" au lieu de "$row[...]" */
     205                        echo icone_inline(_T("forms:voir_article"), generer_url_ecrire('articles',"id_article="._q($id_article_export)),"article-24.gif", "", "right");
     206                }
     207               
     208               
     209                // "Réponse @id_reponse@"
     210                echo _T("forms:reponse", array('id_reponse' => $id_donnee)) . "<br />\n";
     211
     212                // "Réponse envoyée le @date@"
     213                echo _T("forms:reponse_envoyee") . affdate($date) . " à " . affdate($date, 'H:i') . "<br />\n";
     214               
     215                // "à ..." (??Si plusieurs formulaires??)
    184216                if (!$form_unique) {
    185217                        echo _T("forms:reponse_envoyee_a")." ";
     
    188220                }
    189221
     222                // "par @auteur@"
    190223                if ($id_auteur) {
    191224                        $s = "<a href='".generer_url_ecrire("auteur_infos","id_auteur=$id_auteur")."'>".typo($nom_auteur)."</a>";
     
    193226                        echo "<br />\n";
    194227                }
     228               
     229                // "Depuis la page @url@"
    195230                echo _T("forms:reponse_depuis")."<a href='"._DIR_RACINE."$url'>".$url."</a><br />\n";
    196231               
     232               
    197233                echo "<br />\n";
    198 
    199                 list($lib,$values,$urls) =      Forms_extraire_reponse($id_donnee);
    200                
     234               
     235
     236                list($lib, $values, $urls) = Forms_extraire_reponse($id_donnee);
     237               
     238                // Affichage de l'ensemble des données de la réponses (liste des champs avec leur contenu)
    201239                foreach ($lib as $champ => $titre) {
    202240                        $s = '';
     241                       
    203242                        foreach ($values[$champ] as $id=>$valeur){
    204243                                $valeur = typo($valeur);
     
    209248                                        $s .= $valeur;
    210249                        }
     250                       
    211251                        echo "<span class='verdana1' style='text-transform: uppercase; font-weight: bold; color: #404040;'>";
    212252                        echo typo($titre)."&nbsp;:</span>";
     
    215255                }
    216256
     257               
    217258                echo "<div style='clear: both;'></div>";
    218259
    219260                echo fin_cadre_relief(true);
    220261        }
    221 
    222262
    223263
    224264        if ($GLOBALS['spip_version_code']>=1.9203)
    225265                echo fin_gauche();
     266       
    226267        echo fin_page();
    227268}
  • _plugins_/forms/forms_et_tables_2_0/exec/forms_telecharger.php

    r36636 r50068  
    3333
    3434//
    35 // Telechargement d'un fichier particulier
     35// (Telechargement d'un fichier particulier)
     36// function exec_forms_telecharger() :
     37//              Fonction servant à affiche une liste déroulante des différents formats disponibles au téléchargement
     38// (Le bouton 'Télécharger' éxécute l'action "action_forms_telecharger" du fichier "action/forms_telecharger.php"
     39//
    3640//
    3741function exec_forms_telecharger(){
     
    105109        echo _T("forms:format_fichier");
    106110        echo "<br />\n";
     111       
    107112        // Extrait de la table en commencant par les dernieres maj
    108113        $action = generer_action_auteur("forms_telecharger","$id_form",urlencode($retour));
    109114        $action = parametre_url($action,'var_mode','download'); // hack pour desactiver la compression gzip par buffer qui corromp le zip
     115       
    110116        echo "<form action='$action' method='POST'>";
    111117        echo form_hidden($action);
     118       
     119        // Liste des formats de CSV disponibles au téléchargement :
    112120        echo "<select name='delim'>\n";
     121       
    113122        echo "<option value=','>"._T("forms:csv_classique")."</option>\n";
    114123        echo "<option value=';'>"._T("forms:csv_excel")."</option>\n";
    115124        echo "<option value='TAB'>"._T("forms:csv_tab")."</option>\n";
     125        // Ajout d'un nouveau format de téléchargement spécialement pour "CSV_Import"
     126        echo "<option value='Import_CSV'>" . _T("forms:csv_import_csv") . "</option>\n";
     127       
    116128        echo "</select>";
     129       
    117130        echo "<br /><br />\n";
    118131        echo "<input type='submit' name='ok' value='"._T("forms:telecharger")."' />\n";
  • _plugins_/forms/forms_et_tables_2_0/fonds/tables_tous.html

    r38930 r50068  
    4242<td class="arial1">&nbsp;
    4343</td>
    44 <td class="arial1">[<a href='(#GET{lien_affiche})' title='<:forms:afficher:>'><img src='#EVAL{_DIR_PLUGIN_FORMS}img_pack/donnees-24.png' width='24' height='24' alt='<:forms:afficher:>' /></a>]</td>
    45 <td class="arial1">[(#GET{donnees}|=={0}|?{#ENV{prefix,'form'}|concat{':aucune_reponse'}}|_T)][(#GET{donnees}|=={1}|?{#ENV{prefix,'form'}|concat{':une_reponse'}}|_T)]
    46 [(#GET{donnees}|>{1}|?{' '})  [(#EVAL{ _T("[(#ENV{prefix,'form'})]:nombre_reponses",array("nombre"=>[(#GET{donnees})])) })]  ]</td>
     44
     45<td class="arial1">
     46        [<a href='(#GET{lien_affiche})' title='<:forms:afficher:>'><img src='#EVAL{_DIR_PLUGIN_FORMS}img_pack/donnees-24.png' width='24' height='24' alt='<:forms:afficher:>' /></a>]
     47</td>
     48
     49<td class="arial1">
     50        [(#GET{donnees}|=={0}|?{#ENV{prefix,'form'}|concat{':aucune_reponse'}}|_T)][(#GET{donnees}|=={1}|?{#ENV{prefix,'form'}|concat{':une_reponse'}}|_T)]
     51        [(#GET{donnees}|>{1}|?{' '})  [(#EVAL{ _T("[(#ENV{prefix,'form'})]:nombre_reponses",array("nombre"=>[(#GET{donnees})])) })]  ]
     52</td>
     53
    4754<td class="arial1">[<a href='(#GET{lien_edite})' title='<:forms:editer:>'><img src='#EVAL{_DIR_PLUGIN_FORMS}img_pack/editer-24.png' width='24' height='24' alt='<:forms:editer:>' /></a>]</td>
    4855<td class="arial1"><a href='#GET{lien_duplique}' title='<:forms:dupliquer:>'><img src='#EVAL{_DIR_PLUGIN_FORMS}img_pack/dupliquer-24.png' width='24' height='24' alt='<:forms:dupliquer:>' /></a></td>
  • _plugins_/forms/forms_et_tables_2_0/inc/forms_edit.php

    r39353 r50068  
    1111 *
    1212 */
     13 
    1314// compatibilite trans 1.9.1-1.9.2
    1415// Cadre formulaires
    1516// http://doc.spip.org/@debut_cadre_formulaire
     17
    1618function Forms_debut_cadre_formulaire($style='', $return=false){
    1719        $x = "\n<div class='cadre-formulaire'" .
     
    3941        return $champ;
    4042}
     43
    4144function Forms_insere_nouveau_champ($id_form,$type,$titre,$champ=""){
    4245        if (!strlen($champ))
     
    5659        return $champ;
    5760}
     61
    5862function Forms_nouveau_choix($id_form,$champ){
    5963        $n = 1;
     
    6771        return $choix;
    6872}
     73
    6974function Forms_insere_nouveau_choix($id_form,$champ,$titre){
    7075        $choix = Forms_nouveau_choix($id_form,$champ);
     
    311316}
    312317
    313 function Forms_zone_edition_champs($id_form, $champ_visible, $nouveau_champ, $redirect,$ajax=false){
    314         global $spip_lang_right,$couleur_claire,$spip_lang_left;
     318function Forms_zone_edition_champs($id_form, $champ_visible, $nouveau_champ, $redirect, $ajax=false){
     319
     320        global $spip_lang_right, $couleur_claire, $spip_lang_left;
     321       
    315322        $res = spip_query("SELECT type_form FROM spip_forms WHERE id_form="._q($id_form));
    316323        $row = spip_fetch_array($res);
     324       
    317325        $prefixei18n = forms_prefixi18n($row['type_form']);
    318326        $is_form =      $prefixei18n=='form';
     
    320328        $out = "";
    321329        if (!$id_form) return $out;
     330       
    322331        $out .= "<div><br />";
    323332        $out .= Forms_debut_cadre_formulaire('',true);
     333       
    324334        $out .= "<div class='verdana3'>";
    325335        $out .= "<strong>"._T("$prefixei18n:champs_formulaire")."</strong><br />\n";
    326336        $out .= _T("forms:info_champs_formulaire");
    327337        $out .= "</div>\n";
     338       
    328339        $out .= "<div id='forms_lang'></div>";
    329340        $out .= "<div id='sortableChamps'>";
     
    334345        }
    335346
    336         $res = spip_query("SELECT * FROM spip_forms_champs WHERE id_form="._q($id_form).($ajax?" AND champ="._q($ajax):"")." ORDER BY rang");
     347        $res = spip_query("SELECT * FROM spip_forms_champs WHERE id_form=" . _q($id_form).($ajax?" AND champ="._q($ajax):"")." ORDER BY rang");
     348       
    337349        while ($row = spip_fetch_array($res)) {
     350       
    338351                $champ = $row['champ'];
    339352                $visible = ($champ == $champ_visible)||($champ == $nouveau_champ);
     
    397410                if ($nouveau) $focus='antifocus';
    398411
     412                // Affichage de l'identifiant du champ (Permet à l'utilisateur définir facilement le champ servant de titre à l'article exporté)
     413                $formulaire .=  "( " . _T("forms:identifiant_champ") . " <strong>" . $champ  . "</strong> )\n<br /><br />";
     414               
     415               
    399416                if ($type=='separateur'){
    400417                        $formulaire .= "<label for='nom_$champ'>"._T("forms:champ_nom_bloc")."</label>&nbsp;:";
     
    420437
    421438                }
     439               
    422440                $formulaire .= "<label for='wrap_$champ'>"._T("forms:html_wrapper")."</label> :";
    423441                $formulaire .= " &nbsp;<textarea name='wrap_champ' id='wrap_$champ'  class='verdana2' style='width:90%;height:3em;' rows='2' cols='40'>".
     
    489507                "<input type='hidden' name='redirect' value='$redirect' />" . // form_hidden ne desencode par redirect ...
    490508                "<input type='hidden' name='idtarget' value='champs' />"; // on target toute la boite, pas juste le div parent
     509               
    491510        $out .= "<strong>"._T("forms:ajouter_champ")."</strong><br />\n";
    492511        $out .= _T("forms:ajouter_champ_type");
     
    525544        //$out .= "<form method='post' action='$action_link' style='border: 0px; margin: 0px;'>";
    526545        //$out .= form_hidden($action_link);
     546       
     547       
    527548        $out .= "<form class='ajaxAction' method='post' action='$action_link_noredir'" .
    528549                " style='border: 0px; margin: 0px;'>" .
     
    656677        $out .= " &nbsp;<textarea name='html_wrap' id='wrap'  class='verdana2' style='width:90%;height:3em;' rows='2' cols='40'>".
    657678        entites_html($row['html_wrap'])."</textarea><br />\n";
     679       
     680       
     681        //// Ajout d'un champ dans les propriétés pour définir la rubrique dans laquelle les réponses devront être exportées
     682       
     683        // SI la clé 'num_rubrique_export' n'existe pas OU est à 'null'
     684        if( !is_null($row) && !array_key_exists('num_rubrique_export', $row) ){
     685                $row['num_rubrique_export'] = sql_getfetsel("id_rubrique", "spip_rubriques", "statut = 'publie'"); // Mettre à la première rubrique définie
     686        }
     687
     688        $num_rubrique_export = entites_html($row['num_rubrique_export']);
     689       
     690        /*** DEBUT du cadre "Export des réponses en articles" ***/
     691        $out .= debut_cadre_enfonce("",true);
     692        $out .= "<strong><label>" . _T('forms:label_param_export') . "</label></strong>";
     693        $out .= "<br /><br />";
     694
     695        $out .= "<label for='num_rubrique_export_form'>" . _T('forms:num_rubrique_export') . "</label> ";
     696        $out .= "<br />";
     697        $out .= "<input type='text' name='num_rubrique_export' id='num_rubrique_export_form' class='formo $focus' ".
     698                "value=\"" . $num_rubrique_export . "\" size='10' style='width:auto; margin:2px 0;' />\n";
     699       
     700        // Récupération du nom de la rubrique choisie (ne retourne rien si elle n'existe pas) :
     701        $nom_rubrique_export = sql_getfetsel( 'titre', 'spip_rubriques', sql_in('id_rubrique', $num_rubrique_export) );
     702       
     703        // Test si la rubrique indiquée existe ou pas :
     704        $existe_rubrique_export = $nom_rubrique_export ? 1 : 0;
     705        if( $existe_rubrique_export == 1 ) {
     706                $out .= "( " . _T( 'forms:nom_rubrique' , array('num'=>$num_rubrique_export, 'nom'=>$nom_rubrique_export) ) . " )";
     707        } else {
     708                $out .= "<strong>( /!\ Rubrique n&deg;" . intval($num_rubrique_export) . " inexistante! /!\ )</strong>" ;
     709        }
     710       
     711        $out .= "<br /><br />";
     712        $out .= "<hr />";
     713        $out .= "<br />";
     714       
     715       
     716        ///// Liste permettant de choisir le champ à utiliser pour définir le titre de l'article exporté : /////
     717        $out .= _T("forms:champ_titre_export") . "<br/>\n";
     718
     719        // Liste déroulante de tous les champs
     720        $out .= "<select name='champ_titre_export' class='fondo' style='margin:3px 0;'>\n";
     721       
     722        // Choix : "Titre par défaut"
     723        $out .= "<option value='null'>" . _T("forms:titre_defaut_export") . "</option>\n";
     724       
     725        $res = spip_query( "SELECT * FROM spip_forms_champs " .
     726                "WHERE ( id_form=" . _q($id_form) . " AND type!='multiple' AND type!='select' AND type!='separateur' ) " .
     727                "ORDER BY rang" );
     728               
     729        while ($row = spip_fetch_array($res)) {
     730                $id_champ = $row['champ'];
     731                $nom_champ = couper($row['titre'], 50, "..."); // Coupe le nom(/titre) s'il est trop long...
     732               
     733                $out .= "<option value='$id_champ' ";
     734                // Sélectionné par défaut : celui définit
     735                $champ_titre_export = sql_getfetsel("champ_titre_export", "spip_forms", "id_form=".intval($id_form) );
     736                if( $id_champ == $champ_titre_export ) {
     737                        $out .= "selected='selected'";
     738                }
     739                $out .= " >$nom_champ&nbsp;&nbsp;($id_champ)</option>\n";
     740               
     741        }
     742       
     743        $out .= "</select>\n";
     744       
     745       
     746        $out .= "<br /><br />";
     747       
     748        $out .= fin_cadre_enfonce(true);
     749        /*** FIN du cadre "Export des réponses en articles" ***/
     750       
    658751
    659752        $out .= "<div style='text-align:right'>";
     
    662755        $out .= "</form>";
    663756        $out .= "</div>";
     757       
    664758        $out .= Forms_fin_cadre_formulaire(true);
    665759        $out .= "</div>";
     760       
    666761        return $out;
    667762}
     763
    668764?>
  • _plugins_/forms/forms_et_tables_2_0/inc/forms_export.php

    r13697 r50068  
    1919        include_spip('inc/autoriser_compat');
    2020
     21       
    2122function csv_champ($champ) {
    2223        $champ = preg_replace(',[\s]+,', ' ', $champ);
     
    2526}
    2627
    27 function Forms_formater_ligne_csv($ligne,$delim=',') {
     28
     29function Forms_formater_ligne_csv($ligne, $delim=',') {
     30
    2831        $out = "";
    29         foreach($ligne as $val){
     32       
     33        foreach($ligne as $val) {
     34       
    3035                if (is_array($val))
    3136                        foreach($val as $v) $out .= csv_champ($v).$delim;
     
    3338                        $out .= csv_champ($val).$delim;
    3439        }
    35         $out = substr($out,0,strlen($out)-strlen($delim))."\r\n";
     40       
     41        $out = substr($out, 0, strlen($out)-strlen($delim)) . "\r\n";
     42       
    3643        return $out;
    3744}
    3845
    39 function Forms_formater_ligne($ligne,$format,$separateur){
    40         if (function_exists($f = "Forms_formater_ligne_$format"))
    41                 return $f($ligne,$separateur);
     46
     47function Forms_formater_ligne($ligne, $format, $separateur){
     48
     49        // SI une fonction correspondant au format existe ...
     50        if ( function_exists($f = "Forms_formater_ligne_$format") )
     51                return $f($ligne, $separateur);
    4252        else
    43                 return Forms_formater_ligne_csv($ligne,$separateur);
    44 }
    45 
    46 function Forms_formater_reponse($ligne, $valeurs, $structure,$format,$separateur) {
     53                return Forms_formater_ligne_csv($ligne, $separateur);
     54               
     55}
     56
     57
     58function Forms_formater_reponse($ligne, $valeurs, $structure, $format, $separateur) {
     59
    4760        // Prendre les differents champs dans l'ordre
    4861        foreach ($structure as $champ => $t) {
    49                 if (!isset($valeurs[$champ])) {
     62       
     63                if ( !isset($valeurs[$champ]) ) {
    5064                        $ligne[$champ] = "";
    51                 }
    52                 else{
     65                       
     66                } else {
     67               
    5368                        $v = $valeurs[$champ];
    54                         if ($t['type']=='multiple'){
    55                                 // pour un choix multiple on cree une colonne par reponse potentielle, plus une vide avant
     69                       
     70                        // SI choix multiple ...
     71                        if ( $t['type']=='multiple' ){
     72                       
     73                                // pour un choix multiple on cree une colonne par reponse potentielle, plus une vide avant
     74                                // (??Pourquoi une colonne vide avant??)
    5675                                $ligne[$champ][] = "";
    57                                 foreach($t['choix'] as $choix=>$titre)
    58                                         if (isset($v[$choix]))
     76                                foreach($t['choix'] as $choix=>$titre){
     77                                        if( isset($v[$choix]) )
    5978                                                $ligne[$champ][$choix] = $v[$choix];
    6079                                        else
    6180                                                $ligne[$champ][$choix] = "";
    62                         }
    63                         else
    64                                 $ligne[] = strval(join(', ', $v));
    65                 }
    66         }
    67         return Forms_formater_ligne($ligne,$format,$separateur);
    68 }
    69 
     81                                }
     82                                               
     83                        } else { // ...dans tous les autres cas :
     84                                $ligne[] = strval( join(', ', $v) );
     85                        }
     86                }
     87               
     88        }
     89       
     90        return Forms_formater_ligne($ligne, $format, $separateur);
     91       
     92}
     93
     94
     95// INFO : $separateur = $delim
     96// (?? Pourquoi '&$' dans "&$fichiers" et "&$filename" ??)
    7097function Forms_formater_les_reponses($id_form, $format, $separateur, &$fichiers, &$filename, $head=true, $traduit=true){
    7198        //
     
    76103        $nb_reponses = 0;
    77104        $row = spip_fetch_array(spip_query("SELECT COUNT(*) AS tot FROM spip_forms_donnees WHERE id_form="._q($id_form)." AND confirmation='valide' AND statut<>'poubelle'"));
    78         if ($row)       $nb_reponses = $row['tot'];
    79 
    80         if (!$id_form || !autoriser('administrer','form',$id_form))
     105        if ($row) $nb_reponses = $row['tot'];
     106
     107        if ( !$id_form || !autoriser('administrer','form',$id_form) )
    81108                acces_interdit();
    82109
     
    96123                // Une premiere ligne avec les noms de champs
    97124                $ligne1 = $ligne2 = array();
    98                 $ligne1[] = $ligne2[] = 'id_donnee';
    99                 $ligne1[] = 'date';
    100                 $ligne2[] = _T("forms:date");
    101                 $ligne1[] = 'url';
    102                 $ligne2[] = _T("forms:page");
     125               
     126                // SI 'Import_CSV', on ne veut que la 2ème ligne (ligne des titres (libellés) des champs)
     127                if( $format != "Import_CSV" ){
     128                        $ligne1[] = 'id_donnee';
     129                }
     130                $ligne2[] = 'id_donnee';
     131               
     132               
     133                // SI 'Import_CSV', on ne veut pas ces 2 colonnes! (ni 'date', ni 'url')
     134                if( $format != "Import_CSV" ){
     135                        $ligne1[] = 'date';
     136                        $ligne2[] = _T("forms:date");
     137                       
     138                        $ligne1[] = 'url';
     139                        $ligne2[] = _T("forms:page");
     140                }
     141               
    103142                foreach ($structure as $champ => $t) {
    104143                        $ligne1[] = $champ;
    105                         $ligne2[] = textebrut(typo($t['titre']));
     144                        $ligne2[] = textebrut( typo($t['titre']) );
     145                       
    106146                        if ($t['type']=='multiple'){
    107147                                // pour un choix multiple on cree une colonne par reponse potentielle
     
    112152                                }
    113153                        }
    114                 }
    115                 $s .= Forms_formater_ligne($ligne1,$format,$separateur);
     154                       
     155                }
     156               
     157               
     158                // SI 'Import_CSV', on ne veut que la 2ème ligne (ligne des titres (libellés) des champs)
     159                if( $format != "Import_CSV" ){
     160                        $s .= Forms_formater_ligne($ligne1, $format, $separateur); // (1ère ligne)
     161                }
     162               
    116163                if ($traduit)
    117                         $s .= Forms_formater_ligne($ligne2,$format,$separateur);
    118         }
    119 
    120         // Ensuite les reponses
     164                        $s .= Forms_formater_ligne($ligne2, $format, $separateur); // (2ème ligne)
     165       
     166       
     167        } // (FIN de "if($head)")
     168
     169       
     170        // Ensuite les reponses...
    121171        $fichiers = array();
    122172        $id_donnee = 0;
    123         $result = spip_query("SELECT r.id_donnee, r.date,r.url, c.champ, c.valeur ".
     173       
     174        $result = spip_query("SELECT r.id_donnee, r.date, r.url, c.champ, c.valeur ".
    124175                "FROM spip_forms_donnees AS r LEFT JOIN spip_forms_donnees_champs AS c USING (id_donnee) ".
    125176                "WHERE id_form="._q($id_form)." AND confirmation='valide' AND statut<>'poubelle' AND c.id_donnee IS NOT NULL ".
    126177                "ORDER BY date, r.id_donnee");
     178               
    127179        while ($row = spip_fetch_array($result)) {
     180       
    128181                if ($id_donnee != $row['id_donnee']) {
     182               
    129183                        if ($id_donnee)
    130                                 $s .= Forms_formater_reponse($ligne,$valeurs,$structure,$format,$separateur);
     184                                $s .= Forms_formater_reponse($ligne, $valeurs, $structure, $format, $separateur);
     185                               
    131186                        $id_donnee = $row['id_donnee'];
    132187                        $date = $row['date'];
     188                       
    133189                        $ligne = array();
    134190                        $ligne[] = $id_donnee;
    135                         $ligne[] = jour($date).'/'.mois($date).'/'.annee($date);
    136                         $ligne[] = str_replace("&amp;","&",$row['url']);
     191                       
     192                        // SI 'Import_CSV', on ne veut pas ces 2 colonnes! (ni date, ni url)
     193                        if( $format != "Import_CSV" ){
     194                                $ligne[] = jour($date).'/'.mois($date).'/'.annee($date);
     195                                $ligne[] = str_replace("&amp;", "&", $row['url']);
     196                        }
     197                       
    137198                        $valeurs = array();
    138199                }
     200               
    139201                $champ = $row['champ'];
     202               
     203                // SI champ de type "fichier"...
    140204                if ($structure[$champ]['type'] == 'fichier') {
     205               
    141206                        $fichiers[] = $row['valeur'];
    142207                        $valeurs[$champ][] = 'fichiers/'.basename($row['valeur']);
    143                 }
    144                 else {
     208                       
     209                } else {
     210               
    145211                        $v = $row['valeur'];
    146                         if (isset($structure[$champ]['choix'][$v])){
     212                       
     213                        if( isset($structure[$champ]['choix'][$v]) ){
    147214                                $vt = $v;
    148215                                if ($traduit) $vt = $structure[$champ]['choix'][$v];
    149216                                $valeurs[$champ][$v] = $vt;
    150                         }
    151                         else{
     217                        } else {
    152218                                if ($traduit AND isset($structure[$champ][$v])) $v = $structure[$champ][$v];
    153219                                $valeurs[$champ][] = $v;
    154220                        }
    155                 }
    156         }
    157 
    158         // Ne pas oublier la derniere reponse
     221                       
     222                }
     223        }
     224
     225        // Ne pas oublier la derniere reponse!
    159226        if ($id_donnee)
    160                 $s .= Forms_formater_reponse($ligne,$valeurs,$structure,$format,$separateur);
     227                $s .= Forms_formater_reponse($ligne, $valeurs, $structure, $format, $separateur);
     228       
    161229        return $s;
     230       
    162231}
    163232
  • _plugins_/forms/forms_et_tables_2_0/inc/forms_type_champs.php

    r46207 r50068  
    1111 *
    1212 */
    13        
    1413       
    1514       
     
    7675                return $liste;
    7776        }
     77       
    7878        function Forms_type_champ_autorise($type) {
    7979                static $t;
     
    8383                return (strlen($type)&&isset($t[$type]));
    8484        }
     85       
    8586        function Forms_nom_type_champ($type='') {
    8687                static $noms;
     
    125126                                $val = _request($champ, $c);
    126127                        if ($type == 'fichier') $val = $_FILES[$champ]['tmp_name'];
     128                       
    127129                        // verifier la presence des champs obligatoires dont la saisie n'est pas desactivee
    128                         if (($val===NULL || (!is_array($val) && !strlen($val)) || (is_array($val) && (count($val)<2)))
    129                                 && ($infos['obligatoire'] == 'oui')
    130                                 && ($infos['saisie'] != 'non'))
     130                        if ( ($val===NULL || (!is_array($val) && !strlen($val)) || (is_array($val) && (count($val)<2)))
     131                                && ($infos['obligatoire'] == 'oui')
     132                                && ($infos['saisie'] != 'non')
     133                                )
     134                        {
    131135                                // Cas particulier de l'upload de fichier : on ne force pas à uploader à nouveau un fichier si celui-ci est existant
    132136                                // Cas particulier des password : on ne force pas a donner un nouveau mot de passe si existe deja
    133137                                if (( (in_array($type,array('fichier','password'))) && ($val==NULL) && (Forms_valeurs($id_donnee,$id_form,$champ)!=NULL) ));
    134                                         else $erreur[$champ] = _T("forms:champ_necessaire");
     138                                else $erreur[$champ] = _T("forms:champ_necessaire");   
     139                        }
    135140                }
    136141
     
    151156                foreach($structure as $champ=>$infos){
    152157                        $type = $infos['type'];
     158                       
    153159                        if ($GLOBALS['spip_version_code']<1.92)
    154160                                $val = _request($champ);
    155161                        else
    156162                                $val = _request($champ, $c);
    157                         if ( $val!=NULL && strlen($val) ) {
    158 
     163                       
     164       
     165                        /* INFO : Les booléens en PHP : FALSE = "" = "0" = 0 = array() // TRUE = Toutes les autres valeurs! */
     166                        /* ATTENTION : Depuis PHP 5.3 'strlen()' sur un 'array' ne marche plus!!! Avant, cela retournait toujours la valeur '5' (= strlen("Array")) */
     167                        if ( $val!=NULL  &&  ((!is_array($val) && strlen($val)>0) || (is_array($val))) )
     168                        /* SI( != de NULL  ET (SOIT ce n'est pas un tableau (caractères OU chiffres) donc ça doit être de longueur > 0, SOIT c'est un tableau)) */
     169                        {
     170                       
    159171                                // Verifier la conformite des donnees entrees
    160172                                switch ($type){
     
    223235                                                        $erreur[$champ] = _T("info_passe_trop_court");
    224236                                                break;
    225                                 }                       
     237                                }// FIN du switch
     238                               
    226239                                if (isset($GLOBALS['forms_types_champs_etendus'][$type])){
    227240                                        $match = $GLOBALS['forms_types_champs_etendus'][$type]['match'];
     
    229242                                                $erreur[$champ] = _T("forms:champs_perso_invalide");
    230243                                }
    231                                 $erreur = pipeline('forms_valide_conformite_champ',array(
    232                                         'args'=>array(
    233                                                 'id_form'=>$id_form,
    234                                                 'id_donnee'=>$id_donnee,
    235                                                 'champ'=>$champ,
    236                                                 'type'=>$type,
    237                                                 'infos'=>$infos,
    238                                                 'val'=>$val
    239                                         ),
    240                                         'data'=>$erreur)
    241                                 );
    242                         }
    243                 }
     244                               
     245                                $erreur = pipeline(
     246                                        'forms_valide_conformite_champ' ,
     247                                        array(
     248                                                'args'=>array(
     249                                                        'id_form'=>$id_form,
     250                                                        'id_donnee'=>$id_donnee,
     251                                                        'champ'=>$champ,
     252                                                        'type'=>$type,
     253                                                        'infos'=>$infos,
     254                                                        'val'=>$val
     255                                                ),
     256                                                'data'=>$erreur
     257                                        )
     258                                ); // FIN de 'pipeline()'
     259                               
     260                        } // FIN du if
     261                       
     262                } // FIN du foreach
     263               
    244264                return $erreur;
    245265        }
    246266
    247 
    248267?>
  • _plugins_/forms/forms_et_tables_2_0/lang/forms_fr.php

    r35302 r50068  
    1 <?php
     1<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    33// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/_stable_/forms/forms_et_tables_1_9_1/lang/
     
    99        'activer_barre_typo' => 'Activer la barre typographique',
    1010        'adresse_invalide' => 'Cette adresse n\'est pas valide.',
    11         'afficher' => 'Afficher',
     11        'afficher' => 'Afficher le tableau des r&eacute;ponses',
    1212        'aide_contextuelle' => 'Aide contextuelle',
    1313        'ajouter_champ' => 'Ajouter un champ',
     
    2222        'aucune_reponse' => 'aucune donn&eacute;e',
    2323        'avis_message_confirmation' => 'Un message de confirmation est envoy&eacute; &agrave; @mail@',
     24
    2425
    2526        // B
     
    8283        'csv_excel' => 'CSV pour Excel (;)',
    8384        'csv_tab' => 'CSV avec tabulations',
     85       
     86        'csv_import_csv' => 'CSV sp&eacute;cial pour \'Import CSV\'  (;)',
     87        'champ_titre_export' => 'Champ utilis&eacute; pour d&eacute;finir le titre de l\'article export&eacute; :  "nom (identifiant)"',
     88       
    8489
    8590        // D
     
    97102        'echec_upload' => 'Le transfert du fichier a &eacute;chou&eacute;.',
    98103        'edit_champ_obligatoire' => 'Ce champ est obligatoire',
    99         'editer' => 'Editer',
     104        'editer' => 'Editer le formulaire',
    100105        'email_independant' => 'Email independant de la reponse',
    101106        'exporter' => 'Exporter',
    102107        'exporter_article' => 'Exporter dans un article',
     108        //'exporter_toutes_reponses' => 'NE FONCTIONNE PAS ENCORE !!', //'(Exporter TOUTES les r&eacute;ponses)'
     109       
    103110
    104111        // F
     
    132139        'info_supprimer_formulaire' => 'Voulez-vous vraiment supprimer ce formulaire ?',
    133140        'info_supprimer_formulaire_reponses' => 'Des donn&eacute;es sont associ&eacute;es &agrave; ce formulaire. Voulez-vous vraiment le supprimer ?',
    134 
     141        'identifiant_champ' => 'Identifiant du champ :',
     142       
    135143        // L
    136144        'lien_apercu' => 'Aper&ccedil;u',
     
    143151        'lier_documents_mail' => 'Joindre les documents &agrave; l\'email',
    144152        'liste_choix' => 'Liste des choix propos&eacute;s',
     153        'label_param_export' => 'Export des r&eacute;ponses en articles : ',
    145154
    146155        // M
     
    161170        'nouveau_formulaire' => 'Nouveau formulaire',
    162171        'numerique_invalide' => 'Champ num&eacute;rique invalide',
     172        'num_rubrique_export' => 'Num&eacute;ro de la rubrique dans laquelle les r&eacute;ponses doivent &ecirc;tre export&eacute;es : ',
     173        'nom_rubrique' => 'Rubrique n&deg; @num@ : \'@nom@\'',
    163174
    164175        // P
     
    172183        'rang' => 'Rang',
    173184        'remplir_un_champ' => 'Veuillez remplir au moins un champ.',
    174         'reponse' => 'Reponse @id_reponse@',
     185       
     186        'reponse' => 'Réponse @id_reponse@',
     187       
    175188        'reponse_depuis' => 'Depuis la page ',
    176189        'reponse_enregistree' => 'Votre saisie a &eacute;t&eacute; enregistr&eacute;e.',
     
    209222        'toutes_tables' => 'Tous les formulaires',
    210223        'type_form' => 'Type de formulaire',
     224       
     225        'titre_defaut_export' => 'Titre par d&eacute;faut : "R&eacute;ponse n&deg..." ',
    211226
    212227        // U
Note: See TracChangeset for help on using the changeset viewer.