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

Last change on this file since 45944 was 45944, checked in by pierre.fiches@…, 8 years ago

Changer le texte associé à la case infolettre est une option non imposée.
Filtre sinon car la valeur de remplacement de #CONFIG ne fonctionne pas partout.

File size: 12.2 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        <fieldset>
201                <legend><:contact:configuration_texteinfolettre:></legend>
202                <ul>
203                        <li class="editer_texte">
204                                <p class="explication"><:contact:configuration_texteinfolettre_explication:></p>
205                                <textarea name="texteinfolettre" id="texteinfolettre" rows="2" cols="40">[(#ENV{texteinfolettre})]</textarea>
206                        </li>
207                </ul>
208        </fieldset>
209
210        <div class="boutons">
211                <input type="submit" name="_cfg_ok" value="<:bouton_enregistrer:>" class="submit" />
212        </div>
213</div></form>
214[ (#BOUTON_ACTION{<:contact:bouton_effacer:>,#URL_ACTION_AUTEUR{effacer_configuration,'contact',#SELF},ajax,<:contact:alerte_effacement:>})]
215</div>
216
217<script type="text/javascript">
218;(function($){
219        var contact_sortable = function(){
220                $('ol#editer_champs')
221                        .sortable({
222                                cursor : 'move',
223                                axis : 'y',
224                                cancel : 'input, label',
225                                forceHelperSize : true,
226                                forcePlaceholderSize : true,
227                                placeholder : 'cadre-couleur',
228                                start : function(event, ui){
229                                }
230                        });
231        }
232        $(function(){
233                $('div.selection').each(function(){
234                        if ($('div.non input.radio').is(':checked'))
235                                $(this).hide();
236                });
237                $('div.enf').hide();
238
239                $('div.enf input.radio:checked').each(function(){
240                                $(this).parent('div').show();
241                                $(this).parent('div').siblings('div.enf').show();
242                 });
243
244                $('div.par input.radio:checked').each(function(){
245                                $(this).parent('div').siblings('div.enf').show();
246                 });
247
248                $('div div.par input.radio')
249                        .click(function(){
250                                if ($(this).is(':checked'))
251                                        $(this).parent('.par').siblings('div.enf')
252                                                .slideDown();
253                                        $('div div.par input.radio').not(':checked').parent('.par').siblings('div.enf')
254                                                .slideUp();
255                });
256
257                $('div.plus input.radio')
258                        .click(function(){
259                                if ($(this).is(':checked'))
260                                        $('div.selection')
261                                                .slideDown();
262                                                });
263
264                $('div.non input.radio')
265                        .click(function(){
266                                if ($(this).is(':checked'))
267                                        $('div.selection input.checkbox')
268                                                .attr('checked','');
269                                        $('div.selection')
270                                                .slideUp();
271                        });
272
273                $('li.editer_champ div').each(function(){
274                        if (!$(this).siblings(':checkbox').is(':checked'))
275                                $(this).hide();
276                });
277
278                $('li.editer_champ input.checkbox')
279                        .click(function(){
280                                if ($(this).is(':checked'))
281                                        $(this).siblings('div')
282                                                .slideDown();
283                                else
284                                        $(this).siblings('div')
285                                                .slideUp();
286                        });
287
288                if(typeof($.fn.sortable) == 'undefined'){
289                        $.getScript('#CHEMIN{javascript/contact_sortable.js}',function(){
290                                contact_sortable();
291                        });
292                }else{
293                        contact_sortable();
294                }
295        });
296})(jQuery);
297</script>
Note: See TracBrowser for help on using the repository browser.