source: spip-zone/_plugins_/formidable/branches/v0/formidable_options.php @ 107472

Last change on this file since 107472 was 107472, checked in by real3t@…, 3 years ago

Possibilité supplémentaire d'anonymisation totale des participation (cas rencontré : réponses uniques basées sur l'auteur, dans le cadre d'un Intranet avec tous les répondant connectés).

  • l'affichage des résultats est anonymisée
  • l'exportation aussi.

Si c'est OK, je fais la même chose sur le trunk

File size: 4.0 KB
Line 
1<?php
2
3// Sécurité
4if (!defined("_ECRIRE_INC_VERSION")) return;
5
6// On déclare le formulaire pour éditer un formulaire
7$GLOBALS['formulaires']['editer_formulaire'] = array(
8        array(
9                'saisie' => 'input',
10                'options' => array(
11                        'nom' => 'titre',
12                        'label' => '<:formidable:editer_titre:>',
13                        'obligatoire' => 'oui',
14                        'class' => 'multilang'
15                )
16        ),
17        array(
18                'saisie' => 'input',
19                'options' => array(
20                        'nom' => 'identifiant',
21                        'label' => '<:formidable:editer_identifiant:>',
22                        'explication' => '<:formidable:editer_identifiant_explication:>',
23                        'obligatoire' => 'oui'
24                ),
25                'verifier' => array(
26                        'type' => 'regex',
27                        'options' => array(
28                                'modele' => '/^[\w]+$/'
29                        )
30                )
31        ),
32        array(
33                'saisie' => 'textarea',
34                'options' => array(
35                        'nom' => 'message_retour',
36                        'label' => '<:formidable:editer_message_ok:>',
37                        'explication' => '<:formidable:editer_message_ok_explication:>',
38                        'rows' => 5,
39                        'li_class' => 'editer_texte',
40                        'class' => 'multilang'
41                )
42        ),
43        array(
44                'saisie' => 'textarea',
45                'options' => array(
46                        'nom' => 'descriptif',
47                        'label' => '<:formidable:editer_descriptif:>',
48                        'explication' => '<:formidable:editer_descriptif_explication:>',
49                        'rows' => 5,
50                        'class' => 'multilang'
51                )
52        ),
53        array(
54                'saisie' => 'selection',
55                'options' => array(
56                        'nom' => 'apres',
57                        'label' => '<:formidable:editer_apres_label:>',
58                        'explication' => '<:formidable:editer_apres_explication:>',
59                        'datas' => array(
60                                'formulaire' => _T('formidable:editer_apres_choix_formulaire'),
61                                'valeurs' => _T('formidable:editer_apres_choix_valeurs'),
62                                'rien' => _T('formidable:editer_apres_choix_rien'),
63                                'redirige' => _T('formidable:editer_apres_choix_redirige'),
64                        ),
65                        'defaut' => 'formulaire',
66                        'cacher_option_intro' => 'on'
67                )
68        ),
69        array(
70                'saisie' => 'input',
71                'options' => array(
72                        'nom' => 'url_redirect',                       
73                        'label' => '<:formidable:editer_redirige_url:>', 
74                        'explication' => '<:formidable:editer_redirige_url_explication:>',
75                        'obligatoire' => 'non'
76                )
77        ),
78        array(
79                'saisie' => 'radio',
80                'options' => array(
81                        'nom' => 'anonymat',
82                        'label' => '<:formidable:editer_anonymat:>',
83                        'explication' => '<:formidable:editer_anonymat_explication:>',
84                        'datas' => array(
85                                'oui' => '<:item_oui:>',
86                                '' => '<:item_non:>'
87                        )               
88                )
89        )
90);
91
92function puce_statut_formulaires_reponse_dist($id, $statut, $id_rubrique, $type='formulaires_reponse', $ajax=false){
93        global $lang_objet;
94       
95        static $coord = array(
96                'publie' => 1,
97                'prop' => 0,
98                'poubelle' => 2
99        );
100
101        $lang_dir = lang_dir($lang_objet);
102        $ajax_node = " id='imgstatut$type$id'";
103        $inser_puce = puce_statut($statut, " width='9' height='9' style='margin: 1px;'$ajax_node");
104
105        if (!autoriser('instituer', 'formulaires_reponse', $id)
106                or !_ACTIVER_PUCE_RAPIDE
107        )
108                return $inser_puce;
109
110        $titles = array(
111                "orange" => _T('texte_statut_propose_evaluation'),
112                "verte" => _T('texte_statut_publie'),
113                "poubelle" => _T('texte_statut_poubelle')
114        );
115       
116        $clip = 1 + (11 * $coord[$statut]);
117
118        if ($ajax){
119                return  "<span class='puce_article_fixe'>"
120                . $inser_puce
121                . "</span>"
122                . "<span class='puce_article_popup' id='statutdecal$type$id' style='width:33px; margin-left: -$clip"."px;'>"
123                  . afficher_script_statut($id, $type, -1, 'puce-orange.gif', 'prop', $titles['orange'])
124                  . afficher_script_statut($id, $type, -12, 'puce-verte.gif', 'publie', $titles['verte'])
125                  . afficher_script_statut($id, $type, -23, 'puce-poubelle.gif', 'poubelle', $titles['poubelle'])
126                  . "</span>";
127        }
128
129        $nom = "puce_statut_";
130
131        if ((! _SPIP_AJAX) AND $type != 'formulaires_reponse') 
132          $over ='';
133        else {
134                $action = generer_url_ecrire('puce_statut_formulaires',"",true);
135                $action = "if (!this.puce_loaded) { this.puce_loaded = true; prepare_selec_statut('$nom', '$type', '$id', '$action'); }";
136                $over = "\nonmouseover=\"$action\"";
137        }
138
139        return  "<span class='puce_article' id='$nom$type$id' dir='$lang_dir'$over>"
140        . $inser_puce
141        . '</span>';
142}
143
144if (!function_exists('array_fill_keys')){
145        function array_fill_keys($keys, $value){
146                array_combine($keys,array_fill(0,count($keys),$value));
147        }
148}
149
150?>
Note: See TracBrowser for help on using the repository browser.