quand il n'y a pas de retour a la ligne (3 niveaux, preg sans l'option s) 'code:options' => 'function citations_bb_rempl($texte){ $texte = preg_replace($a="/(.*?)<\/quote>/", $b="\$1", $texte); if(strpos($texte, "'decoration_styles', 'format' => _format_CHAINE, 'lignes' => 8, 'defaut' => '"span.sc = font-variant:small-caps; span.souligne = text-decoration:underline; span.barre = text-decoration:line-through; span.dessus = text-decoration:overline; span.clignote = text-decoration:blink; span.surfluo = background-color:#ffff00; padding:0px 2px; span.surgris = background-color:#EAEAEC; padding:0px 2px; fluo = surfluo"', 'code:trim(%s)' => 'function _decoration_BALISES() { return trim(%s); }', )); add_outil( array( 'id' => 'decoration', 'auteur' => 'izo@aucuneid.net, Pat', 'contrib' => 2427, 'categorie' => 'typo-racc', 'code:options' => "%%decoration_styles%%", 'pipeline:pre_typo' => 'decoration_pre_typo', 'pipeline:bt_toolbox' => 'decoration_BarreTypo', 'pipeline:porte_plume_barre_pre_charger' => 'decoration_PP_pre_charger', 'pipeline:porte_plume_lien_classe_vers_icone' => 'decoration_PP_icones', )); add_variables( array( 'nom' => 'couleurs_fonds', 'format' => _format_NOMBRE, 'radio' => array(1 => 'item_oui', 0 => 'item_non' ), 'defaut' => 1, 'code' => "define('_COULEURS_FONDS', %s);\n", ), array( 'nom' => 'set_couleurs', 'format' => _format_NOMBRE, 'radio' => array(0 => 'couteauprive:toutes_couleurs', 1 => 'couteauprive:certaines_couleurs'), 'radio/ligne' => 1, 'defaut' => 0, 'code' => "define('_COULEURS_SET', %s);\n", ), array( 'nom' => 'couleurs_perso', 'format' => _format_CHAINE, 'lignes' => 3, 'defaut' => '"gris, rouge"', 'code' => "define('_COULEURS_PERSO', %s);", )); add_outil( array( 'id' => 'couleurs', 'auteur' => 'Aurélien PIERARD (idée originale), Pat', 'categorie' => 'typo-racc', 'contrib' => 2427, 'pipeline:pre_typo' => 'couleurs_pre_typo', 'pipeline:nettoyer_raccourcis_typo' => 'couleurs_nettoyer_raccourcis', 'pipeline:bt_toolbox' => 'couleurs_BarreTypo', 'pipeline:porte_plume_barre_pre_charger' => 'couleurs_PP_pre_charger', 'pipeline:porte_plume_lien_classe_vers_icone' => 'couleurs_PP_icones', 'pipeline:pre_description_outil' => 'couleurs_pre_description_outil', 'code:options' => "%%couleurs_fonds%%%%set_couleurs%%%%couleurs_perso%%", 'code:fonctions' => "// aide le Couteau Suisse a calculer la balise #INTRODUCTION include_spip('outils/couleurs'); \$GLOBALS['cs_introduire'][] = 'couleurs_nettoyer_raccourcis'; ", )); // outil essentiellement français. D'autres langues peuvent etre ajoutees dans outils/typo_exposants.php add_variable( array( 'nom' => 'expo_bofbof', 'format' => _format_NOMBRE, 'radio' => array(1 => 'item_oui', 0 => 'item_non' ), 'defaut' => 0, 'code:%s' => "define('_CS_EXPO_BOFBOF', %s);", )); add_outil( array( 'id' => 'typo_exposants', 'auteur' => 'Vincent Ramos, Pat', 'categorie' => 'typo-corr', 'contrib' => 1564, 'code:options' => '%%expo_bofbof%%', 'pipeline:post_typo' => 'typo_exposants', 'code:css' => 'sup, sup.typo_exposants { font-size:78%; font-variant:inherit; vertical-align:23%; }', )); add_outil( array( 'id' => 'guillemets', 'auteur' => 'Vincent Ramos', 'categorie' => 'typo-corr', 'pipeline:post_typo' => 'typo_guillemets', )); add_variables( array( 'nom' => 'liens_interrogation', 'format' => _format_NOMBRE, 'radio' => array(1 => 'item_oui', 0 => 'item_non'), 'defaut' => 1, 'code:%s' => "\$GLOBALS['liens_interrogation']=true;\n", ), array( 'nom' => 'liens_orphelins', 'format' => _format_NOMBRE, 'radio' => array(-1 => 'item_non', 0 => 'couteauprive:basique', 1 => 'couteauprive:etendu', -2 => 'couteauprive:par_defaut'), 'defaut' => 0, 'code' => '$GLOBALS["liens_orphelins"]=%s;', // empeche SPIP de convertir les URLs orphelines (URLs brutes) 'code:%s<>-2' => defined('_SPIP19300')?"\n// Pas de traitement automatique des liens orphelins :\n\$GLOBALS['spip_pipeline']['pre_liens']=str_replace('|traiter_raccourci_liens','',\$GLOBALS['spip_pipeline']['pre_liens']); @define('_EXTRAIRE_LIENS',',^\$,');":'', ), array( 'nom' => 'long_url', 'format' => _format_NOMBRE, 'defaut' => 40, 'code:%s' => "define('_MAX_LONG_URL', %s);", ), array( 'nom' => 'coupe_url', 'format' => _format_NOMBRE, 'defaut' => 35, 'code:%s' => "define('_MAX_COUPE_URL', %s);", )); // attention : liens_orphelins doit etre place avant mailcrypt ou liens_en_clair add_outil( array( 'id' => 'liens_orphelins', 'categorie' => 'typo-corr', 'contrib' => 2443, 'code:options' => '%%liens_interrogation%%', 'code:spip_options' => '%%liens_orphelins%%%%long_url%%%%coupe_url%%', 'pipeline:pre_propre' => 'liens_orphelins_pipeline', 'traitement:EMAIL' => 'expanser_liens(liens_orphelins', 'pipeline:pre_typo' => 'interro_pre_typo', 'pipeline:post_propre' => 'interro_post_propre', 'description' => defined('_SPIP19300')?'<:liens_orphelins::> <:liens_orphelins:1:> ':'<:liens_orphelins::>', )); add_outil( array( 'id' => 'filets_sep', 'auteur' => 'FredoMkb', 'categorie' => 'typo-racc', 'contrib' => 1563, 'pipeline:pre_typo' => 'filets_sep', 'pipeline:bt_toolbox' => 'filets_sep_BarreTypo', 'pipeline:porte_plume_barre_pre_charger' => 'filets_PP_pre_charger', 'pipeline:porte_plume_lien_classe_vers_icone' => 'filets_PP_icones', )); add_outil( array( 'id' => 'smileys', 'auteur' => "Sylvain, Pat", 'categorie' => 'typo-corr', 'contrib' => 1561, 'code:css' => "table.cs_smileys td {text-align:center; font-size:90%; font-weight:bold;}", 'pipeline:pre_typo' => 'cs_smileys_pre_typo', 'pipeline:bt_toolbox' => 'cs_smileys_BarreTypo', 'pipeline:porte_plume_barre_pre_charger' => 'cs_smileys_PP_pre_charger', 'pipeline:porte_plume_lien_classe_vers_icone' => 'cs_smileys_PP_icones', )); add_outil( array( 'id' => 'chatons', 'auteur' => "BoOz, Pat", 'categorie' => 'typo-racc', 'pipeline:pre_typo' => 'chatons_pre_typo', 'pipeline:bt_toolbox' => 'chatons_BarreTypo', 'pipeline:porte_plume_barre_pre_charger' => 'chatons_PP_pre_charger', 'pipeline:porte_plume_lien_classe_vers_icone' => 'chatons_PP_icones', )); add_variables( array( 'nom' => 'glossaire_groupes', 'format' => _format_CHAINE, 'defaut' => "'Glossaire'", 'code' => "\$GLOBALS['glossaire_groupes']=%s;\n", 'commentaire' => defined('_SPIP19300')?'fct_glossaire_groupes(%s); function fct_glossaire_groupes($gr){ $s=""; foreach(explode(":",$gr) as $g) if(!sql_countsel("spip_groupes_mots", "titre="._q($g))) $s.=($s?"
":"")._T("couteauprive:erreur_groupe", array("groupe"=>$g)); return $s?"$s
":""; }':NULL, ), array( 'nom' => 'glossaire_limite', 'format' => _format_NOMBRE, 'defaut' => 0, 'code:%s>0' => "define('_GLOSSAIRE_LIMITE', %s);\n", ), array( 'nom' => 'glossaire_js', 'radio' => array(0 => 'couteauprive:glossaire_css', 1 => 'couteauprive:glossaire_js'), 'format' => _format_NOMBRE, 'defaut' => 1, 'code:%s' => "define('_GLOSSAIRE_JS', %s);", )); add_outil( array( 'id' => 'glossaire', 'categorie' => 'typo-corr', 'contrib' => 2206, 'code:options' => "@define('_CS_SANS_GLOSSAIRE', '[!glossaire]');\n%%glossaire_limite%%%%glossaire_groupes%%%%glossaire_js%%", // 'traitement:LIEU:post_propre' => 'cs_glossaire', // sans oublier les articles, les breves, les forums et les rubriques ! // SPIP ne considere pas que la premiere definition est un tronc commun... // meme traitement au chapo des articles... 'traitement:TEXTE:post_propre, traitement:TEXTE/articles:post_propre, traitement:TEXTE/breves:post_propre, traitement:TEXTE/forums:post_propre, traitement:TEXTE/rubriques:post_propre, traitement:CHAPO:post_propre' => 'cs_glossaire', // Precaution pour les articles virtuels (SPIP < 3.0) defined('_SPIP30000')?'foo':'traitement:CHAPO:pre_propre' => 'nettoyer_chapo', // Mise en forme des titres 'traitement:TITRE/mots:post_typo' => 'cs_glossaire_titres', 'code:css' => 'a.cs_glossaire:after {display:none;}', // fonction glossaire_init() codee dans glossaire.js : executee lors du chargement de la page et a chaque hit ajax 'code:jq_init' => 'glossaire_init.apply(this);', 'pipelinecode:nettoyer_raccourcis_typo' => '$flux=str_replace(_CS_SANS_GLOSSAIRE, "", $flux);', )); // attention : mailcrypt doit etre place apres liens_orphelins add_outil( array( 'id' => 'mailcrypt', 'categorie' => 'securite', 'auteur' => "Alexis Roussel, Paolo, Pat", 'contrib' => 2443, 'jquery' => 'oui', 'pipelinecode:post_propre' => "if(strpos(\$flux, '@')!==false) \$flux=cs_echappe_balises('', 'mailcrypt', \$flux);", 'code:js' => "function lancerlien(a,b){ x='ma'+'ilto'+':'+a+'@'+b; return x; }", // jQuery pour remplacer l'arobase image par l'arobase texte // ... puis arranger un peu le title qui a ete protege 'code:jq_init' => "jQuery('span.spancrypt', this).attr('class','cryptOK').html(''+'4;'); jQuery(\"a[\"+cs_sel_jQuery+\"title*='..']\", this).each(function () { this.title = this.title.replace(/\.\..t\.\./,'[@]'); });", 'code:css' => 'span.spancrypt {background:transparent url(' . url_absolue(find_in_path('img/mailcrypt/leure.gif')) . ') no-repeat scroll 0.1em center; padding-left:12px; text-decoration:none;}', 'traitement:EMAIL' => 'mailcrypt_email_dist', // compatibilite avec le plugin facteur 'pipelinecode:facteur_pre_envoi' => 'include_spip("public/parametrer"); // charger mes_fonctions $flux->Body = maildecrypt($flux->Body); $flux->AltBody = maildecrypt($flux->AltBody);', )); // attention : liens_en_clair doit etre place apres tous les outils traitant des liens add_outil( array( 'id' => 'liens_en_clair', 'categorie' => 'spip', 'contrib' => 2443, 'pipeline:post_propre' => 'liens_en_clair_post_propre', 'code:css' => 'a.spip_out:after {display:none;}', )); add_variables( array( // variable utilisee par 'pipelinecode:insert_head' 'nom' => 'scrollTo', 'check' => 'couteauprive:jq_scrollTo', 'defaut' => 1, 'format' => _format_NOMBRE, ), array( // variable utilisee par 'pipelinecode:insert_head' 'nom' => 'LocalScroll', 'check' => 'couteauprive:jq_localScroll', 'defaut' => 1, 'format' => _format_NOMBRE, )); add_outil( array( 'id' => 'soft_scroller', 'categorie' => 'public', 'jquery' => 'oui', 'pipelinecode:insert_head' => 'if(%%scrollTo%%) {$flux.=\'\'."\n";} if(%%LocalScroll%%) {$flux.=\'\'."\n";}', 'code:js' => 'function soft_scroller_init() { if(typeof jQuery.localScroll=="function") jQuery.localScroll({hash: true}); }', 'code:jq_init' => 'soft_scroller_init.apply(this);', )); // http://www.malsup.com/jquery/corner/ add_variables( array( 'nom' => 'jcorner_classes', 'format' => _format_CHAINE, 'lignes' => 10, 'defaut' => defined('_SPIP19300')?'"// coins ronds aux formulaires .formulaire_inscription, .formulaire_forum, .formulaire_ecrire_auteur // colorisation de la dist de SPIP 2.0 en ajoutant un parent \".chapo, .texte\" = wrap(\'<\/div>\') \".menu\" = wrap(\'<\/div>\') // coins ronds aux parents ! .jc_parent"' :'" // coins ronds pour les menus de navigation .rubriques, .breves, .syndic, .forums, .divers // en couleurs sur l\'accueil .liste-articles li .texte = css(\'background-color\', \'#E0F0F0\') .corner() // colorisation de la dist de SPIP 1.92 en ajoutant un parent \"#contenu .texte\" = wrap(\'<\/div>\') // coins ronds aux parents ! .jc_parent"', 'code:trim(%s)' => 'function _jcorner_CLASSES() { return trim(%s); }', ), array( // variable utilisee par 'pipelinecode:insert_head' 'nom' => 'jcorner_plugin', 'check' => 'couteauprive:jcorner_plugin', 'defaut' => 1, 'format' => _format_NOMBRE, )); add_outil( array( 'id' => 'jcorner', 'categorie' => 'public', 'jquery' => 'oui', 'contrib' => 2987, 'code:options' => "%%jcorner_classes%%", // fichier distant pour le plugin jQuery : http://github.com/malsup/corner/commits/ 'distant' => defined('_SPIP20100') // version 2.09 (11-MAR-2010), jQuery v1.3.2 mini ?'http://github.com/malsup/corner/raw/ca8d745fdfe054e1bb62fbd22eca9850c1353e03/jquery.corner.js' // version 2.03 (05-DEC-2009) :'http://github.com/malsup/corner/raw/46bbbc8706853c879c9224b7ebf5f284f726314d/jquery.corner.js', 'pipelinecode:insert_head' => 'if(%%jcorner_plugin%%) {$flux.=\'\'."\n";}', 'pipeline:insert_head' => 'jcorner_insert_head', // jcorner_init() n'est disponible qu'en partie publique 'code:jq_init' => 'if(typeof jcorner_init=="function") jcorner_init.apply(this);', )); add_variables( array( 'nom' => 'insertions', 'format' => _format_CHAINE, 'lignes' => 10, 'defaut' => '"oeuf = œuf cceuil = ccueil (a priori) = {a priori} (([hH])uits) = $1uit /([cC]h?)oeur/ = $1œur /oeuvre/ = œuvre (O[Ee]uvre([rs]?)) = Œuvre$1 /\b([cC]|[mM].c|[rR]ec)on+ais+a((?:n(?:ce|te?)|ble)s?)\b/ = $1onnaissa$2 "', 'code' => 'function _insertions_LISTE() { return trim(%s); }', )); add_outil( array( 'id' => 'insertions', 'categorie' => 'typo-corr', 'code:options' => "%%insertions%%", // sans oublier les articles, les breves, les forums et les rubriques ! // SPIP ne considere pas que la premiere definition est un tronc commun : 'traitement:CHAPO:pre_propre, traitement:PS:pre_propre, traitement:TEXTE:pre_propre, traitement:TEXTE/articles:pre_propre, traitement:TEXTE/breves:pre_propre, traitement:TEXTE/forums:post_propre, traitement:TEXTE/rubriques:pre_propre' => 'insertions_pre_propre', )); // le plugin moderation moderee dans le couteau suisse include_spip('inc/charsets'); add_outil( array( 'id' => 'moderation_moderee', 'auteur' => 'Yohann(potter64)', 'categorie' => 'admin', 'version-min' => '1.9300', 'code:options' => '%%moderation_admin%%%%moderation_redac%%%%moderation_visit%%', 'code:jq_init' => 'if(window.location.search.match(/page=forum/)!=null) jQuery("legend:contains(\'' .addslashes(unicode2charset(html2unicode(_T((defined('_SPIP30000')?'forum:':'').'bouton_radio_modere_priori')))).'\')", this).next().html(\'' .addslashes(_T('couteauprive:moderation_message')).'\');', 'pipeline:pre_edition' => 'moderation_vip', )); add_variables( array( 'nom' => 'moderation_admin', 'check' => 'couteauprive:moderation_admins', 'defaut' => 1, 'code:%s' => "define('_MOD_MOD_0minirezo',%s);", ), array( 'nom' => 'moderation_redac', 'check' => 'couteauprive:moderation_redacs', 'defaut' => 0, 'code:%s' => "define('_MOD_MOD_1comite',%s);", ), array( 'nom' => 'moderation_visit', 'check' => 'couteauprive:moderation_visits', 'defaut' => 0, 'code:%s' => "define('_MOD_MOD_6forum',%s);", )); add_outil( array( 'id' => 'titre_parent', 'categorie' => 'spip', 'contrib' => 2900, 'code:options' => '%%titres_etendus%%', )); add_variable( array( 'nom' => 'titres_etendus', 'check' => 'couteauprive:titres_etendus', 'format' => _format_NOMBRE, 'radio' => array(1 => 'item_oui', 0 => 'item_non'), 'defaut' => 0, 'code:%s' => "define('_PARENTS_ETENDUS',%s);", )); add_outil( array( 'id' => 'balise_set', 'categorie' => 'spip', )); add_outil( array( 'id' => 'corbeille', 'categorie' => 'admin', 'version-min' => '1.9300', 'code:options' => "%%arret_optimisation%%", )); add_variable( array( 'nom' => 'arret_optimisation', 'format' => _format_NOMBRE, 'radio' => array(1 => 'item_oui', 0 => 'item_non'), 'defaut' => 0, 'code:%s' => "define('_CORBEILLE_SANS_OPTIM', 1); if(!function_exists('genie_optimiser')) { // surcharge de la fonction d'optimisation de SPIP (inc/optimiser.php) function genie_optimiser(\$t='foo'){ include_spip('optimiser','genie'); optimiser_base_une_table(); return -(mktime(2,0,0) + rand(0, 3600*4)); }\n}", )); add_outil( array( 'id' => 'trousse_balises', 'categorie' => 'spip', 'contrib' => 3005, )); add_outil( array( 'id' => 'horloge', 'categorie' => 'spip', 'contrib' => 2998, 'pipelinecode:insert_head, pipelinecode:header_prive' => '$flux.=\' \'."\n";', 'code:jq_init' => 'jclock_init.apply(this);', )); add_outil(defined('_SPIP20100')?array( 'id' => 'maj_auto', 'categorie' => 'securite', 'contrib' => 3223, ):array( 'id' => 'maj_auto', 'categorie' => 'securite', 'version-min' => '1.9300', 'contrib' => 3223, 'distant' => 'http://core.spip.org/projects/spip/repository/raw/branches/spip-2.1/ecrire/genie/mise_a_jour.php', )); // reglage des differents selecteurs en partie privee add_outil( array( 'id' => 'brouteur', 'categorie' => 'interface', 'code:spip_options' => "%%rubrique_brouteur%%%%select_mots_clefs%%%%select_min_auteurs%%%%select_max_auteurs%%" )); add_variable( array( 'nom' => 'rubrique_brouteur', 'format' => _format_NOMBRE, 'defaut' => 20, 'code:%s' => "define('_SPIP_SELECT_RUBRIQUES', %s);" )); add_variable( array( 'nom' => 'select_mots_clefs', 'format' => _format_NOMBRE, 'defaut' => 50, 'code:%s<>50' => "define('_MAX_MOTS_LISTE', %s);" )); add_variable( array( 'nom' => 'select_min_auteurs', 'format' => _format_NOMBRE, 'defaut' => 30, 'code:%s<>30' => "define('_SPIP_SELECT_MIN_AUTEURS', %s);" )); add_variable( array( 'nom' => 'select_max_auteurs', 'format' => _format_NOMBRE, 'defaut' => 30, 'code:%s<>30' => "define('_SPIP_SELECT_MAX_AUTEURS', %s);" )); // Recuperer tous les outils (et leurs variables) de la forme outils/toto_config.xml foreach (find_all_in_path('outils/', '\w+_config\.xml$') as $f) { add_outils_xml($f); } // Recuperer tous les outils de la forme outils/monoutil_config.php // y compris les lames perso dont on met le nom en italiques global $outils; foreach (find_all_in_path('outils/', '\w+_config\.php$') as $f) if(preg_match(',^([^.]*)_config$,', basename($f, '.php'),$regs)){ if($outil = charger_fonction($regs[0], 'outils')) $outil(preg_match(',couteau_suisse/outils/,', $f)); /*else { // compatibilite ... include $f; if(function_exists($cs_temp=$regs[1].'_add_outil')) { $cs_temp = $cs_temp(); $cs_temp['id'] = $regs[1]; add_outil($cs_temp); } }*/ if(isset($outils[$regs[1]]) && strpos($f, '/couteau_suisse/outils/'.$regs[1])===false) $outils[$regs[1]]['perso'] = 1; } // Nettoyage unset($cs_temp); // Ajout des outils personnalises sous forme globale if(isset($GLOBALS['mes_outils'])) { foreach($GLOBALS['mes_outils'] as $id=>$outil) { $outil['id'] = $id; $outil['perso'] = 1; add_outil($outil); } unset($GLOBALS['mes_outils']); } // Idees d'ajouts : // http://archives.rezo.net/spip-core.mbox/ // http://www.spip-contrib.net/Citations // http://www.spip-contrib.net/la-balise-LESMOTS et d'autres balises #MAINTENANT #LESADMINISTRATEURS #LESREDACTEURS #LESVISITEURS // http://www.spip-contrib.net/Ajouter-une-lettrine-aux-articles // http://www.spip-contrib.net/Generation-automatique-de // http://www.spip-contrib.net/Balise-LOGO-ARTICLE-ORITRAD // boutonstexte //global $cs_variables; cs_log($cs_variables, 'cs_variables :'); ?>