source: spip-zone/_plugins_/contact/formulaires/configurer_contact.html @ 43963

Last change on this file since 43963 was 43963, checked in by joseph@…, 9 years ago

Pouvoir afficher la barre typo des forums (prévue pour l'espace public).

File size: 11.6 KB
Line 
1<!-- nom=contact -->
2<div class="formulaire_spip formulaire_editer formulaire_#FORM">
3
4[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
5[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
6
7<form method="post" action="#ENV{action}">
8<div>
9        #ACTION_FORMULAIRE{#ENV{action}}
10        <fieldset>
11                <legend><:contact:configuration_destinataires:></legend>
12                <ul class="decaler">
13                        <li class="editer_texte">
14                                <p class="explication"><:contact:configuration_destinataires_explication:></p>
15                                        <B_auteurs>
16                                        <select name="choix_destinataires[]" id="choix_destinataires" multiple="multiple" size="[(#GRAND_TOTAL|<{26}|?{#GRAND_TOTAL,25})]">
17                                        <BOUCLE_auteurs(AUTEURS){tous}{email!=''}{par nom}>
18                                                <option value="#ID_AUTEUR" [(#ID_AUTEUR|in_array{#ENV{choix_destinataires,#ARRAY}}|oui)selected="selected"]>
19                                                        [(#NOM)] (##ID_AUTEUR - [(#ARRAY{0minirezo,info_administrateurs,1comite,info_redacteurs,6forum,info_visiteurs,5poubelle,texte_statut_poubelle,contact,contact:titre}|table_valeur{#STATUT}|_T)[ (#NOM|non)#EMAIL]])
20                                                </option>
21                                        </BOUCLE_auteurs>
22                                </select>
23                                </B_auteurs>
24                        </li>
25                        <li class="choix baisser"><p class="explication"><:contact:configuration_regle_liste_explication:></p>
26                                <div class="bord bottom">
27                                <div class="non par">
28                                        <input type="radio" name="type_choix" id="tous" class="radio" value="tous"[ checked="checked"(#ENV{type_choix}|=={tous}|ou{#ENV{type_choix}|non}|oui)] />
29                                        <label for="tous"><:contact:configuration_destinataires_tous:></label>
30                                </div>
31                                <div class="non enf">
32                                        <input type="radio" name="type_choix" id="tous_ou" class="radio" value="tous_ou"[ checked="checked"(#ENV{type_choix}|=={tous_ou}|oui)] />
33                                        <label for="tous_ou"><:contact:configuration_destinataires_tous_ou:></label>
34                                </div>
35                                <div class="non enf">
36                                        <input type="radio" name="type_choix" id="tous_et" class="radio" value="tous_et"[ checked="checked"(#ENV{type_choix}|=={tous_et}|oui)] />
37                                        <label for="tous_et"><:contact:configuration_destinataires_tous_et:></label>
38                                </div>
39                                </div>
40
41                                <div class="bord">
42                                <div class="non par">
43                                        <input type="radio" name="type_choix" id="un" class="radio" value="un"[ checked="checked"(#ENV{type_choix}|=={un}|oui)] />
44                                        <label for="un"><:contact:configuration_destinataires_un:></label>
45                                </div>
46                                <div class="non enf">
47                                        <input type="radio" name="type_choix" id="un_ou" class="radio" value="un_ou"[ checked="checked"(#ENV{type_choix}|=={un_ou}|oui)] />
48                                        <label for="un_ou"><:contact:configuration_destinataires_un_ou:></label>
49                                </div>
50                                <div class="non enf">
51                                        <input type="radio" name="type_choix" id="un_et" class="radio" value="un_et"[ checked="checked"(#ENV{type_choix}|=={un_et}|oui)] />
52                                        <label for="un_et"><:contact:configuration_destinataires_un_et:></label>
53                                </div>
54                                </div>
55
56                                <div class="bord top">
57                                <div class="plus par">
58                                        <input type="radio" name="type_choix" id="plusieurs" class="radio" value="plusieurs"[ checked="checked"(#ENV{type_choix}|=={plusieurs}|oui)] />
59                                        <label for="plusieurs"><:contact:configuration_destinataires_plusieurs:></label>
60                                </div>
61                                <div class="plus enf">
62                                        <input type="radio" name="type_choix" id="plusieurs_ou" class="radio" value="plusieurs_ou"[ checked="checked"(#ENV{type_choix}|=={plusieurs_ou}|oui)] />
63                                        <label for="plusieurs_ou"><:contact:configuration_destinataires_plusieurs_ou:></label>
64                                </div>
65                                <div class="plus enf">
66                                        <input type="radio" name="type_choix" id="plusieurs_et" class="radio" value="plusieurs_et"[ checked="checked"(#ENV{type_choix}|=={plusieurs_et}|oui)] />
67                                        <label for="plusieurs_et"><:contact:configuration_destinataires_plusieurs_et:></label>
68                                </div>
69                                <div class="aerer2 selection">
70                                        <input type="checkbox" name="c" id="c" class="checkbox" value="c"[ (#ENV{c}|=={c}|oui)checked="checked"] />
71                                        <label for="c"><:contact:preselection:></label>
72                                <br class="nettoyeur" />
73                                </div>
74                                </div>
75                        </li>
76                </ul>
77        </fieldset>
78
79        [(#REM)
80                On récupère les champs possibles
81                Mais on divise en deux :
82                        - d'abord les champs choisis
83                        - puis les champs qui restent
84        ]
85        #SET{champs_possibles, #VAL{rien}|contact_infos_supplementaires}
86        #SET{champs_choisis, #CONFIG{contact/champs,#ARRAY}|array_flip}
87        #SET_MERGE{champs, #GET{champs_choisis}, #GET{champs_possibles}}
88        <fieldset>
89                <legend><:contact:infos_collecte:></legend>
90                <ol id="editer_champs" class="decaler baisser10">
91                        <BOUCLE_champs(POUR){tableau #GET{champs}}>
92                        <li class="choix editer_champ agrondir img#COMPTEUR_BOUCLE" title="<:contact:deplacement_possible:>" style="overflow:visible;">
93                                [(#CLE|match{mail|sujet|texte}|oui)
94                                <input type="text" name="champs[(#VAL{&#91;&#93;}|html_entity_decode)]" id="champ_#CLE" class="text" style="display:none;" value="#CLE" readonly='readonly' />
95                                <input type="text" name="obligatoires[(#VAL{&#91;&#93;}|html_entity_decode)]" id="obli_#CLE" class="text" style="display:none;" value="#CLE" readonly='readonly' />
96                                <label for="champ_#CLE">#VALEUR</label>
97                                <label for="obli_#CLE"><em><:contact:champ_impose:></em></label>
98                                <br class="nettoyeur" />
99                                ][(#CLE|match{mail|sujet|texte}|non)
100                                <input type="checkbox" name="champs[(#VAL{&#91;&#93;}|html_entity_decode)]" id="champ_#CLE" class="checkbox" value="#CLE"[ (#CLE|in_array{#ENV{champs,#ARRAY}}|oui)checked="checked"] />
101                                <label for="champ_#CLE">#VALEUR</label>
102                                <div class="aerer2">
103                                        <input type="checkbox" name="obligatoires[(#VAL{&#91;&#93;}|html_entity_decode)]" id="obli_#CLE" class="checkbox" value="#CLE"[ (#CLE|in_array{#ENV{obligatoires,#ARRAY}}|oui)checked="checked"] />
104                                        <label for="obli_#CLE"><:contact:champ_obligatoire:></label>
105                                <br class="nettoyeur" />
106                                </div>
107                                ]
108                        </li>
109                        </BOUCLE_champs>
110                </ol>
111        </fieldset>
112[(#PLUGIN{porte_plume,version}|>={1.5}|oui)
113        <fieldset>
114                <legend><:contact:configuration_champs_message:></legend>
115                [<p class="attention">(#EVAL{PORTE_PLUME_PUBLIC}|non|ou{#CONFIG{barre_outils_public}|=={non}|oui})<:contact:configuration_barre_impossible:></p>]
116                <ul>
117                        <li class="choix baisser">
118                                <p class="explication"><:contact:configuration_champs_message_explication:></p>
119                                <div>
120                                        <input type="radio" name="barre" id="no_b" class="radio" value="no_barre"[ checked="checked"(#ENV{barre}|=={no_barre}|ou{[(#CONFIG{contact/barre}|non)]}|oui)] />
121                                        <label for="no_b"><:contact:configuration_no_barre:></label>
122                                </div>
123                                <div>
124                                        <input type="radio" name="barre" id="bf" class="radio" value="inserer_barre_forum"[ checked="checked"(#ENV{barre}|=={inserer_barre_forum}|oui)] />
125                                        <label for="bf"><:contact:configuration_barre_forum:></label>
126                                </div>
127                                <div>
128                                        <input type="radio" name="barre" id="no_p" class="radio" value="no_previsualisation"[ checked="checked"(#ENV{barre}|=={no_previsualisation}|oui)] />
129                                        <label for="no_p"><:contact:configuration_no_previsualisation:></label>
130                                </div>
131                                <div>
132                                        <input type="radio" name="barre" id="b" class="radio" value=""[ checked="checked"(#ENV{barre}|non|et{[(#VAL{mail}|in_array{#CONFIG{contact/obligatoires,#ARRAY}}|oui)]})] />
133                                        <label for="b"><:contact:configuration_barre_oui:></label>
134                                </div>
135                        </li>
136                </ul>
137        </fieldset>
138]
139        <fieldset>
140                <legend><:contact:configuration_pj:></legend>
141                <ul class="decaler baisser10">
142                        <li class="choix editer_champ">
143                                [(#REM) : On teste si le plugin facteur est présent pour pourvoir envoyer les pièces jointes ]
144                                [(#PLUGIN{facteur}|oui)
145                                <input type="checkbox" name="autoriser_pj" id="autoriser_pj" class="checkbox" value="true" [checked="checked"(#ENV{autoriser_pj}|=={true}|oui)] />
146                                <label for="autoriser_pj"><:contact:configuration_pj_autoriser:></label>
147
148                                <div>
149                                        <label for="nb_max_pj"><:contact:configuration_pj_nb_max:></label>
150                                        <select name="nb_max_pj" id="nb_max_pj">
151                                                <option value="1" [selected="selected" (#ENV{nb_max_pj}|=={1}|oui)]>1</option>
152                                                <option value="2" [selected="selected" (#ENV{nb_max_pj}|=={2}|oui)]>2</option>
153                                                <option value="3" [selected="selected" (#ENV{nb_max_pj}|=={3}|oui)]>3</option>
154                                                <option value="4" [selected="selected" (#ENV{nb_max_pj}|=={4}|oui)]>4</option>
155                                                <option value="5" [selected="selected" (#ENV{nb_max_pj}|=={5}|oui)]>5</option>
156                                        </select>
157                                </div>
158                                ]
159
160                                [(#PLUGIN{facteur}|non)
161                                <p class="explication"><:contact:configuration_pj_facteur_absent:></p>
162                                ]
163                        </li>
164                </ul>
165        </fieldset>
166
167    <fieldset>
168                <legend><:contact:champ_civilite:></legend>
169                <ul class="decaler10 baisser10">
170                        <li class="choix editer_champ">
171                                <p class="explication"><:contact:champ_civi_explication:></p>
172                                <input type="checkbox" name="champ_civi_mademoiselle" id="champ_civi_mademoiselle" class="checkbox" value="true" [checked="checked"(#ENV{champ_civi_mademoiselle}|=={true}|oui)] />
173                                <label for="champ_civi_mademoiselle"><:contact:champ_civi_mademoiselle_ok:></label>
174                        </li>
175                </ul>
176        </fieldset>
177
178        <fieldset>
179                <legend><:contact:sauv_message:></legend>
180                <ul class="decaler10 baisser10">
181                        <li class="choix editer_champ">
182                                <p class="explication"><:contact:sauv_message_explication:></p>
183                                <input type="checkbox" name="sauvegarder_contacts" id="sauvegarder_contacts" class="checkbox" value="true" [checked="checked"(#ENV{sauvegarder_contacts}|=={true}|oui)] />
184                                <label for="sauvegarder_contacts"><:contact:sauv_message_ok:></label>
185                        </li>
186                </ul>
187        </fieldset>
188
189
190        <fieldset>
191                <legend><:contact:configuration_intro:></legend>
192                <ul>
193                        <li class="editer_texte">
194                                <p class="explication"><:contact:configuration_intro_explication:></p>
195                                <textarea name="texte" id="texte" rows="10" cols="40">#ENV{texte}</textarea>
196                        </li>
197                </ul>
198        </fieldset>
199
200        <div class="boutons">
201                <input type="submit" name="_cfg_ok" value="<:bouton_enregistrer:>" class="submit" />
202        </div>
203</div></form>
204[ (#BOUTON_ACTION{<:contact:bouton_effacer:>,#URL_ACTION_AUTEUR{effacer_configuration,'contact',#SELF},ajax,<:contact:alerte_effacement:>})]
205</div>
206
207<script type="text/javascript">
208;(function($){
209        var contact_sortable = function(){
210                $('ol#editer_champs')
211                        .sortable({
212                                cursor : 'move',
213                                axis : 'y',
214                                cancel : 'input, label',
215                                forceHelperSize : true,
216                                forcePlaceholderSize : true,
217                                placeholder : 'cadre-couleur',
218                                start : function(event, ui){
219                                }
220                        });
221        }
222        $(function(){
223                $('div.selection').each(function(){
224                        if ($('div.non input.radio').is(':checked'))
225                                $(this).hide();
226                });
227                $('div.enf').hide();
228
229                $('div.enf input.radio:checked').each(function(){
230                                $(this).parent('div').show();
231                                $(this).parent('div').siblings('div.enf').show();
232                 });
233
234                $('div.par input.radio:checked').each(function(){
235                                $(this).parent('div').siblings('div.enf').show();
236                 });
237
238                $('div div.par input.radio')
239                        .click(function(){
240                                if ($(this).is(':checked'))
241                                        $(this).parent('.par').siblings('div.enf')
242                                                .slideDown();
243                                        $('div div.par input.radio').not(':checked').parent('.par').siblings('div.enf')
244                                                .slideUp();
245                });
246
247                $('div.plus input.radio')
248                        .click(function(){
249                                if ($(this).is(':checked'))
250                                        $('div.selection')
251                                                .slideDown();
252                                                });
253
254                $('div.non input.radio')
255                        .click(function(){
256                                if ($(this).is(':checked'))
257                                        $('div.selection input.checkbox')
258                                                .attr('checked','');
259                                        $('div.selection')
260                                                .slideUp();
261                        });
262
263                $('li.editer_champ div').each(function(){
264                        if (!$(this).siblings(':checkbox').is(':checked'))
265                                $(this).hide();
266                });
267
268                $('li.editer_champ input.checkbox')
269                        .click(function(){
270                                if ($(this).is(':checked'))
271                                        $(this).siblings('div')
272                                                .slideDown();
273                                else
274                                        $(this).siblings('div')
275                                                .slideUp();
276                        });
277
278                if(typeof($.fn.sortable) == 'undefined'){
279                        $.getScript('#CHEMIN{javascript/contact_sortable.js}',function(){
280                                contact_sortable();
281                        });
282                }else{
283                        contact_sortable();
284                }
285        });
286})(jQuery);
287</script>
Note: See TracBrowser for help on using the repository browser.