source: spip-zone/_plugins_/_stable_/couteau_suisse/config_outils.php @ 26896

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

Finalement, SPIP 2.0.4 n'a pas jQuery 1.3.2.

Mais ce n'est que pour SPIP < 2.0.0 que les [@attr=] sont nécessaires, SPIP 2 a déjà une version de jquery (1.2.x) qui marche sans le @

Du coup, ça rend le CS compatible avec jquery 1.3.2, tout comme SPIP 2.0.4

File size: 41.3 KB
Line 
1<?php
2
3#-----------------------------------------------------#
4#  Plugin  : Couteau Suisse - Licence : GPL           #
5#  Auteur  : Patrice Vanneufville, 2006               #
6#  Contact : patrice¡.!vanneufville¡@!laposte¡.!net   #
7#  Infos : http://www.spip-contrib.net/?article2166   #
8#-----------------------------------------------------#
9if (!defined("_ECRIRE_INC_VERSION")) return;
10// selecteur "[@" inutile depuis jQuery 1.2.x (intégré depuis SPIP 2)
11@define('_SEL_JQUERY', defined('_SPIP19300')?'':'@');
12
13// Noter :
14// outils/mon_outil.php : inclus par les pipelines de l'outil
15// outils/mon_outil_options.php : inclus par cout_options.php
16// outils/mon_outil_fonctions.php : inclus par cout_fonctions.php
17
18cs_log("inclusion de config_outils.php");
19//-----------------------------------------------------------------------------//
20//                               options                                       //
21//-----------------------------------------------------------------------------//
22/*
23add_outil( array(
24        'id' => 'revision_nbsp',
25        'code:options' => '$GLOBALS["activer_revision_nbsp"] = true; $GLOBALS["test_i18n"] = true ;',
26        'categorie' => 'admin',
27));
28*/
29
30// SPIP<=1.92
31add_variable( array(
32        'nom' => 'radio_desactive_cache3',
33        'format' => _format_NOMBRE,
34        'radio' => array(0 => 'couteauprive:cache_nornal', 1 => 'couteauprive:cache_sans'),
35        'defaut' => 0,
36        // si la variable est egale a 1, on code (jquery.js et forms_styles.css restent en cache)
37        'code:%s' => defined('_SPIP19300')?'':"\$cs_fond = isset(\$GLOBALS['fond'])?\$GLOBALS['fond']:_request('page');
38if (!in_array(\$cs_fond, array('jquery.js','forms_styles.css'))) \$_SERVER['REQUEST_METHOD']='POST';\n",
39));
40/*
41pour SPIP 2.0 :
42 define('_NO_CACHE',0); -> toujours prendre tous les fichiers en cache
43 define('_NO_CACHE',-1); -> ne jamais utiliser le cache ni meme creer les fichiers cache
44 define('_NO_CACHE',1); -> ne pas utiliser le fichier en cache, mais stocker le resultat du calcul dans le fichier cache
45 La fonction cache_valide() retourne :
46        '1' si il faut mettre le cache a jour, '0' si le cache est valide, '-1' s'il faut calculer sans stocker en cache
47*/
48add_variable( array(
49        'nom' => 'radio_desactive_cache4',
50        'format' => _format_NOMBRE,
51        'radio' => array(2 => 'couteauprive:cache_nornal', 0 => 'couteauprive:cache_permanent', -1 => 'couteauprive:cache_sans', 1 => 'couteauprive:cache_controle'),
52        'radio/ligne' => 2,
53        'defaut' => 2,
54        'code:%s!=2' => "define('_NO_CACHE',%s);\n",
55));
56add_variable( array(
57        'nom' => 'duree_cache',
58        'format' => _format_NOMBRE,
59        'defaut' => "24", // 1 jour
60        'code' => "\$GLOBALS['delais']=%s*3600;\n",
61));
62add_variable( array(
63        'nom' => 'duree_cache_mutu',
64        'format' => _format_NOMBRE,
65        'defaut' => "24", // 1 jour
66        'code' => "define('_DUREE_CACHE_DEFAUT', %s*3600);\n",
67));
68add_variable( array(
69        'nom' => 'quota_cache',
70        'format' => _format_NOMBRE,
71        'defaut' => 10, // 10 Mo
72        'code' => "\$GLOBALS['quota_cache']=%s;\n",
73));
74add_variable( array(
75        'nom' => 'derniere_modif_invalide',
76        'format' => _format_NOMBRE,
77        'radio' => array(0 => 'item_oui', 1 => 'item_non'),
78        'defaut' => 0,
79        'code' => "\$GLOBALS['derniere_modif_invalide']=%s;\n",
80));
81add_outil( array(
82        'id' => 'spip_cache',
83        'code:spip_options' => "%%radio_desactive_cache".(defined('_SPIP19300')?'4':'3')
84                ."%%%%duree_cache%%%%duree_cache_mutu%%%%quota_cache%%%%derniere_modif_invalide%%",
85        'categorie' => 'admin',
86        'description' => (defined('_SPIP19300')?'<:spip_cache:2:>':'<:spip_cache:1:>').'<:spip_cache::>',
87));
88
89        // ici on a besoin d'une case input. La variable est : dossier_squelettes
90        // a la toute premiere activation de l'outil, la valeur sera : $GLOBALS['dossier_squelettes']
91add_variable( array(
92        'nom' => 'dossier_squelettes',
93        'format' => _format_CHAINE,
94        'defaut' => "\$GLOBALS['dossier_squelettes']",
95        'code' => "\$GLOBALS['dossier_squelettes']=%s;",
96));
97add_outil( array(
98        'id' => 'dossier_squelettes',
99        'code:spip_options' => '%%dossier_squelettes%%',
100        'categorie' => 'admin',
101));
102
103/*
104add_variable( array(
105        'nom' => 'cookie_prefix',
106        'format' => _format_CHAINE,
107        'defaut' => "'spip'",
108        'code' => "\$GLOBALS['cookie_prefix']=%s;",
109));
110add_outil( array(
111        'id' => 'cookie_prefix',
112        'code:options' => "%%cookie_prefix%%",
113        'categorie' => 'admin',
114));
115*/
116
117add_outil( array(
118        'id' => 'supprimer_numero',
119        // inserer : $table_des_traitements['TITRE'][]= 'typo(supprimer_numero(%s))';
120        'traitement:TITRE:pre_typo' => 'supprimer_numero',
121        'traitement:TITRE/mots:pre_typo' => 'supprimer_numero',
122        // inserer : $table_des_traitements['NOM'][]= 'typo(supprimer_numero(%s))';
123        'traitement:NOM:pre_typo' => 'supprimer_numero',
124        // inserer : $table_des_traitements['TYPE']['mots']= 'typo(supprimer_numero(%s))';
125        'traitement:TYPE/mots:pre_typo' => 'supprimer_numero',
126        'categorie' => 'public',
127));
128
129add_variable( array(
130        'nom' => 'paragrapher',
131        'format' => _format_NOMBRE,
132        'radio' => array(1 => 'item_oui', 0 => 'item_non', -1 => 'couteauprive:par_defaut'),
133        'defaut' => "-1",
134        'code:%s>=0' => "\$GLOBALS['toujours_paragrapher']=%s;",
135));
136add_outil( array(
137        'id' => 'paragrapher2',
138        'code:spip_options' => '%%paragrapher%%',
139        'categorie' => 'admin',
140));
141
142add_outil( array(
143        'id' => 'forcer_langue',
144        'code:spip_options' => "\$GLOBALS['forcer_lang']=true;",
145        'categorie' => 'public',
146));
147
148add_variable( array(
149        'nom' => 'webmestres',
150        'format' => _format_CHAINE,
151        'defaut' => '"1"',
152        'code:strlen(%s)' => "define('_ID_WEBMESTRES', %s);",
153        'code:!strlen(%s)' => "define('_ID_WEBMESTRES', 1);",
154));
155add_outil( array(
156        'id' => 'webmestres',
157        'code:spip_options' => '%%webmestres%%',
158        'categorie' => 'admin',
159        // non supporte avant la version 1.92
160        'version-min' => '1.9200',
161        'autoriser' => "cout_autoriser('webmestre')",
162));
163
164add_outil( array(
165        'id' => 'insert_head',
166        'code:options' => "\$GLOBALS['spip_pipeline']['affichage_final'] .= '|f_insert_head';",
167        'categorie' => 'spip',
168));
169
170        // ici on a besoin d'une case input. La variable est : suite_introduction
171        // a la toute premiere activation de l'outil, la valeur sera : '&nbsp;(...)'
172add_variable( array(
173        'nom' => 'suite_introduction',
174        'format' => _format_CHAINE,
175        'defaut' => '"&nbsp;(...)"',
176        'code' => "define('_INTRODUCTION_SUITE', %s);\n",
177));
178add_variable( array(
179        'nom' => 'lgr_introduction',
180        'format' => _format_NOMBRE,
181        'defaut' => 100,
182        'code:%s && %s!=100' => "define('_INTRODUCTION_LGR', %s);\n",
183));
184add_variable( array(
185        'nom' => 'lien_introduction',
186        'format' => _format_NOMBRE,
187        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
188        'defaut' => 0,
189        'code' => "define('_INTRODUCTION_LIEN', %s);",
190));
191add_outil( array(
192        'id' => 'introduction',
193        'code:options' => "%%lgr_introduction%%%%suite_introduction%%%%lien_introduction%%",
194        'categorie' => 'spip',
195));
196
197        // ici on a besoin de deux boutons radio : _T('icone_interface_simple') et _T('icone_interface_complet')
198add_variable( array(
199        'nom' => 'radio_set_options4',
200        'format' => _format_CHAINE,
201        'radio' => array('basiques' => 'icone_interface_simple', 'avancees' => 'icone_interface_complet'),
202        'defaut' => '"avancees"',
203        'code' => "\$_GET['set_options']=\$GLOBALS['set_options']=%s;",
204));
205add_outil( array(
206        'id' => 'set_options',
207        'auteur'         => 'Vincent Ramos',
208        'code:options' => "%%radio_set_options4%%",
209        'categorie' => 'interface',
210        // pipeline pour retirer en JavaScript le bouton de controle de l'interface
211        'pipeline:header_prive' => 'set_options_header_prive',
212        // non supporte a partir de la version 1.93
213        'version-max' => '1.9299',
214));
215
216add_outil( array(
217        'id' => 'simpl_interface',
218        'code:spip_options' => "define('_ACTIVER_PUCE_RAPIDE', false);",
219        'categorie' => 'interface',
220        'version-min' => '1.9300',
221));
222
223add_outil( array(
224        'id' => 'icone_visiter',
225        'categorie' => 'interface',
226        'pipeline:header_prive' => 'icone_visiter_header_prive',
227));
228
229add_variable( array(
230        'nom' => 'tri_articles',
231        'format' => _format_CHAINE,
232        'radio' => array(
233                'date_modif DESC' => 'couteauprive:tri_modif',
234                '0+titre,titre' => 'couteauprive:tri_titre',
235                'date DESC' => 'couteauprive:tri_publi', 
236                'perso' => 'couteauprive:tri_perso' ),
237        'radio/ligne' => 1,
238        'defaut' => "'date DESC'", //"'0+titre,titre'",
239        'code:%s!="perso"' => "define('_TRI_ARTICLES_RUBRIQUE', %s);\n",
240));
241add_variable( array(
242        'nom' => 'tri_perso',
243        'format' => _format_CHAINE,
244        'defaut' => '',
245        'code:strlen(%s)' => "define('_TRI_ARTICLES_RUBRIQUE', %s);",
246));
247add_outil( array(
248        'id' => 'tri_articles',
249        'code:spip_options' => "%%tri_articles%%%%tri_perso%%",
250        'categorie' => 'interface',
251        'version-min' => '1.9300',
252));
253
254// inclusion de l'outil gerant le format des urls
255include_spip('config_outils_urls');
256
257        // ici on a besoin de trois boutons radio : _T('couteauprive:js_jamais'), _T('couteauprive:js_defaut') et _T('couteauprive:js_toujours')
258add_variable( array(
259        'nom' => 'radio_filtrer_javascript3',
260        'format' => _format_NOMBRE,
261        'radio' => array(-1 => 'couteauprive:js_jamais', 0 => 'couteauprive:js_defaut', 1 => 'couteauprive:js_toujours'),
262        'defaut' => 0,
263        // si la variable est non nulle, on code...
264        'code:%s' => "\$GLOBALS['filtrer_javascript']=%s;",
265));
266add_outil( array(
267        'id' => 'filtrer_javascript',
268        'code:options' => "%%radio_filtrer_javascript3%%",
269        'categorie' => 'admin',
270        'version-min' => '1.9200',
271));
272
273        // ici on a besoin d'une case input. La variable est : forum_lgrmaxi
274        // a la toute premiere activation de l'outil, la valeur sera : 0 (aucune limite)
275add_variable( array(
276        'nom' => 'forum_lgrmaxi',
277        'format' => _format_NOMBRE,
278        'defaut' => 0,
279        'code:%s' => "define('_FORUM_LONGUEUR_MAXI', %s);",
280));
281add_outil( array(
282        'id' => 'forum_lgrmaxi',
283        'code:spip_options' => "%%forum_lgrmaxi%%",
284        'categorie' => 'admin',
285        'version-min' => '1.9200',
286));
287
288add_outil( array(
289        'id' => 'auteur_forum',
290        'categorie'      => 'admin',
291        'jquery'        => 'oui',
292        'code:options' => "@define('_FORUM_OBLIGE_AUTEUR', 'oui');",
293        'pipeline:affichage_final' => 'Auteur_forum_affichage_final',
294));
295
296        // ici on a besoin de trois boutons radio : _T('couteauprive:par_defaut'), _T('couteauprive:sf_amont') et _T('couteauprive:sf_tous')
297add_variable( array(
298        'nom' => 'radio_suivi_forums3',
299        'format' => _format_CHAINE,
300        'radio' => array('defaut' => 'couteauprive:par_defaut', '_SUIVI_FORUMS_REPONSES' => 'couteauprive:sf_amont', '_SUIVI_FORUM_THREAD' => 'couteauprive:sf_tous'),
301        'defaut' => '"defaut"',
302        // si la variable est differente de 'defaut' alors on codera le define
303        'code:%s!=="defaut"' => "define(%s, true);",
304));
305add_outil( array(
306        'id' => 'suivi_forums',
307        'code:options' => "%%radio_suivi_forums3%%",
308        'categorie' => 'admin',
309        // effectif que dans la version 1.92 (cf : plugin notifications)
310        'version-min' => '1.9200',
311        'version-max' => '1.9299',
312));
313
314add_variable( array(
315        'nom' => 'spam_mots',
316        'format' => _format_CHAINE,
317        'lignes' => 8,
318        'defaut' => '"sucking blowjob superbabe ejakulation fucking (asses)"',
319        'code' => "define('_spam_MOTS', %s);",
320));
321add_outil( array(
322        'id' => 'spam',
323        'code:options' => '%%spam_mots%%',
324        'categorie' => 'admin',
325));
326
327add_outil( array(
328        'id' => 'no_IP',
329        'code:spip_options' => '$ip = substr(md5($ip),0,16);',
330        'categorie' => 'admin',
331));
332
333add_outil( array(
334        'id' => 'flock',
335        'code:spip_options' => "define('_SPIP_FLOCK',false);",
336        'categorie' => 'admin',
337        'version-min' => '1.9300',
338));
339
340add_variable( array(
341        'nom' => 'log_couteau_suisse',
342        'check' => 'couteauprive:cs_log_couteau_suisse',
343        'defaut' => 0,
344));
345add_variable( array(
346        'nom' => 'spip_options_on',
347        'check' => 'couteauprive:cs_spip_options_on',
348        'defaut' => 0,
349));
350add_variable( array(
351        'nom' => 'distant_off',
352        'check' => 'couteauprive:cs_distant_off',
353        'defaut' => 0,
354        'code:%s' => "define('_CS_PAS_DE_DISTANT','oui');",
355));
356add_outil( array(
357        'id' => 'cs_comportement',
358        'code:spip_options' => "%%distant_off%%",
359));
360
361
362add_outil( array(
363        'id' => 'xml',
364        'code:options' => "\$GLOBALS['xhtml']='sax';",
365        'auteur' => 'Ma&iuml;eul Rouquette',
366        'categorie' =>'public',
367        'version-min' => '1.9200',
368));
369
370add_outil( array(
371        'id' => 'f_jQuery',
372        'code:options' => "\$GLOBALS['spip_pipeline']['insert_head'] = str_replace('|f_jQuery', '', \$GLOBALS['spip_pipeline']['insert_head']);",
373        'auteur' => 'Fil',
374        'categorie' =>'public',
375        'version-min' => '1.9200',
376));
377
378add_variable( array(
379        'nom' => 'style_p',
380        'format' => _format_CHAINE,
381        'defaut' =>  "''",
382        'code:strlen(%s)' => ' class=%s',
383));
384add_variable( array(
385        'nom' => 'style_h',
386        'format' => _format_CHAINE,
387        'defaut' =>  '"spip"',
388        'code:strlen(%s)' => ' class=%s',
389));
390add_variable( array(
391        'nom' => 'racc_hr',
392        'format' => _format_CHAINE,
393        'defaut' => defined('_SPIP19300')?"''":"'<hr class=\"spip\" />'",
394        'code:strlen(%s)' => "\$GLOBALS['ligne_horizontale']=%s;\n",
395        'code:!strlen(%s)' => defined('_SPIP19300')?"\$GLOBALS['ligne_horizontale']=\"<hr\$GLOBALS[class_spip_plus] />\";\n":"",
396));
397add_variable( array(
398        'nom' => 'racc_h1',
399        'format' => _format_CHAINE,
400        'defaut' => defined('_SPIP19300')?"''":"'<h3 class=\"spip\">'",
401        'code:strlen(%s)' => "\$GLOBALS['debut_intertitre']=%s;\n",
402        'code:!strlen(%s)' => "\$GLOBALS['debut_intertitre']=\"<h3\$GLOBALS[class_spip_plus]>\";\n",
403));
404add_variable( array(
405        'nom' => 'racc_h2',
406        'format' => _format_CHAINE,
407        'defaut' => defined('_SPIP19300')?"''":"'</h3>'",
408        'code:strlen(%s)' => "\$GLOBALS['fin_intertitre']=%s;\n",
409        'code:!strlen(%s)' => "\$GLOBALS['fin_intertitre']='</h3>';\n",
410));
411add_variable( array(
412        'nom' => 'racc_i1',
413        'format' => _format_CHAINE,
414        'defaut' => '',
415        'code:strlen(%s)' => "\$GLOBALS['debut_italique']=%s;\n",
416        'code:!strlen(%s)' => "\$GLOBALS['debut_italique']=\"<i\$GLOBALS[class_spip]>\";\n",
417));
418add_variable( array(
419        'nom' => 'racc_i2',
420        'format' => _format_CHAINE,
421        'defaut' => '',
422        'code:strlen(%s)' => "\$GLOBALS['fin_italique']=%s;\n",
423        'code:!strlen(%s)' => "\$GLOBALS['fin_italique']='</i>';\n",
424));
425add_variable( array(
426        'nom' => 'racc_g1',
427        'format' => _format_CHAINE,
428        'defaut' => '',
429        'code:strlen(%s)' => "\$GLOBALS['debut_gras']=%s;\n",
430        'code:!strlen(%s)' => "\$GLOBALS['debut_gras']=\"<strong\$GLOBALS[class_spip]>\";\n",
431));
432add_variable( array(
433        'nom' => 'racc_g2',
434        'format' => _format_CHAINE,
435        'defaut' => '',
436        'code:strlen(%s)' => "\$GLOBALS['fin_gras']=%s;\n",
437        'code:!strlen(%s)' => "\$GLOBALS['fin_gras']='</strong>';\n",
438));
439add_variable( array(
440        'nom' => 'puce',
441        'format' => _format_CHAINE,
442        'defaut' => defined('_SPIP19300')?"''":'"AUTO"',
443        'code:strlen(%s)' => "\$GLOBALS['puce']=%s;",
444));
445add_outil( array(
446        'id' => 'class_spip',
447        'code:spip_options' => "\$GLOBALS['class_spip']='%%style_p%%';\n\$GLOBALS['class_spip_plus']='%%style_h%%';\n%%racc_hr%%%%racc_h1%%%%racc_h2%%%%racc_i1%%%%racc_i2%%%%racc_g1%%%%racc_g2%%%%puce%%",
448        'categorie' => 'public',
449        'description' => 
450        // avant SPIP 1.93 : <hr/> seulement
451        // et apres : <hr/> + puce
452                (!defined('_SPIP19300')?'<:class_spip:1:>':'<:class_spip:2:>').
453        // des SPIP 1.91 : les intertitres
454                '<:class_spip:3:>'.
455        // des SPIP 1.93 : les italiques, les gras + les styles
456                (!defined('_SPIP19300')?'':'<:class_spip:4:>'),
457));
458
459add_variable( array(
460        'nom' => 'prive_travaux',
461        'format' => _format_NOMBRE,
462        'radio' => array(0 => 'couteauprive:tous', 1 => 'couteauprive:admins_seuls'),
463        'defaut' => 0,
464        'code:%s' => "define('_en_travaux_PRIVE', %s);\n",
465));
466add_variable( array(
467        'nom' => 'admin_travaux',
468        'format' => _format_NOMBRE,
469        'radio' => array(0 => 'couteauprive:tous', 1 => 'couteauprive:sauf_admin'),
470        'defaut' => 0,
471        'code:%s' => "define('_en_travaux_ADMIN', %s);\n",
472));
473add_variable( array(
474        'nom' => 'message_travaux',
475        'format' => _format_CHAINE,
476        'defaut' => "_T('couteauprive:travaux_prochainement')",
477        'lignes' => 3,
478        'code' => "\$tr_message=%s;\n",
479));
480add_variable( array(
481        'nom' => 'titre_travaux',
482        'format' => _format_NOMBRE,
483        'radio' => array(1 => 'couteauprive:travaux_titre', 0 => 'couteauprive:travaux_nom_site'),
484        'defaut' => 1,
485        'code:%s' => "define('_en_travaux_TITRE', %s);",
486));
487add_outil( array(
488        'id' => 'en_travaux',
489        'code:options' => "%%message_travaux%%%%prive_travaux%%%%admin_travaux%%%%titre_travaux%%",
490        'categorie' => 'admin',
491        'auteur' => "Arnaud Ventre pour l'id&eacute;e originale",
492));
493
494add_variable( array(
495        'nom' => 'bp_tri_auteurs',
496        'check' => 'couteauprive:bp_tri_auteurs',
497        'defaut' => 1,
498        'code:%s' => "define('boites_privees_TRI_AUTEURS', %s);\n",
499));
500add_variable( array(
501        'nom' => 'bp_urls_propres',
502        'check' => 'couteauprive:bp_urls_propres',
503        'defaut' => 1,
504        'code:%s' => "define('boites_privees_URLS_PROPRES', %s);\n",
505));
506add_variable( array(
507        'nom' => 'cs_rss',
508        'check' => 'couteauprive:rss_var',
509        'defaut' => 1,
510        'code:%s' => "define('boites_privees_CS', %s);\n",
511));
512add_variable( array(
513        'nom' => 'format_spip',
514        'check' => 'couteauprive:format_spip',
515        'defaut' => 1,
516        'code:%s' => "define('boites_privees_ARTICLES', %s);\n",
517));
518add_variable( array(
519        'nom' => 'stat_auteurs',
520        'check' => 'couteauprive:stat_auteurs',
521        'defaut' => 1,
522        'code:%s' => "define('boites_privees_AUTEURS', %s);\n",
523));
524add_variable( array(
525        'nom' => 'qui_webmasters',
526        'check' => 'couteauprive:qui_webmestres',
527        'defaut' => 1,
528        'code:%s' => "define('boites_privees_WEBMASTERS', %s);\n",
529));
530add_outil( array(
531        'id' => 'boites_privees',
532        'auteur'=>'Pat, Joseph LARMARANGE (format SPIP)',
533        'contrib' => 2564,
534        'code:options' => "%%cs_rss%%%%format_spip%%%%stat_auteurs%%%%qui_webmasters%%%%bp_urls_propres%%%%bp_tri_auteurs%%",
535        'categorie' => 'interface',
536        'pipeline:affiche_milieu' => 'boites_privees_affiche_milieu',
537        'pipeline:affiche_droite' => 'boites_privees_affiche_droite',
538        'pipeline:affiche_gauche' => 'boites_privees_affiche_gauche',
539));
540
541add_variable( array(
542        'nom' => 'max_auteurs_page',
543        'format' => _format_NOMBRE,
544        'defaut' => 30,
545        'code:%s' => "@define('MAX_AUTEURS_PAR_PAGE', %s);\n",
546));
547add_variable( array(
548        'nom' => 'auteurs_0',   'check' => 'info_administrateurs',      'defaut' => 1,  'code:%s' => "'0minirezo',",
549));
550add_variable( array(
551        'nom' => 'auteurs_1',   'check' => 'info_redacteurs',   'defaut' => 1,  'code:%s' => "'1comite',",
552));
553add_variable( array(
554        'nom' => 'auteurs_5',   'check' => 'info_statut_site_4',        'defaut' => 1,  'code:%s' => "'5poubelle',",
555));
556add_variable( array(
557        'nom' => 'auteurs_6',   'check' => 'info_visiteurs',    'defaut' => 0,  'code:%s' => "'6forum',",
558));
559add_variable( array(
560        'nom' => 'auteurs_n',   'check' => 'couteauprive:nouveaux',     'defaut' => 0,  'code:%s' => "'nouveau',",
561));
562add_variable( array(
563        'nom' => 'auteurs_tout_voir',
564        'format' => _format_NOMBRE,
565        'radio' => array(1 => 'couteauprive:statuts_tous', 0 => 'couteauprive:statuts_spip'),
566        'radio/ligne' => 1,
567        'defaut' => 0,
568//      'code:!%s' => "@define('AUTEURS_DEFAUT', join(\$temp_auteurs,','));",
569        'code:!%s' => "if (_request('exec')=='auteurs' && !_request('statut')) \$_GET['statut'] = join(\$temp_auteurs,',');",
570        'code:%s' => "if (_request('exec')=='auteurs' && !_request('statut')) \$_GET['statut'] = '!foo';",
571));
572add_outil( array(
573        'id' => 'auteurs',
574        'code:options' => "%%max_auteurs_page%%\$temp_auteurs=array(%%auteurs_0%%%%auteurs_1%%%%auteurs_5%%%%auteurs_6%%%%auteurs_n%%); %%auteurs_tout_voir%% unset(\$temp_auteurs);",
575        'categorie' => 'interface',
576        'version-min' => '1.9300',
577//      'pipeline:affiche_milieu' => 'auteurs_affiche_milieu',
578));
579
580//-----------------------------------------------------------------------------//
581//                               fonctions                                     //
582//-----------------------------------------------------------------------------//
583
584add_outil( array(
585        'id' => 'verstexte',
586        'auteur' => 'C&eacute;dric MORIN',
587        'categorie' => 'spip',
588));
589
590add_outil( array(
591        'id' => 'orientation',
592        'auteur'         => 'Pierre Andrews (Mortimer) &amp; IZO',
593        'categorie' => 'spip',
594));
595
596add_variable( array(
597        'nom' => 'balise_decoupe',
598        'format' => _format_NOMBRE,
599        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
600        'defaut' => 0,
601        'code:%s' => "define('_decoupe_BALISE', %s);\n",
602));
603add_outil( array(
604        'id' => 'decoupe',
605        'contrib'       => 2135,
606        'code:options' => "%%balise_decoupe%%define('_onglets_FIN', '<span class=\'_fooonglets\'></span>');\n@define('_decoupe_SEPARATEUR', '++++');
607if (isset(\$_GET['var_recherche'])) {
608        include_spip('inc/headers');
609        redirige_par_entete(str_replace('var_recherche=', 'decoupe_recherche=', \$GLOBALS['REQUEST_URI']));
610}",
611        'code:css' => "div.pagination {display:block; text-align:center; }
612div.pagination img { border:0pt none; margin:0pt; padding:0pt; }
613span.cs_pagination_off {color: lightgrey; font-weight: bold; text-decoration: underline;} ",
614        // construction des onglets
615        'code:jq_init' => "onglets_init.apply(this);",
616        // pour les balises #TEXTE : $table_des_traitements['TEXTE'] = 'cs_decoupe(propre(%s))';
617        'traitement:TEXTE:post_propre' => 'cs_decoupe',
618        'traitement:TEXTE:pre_propre' => 'cs_onglets',
619        // pour les articles et rubriques : $table_des_traitements['TEXTE']['articles'] = 'cs_decoupe(propre(%s))';
620        'traitement:TEXTE/articles:post_propre' => 'cs_decoupe',
621        'traitement:TEXTE/articles:pre_propre' => 'cs_onglets',
622        'traitement:TEXTE/rubriques:post_propre' => 'cs_decoupe',
623        'traitement:TEXTE/rubriques:pre_propre' => 'cs_onglets',
624        'categorie' => 'typo-racc',
625        'pipeline:bt_toolbox' => 'decoupe_BarreTypo',
626        'pipeline:nettoyer_raccourcis_typo' => 'decoupe_nettoyer_raccourcis',
627));
628
629// couplage avec l'outil 'decoupe', donc 'sommaire' doit etre place juste apres :
630// il faut inserer le sommaire dans l'article et ensuite seulement choisir la page
631add_variable( array(
632        'nom' => 'lgr_sommaire',
633        'format' => _format_NOMBRE,
634        'defaut' => 30,
635        'code:%s>=9 && %s<=99' => "define('_sommaire_NB_CARACTERES', %s);\n",
636));
637add_variable( array(
638        'nom' => 'auto_sommaire',
639        'format' => _format_NOMBRE,
640        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
641        'defaut' => 1,
642        'code:%s' => "define('_sommaire_AUTOMATIQUE', %s);\n",
643));
644add_variable( array(
645        'nom' => 'balise_sommaire',
646        'format' => _format_NOMBRE,
647        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
648        'defaut' => 0,
649        'code:%s' => "define('_sommaire_BALISE', %s);",
650));
651include_spip('inc/filtres');
652add_outil( array(
653        'id' => 'sommaire',
654        'contrib'       => 2378,
655        'code:options' => "define('_sommaire_REM', '<span class=\'_foosommaire\'></span>');\ndefine('_CS_SANS_SOMMAIRE', '[!sommaire]');\ndefine('_CS_AVEC_SOMMAIRE', '[sommaire]');\n%%lgr_sommaire%%%%auto_sommaire%%%%balise_sommaire%%",
656        'code:jq' => 'if(jQuery("div.cs_sommaire").length) {
657                // s\'il y a un sommaire, on cache la navigation haute sur les pages
658                jQuery("div.decoupe_haut").css("display", "none");
659                // utilisation des cookies pour conserver l\'etat du sommaire si on quitte la page
660                if(jcookie="'.url_absolue(find_in_path('javascript/jquery.cookie.js')).'")
661                        jQuery.getScript(jcookie, cs_sommaire_cookie);
662        }',
663        'code:jq_init' => 'cs_sommaire_init.apply(this);',
664        // inserer : $table_des_traitements['TEXTE']['article']= 'sommaire_d_article(propre(%s))';
665        'traitement:TEXTE/articles:post_propre' => 'sommaire_d_article',
666        'traitement:TEXTE/rubriques:post_propre' => 'sommaire_d_article',
667        'traitement:CS_SOMMAIRE:post_propre' => 'sommaire_d_article_balise',
668        'categorie' => 'typo-corr',
669        'pipeline:nettoyer_raccourcis_typo' => 'sommaire_nettoyer_raccourcis',
670));
671
672//-----------------------------------------------------------------------------//
673//                               PUBLIC                                        //
674//-----------------------------------------------------------------------------//
675
676// TODO : gestion du jQuery dans la fonction a revoir ?
677add_outil( array(
678        'id' => 'desactiver_flash',
679        'auteur'         => 'C&eacute;dric MORIN',
680        'categorie'      => 'public',
681        'jquery'        => 'oui',
682        // fonction InhibeFlash_init() codee dans desactiver_flash.js : executee lors du chargement de la page et a chaque hit ajax
683        'code:jq_init' => 'InhibeFlash_init.apply(this);',
684));
685
686add_variable( array(
687        'nom' => 'radio_target_blank3',
688        'format' => _format_NOMBRE,
689        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
690        'defaut' => 0,
691        'code' => '$GLOBALS["tweak_target_blank"]=%s;',
692));
693add_variable( array(
694        'nom' => 'url_glossaire_externe2',
695        'format' => _format_CHAINE,
696        'defaut' => '""',
697        'code:strlen(%s)' => '$GLOBALS["url_glossaire_externe"]=%s;',
698));
699add_variable( array(
700        'nom' => 'enveloppe_mails',
701        'format' => _format_NOMBRE,
702        'radio' => array(1 => 'item_oui', 0 => 'item_non', -1 => 'couteauprive:par_defaut'),
703        'defaut' => -1,
704        // Code pour le CSS
705        'code:%s>0' => 'a.spip_mail:before{content:"\002709" !important;}',
706        'code:%s===0' => 'a.spip_mail:before{content:"" !important;}',
707));
708add_outil( array(
709        'id' => 'SPIP_liens',
710        'categorie' => 'public',
711        'contrib'       => 2443,
712        'jquery'        => 'oui',
713        'description' => '<:SPIP_liens::>'.(defined('_SPIP19300')?'<:SPIP_liens:1:>':''),
714        'code:options' => "%%radio_target_blank3%%\n%%url_glossaire_externe2%%",
715        'code:jq_init' => 'if (%%radio_target_blank3%%) { if(!cs_prive) jQuery("a.spip_out,a.spip_url,a.spip_glossaire",this).attr("target", "_blank"); }',
716        'code:css' => defined('_SPIP19300')?'[[%enveloppe_mails%]]':'',
717));
718
719//-----------------------------------------------------------------------------//
720//                               NOISETTES                                     //
721//-----------------------------------------------------------------------------//
722
723add_outil( array(
724        'id' => 'visiteurs_connectes',
725        'auteur' => "Phil d'apr&egrave;s spip-contrib",
726        'categorie' => 'public',
727        'code:options' => "define('_VISITEURS_CONNECTES',1);
728function cs_compter_visiteurs(){ return count(preg_files(_DIR_TMP.'visites/','.')); }
729function action_visiteurs_connectes(){ echo cs_compter_visiteurs(); return true; }",
730        'version-min' => '1.9200', // pour la balise #ARRAY
731        //      une mise a jour toutes les 120 sec ?
732/*      'code:js' => 'function Timer_visiteurs_connectes(){
733                jQuery("span.cs_nb_visiteurs").load("spip.php?action=visiteurs_connectes");
734                setTimeout("Timer_visiteurs_connectes()",120000);                                       
735}',
736        'code:jq' => ' if(jQuery("span.cs_nb_visiteurs").length) Timer_visiteurs_connectes(); ',
737        'jquery' => 'oui',*/
738));
739
740//-----------------------------------------------------------------------------//
741//                               TYPO                                          //
742//-----------------------------------------------------------------------------//
743
744add_outil( array(
745        'id' => 'toutmulti',
746        'categorie'      => 'typo-racc',
747        'pipeline:pre_typo' => 'ToutMulti_pre_typo',
748));
749
750add_outil( array(
751        'id' => 'pucesli',
752        'auteur'         => "J&eacute;r&ocirc;me Combaz pour l'id&eacute;e originale",
753        'categorie'      => 'typo-corr',
754        'pipeline:pre_typo' => 'pucesli_pre_typo',
755));
756
757add_variable( array(
758        'nom' => 'decoration_styles',
759        'format' => _format_CHAINE,
760        'lignes' => 8,
761        'defaut' => '"span.sc = font-variant:small-caps;
762span.souligne = text-decoration:underline;
763span.barre = text-decoration:line-through;
764span.dessus = text-decoration:overline;
765span.clignote = text-decoration:blink;
766span.surfluo = background-color:#ffff00; padding:0px 2px;
767span.surgris = background-color:#EAEAEC; padding:0px 2px;
768fluo = surfluo"',
769        'code' => "define('_decoration_BALISES', %s);",
770));
771add_outil( array(
772        'id' => 'decoration',
773        'auteur'         => 'izo@aucuneid.net, Pat',
774        'contrib'       => 2427,
775        'categorie'      => 'typo-racc',
776        'code:options' => "%%decoration_styles%%",
777        'pipeline:pre_typo' => 'decoration_pre_typo',
778        'pipeline:bt_toolbox' => 'decoration_BarreTypo',
779));
780
781add_variable( array(
782        'nom' => 'couleurs_fonds',
783        'format' => _format_NOMBRE,
784        'radio' => array(1 => 'item_oui', 0 => 'item_non' ),
785        'defaut' => 1,
786        'code' => "define('_COULEURS_FONDS', %s);\n",
787));
788add_variable( array(
789        'nom' => 'set_couleurs',
790        'format' => _format_NOMBRE,
791        'radio' => array(0 => 'couteauprive:toutes_couleurs', 1 => 'couteauprive:certaines_couleurs'),
792        'radio/ligne' => 1,
793        'defaut' => 0,
794        'code' => "define('_COULEURS_SET', %s);\n",
795));
796add_variable( array(
797        'nom' => 'couleurs_perso',
798        'format' => _format_CHAINE,
799        'lignes' => 3,
800        'defaut' => '"gris, rouge"',
801        'code' => "define('_COULEURS_PERSO', %s);",
802));
803add_outil( array(
804        'id' => 'couleurs',
805        'auteur'         => 'Aur&eacute;lien PIERARD (id&eacute;e originale), Pat',
806        'categorie'      => 'typo-racc',
807        'contrib'       => 2427,
808        'pipeline:pre_typo' => 'couleurs_pre_typo',
809        'pipeline:nettoyer_raccourcis_typo' => 'couleurs_nettoyer_raccourcis',
810        'pipeline:bt_toolbox' => 'couleurs_BarreTypo',
811        'code:options' => "%%couleurs_fonds%%%%set_couleurs%%%%couleurs_perso%%",
812        'code:fonctions' => "// aide le Couteau Suisse a calculer la balise #INTRODUCTION
813include_spip('outils/couleurs');
814\$GLOBALS['cs_introduire'][] = 'couleurs_nettoyer_raccourcis';
815",
816));
817
818// outil essentiellement français. D'autres langues peuvent etre ajoutees dans outils/typo_exposants.php
819add_variable( array(
820        'nom' => 'expo_bofbof',
821        'format' => _format_NOMBRE,
822        'radio' => array(1 => 'item_oui', 0 => 'item_non' ),
823        'defaut' => 0,
824        'code:%s' => "define('_CS_EXPO_BOFBOF', %s);",
825));
826add_outil( array(
827        'id' => 'typo_exposants',
828        'auteur'         => 'Vincent Ramos, Pat',
829        'categorie'      => 'typo-corr',
830        'contrib'       => 1564,
831        'code:options' => '%%expo_bofbof%%',
832        'pipeline:post_typo' => 'typo_exposants',
833        'code:css' => 'sup.typo_exposants { font-size:75%; font-variant:normal; vertical-align:super; }',
834));
835
836add_outil( array(
837        'id' => 'guillemets',
838        'auteur'         => 'Vincent Ramos',
839        'categorie'      => 'typo-corr',
840        'pipeline:post_typo' => 'typo_guillemets',
841));
842
843add_variable( array(
844        'nom' => 'liens_interrogation',
845        'format' => _format_NOMBRE,
846        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
847        'defaut' => 1,
848        'code:%s' => "\$GLOBALS['liens_interrogation']=true;\n",
849));
850add_variable( array(
851        'nom' => 'liens_orphelins',
852        'format' => _format_NOMBRE,
853        'radio' => array(-1 => 'item_non', 0 => 'couteauprive:basique', 1 => 'couteauprive:etendu'),
854        'defaut' => 0,
855        'code' => '$GLOBALS["liens_orphelins"]=%s;',
856));
857// attention : liens_orphelins doit etre place avant mailcrypt
858add_outil( array(
859        'id' => 'liens_orphelins',
860        'categorie'      => 'typo-corr',
861        'contrib'       => 2443,
862        'code:options' => '%%liens_interrogation%%%%liens_orphelins%%',
863        'pipeline:pre_propre' => 'liens_orphelins_pipeline',
864        'traitement:EMAIL' => 'expanser_liens(liens_orphelins',
865        'pipeline:pre_typo'   => 'interro_pre_typo',
866        'pipeline:post_propre'   => 'interro_post_propre',
867));
868
869add_outil( array(
870        'id' => 'filets_sep',
871        'auteur'         => 'FredoMkb',
872        'categorie'      => 'typo-racc',
873        'contrib'       => 1563,
874        'pipeline:pre_typo' => 'filets_sep',
875        'pipeline:bt_toolbox' => 'filets_sep_BarreTypo',
876));
877
878add_outil( array(
879        'id' => 'smileys',
880        'auteur'         => "Sylvain pour l'id&eacute;e originale",
881        'categorie'      => 'typo-corr',
882        'contrib'       => 1561,
883        'code:css' => "table.cs_smileys td {text-align:center; font-size:90%; font-weight:bold;}",
884        'pipeline:pre_typo' => 'cs_smileys_pre_typo',
885        'pipeline:bt_toolbox' => 'cs_smileys_BarreTypo',
886));
887
888add_outil( array(
889        'id' => 'chatons',
890        'auteur'         => "BoOz pour l'id&eacute;e originale",
891        'categorie'      => 'typo-racc',
892        'pipeline:pre_typo' => 'chatons_pre_typo',
893        'pipeline:bt_toolbox' => 'chatons_BarreTypo',
894));
895
896add_variable( array(
897        'nom' => 'glossaire_groupes',
898        'format' => _format_CHAINE,
899        'defaut' => "'Glossaire'",
900        'code' => "\$GLOBALS['glossaire_groupes']=%s;\n",
901));
902add_variable( array(
903        'nom' => 'glossaire_limite',
904        'format' => _format_NOMBRE,
905        'defaut' => 0,
906        'code:%s>0' => "define('_GLOSSAIRE_LIMITE', %s);\n",
907));
908add_variable( array(
909        'nom' => 'glossaire_js',
910        'radio' => array(0 => 'couteauprive:glossaire_css', 1 => 'couteauprive:glossaire_js'),
911        'format' => _format_NOMBRE,
912        'defaut' => 1,
913        'code:%s' => "define('_GLOSSAIRE_JS', %s);",
914));
915add_outil( array(
916        'id' => 'glossaire',
917        'categorie'     => 'typo-corr',
918        'contrib'       => 2206,
919        'code:options' => "@define('_CS_SANS_GLOSSAIRE', '[!glossaire]');\n%%glossaire_limite%%%%glossaire_groupes%%%%glossaire_js%%",
920//      'traitement:LIEU:post_propre' => 'cs_glossaire',
921        'traitement:TEXTE:post_propre' => 'cs_glossaire',
922        // sans oublier les articles et les rubriques :
923        // SPIP ne considere pas que la definition precedente est un tronc commun...
924        'traitement:TEXTE/articles:post_propre' => 'cs_glossaire',
925        'traitement:TEXTE/rubriques:post_propre' => 'cs_glossaire',
926        // et le chapo des articles...
927        'traitement:CHAPO:post_propre' => 'cs_glossaire',
928        // Precaution pour les articles virtuels
929        'traitement:CHAPO:pre_propre' => 'nettoyer_chapo',
930        // Mise en forme des titres
931        'traitement:TITRE/mots:post_typo' => 'cs_glossaire_titres',
932        'code:css' =>  'a.cs_glossaire:after {display:none;}',
933        // fonction glossaire_init() codee dans glossaire.js : executee lors du chargement de la page et a chaque hit ajax
934        'code:jq_init' => 'glossaire_init.apply(this);',
935        'pipelinecode:nettoyer_raccourcis_typo' => '$flux=str_replace(_CS_SANS_GLOSSAIRE, "", $flux);',
936));
937
938// attention : mailcrypt doit etre place apres liens_orphelins
939add_outil( array(
940        'id' => 'mailcrypt',
941        'categorie'     => 'typo-corr',
942        'auteur'        => "Alexis Roussel, Paolo, Pat",
943        'contrib'       => 2443,
944        'jquery'        => 'oui',
945        'pipelinecode:post_propre' => "if(strpos(\$flux, '@')!==false) \$flux=cs_echappe_balises('', 'mailcrypt', \$flux);",
946        'code:js' => "function lancerlien(a,b){ x='ma'+'ilto'+':'+a+'@'+b; return x; }",
947        // jQuery pour remplacer l'arobase image par l'arobase texte
948        // ... puis arranger un peu le title qui a ete protege
949        'code:jq_init' => "jQuery('span.spancrypt', this).attr('class','cryptOK').html('&#6'+'4;');
950        jQuery(\"a["._SEL_JQUERY."title*='..']\", this).each(function () {
951                this.title = this.title.replace(/\.\..t\.\./,'[@]');
952        });",
953        'code:css' => 'span.spancrypt {background:transparent url(' . url_absolue(find_in_path('img/mailcrypt/leure.gif'))
954                . ') no-repeat scroll 0.1em center; padding-left:12px; text-decoration:none;}',
955        'traitement:EMAIL' => 'mailcrypt',
956)); 
957
958
959// attention : liens_en_clair doit etre place apres tous les outils traitant des liens
960add_outil( array(
961        'id' => 'liens_en_clair',
962        'categorie'      => 'spip',
963        'contrib'       => 2443,
964        'pipeline:post_propre' => 'liens_en_clair_post_propre',
965        'code:css' => 'a.spip_out:after {display:none;}',
966)); 
967
968add_variable( array(
969        'nom' => 'bloc_h4',
970        'format' => _format_CHAINE,
971        'defaut' => 'h4',
972        'code:preg_match(\',^h\d$,i\', trim(%s))' => "define('_BLOC_TITRE_H', %s);\n",
973));
974add_variable( array(
975        'nom' => 'bloc_unique',
976        'format' => _format_NOMBRE,
977        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
978        'defaut' => 0,
979        'code:%s' => "define('_decoupe_BALISE', %s);\n",
980));
981add_outil( array(
982        'id' => 'blocs',
983        'categorie'     => 'typo-racc',
984        'contrib' => 2583,
985        'code:options' => "%%bloc_h4%%",
986        // fonction blocs_init() codee dans blocs.js : executee lors du chargement de la page et a chaque hit ajax
987        'code:js' => "var blocs_replier_tout = %%bloc_unique%%;",
988        'code:jq_init' => 'blocs_init.apply(this);',
989        'jquery' => 'oui',
990        'pipeline:pre_typo' => 'blocs_pre_typo',
991        'pipeline:bt_toolbox' => 'blocs_BarreTypo',
992));
993
994add_variable( array(    // variable utilisee par 'pipelinecode:insert_head'
995        'nom' => 'scrollTo',
996        'check' => 'couteauprive:jq_scrollTo',
997        'defaut' => 1,
998        'format' => _format_NOMBRE,
999));
1000add_variable( array(    // variable utilisee par 'pipelinecode:insert_head'
1001        'nom' => 'LocalScroll',
1002        'check' => 'couteauprive:jq_localScroll',
1003        'defaut' => 1,
1004        'format' => _format_NOMBRE,
1005));
1006add_outil( array(
1007        'id' => 'soft_scroller',
1008        'categorie'     => 'public',
1009        'jquery'        => 'oui',
1010        'pipelinecode:insert_head' => 'if(%%scrollTo%%) {$flux.=\'<script src="'.url_absolue(find_in_path("outils/jquery.scrollto.js")).'" type="text/javascript"></script>\'."\n";}
1011if(%%LocalScroll%%) {$flux.=\'<script src="'.url_absolue(find_in_path("outils/jquery.localscroll.js")).'" type="text/javascript"></script>\'."\n";}',
1012        'code:js' => 'function soft_scroller_init() { if(typeof jQuery.localScroll=="function") jQuery.localScroll({hash: true}); }',
1013        'code:jq_init' => 'soft_scroller_init.apply(this);',
1014));
1015
1016// http://www.malsup.com/jquery/corner/
1017add_variable( array(
1018        'nom' => 'jcorner_classes',
1019        'format' => _format_CHAINE,
1020        'lignes' => 10,
1021        'defaut' => defined('_SPIP19300')?'"// coins ronds aux formulaires
1022.formulaire_inscription, .formulaire_forum, .formulaire_ecrire_auteur
1023
1024// colorisation de la dist de SPIP 2.0 en ajoutant un parent
1025\".chapo, .texte\" = wrap(\'<div class=\"jc_parent\" style=\"padding:4px; background-color:#ffe0c0; margin:4px 0;\"></div>\')
1026\".menu\" = wrap(\'<div class=\"jc_parent\" style=\"padding:4px; background-color:lightBlue; margin:4px 0;\"></div>\')
1027
1028// coins ronds aux parents !
1029.jc_parent"'
1030                :'" // coins ronds pour les menus de navigation
1031.rubriques, .breves, .syndic, .forums, .divers
1032
1033 // en couleurs sur l\'accueil
1034.liste-articles li .texte = css(\'background-color\', \'#E0F0F0\') .corner()
1035
1036// colorisation de la dist de SPIP 1.92 en ajoutant un parent
1037\"#contenu .texte\" = wrap(\'<div class=\"jc_parent\" style=\"padding:4px; background-color:#E0F0F0; margin:4px 0;\"></div>\')
1038
1039// coins ronds aux parents !
1040.jc_parent"',
1041        'code' => "define('_jcorner_CLASSES', %s);",
1042));
1043add_variable( array(    // variable utilisee par 'pipelinecode:insert_head'
1044        'nom' => 'jcorner_plugin',
1045        'check' => 'couteauprive:jcorner_plugin',
1046        'defaut' => 1,
1047        'format' => _format_NOMBRE,
1048));
1049add_outil( array(
1050        'id' => 'jcorner',
1051        'categorie'     => 'public',
1052        'jquery'        => 'oui',
1053        'code:options' => "%%jcorner_classes%%",
1054        'pipelinecode:insert_head' => 'if(%%jcorner_plugin%%) {$flux.=\'<script src="'.url_absolue(find_in_path("outils/jquery.corner.js")).'" type="text/javascript"></script>\'."\n";}',
1055        'pipeline:insert_head' => 'jcorner_insert_head',
1056        // jcorner_init() n'est disponible qu'en partie publique
1057        'code:jq_init' => 'if(typeof jcorner_init=="function") jcorner_init.apply(this);',
1058));
1059
1060
1061add_variable( array(
1062        'nom' => 'insertions',
1063        'format' => _format_CHAINE,
1064        'lignes' => 8,
1065        'defaut' => '"coeur = c&oelig;ur
1066manoeuvre = man&oelig;uvre
1067(oeuvre(s?|r?)) = &oelig;uvre$1
1068(O(E|e)uvre(s?|r?)\b/ = &OElig;uvre$2
1069((h|H)uits) = $1uit
1070/\b(c|C|m.c|M.c|rec|Rec)onn?aiss?a(nce|nces|nt|nts|nte|ntes|ble)\b/ = $1onnaissa$2
1071/\boeuf(s?)\b/ = &oelig;uf$1
1072"',
1073        'code' => "define('_insertions_LISTE', %s);",
1074));
1075add_outil( array(
1076        'id' => 'insertions',
1077        'categorie'      => 'typo-corr',
1078        'code:options' => "%%insertions%%",
1079        'traitement:TEXTE:pre_propre' => 'insertions_pre_propre',
1080        // sans oublier les articles et les rubriques :
1081        // SPIP ne considere pas que la definition precedente est un tronc commun...
1082        'traitement:TEXTE/articles:pre_propre' => 'insertions_pre_propre',
1083        'traitement:TEXTE/rubriques:pre_propre' => 'insertions_pre_propre',
1084));
1085
1086// le plugin moderation moderee dans le couteau suisse
1087include_spip('inc/charsets');
1088add_outil( array(
1089        'id' => 'moderation_moderee',
1090        'auteur' => 'Yohann(potter64)',
1091        'categorie' => 'admin',
1092        'version-min' => '1.9300',
1093        'code:options' => '%%moderation_admin%%%%moderation_redac%%%%moderation_visit%%',
1094        'code:jq_init' => 'if (window.location.search.match(/page=forum/)!=null) jQuery("legend:contains(\''.addslashes(unicode2charset(html2unicode(_T('bouton_radio_modere_priori')))).'\')", this).next().html(\''.addslashes(_T('couteauprive:moderation_message')).'\');',
1095        'pipeline:pre_edition' => 'moderation_vip',
1096));
1097add_variable( array(
1098        'nom' => 'moderation_admin',
1099        'check' => 'couteauprive:moderation_admins',
1100        'defaut' => 1,
1101        'code:%s' => "define('_MOD_MOD_0minirezo',%s);",
1102));
1103add_variable( array(
1104        'nom' => 'moderation_redac',
1105        'check' => 'couteauprive:moderation_redacs',
1106        'defaut' => 0,
1107        'code:%s' => "define('_MOD_MOD_1comite',%s);",
1108));
1109add_variable( array(
1110        'nom' => 'moderation_visit',
1111        'check' => 'couteauprive:moderation_visits',
1112        'defaut' => 0,
1113        'code:%s' => "define('_MOD_MOD_6forum',%s);",
1114));
1115
1116add_outil( array(
1117        'id' => 'titre_parent',
1118        'categorie' => 'spip',
1119        'contrib' => 2900,
1120        'code:options' => '%%titres_etendus%%',
1121));
1122add_variable( array(
1123        'nom' => 'titres_etendus',
1124        'check' => 'couteauprive:titres_etendus',
1125        'format' => _format_NOMBRE,
1126        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
1127        'defaut' => 0,
1128        'code:%s' => "define('_PARENTS_ETENDUS',%s);",
1129));
1130
1131add_outil( array(
1132        'id' => 'corbeille',
1133        'categorie' => 'admin',
1134        'version-min' => '1.9300',
1135        'code:options' => "%%arret_optimisation%%",
1136));
1137add_variable( array(
1138        'nom' => 'arret_optimisation',
1139        'format' => _format_NOMBRE,
1140        'radio' => array(1 => 'item_oui', 0 => 'item_non'),
1141        'defaut' => 0,
1142        'code:%s' => "define('_CORBEILLE_SANS_OPTIM', 1);
1143if(!function_exists('genie_optimiser')) {
1144        // surcharge de la fonction d'optimisation de SPIP (inc/optimiser.php)
1145        function genie_optimiser(\$t='foo'){ include_spip('optimiser','genie'); optimiser_base_une_table(); return -(mktime(2,0,0) + rand(0, 3600*4)); }\n}",
1146));
1147
1148// Ajout des outils personnalises
1149if(isset($GLOBALS['mes_outils'])) {
1150        foreach($GLOBALS['mes_outils'] as $id=>$outil) {
1151                $outil['id'] = $id;
1152                if(strlen($outil['nom'])) $outil['nom'] = "<i>$outil[nom]</i>";
1153                add_outil($outil);
1154        }
1155        unset($GLOBALS['mes_outils']);
1156}
1157
1158// Idees d'ajouts :
1159// http://archives.rezo.net/spip-core.mbox/
1160// http://www.spip-contrib.net/Citations
1161// http://www.spip-contrib.net/la-balise-LESMOTS et d'autres balises #MAINTENANT #LESADMINISTRATEURS #LESREDACTEURS #LESVISITEURS
1162// http://www.spip-contrib.net/Ajouter-une-lettrine-aux-articles
1163// http://www.spip-contrib.net/Generation-automatique-de
1164// Les sessions
1165// colorations du code
1166// boutonstexte
1167
1168//global $cs_variables; cs_log($cs_variables, 'cs_variables :');
1169?>
Note: See TracBrowser for help on using the repository browser.