source: spip-zone/_plugins_/couteau_suisse/exec/admin_couteau_suisse_head.html @ 49405

Last change on this file since 49405 was 49405, checked in by patfr@…, 10 years ago

Interface privée : intro et raccourcis en blocs dépliables

File size: 10.4 KB
Line 
1<style type='text/css'>
2
3[(#EVAL{defined('_SPIP19300')}|non)
4        div.cadre-info a { background:none; padding:0; border:0; }
5        div.cadre-info { margin-bottom:1em; }
6        div.cadre-padding form{ padding:0; margin:0; }
7        div.cadre-padding .titrem { background-color:#EEEEEE; color:#000000; }
8]
9div.cadre_padding form { padding:0; margin:0; }
10[(#EVAL{defined('_SPIP20100')}|oui)
11        #contenu .cadre_padding .titrem { background-color:#EEEEEE !important; color:#000000 !important; padding:2px !important; }
12        #contenu .cadre_padding { padding:6px !important; }
13]
14[(#EVAL{defined('_SPIP30000')}|oui)
15        #SET{claire,##ENV{couleur_claire,edf3fe}}
16        #SET{foncee,##ENV{couleur_foncee,3874b0}}
17        div.cs_outils fieldset, div.cs_intros_inner { border:2px solid #GET{claire}; background:#fcfcfc;}
18        div.cs_infos fieldset { border: 1px threedface groove; padding: 0.3em; }
19]
20
21
22.cs_hidden { display:none; }
23
24div.cs-cadre{ padding:0.5em; margin:1px; width=100%; border:1px solid #666666; }
25div.cs-cadre h3 { margin:0.2em 0; border-bottom:1px solid #666666; }
26div.cs_infos { overflow:hidden; }
27div.cs_infos p { margin:0.3em 1em 0.3em 0; padding:0; }
28div.cs_infos h3.titrem { border-bottom:solid 1px; font-weight:bold; display:block; background-color: #EEE;}
29div.cs_infos legend { font-weight:bold; }
30div.cs_infos fieldset { margin:.8em 4em .5em 4em; }
31div.cs_infos fieldset fieldset { border:0; margin:0 0 0 4em; padding:0.3em; }
32div.cs_infos fieldset>div { margin:0; }
33div.cs_infos sup { font-size:85%; font-variant:normal; vertical-align:super; }
34div.cs_infos hr { border:0; border-top:1px solid #67707F; }
35div.cs_infos img { border:0; }
36div.cs_infos div.cs_bouton { margin-top: 0; text-align: right; }
37div.cs_infos div.cs_modif_ok { font-weight:bold; color:green; margin:0.4em; text-align:center; }
38div.cs_infos div.cs_menu_outil { text-align:right; font-size:85%; margin-bottom:0.8em; }
39div.cs_infos div.cs_details_outil { font-size:85%; margin-top:0.8em; border-top:solid 1px; }
40div.cs_infos fieldset ul { margin:0; padding:0; }
41div.cs_infos fieldset ul li { list-style:none; display:inline; }
42
43div.cs_action_rapide { border:1px dotted; margin-bottom:1em; padding-bottom:0.4em; background-color:#F0EEEE; }
44div.cs_action_rapide select.ar_select { width:auto; display:inline; }
45div.cs_action_rapide .ar_edit_info { font-size:85%; font-style:italic; }
46
47.cs_raccourcis {
48        list-style-type:none; padding:0; margin: 0; list-style-image: none; list-style-position: outside;
49}
50.cs_raccourcis b { color:darkRed; }
51
52.conteneur {
53        clear:both;
54        width:100%;
55        margin:0.8em 0 0 0;
56        padding:0;
57}
58
59a.cs_href {
60        font-weight:normal;
61}
62a.outil_on {
63        font-weight:bold;
64        border:1px dotted;
65}
66div.cs_liste {
67        float:left;
68        width:45%;
69}
70
71div.cs_outils {
72        clear:both;
73        float:none;
74        width:100%;
75}
76
77div.cs_actifs {
78        float:right;
79}
80div.cs_toggle {
81        float:left;
82        width:9.6%; /* pour IE6 */
83        text-align:center;
84        margin:50px 0 0 0;
85}
86
87div.categorie, div.cs_intros {
88        margin-top:.6em;
89        padding:2px;
90        font-weight:bold;
91        display:block;
92        cursor:pointer;
93        background-color:#EEE;
94}
95div.categorie span {
96        font-size:85%;
97}
98div.categorie span.light {
99        font-weight:normal;
100}
101
102div.cs_intros_inner {
103        margin-left:1em;
104        padding:0.4em;
105        font-size:90%;
106}
107
108.cs_sobre {
109        background:transparent none repeat scroll 0% !important;
110        border:medium none !important;
111        color:#000099 !important;
112        display:inline;
113        font-size:100%;
114        font-weight:normal !important;
115        margin:0pt !important;
116        padding:0pt !important;
117        cursor:pointer;
118        text-align:left;
119        width:180px;
120}
121
122.cs_droite {
123        text-align:right;
124}
125/* classes de description */
126.q1 { margin:0 2em; }
127.q2 { margin-left:2em; }
128.q3 { font-size:85%; }
129
130</style>
131
132<script type="text/javascript"><!--
133var cs_selected, cs_descripted;
134
135function set_selected() {
136        cs_selected = new Array();
137        jQuery('a.outil_on').each( function(i){
138                cs_selected[i] = this.id;
139        });
140        if(cs_selected.length) {
141                        jQuery('div.cs_toggle div').show();
142                        jQuery('#cs_toggle_p').html('('+cs_selected.length+')');
143                } else jQuery('div.cs_toggle div').hide();
144}
145
146function set_categ(id) {
147        nb = jQuery('#'+id+' a.outil_on').length;
148        if(nb>0) jQuery('#'+id).prev().children().removeClass('light');
149                else jQuery('#'+id).prev().children().addClass('light');
150}
151
152function outils_toggle() {
153        if(cs_selected.length>1) {
154                msg="<:couteauprive:outils_permuter_gras2|cs_javascript:>";
155                msg=msg.replace(/@nb@/, cs_selected.length);
156        } else {
157                msg="<:couteauprive:outil_permuter|cs_javascript:>";
158                msg=msg.replace(/@text@/, jQuery('a.outil_on').text());
159        }
160        if(!confirm(msg)) return false;
161        jQuery('#cs_selection').attr('value', cs_selected.join(','));
162        jQuery('#cs_infos').html('');
163        jQuery('.cs_patience').css('display','block');
164        document.csform.submit();
165}
166
167// clic sur un outil (fonction egalement utilisee par l'outil 'maj_auto')
168function cs_href_click(this_, force) {
169        var this_id = this_.id.replace(/^href_/,'');
170        // on s'en va si l'outil est deja affiche
171        if(!force && cs_descripted==this_id) return false;
172        cs_descripted=this_id;
173        // on charge la nouvelle description
174        jQuery('#cs_infos')
175                .css('opacity', '0.5')
176                .parent()
177                .prepend(ajax_image_searching)
178                .load('[(#URL_ECRIRE{charger_description_outil}|parametre_url{source,#ENV{exec},&})]&outil='+this_id);
179        // annulation du clic
180        return false;
181}
182
183if(window.jQuery) jQuery(function(){
184        // decalage a supprimer sur FF2
185        if(jQuery.browser.mozilla) jQuery('input.cs_sobre').css('margin-left','-3px');
186       
187        jQuery('div.sous_liste').each(cs_Categorie2);
188        if(window.location.search.match(/cmd=pack/)!=null) 
189                jQuery("div.cs_aide a["+cs_sel_jQuery+"href*='cmd=pack']")
190                        .click( function() { window.location.reload(true); return false; });
191        jQuery("div.cs_aide a["+cs_sel_jQuery+"href*='cmd=install']").click( function() { 
192                msg="<:couteauprive:pack_installer|cs_javascript:>\n\n<:couteauprive:cs_reset2|cs_javascript:>";
193                return window.confirm(msg.replace(/@pack@/,jQuery(this).text())); 
194        });
195        jQuery("div.cs_aide a["+cs_sel_jQuery+"href*='cmd=resetall']").click( function() { 
196                msg="<:couteauprive:cs_reset|cs_javascript:>\n\n<:couteauprive:cs_reset2|cs_javascript:>";
197                return window.confirm(msg); 
198        });
199
200        jQuery('div.cs_liste script').remove();
201        // clic sur un titre de categorie
202        jQuery('div.categorie, div.cs_intros').click( function() {
203                jQuery(this).children().toggleClass('cs_hidden');
204                next = jQuery(this).next();
205                next.toggleClass('cs_hidden');
206                cs_EcrireCookie(next[0].id, '+'+next[0].className, dixans);
207                // annulation du clic
208                return false;
209        });
210        jQuery('div.categorie').dblclick(function(){
211                id = '#'+this.nextSibling.id;
212                a = jQuery(id+' a.outil_on').length;
213                b = jQuery(id+' a.cs_href').length;
214                if(a==b) jQuery(id+' a.outil_on').removeClass('outil_on');
215                else jQuery(id+' a.cs_href').addClass('outil_on');
216                jQuery(this).children().addClass('cs_hidden');
217                next = jQuery(this).next();
218                next.removeClass('cs_hidden');
219                cs_EcrireCookie(next[0].id, '+'+next[0].className, dixans);
220                set_selected();
221                set_categ(this.nextSibling.id);
222                return false;
223        });
224
225        // clic sur un outil
226        jQuery('a.cs_href').click( function() {
227                jQuery(this).toggleClass('outil_on');
228                set_selected();
229                set_categ(this.parentNode.id);
230                return cs_href_click(this, false);
231        })
232        .dblclick(function(){
233                jQuery('a.outil_on').removeClass('outil_on');
234                jQuery('div.categorie span').addClass('light');
235                jQuery(this).addClass('outil_on');
236                set_selected();
237                set_categ(this.parentNode.id);
238                outils_toggle();
239                return false;
240        });
241       
242        // clic sur le bouton de permutation
243        jQuery('#cs_toggle_a').click( function() {
244                outils_toggle();
245                // annulation du clic
246                return false;
247        });
248
249        // clic sur le bouton de reset
250        jQuery('#cs_reset_a').click( function() {
251                jQuery('a.outil_on').removeClass('outil_on');
252                jQuery('div.cs_toggle div').hide();
253                jQuery('div.categorie span').addClass('light');
254                // annulation du clic
255                return false;
256        });
257
258        // clic sur le bouton 'tous les actifs'
259        jQuery('#cs_tous_a').click( function() {
260                jQuery('div.cs_actifs a.cs_href').addClass('outil_on');
261                jQuery('div.categorie span').removeClass('light');
262                set_selected();
263                // annulation du clic
264                return false;
265        });
266
267        // masquage/demasquage des blocs <variable> liees a des checkbox
268        input_init.apply(document);
269
270        // verifier la version du CS
271        jQuery('span.cs_version').load('[(#URL_ECRIRE{cs_version}|parametre_url{version,#ENV*{cs_version},&}|parametre_url{force,#ENV*{force},&})]');
272        // afficher la boite rss, si elle existe
273        jQuery('div.cs_boite_rss').load('[(#URL_ECRIRE{cs_boite_rss}|parametre_url{force,#ENV*{force},&})]');
274
275});
276
277// masquage/demasquage des blocs <variable> liees a des checkbox
278// compatibilite Ajax : ajouter this dans jQuery()
279var input_init=function(){
280        // outil actif
281        jQuery('.cs_input_checkbox', this).cs_todo().click(bloc_variables);
282        jQuery('input.cs_input_checkbox:checked',this).each(bloc_variables);
283        // outil inactif
284        jQuery('.cs_hidden_checkbox', this).cs_todo().each(bloc_variables);
285}
286function bloc_variables(index, domElement) {
287//alert(this.name+' - '+this.value);
288        jQuery('.groupe_'+this.name).addClass('cs_hidden');
289        jQuery('.valeur_'+this.name+'_'+this.value).removeClass('cs_hidden');
290}
291if(typeof onAjaxLoad=='function') onAjaxLoad(input_init);
292
293// TODO : cookies en jQuery sous SPIP>=2.0 (plugin jquery.cookie.js)
294
295var dixans=new Date;
296dixans.setFullYear(dixans.getFullYear()+10);
297
298// ref : http://www.actulab.com/ecrire-les-cookies.php
299function cs_EcrireCookie(nom, valeur){
300        var argv=cs_EcrireCookie.arguments;
301        var argc=cs_EcrireCookie.arguments.length;
302        var expires=(argc > 2) ? argv[2] : null;
303        var path=(argc > 3) ? argv[3] : null;
304        var domain=(argc > 4) ? argv[4] : null;
305        var secure=(argc > 5) ? argv[5] : false;
306        document.cookie=nom+'='+escape(valeur)+
307        ((expires==null) ? '' : ('; expires='+expires.toGMTString()))+
308        ((path==null) ? '' : ('; path='+path))+
309        ((domain==null) ? '' : ('; domain='+domain))+
310        ((secure==true) ? '; secure' : '');
311}
312function cs_getCookieVal(offset){
313        var endstr=document.cookie.indexOf (';', offset);
314        if(endstr==-1) endstr=document.cookie.length;
315        return unescape(document.cookie.substring(offset, endstr)); 
316}
317function cs_LireCookie(nom){
318        var arg=nom+'=';
319        var alen=arg.length;
320        var clen=document.cookie.length;
321        var i=0;
322        while (i<clen){
323                var j=i+alen;
324                if(document.cookie.substring(i, j)==arg) return cs_getCookieVal(j);
325                i=document.cookie.indexOf(' ',i)+1;
326                if(i==0) break;
327        }
328        return null; 
329}
330function cs_EffaceCookie(nom){
331        date=new Date;
332        date.setFullYear(date.getFullYear()-1);
333        cs_EcrireCookie(nom,null,date); 
334}
335
336function cs_Categorie2(i,e){
337        var c=cs_LireCookie(this.id);
338        if(c===null || c.match('cs_hidden')) {
339                var j=jQuery(this);
340                j.addClass('cs_hidden');
341                j.prev().children('span.light').removeClass('cs_hidden');
342        }
343}
344//--></script>
Note: See TracBrowser for help on using the repository browser.