squellete2
[aidenligne_francais_universite.git] / plugins / couteau_suisse / config_outils.php
CommitLineData
c495c100
P
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#-----------------------------------------------------#
9
10// Noter :
11// outils/mon_outil.php : inclus par les pipelines de l'outil
12// outils/mon_outil_options.php : inclus par cout_options.php
13// outils/mon_outil_fonctions.php : inclus par cout_fonctions.php
14
15cs_log("inclusion de config_outils.php");
16//-----------------------------------------------------------------------------//
17// options //
18//-----------------------------------------------------------------------------//
19/*
20add_outil( array(
21 'id' => 'revision_nbsp',
22 'code:options' => '$GLOBALS["activer_revision_nbsp"] = true; $GLOBALS["test_i18n"] = true ;',
23 'categorie' => 'admin',
24));
25*/
26
27add_variable( array(
28 'nom' => 'radio_desactive_cache3',
29 'format' => 'nombre',
30 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
31 'defaut' => 0,
32 // si la variable est egale a 1, on code...
33 // jquery.js et forms_styles.css restent en cache.
34 'code:%s' => "\$fond = isset(\$GLOBALS['fond'])?\$GLOBALS['fond']:_request('page');
35if (!in_array(\$fond, array('jquery.js','forms_styles.css'))) \$_SERVER['REQUEST_METHOD']='POST';\n",
36));
37add_variable( array(
38 'nom' => 'duree_cache',
39 'format' => 'nombre',
40 'defaut' => "24", // 1 jour
41 'code' => "\$GLOBALS['delais']=%s*3600;\n",
42));
43add_variable( array(
44 'nom' => 'duree_cache_mutu',
45 'format' => 'nombre',
46 'defaut' => "24", // 1 jour
47 'code' => "define('_DUREE_CACHE_DEFAUT', %s*3600);\n",
48));
49add_variable( array(
50 'nom' => 'quota_cache',
51 'format' => 'nombre',
52 'defaut' => 10, // 10 Mo
53 'code' => "\$GLOBALS['quota_cache']=%s;\n",
54));
55add_variable( array(
56 'nom' => 'exceptions_cache',
57 'format' => 'chaine',
58 'defaut' => "''",
59 'code:strlen(%s)' => "define('_cache_PERSO', %s);",
60));
61// balise pour choisir le cache a appliquer aux articles
62
63add_outil( array(
64 'id' => 'spip_cache',
65 'code:options' => "%%radio_desactive_cache3%%%%duree_cache%%%%duree_cache_mutu%%%%quota_cache%%%%exceptions_cache%%",
66 'categorie' => 'admin',
67 'pipelinecode:insert_head' => 'if(defined(\'_cache_PERSO\')) cs_fixe_cache($GLOBALS[\'delais\']);'
68));
69
70 // ici on a besoin d'une case input. La variable est : dossier_squelettes
71 // a la toute premiere activation de l'outil, la valeur sera : $GLOBALS['dossier_squelettes']
72add_variable( array(
73 'nom' => 'dossier_squelettes',
74 'format' => 'chaine',
75 'defaut' => "\$GLOBALS['dossier_squelettes']",
76 'code' => "\$GLOBALS['dossier_squelettes']=%s;",
77));
78add_outil( array(
79 'id' => 'dossier_squelettes',
80 'code:options' => '%%dossier_squelettes%%',
81 'categorie' => 'admin',
82));
83
84/*
85add_variable( array(
86 'nom' => 'cookie_prefix',
87 'format' => 'chaine',
88 'defaut' => "'spip'",
89 'code' => "\$GLOBALS['cookie_prefix']=%s;",
90));
91add_outil( array(
92 'id' => 'cookie_prefix',
93 'code:options' => "%%cookie_prefix%%",
94 'categorie' => 'admin',
95));
96*/
97
98add_outil( array(
99 'id' => 'supprimer_numero',
100 // inserer : $table_des_traitements['TITRE'][]= 'typo(supprimer_numero(%s))';
101 'traitement:TITRE:pre_typo' => 'supprimer_numero',
102 // inserer : $table_des_traitements['NOM'][]= 'typo(supprimer_numero(%s))';
103 'traitement:NOM:pre_typo' => 'supprimer_numero',
104 'categorie' => 'public',
105));
106
107add_variable( array(
108 'nom' => 'paragrapher',
109 'format' => 'nombre',
110 'radio' => array(1 => 'item_oui', 0 => 'item_non', -1 => 'couteauprive:par_defaut'),
111 'defaut' => "-1",
112 'code:%s>=0' => "\$GLOBALS['toujours_paragrapher']=%s;",
113));
114add_outil( array(
115 'id' => 'paragrapher2',
116 'code:options' => '%%paragrapher%%',
117 'categorie' => 'admin',
118));
119
120add_outil( array(
121 'id' => 'forcer_langue',
122 'code:options' => "\$GLOBALS['forcer_lang']=true;",
123 'categorie' => 'public',
124));
125
126add_outil( array(
127 'id' => 'insert_head',
128 'code:options' => "\$GLOBALS['spip_pipeline']['affichage_final'] .= '|f_insert_head';",
129 'categorie' => 'spip',
130));
131
132 // ici on a besoin d'une case input. La variable est : suite_introduction
133 // a la toute premiere activation de l'outil, la valeur sera : '&nbsp;(...)'
134add_variable( array(
135 'nom' => 'suite_introduction',
136 'format' => 'chaine',
137 'defaut' => '"&nbsp;(...)"',
138 'code' => "define('_INTRODUCTION_SUITE', %s);\n",
139));
140add_variable( array(
141 'nom' => 'lgr_introduction',
142 'format' => 'nombre',
143 'defaut' => 100,
144 'code:%s && %s!=100' => "define('_INTRODUCTION_LGR', %s);\n",
145));
146add_variable( array(
147 'nom' => 'lien_introduction',
148 'format' => 'nombre',
149 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
150 'defaut' => 0,
151 'code' => "define('_INTRODUCTION_LIEN', %s);",
152));
153add_outil( array(
154 'id' => 'introduction',
155 'code:options' => "%%lgr_introduction%%%%suite_introduction%%%%lien_introduction%%",
156 'categorie' => 'spip',
157));
158
159 // ici on a besoin de deux boutons radio : _T('icone_interface_simple') et _T('icone_interface_complet')
160add_variable( array(
161 'nom' => 'radio_set_options4',
162 'format' => 'chaine',
163 'radio' => array('basiques' => 'icone_interface_simple', 'avancees' => 'icone_interface_complet'),
164 'defaut' => '"avancees"',
165 'code' => "\$_GET['set_options']=\$GLOBALS['set_options']=%s;",
166));
167add_outil( array(
168 'id' => 'set_options',
169 'auteur' => 'Vincent Ramos [contact->mailto:www-lansargues@kailaasa.net]',
170 'code:options' => "%%radio_set_options4%%",
171 'categorie' => 'interface',
172 // pipeline pour retirer en javascript le bouton de controle de l'interface
173 'pipeline:header_prive' => 'set_options_header_prive',
174 // non supporte a partir de la version 1.93
175 'version-max' => '1.9299',
176));
177
178add_outil( array(
179 'id' => 'simpl_interface',
180 'code:options' => "@define('_ACTIVER_PUCE_RAPIDE', false);",
181 'categorie' => 'interface',
182 'version-min' => '1.9300',
183));
184
185add_variable( array(
186 'nom' => 'tri_articles',
187 'format' => 'chaine',
188 'radio' => array(
189 'date_modif DESC' => 'couteauprive:tri_modif',
190 '0+titre,titre' => 'couteauprive:tri_titre',
191 'date DESC' => 'couteauprive:tri_publi',
192 'perso' => 'couteauprive:tri_perso' ),
193 'radio/ligne' => 1,
194 'defaut' => "'date DESC'", //"'0+titre,titre'",
195 'code:%s!="perso"' => "@define('_TRI_ARTICLES_RUBRIQUE', %s);\n",
196));
197add_variable( array(
198 'nom' => 'tri_perso',
199 'format' => 'chaine',
200 'defaut' => '',
201 'code:strlen(%s)' => "@define('_TRI_ARTICLES_RUBRIQUE', %s);",
202));
203add_outil( array(
204 'id' => 'tri_articles',
205 'code:options' => "%%tri_articles%%%%tri_perso%%",
206 'categorie' => 'interface',
207 'version-min' => '1.9300',
208));
209
210// ici on a besoin de six boutons radio : 'page', 'html', 'propres', 'propres2, ''standard' et 'propres-qs'
211define('_CS_PROPRE_QS', defined('_SPIP19300')?'propres_qs':'propres-qs');
212add_variable( array(
213 'nom' => 'radio_type_urls3',
214 'format' => 'chaine',
215 'radio' => array('page' => 'couteauprive:url_page', 'html' => 'couteauprive:url_html', 'propres' => 'couteauprive:url_propres', 'propres2' => 'couteauprive:url_propres2',
216 'standard' => 'couteauprive:url_standard', _CS_PROPRE_QS => 'couteauprive:url_propres-qs' ),
217 'radio/ligne' => 4,
218 'defaut' => "'page'",
219 'code' => "\$GLOBALS['type_urls']=%s;\n",
220));
221add_variable( array(
222 'nom' => 'spip_script',
223 'format' => 'chaine',
224 'defaut' => "get_spip_script()",
225 'code' => "define('_SPIP_SCRIPT', %s);",
226));
227add_outil( array(
228 'id' => 'type_urls',
229 'code:options' => "%%radio_type_urls3%%%%spip_script%%",
230 'categorie' => 'admin',
231));
232
233 // ici on a besoin de trois boutons radio : _T('couteauprive:js_jamais'), _T('couteauprive:js_defaut') et _T('couteauprive:js_toujours')
234add_variable( array(
235 'nom' => 'radio_filtrer_javascript3',
236 'format' => 'nombre',
237 'radio' => array(-1 => 'couteauprive:js_jamais', 0 => 'couteauprive:js_defaut', 1 => 'couteauprive:js_toujours'),
238 'defaut' => 0,
239 // si la variable est non nulle, on code...
240 'code:%s' => "\$GLOBALS['filtrer_javascript']=%s;",
241));
242add_outil( array(
243 'id' => 'filtrer_javascript',
244 'code:options' => "%%radio_filtrer_javascript3%%",
245 'categorie' => 'admin',
246 'version-min' => '1.9200',
247));
248
249 // ici on a besoin d'une case input. La variable est : forum_lgrmaxi
250 // a la toute premiere activation de l'outil, la valeur sera : 0 (aucune limite)
251add_variable( array(
252 'nom' => 'forum_lgrmaxi',
253 'format' => 'nombre',
254 'defaut' => 0,
255 'code:%s' => "define('_FORUM_LONGUEUR_MAXI', %s);",
256));
257add_outil( array(
258 'id' => 'forum_lgrmaxi',
259 'code:options' => "%%forum_lgrmaxi%%",
260 'categorie' => 'admin',
261 'version-min' => '1.9200',
262));
263
264add_outil( array(
265 'id' => 'auteur_forum',
266 'categorie' => 'admin',
267 'jquery' => 'oui',
268 'code:options' => "@define('_FORUM_OBLIGE_AUTEUR', 'oui');",
269 'pipeline:affichage_final' => 'Auteur_forum_affichage_final',
270));
271
272 // ici on a besoin de trois boutons radio : _T('couteauprive:par_defaut'), _T('couteauprive:sf_amont') et _T('couteauprive:sf_tous')
273add_variable( array(
274 'nom' => 'radio_suivi_forums3',
275 'format' => 'chaine',
276 'radio' => array('defaut' => 'couteauprive:par_defaut', '_SUIVI_FORUMS_REPONSES' => 'couteauprive:sf_amont', '_SUIVI_FORUM_THREAD' => 'couteauprive:sf_tous'),
277 'defaut' => '"defaut"',
278 // si la variable est differente de 'defaut' alors on codera le define
279 'code:%s!=="defaut"' => "define(%s, true);",
280));
281add_outil( array(
282 'id' => 'suivi_forums',
283 'code:options' => "%%radio_suivi_forums3%%",
284 'categorie' => 'admin',
285 // effectif que dans la version 1.92 (cf : plugin notifications)
286 'version-min' => '1.9200',
287 'version-max' => '1.9299',
288));
289
290add_variable( array(
291 'nom' => 'spam_mots',
292 'format' => 'chaine',
293 'lignes' => 8,
294 'defaut' => '"sucking blowjob superbabe ejakulation fucking (asses)"',
295 'code' => "define('_spam_MOTS', %s);",
296));
297add_outil( array(
298 'id' => 'spam',
299 'code:options' => '%%spam_mots%%',
300 'categorie' => 'admin',
301));
302
303add_outil( array(
304 'id' => 'no_IP',
305 'code:options' => '$ip = substr(md5($ip),0,16);',
306 'categorie' => 'admin',
307));
308
309add_outil( array(
310 'id' => 'flock',
311 'code:options' => "@define('_SPIP_FLOCK',false);",
312 'categorie' => 'admin',
313 'version-min' => '1.9300',
314));
315
316add_outil( array(
317 'id' => 'log_couteau_suisse',
318));
319
320add_outil( array(
321 'id' => 'xml',
322 'code:options' => "\$GLOBALS['xhtml']='sax';",
323 'auteur' => 'Ma&iuml;eul Rouquette (maieulrouquette@tele2.fr)',
324 'categorie' =>'public',
325 'version-min' => '1.9200',
326));
327
328add_outil( array(
329 'id' => 'f_jQuery',
330 'code:options' => "\$GLOBALS['spip_pipeline']['insert_head'] = str_replace('|f_jQuery', '', \$GLOBALS['spip_pipeline']['insert_head']);",
331 'auteur' => 'Fil',
332 'categorie' =>'public',
333 'version-min' => '1.9200',
334));
335
336add_variable( array(
337 'nom' => 'style_p',
338 'format' => 'chaine',
339 'defaut' => '"spip"',
340 'code:strlen(%s)' => ' class=%s',
341));
342add_variable( array(
343 'nom' => 'style_h',
344 'format' => 'chaine',
345 'defaut' => '"spip"',
346 'code:strlen(%s)' => ' class=%s',
347));
348add_variable( array(
349 'nom' => 'racc_hr',
350 'format' => 'chaine',
351 'defaut' => defined('_SPIP19300')?"'<hr />'":"'<hr class=\"spip\" />'",
352 'code:strlen(%s)' => "\$GLOBALS['ligne_horizontale']=%s;\n",
353));
354add_variable( array(
355 'nom' => 'racc_h1',
356 'format' => 'chaine',
357 'defaut' => defined('_SPIP19300')?"''":"'<h3 class=\"spip\">'",
358 'code:strlen(%s)' => "\$GLOBALS['debut_intertitre']=%s;\n",
359));
360add_variable( array(
361 'nom' => 'racc_h2',
362 'format' => 'chaine',
363 'defaut' => defined('_SPIP19300')?"''":"'</h3>'",
364 'code:strlen(%s)' => "\$GLOBALS['fin_intertitre']=%s;\n",
365));
366add_variable( array(
367 'nom' => 'racc_i1',
368 'format' => 'chaine',
369 'defaut' => '',
370 'code:strlen(%s)' => "\$GLOBALS['debut_italique']=%s;\n",
371));
372add_variable( array(
373 'nom' => 'racc_i2',
374 'format' => 'chaine',
375 'defaut' => '',
376 'code:strlen(%s)' => "\$GLOBALS['fin_italique']=%s;\n",
377));
378add_variable( array(
379 'nom' => 'puce',
380 'format' => 'chaine',
381 'defaut' => '"AUTO"',
382 'code:strlen(%s)' => "\$GLOBALS['puce']=%s;",
383));
384add_outil( array(
385 'id' => 'class_spip',
386 'code:options' => "\$GLOBALS['class_spip']='%%style_p%%';\n\$GLOBALS['class_spip_plus']='%%style_h%%';\n%%racc_hr%%%%racc_h1%%%%racc_h2%%%%racc_i1%%%%racc_i2%%%%puce%%",
387 'categorie' => 'public',
388 'description' =>
389 // avant SPIP 1.93 : <hr/> seulement
390 // et apres : <hr/> + puce
391 (!defined('_SPIP19300')?'<:class_spip:1:>':'<:class_spip:2:>').
392 // des SPIP 1.91 : les intertitres
393 '<:class_spip:3:>'.
394 // des SPIP 1.93 : les italiques + les styles
395 (!defined('_SPIP19300')?'':'<:class_spip:4:>'),
396));
397
398add_variable( array(
399 'nom' => 'admin_travaux',
400 'format' => 'nombre',
401 'radio' => array(0 => 'couteauprive:tous', 1 => 'couteauprive:sauf_admin'),
402 'defaut' => 0,
403 'code' => "define('_en_travaux_ADMIN', %s);\n",
404));
405add_variable( array(
406 'nom' => 'message_travaux',
407 'format' => 'chaine',
408 'defaut' => "_T('couteauprive:travaux_prochainement')",
409 'lignes' => 3,
410 'code' => "define('_en_travaux_MESSAGE', %s);\n",
411));
412add_variable( array(
413 'nom' => 'titre_travaux',
414 'format' => 'nombre',
415 'radio' => array(1 => 'couteauprive:travaux_titre', 0 => 'couteauprive:travaux_nom_site'),
416 'defaut' => 1,
417 'code:%s' => "define('_en_travaux_TITRE', %s);",
418));
419add_outil( array(
420 'id' => 'en_travaux',
421 'code:options' => "%%message_travaux%%%%admin_travaux%%%%titre_travaux%%",
422 'categorie' => 'admin',
423 'auteur' => '[Arnaud Ventre->ventrea@gmail.com]',
424));
425
426add_variable( array(
427 'nom' => 'cs_rss',
428 'check' => 'couteauprive:rss_var',
429 'defaut' => 1,
430 'code:%s' => "define('boites_privees_CS', %s);\n",
431));
432add_variable( array(
433 'nom' => 'format_spip',
434 'check' => 'couteauprive:format_spip',
435 'defaut' => 1,
436 'code:%s' => "define('boites_privees_ARTICLES', %s);\n",
437));
438add_variable( array(
439 'nom' => 'stat_auteurs',
440 'check' => 'couteauprive:stat_auteurs',
441 'defaut' => 1,
442 'code:%s' => "define('boites_privees_AUTEURS', %s);\n",
443));
444add_outil( array(
445 'id' => 'boites_privees',
446 'auteur'=>'Pat, Joseph LARMARANGE (format SPIP)',
447 'contrib' => 2564,
448 'code:options' => "%%cs_rss%%%%format_spip%%%%stat_auteurs%%",
449 'categorie' => 'interface',
450 'pipeline:affiche_milieu' => 'boites_privees_affiche_milieu',
451 'pipeline:affiche_droite' => 'boites_privees_affiche_droite',
452));
453
454add_variable( array(
455 'nom' => 'max_auteurs_page',
456 'format' => 'nombre',
457 'defaut' => 30,
458 'code:%s' => "@define('MAX_AUTEURS_PAR_PAGE', %s);\n",
459));
460add_variable( array(
461 'nom' => 'auteurs_0', 'check' => 'info_administrateurs', 'defaut' => 1, 'code:%s' => "'0minirezo',",
462));
463add_variable( array(
464 'nom' => 'auteurs_1', 'check' => 'info_redacteurs', 'defaut' => 1, 'code:%s' => "'1comite',",
465));
466add_variable( array(
467 'nom' => 'auteurs_5', 'check' => 'info_statut_site_4', 'defaut' => 1, 'code:%s' => "'5poubelle',",
468));
469add_variable( array(
470 'nom' => 'auteurs_6', 'check' => 'info_visiteurs', 'defaut' => 0, 'code:%s' => "'6forum',",
471));
472add_variable( array(
473 'nom' => 'auteurs_n', 'check' => 'couteauprive:nouveaux', 'defaut' => 0, 'code:%s' => "'nouveau',",
474));
475add_variable( array(
476 'nom' => 'auteurs_tout_voir',
477 'format' => 'nombre',
478 'radio' => array(1 => 'couteauprive:statuts_tous', 0 => 'couteauprive:statuts_spip'),
479 'radio/ligne' => 1,
480 'defaut' => 0,
481// 'code:!%s' => "@define('AUTEURS_DEFAUT', join(\$temp_auteurs,','));",
482 'code:!%s' => "if (_request('exec')=='auteurs' && !_request('statut')) \$_GET['statut'] = join(\$temp_auteurs,',');",
483 'code:%s' => "if (_request('exec')=='auteurs' && !_request('statut')) \$_GET['statut'] = '!foo';",
484));
485add_outil( array(
486 'id' => 'auteurs',
487 'code:options' => "%%max_auteurs_page%%\$temp_auteurs=array(%%auteurs_0%%%%auteurs_1%%%%auteurs_5%%%%auteurs_6%%%%auteurs_n%%); %%auteurs_tout_voir%% unset(\$temp_auteurs);",
488 'categorie' => 'interface',
489 'version-min' => '1.9300',
490// 'pipeline:affiche_milieu' => 'auteurs_affiche_milieu',
491));
492
493//-----------------------------------------------------------------------------//
494// fonctions //
495//-----------------------------------------------------------------------------//
496
497add_outil( array(
498 'id' => 'verstexte',
499 'auteur' => '[Cedric MORIN->cedric.morin@yterium.com]',
500 'categorie' => 'spip',
501));
502
503add_outil( array(
504 'id' => 'orientation',
505 'auteur' => 'Pierre Andrews (Mortimer) &amp; IZO',
506 'categorie' => 'spip',
507));
508
509add_outil( array(
510 'id' => 'decoupe',
511 'contrib' => 2135,
512 'code:options' => "define('_onglets_FIN', '<span class=\'_fooonglets\'></span>');\n@define('_decoupe_SEPARATEUR', '++++');
513if (isset(\$_GET['var_recherche'])) {
514 include_spip('inc/headers');
515 redirige_par_entete(str_replace('var_recherche=', 'decoupe_recherche=', \$GLOBALS['REQUEST_URI']));
516}",
517 'code:css' => "div.pagination {display:block; text-align:center; }
518div.pagination img { border:0pt none; margin:0pt; padding:0pt; }",
519 // inserer : $table_des_traitements['TEXTE'][]= 'cs_decoupe(propre(%s))';
520 'traitement:TEXTE:post_propre' => 'cs_decoupe',
521 'traitement:TEXTE:pre_propre' => 'cs_onglets',
522 // sans oublier les articles : $table_des_traitements['TEXTE']['articles']= 'cs_decoupe(propre(%s))';
523 'traitement:TEXTE/articles:post_propre' => 'cs_decoupe',
524 'traitement:TEXTE/articles:pre_propre' => 'cs_onglets',
525 'categorie' => 'typo-racc',
526 'pipeline:BT_toolbox' => 'decoupe_BarreTypo',
527 'pipeline:nettoyer_raccourcis_typo' => 'decoupe_nettoyer_raccourcis',
528));
529
530// couplage avec l'outil 'decoupe', donc 'sommaire' doit etre place juste apres :
531// il faut inserer le sommaire dans l'article et ensuite seulement choisir la page
532add_variable( array(
533 'nom' => 'lgr_sommaire',
534 'format' => 'nombre',
535 'defaut' => 30,
536 'code:%s>=9 && %s<=99' => "define('_sommaire_NB_CARACTERES', %s);\n",
537));
538add_variable( array(
539 'nom' => 'auto_sommaire',
540 'format' => 'nombre',
541 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
542 'defaut' => 1,
543 'code:%s' => "define('_sommaire_AUTOMATIQUE', %s);\n",
544));
545add_variable( array(
546 'nom' => 'balise_sommaire',
547 'format' => 'nombre',
548 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
549 'defaut' => 0,
550 'code:%s' => "define('_sommaire_BALISE', %s);",
551));
552include_spip('inc/filtres');
553$path = url_absolue(find_in_path(defined('_SPIP19100')?"img_pack/spip_out.gif":"images/spip_out.gif"));
554add_outil( array(
555 'id' => 'sommaire',
556 'contrib' => 2378,
557 'code:options' => "define('_sommaire_REM', '<span class=\'_foosommaire\'></span>');\ndefine('_sommaire_SANS_SOMMAIRE', '[!sommaire]');\ndefine('_sommaire_AVEC_SOMMAIRE', '[sommaire]');\n%%lgr_sommaire%%%%auto_sommaire%%%%balise_sommaire%%",
558 // s'il y a un sommaire, on cache la navigation haute sur les pages
559 'code:css' => "div.cs_sommaire {display:block; float:right; margin-left:1em; margin-right:0.4em; overflow:auto; z-index:100; max-height:350px; text-align:left;}
560a.sommaire_ancre {background:transparent url($path) no-repeat scroll left center; padding-left:10px; text-decoration:none; }
561div.cs_sommaire a:after {display:none;}",
562 'code:jq' => 'if(jQuery("div.cs_sommaire").length) jQuery("div.decoupe_haut").css("display", "none");',
563 // inserer : $table_des_traitements['TEXTE']['article']= 'sommaire_d_article(propre(%s))';
564 'traitement:TEXTE/articles:post_propre' => 'sommaire_d_article',
565 'traitement:CS_SOMMAIRE:post_propre' => 'sommaire_d_article_balise',
566 'traitement:CS_SOMMAIRE:pre_propre' => 'sommaire_supprime_notes',
567 'categorie' => 'typo-corr',
568 'pipeline:nettoyer_raccourcis_typo' => 'sommaire_nettoyer_raccourcis',
569));
570
571//-----------------------------------------------------------------------------//
572// PUBLIC //
573//-----------------------------------------------------------------------------//
574
575// TODO : gestion du jQuery dans la fonction a revoir ?
576add_outil( array(
577 'id' => 'desactiver_flash',
578 'auteur' => '[Cedric MORIN->cedric.morin@yterium.com]',
579 'categorie' => 'public',
580 'jquery' => 'oui',
581 'pipeline:affichage_final' => 'InhibeFlash_affichage_final',
582));
583
584add_variable( array(
585 'nom' => 'radio_target_blank3',
586 'format' => 'nombre',
587 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
588 'defaut' => 0,
589 'code' => '$GLOBALS["tweak_target_blank"]=%s;',
590));
591add_variable( array(
592 'nom' => 'url_glossaire_externe2',
593 'format' => 'chaine',
594 'defaut' => '""',
595 'code:strlen(%s)' => '$GLOBALS["url_glossaire_externe"]=%s;',
596));
597add_outil( array(
598 'id' => 'SPIP_liens',
599 'categorie' => 'public',
600 'contrib' => 2443,
601 'jquery' => 'oui',
602 'code:options' => "%%radio_target_blank3%%\n%%url_glossaire_externe2%%",
603 'code:jq_init' => 'if (%%radio_target_blank3%%) { jQuery("a.spip_out,a.spip_url,a.spip_glossaire",this).attr("target", "_blank"); }',
604));
605
606//-----------------------------------------------------------------------------//
607// TYPO //
608//-----------------------------------------------------------------------------//
609
610add_outil( array(
611 'id' => 'toutmulti',
612 'categorie' => 'typo-racc',
613 'pipeline:pre_typo' => 'ToutMulti_pre_typo',
614));
615
616add_outil( array(
617 'id' => 'pucesli',
618 'auteur' => '[J&eacute;r&ocirc;me Combaz->http://conseil-recherche-innovation.net/index.php/2000/07/08/72-jerome-combaz]',
619 'categorie' => 'typo-corr',
620 'pipeline:pre_typo' => 'pucesli_pre_typo',
621));
622
623add_variable( array(
624 'nom' => 'decoration_styles',
625 'format' => 'chaine',
626 'lignes' => 8,
627 'defaut' => '"span.sc = font-variant:small-caps;
628span.souligne = text-decoration:underline;
629span.barre = text-decoration:line-through;
630span.dessus = text-decoration:overline;
631span.clignote = text-decoration:blink;
632span.surfluo = background-color:#ffff00; padding:0px 2px;
633span.surgris = background-color:#EAEAEC; padding:0px 2px;
634fluo = surfluo"',
635 'code' => "define('_decoration_BALISES', %s);",
636));
637add_outil( array(
638 'id' => 'decoration',
639 'auteur' => '[izo@aucuneid.net->http://www.aucuneid.com/bones], Pat',
640 'contrib' => 2427,
641 'categorie' => 'typo-racc',
642 'code:options' => "%%decoration_styles%%",
643 'pipeline:pre_typo' => 'decoration_pre_typo',
644 'pipeline:BT_toolbox' => 'decoration_BarreTypo',
645));
646
647add_variable( array(
648 'nom' => 'couleurs_fonds',
649 'format' => 'nombre',
650 'radio' => array(1 => 'item_oui', 0 => 'item_non' ),
651 'defaut' => 1,
652 'code' => "define('_COULEURS_FONDS', %s);\n",
653));
654add_variable( array(
655 'nom' => 'set_couleurs',
656 'format' => 'nombre',
657 'radio' => array(0 => 'couteauprive:toutes_couleurs', 1 => 'couteauprive:certaines_couleurs'),
658 'radio/ligne' => 1,
659 'defaut' => 0,
660 'code' => "define('_COULEURS_SET', %s);\n",
661));
662add_variable( array(
663 'nom' => 'couleurs_perso',
664 'format' => 'chaine',
665 'lignes' => 3,
666 'defaut' => '"gris, rouge"',
667 'code' => "define('_COULEURS_PERSO', %s);",
668));
669add_outil( array(
670 'id' => 'couleurs',
671 'auteur' => 'Aur&eacute;lien PIERARD (id&eacute;e originale), Pat',
672 'categorie' => 'typo-racc',
673 'contrib' => 2427,
674 'pipeline:pre_typo' => 'couleurs_pre_typo',
675 'pipeline:BT_toolbox' => 'couleurs_BarreTypo',
676 'code:options' => "%%couleurs_fonds%%%%set_couleurs%%%%couleurs_perso%%",
677 'code:fonctions' => "// aide le Couteau Suisse a calculer la balise #INTRODUCTION
678function couleurs_introduire(\$texte) {
679 \$couleurs = unserialize(\$GLOBALS['meta']['cs_couleurs']);
680 \$couleurs = _COULEURS_SET===0?\"\$couleurs[0]|\$couleurs[1]\":\$couleurs[0];
681 return preg_replace(\",\[/?(bg|fond)?\s*(\$couleurs|couleur|color)\],i\", '', \$texte);
682}
683\$GLOBALS['cs_introduire'][] = 'couleurs_introduire';
684",
685));
686
687// outil specifiquement français. D'autres langues peuvent etre ajoutees dans outils/typo_exposants.php
688add_outil( array(
689 'id' => 'typo_exposants',
690 'auteur' => 'Vincent Ramos [contact->www-lansargues@kailaasa.net]',
691 'categorie' => 'typo-corr',
692 'contrib' => 1564,
693 'pipeline:post_typo' => 'typo_exposants',
694 'code:css' => 'sup.typo_exposants { font-size:75%; font-variant:normal; vertical-align:super; }',
695));
696
697add_outil( array(
698 'id' => 'guillemets',
699 'auteur' => 'Vincent Ramos [contact->www-lansargues@kailaasa.net]',
700 'categorie' => 'typo-corr',
701 'pipeline:post_typo' => 'typo_guillemets',
702));
703
704add_variable( array(
705 'nom' => 'liens_interrogation',
706 'format' => 'nombre',
707 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
708 'defaut' => 1,
709 'code:%s' => "\$GLOBALS['liens_interrogation']=true;\n",
710));
711add_variable( array(
712 'nom' => 'liens_orphelins',
713 'format' => 'nombre',
714 'radio' => array(-1 => 'item_non', 0 => 'couteauprive:basique', 1 => 'couteauprive:etendu'),
715 'defaut' => 0,
716 'code' => '$GLOBALS["liens_orphelins"]=%s;',
717));
718// attention : liens_orphelins doit etre place avant mailcrypt
719add_outil( array(
720 'id' => 'liens_orphelins',
721 'categorie' => 'typo-corr',
722 'contrib' => 2443,
723 'code:options' => '%%liens_interrogation%%%%liens_orphelins%%',
724 'pipeline:pre_propre' => 'liens_orphelins_pipeline',
725 'traitement:EMAIL' => 'expanser_liens(liens_orphelins',
726 'pipeline:pre_typo' => 'interro_pre_typo',
727 'pipeline:post_propre' => 'interro_post_propre',
728));
729
730add_outil( array(
731 'id' => 'filets_sep',
732 'auteur' => 'FredoMkb',
733 'categorie' => 'typo-racc',
734 'contrib' => 1563,
735 'pipeline:pre_typo' => 'filets_sep',
736 'pipeline:BT_toolbox' => 'filets_sep_BarreTypo',
737));
738
739add_outil( array(
740 'id' => 'smileys',
741 'auteur' => 'Sylvain',
742 'categorie' => 'typo-corr',
743 'contrib' => 1561,
744 'code:css' => "table.cs_smileys td {text-align:center; font-size:90%; font-weight:bold;}",
745 'pipeline:pre_typo' => 'cs_smileys_pre_typo',
746 'pipeline:BT_toolbox' => 'cs_smileys_BarreTypo',
747));
748
749add_outil( array(
750 'id' => 'chatons',
751 'auteur' => 'BoOz (booz.bloog@laposte.net)',
752 'categorie' => 'typo-racc',
753 'pipeline:pre_typo' => 'chatons_pre_typo',
754 'pipeline:BT_toolbox' => 'chatons_BarreTypo',
755));
756
757add_variable( array(
758 'nom' => 'glossaire_groupes',
759 'format' => 'chaine',
760 'defaut' => "'Glossaire'",
761 'code' => "\$GLOBALS['glossaire_groupes']=%s;\n",
762));
763add_variable( array(
764 'nom' => 'glossaire_limite',
765 'format' => 'nombre',
766 'defaut' => 0,
767 'code:%s>0' => "define('_GLOSSAIRE_LIMITE', %s);\n",
768));
769add_variable( array(
770 'nom' => 'glossaire_js',
771 'radio' => array(0 => 'couteauprive:glossaire_css', 1 => 'couteauprive:glossaire_js'),
772 'format' => 'nombre',
773 'defaut' => 1,
774 'code:%s' => "define('_GLOSSAIRE_JS', %s);",
775));
776add_outil( array(
777 'id' => 'glossaire',
778 'categorie' => 'typo-corr',
779 'contrib' => 2206,
780 'code:options' => "%%glossaire_limite%%%%glossaire_groupes%%%%glossaire_js%%",
781// 'traitement:LIEU:post_propre' => 'cs_glossaire',
782 'traitement:TEXTE:post_propre' => 'cs_glossaire',
783 // sans oublier les articles...
784 'traitement:TEXTE/articles:post_propre' => 'cs_glossaire',
785 // et le chapo des articles...
786 'traitement:CHAPO:post_propre' => 'cs_glossaire',
787 // Precaution pour les articles virtuels
788 'traitement:CHAPO:pre_propre' => 'nettoyer_chapo',
789 'code:css' => 'a.cs_glossaire:after {display:none;}',
790 // fonction glossaire_init() codee dans glossaire.js : executee lors du chargement de la page et a chaque hit ajax
791 'code:jq_init' => 'glossaire_init.apply(this);',
792));
793
794// attention : mailcrypt doit etre place apres liens_orphelins
795add_outil( array(
796 'id' => 'mailcrypt',
797 'categorie' => 'typo-corr',
798 'auteur' => 'Alexis Roussel, Paolo',
799 'contrib' => 2443,
800 'jquery' => 'oui',
801 'pipelinecode:post_propre' => "if(strpos(\$flux, '@')!==false) \$flux=cs_echappe_balises('', 'mailcrypt', \$flux);",
802 'code:js' => "function lancerlien(a,b){ x='ma'+'ilto'+':'+a+'@'+b; return x; }",
803 // jQuery pour remplacer l'arobase image par l'arobase texte
804 'code:jq_init' => "jQuery('span.spancrypt', this).attr('class','cryptOK').html('&#6'+'4;');",
805 'code:css' => 'span.spancrypt {background:transparent url(' . url_absolue(find_in_path('img/mailcrypt/leure.gif'))
806 . ') no-repeat scroll 0.1em center; padding-left:12px; text-decoration:none;}',
807 'traitement:EMAIL' => 'mailcrypt',
808));
809
810// attention : liens_en_clair doit etre place apres tous les outils traitant des liens
811add_outil( array(
812 'id' => 'liens_en_clair',
813 'categorie' => 'spip',
814 'contrib' => 2443,
815 'pipeline:post_propre' => 'liens_en_clair_post_propre',
816 'code:css' => 'a.spip_out:after {display:none;}',
817));
818
819add_outil( array(
820 'id' => 'blocs',
821 'categorie' => 'typo-racc',
822 'contrib' => 2583,
823 // fonction blocs_init() codee dans blocs.js : executee lors du chargement de la page et a chaque hit ajax
824 'code:jq_init' => 'blocs_init.apply(this);',
825 'jquery' => 'oui',
826 'pipeline:pre_typo' => 'blocs_pre_typo',
827 'pipeline:BT_toolbox' => 'blocs_BarreTypo',
828));
829
830add_variable( array(
831 'nom' => 'insertions',
832 'format' => 'chaine',
833 'lignes' => 8,
834 'defaut' => '"coeur = c&oelig;ur
835manoeuvre = man&oelig;uvre
836(oeuvre(s?|r?)) = &oelig;uvre$1
837(O(E|e)uvre(s?|r?)\b/ = &OElig;uvre$2
838((h|H)uits) = $1uit
839/\b(c|C|m.c|M.c|rec|Rec)onn?aiss?a(nce|nces|nt|nts|nte|ntes|ble)\b/ = $1onnaissa$2
840/\boeuf(s?)\b/ = &oelig;uf$1
841"',
842 'code' => "define('_insertions_LISTE', %s);",
843));
844add_outil( array(
845 'id' => 'insertions',
846 'categorie' => 'typo-corr',
847 'code:options' => "%%insertions%%",
848 'traitement:TEXTE:pre_propre' => 'insertions_pre_propre',
849 'traitement:TEXTE/articles:pre_propre' => 'insertions_pre_propre',
850));
851
852// Ajout des outils personnalises
853if(isset($GLOBALS['mes_outils']))
854 foreach($GLOBALS['mes_outils'] as $id=>$outil) {
855 $outil['id'] = $id;
856 if(strlen($outil['nom'])) $outil['nom'] = "<i>$outil[nom]</i>";
857 add_outil($outil);
858 }
859
860// Idees d'ajouts :
861// http://archives.rezo.net/spip-core.mbox/
862// http://www.spip-contrib.net/Citations
863// http://www.spip-contrib.net/la-balise-LESMOTS et d'autres balises #MAINTENANT #LESADMINISTRATEURS #LESREDACTEURS #LESVISITEURS
864// http://www.spip-contrib.net/Ajouter-une-lettrine-aux-articles
865// http://www.spip-contrib.net/Generation-automatique-de
866// Les sessions
867// colorations du code
868// boutonstexte
869
870//global $cs_variables; cs_log($cs_variables, 'cs_variables :');
871?>