Changeset 65363 in spip-zone


Ignore:
Timestamp:
Aug 28, 2012, 10:59:50 PM (7 years ago)
Author:
patfr@…
Message:
  • Le CS peut faire à présent la distinction public/prive en ajoutant le suffixe '_public' ou '_prive' aux paramètres d'outils suivants : 'code:css', 'code:js', 'code:jq_init', 'code:jq'
  • Du coup, certains outils redirigent leur js ou leur css vers le privé ou le public.
  • La balise #CHR de la Trousse à Balises devient native et accessible en permanence
  • outils XML en utf-8
  • Meilleure description technique des outils
Location:
_plugins_/couteau_suisse
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/config_outils.php

    r65347 r65363  
    347347        'id' => 'auteur_forum',
    348348        'categorie'      => 'securite',
    349         'jquery'        => 'oui',
    350         'code:jq_init' => 'cs_auteur_forum.apply(this);',
    351         'code:js' => "var cs_verif_email = %%auteur_forum_email%%;\nvar cs_verif_nom = %%auteur_forum_nom%%;\nvar cs_verif_deux = %%auteur_forum_deux%%;",
     349        'code:jq_init_public' => 'cs_auteur_forum.apply(this);',
     350        'code:js_public' => "var cs_verif_email = %%auteur_forum_email%%;\nvar cs_verif_nom = %%auteur_forum_nom%%;\nvar cs_verif_deux = %%auteur_forum_deux%%;",
    352351        'pipelinecode:pre_description_outil' => 'if($id=="auteur_forum") $texte=str_replace(array("@_CS_FORUM_NOM@","@_CS_FORUM_EMAIL@"),
    353352        array(preg_replace(\',:$,\',"",_T("'.$cs_temp.'forum_votre_nom")),preg_replace(\',:$,\',"",_T("'.$cs_temp.'forum_votre_email"))),$texte);',
     
    861860        'auteur'         => 'Cédric MORIN',
    862861        'categorie'      => 'public',
    863         'jquery'        => 'oui',
    864862        // fonction InhibeFlash_init() codee dans desactiver_flash.js : executee lors du chargement de la page et a chaque hit ajax
    865         'code:jq_init' => 'InhibeFlash_init.apply(this);',
     863        'code:jq_init_public' => 'InhibeFlash_init.apply(this);',
    866864));
    867865
     
    890888        'categorie' => 'public',
    891889        'contrib'       => 2443,
    892         'jquery'        => 'oui',
    893890        'description' => '<:SPIP_liens::>'.(defined('_SPIP19300')?'<:SPIP_liens:1:>':''),
    894891        'code:options' => "%%radio_target_blank3%%\n%%url_glossaire_externe2%%",
     
    940937}',
    941938        'code:jq' => ' if(jQuery("span.cs_nb_visiteurs").length) Timer_visiteurs_connectes(); ',
    942         'jquery' => 'oui',*/
     939*/
    943940));
    944941
     
    12441241        'auteur'        => "Alexis Roussel, Paolo, Pat",
    12451242        'contrib'       => 2443,
    1246         'jquery'        => 'oui',
    12471243        'code:options' => '%%balise_email%%%%fonds_demailcrypt2%%',
    12481244        'description' => '<:mailcrypt::>[[%balise_email%]][[->%fonds_demailcrypt%]][[->%fonds_demailcrypt2%]]',
     
    12891285        'id' => 'soft_scroller',
    12901286        'categorie'     => 'public',
    1291         'jquery'        => 'oui',
    12921287        'pipelinecode:insert_head' => 'if(%%scrollTo%%) {$flux.=\'<script src="\'.find_in_path("outils/jquery.scrollto.js").\'" type="text/javascript"></script>\'."\n";}
    12931288if(%%LocalScroll%%) {$flux.=\'<script src="\'.find_in_path("outils/jquery.localscroll.js").\'" type="text/javascript"></script>\'."\n";}',
    1294         'code:js' => 'function soft_scroller_init() { if(typeof jQuery.localScroll=="function") jQuery.localScroll({hash: true}); }',
    1295         'code:jq_init' => 'soft_scroller_init.apply(this);',
     1289        'code:js_public' => 'function soft_scroller_init() { if(typeof jQuery.localScroll=="function") jQuery.localScroll({hash: true}); }',
     1290        'code:jq_init_public' => 'soft_scroller_init.apply(this);',
    12961291));
    12971292
     
    13311326        'id' => 'jcorner',
    13321327        'categorie'     => 'public',
    1333         'jquery'        => 'oui',
    13341328        'contrib'       => 2987,
    13351329        'code:options' => "%%jcorner_classes%%",
     
    13431337        'pipeline:insert_head' => 'jcorner_insert_head',
    13441338        // jcorner_init() n'est disponible qu'en partie publique
    1345         'code:jq_init' => 'if(typeof jcorner_init=="function") jcorner_init.apply(this);',
     1339        'code:jq_init_public' => 'if(typeof jcorner_init=="function") jcorner_init.apply(this);',
    13461340));
    13471341
     
    13841378        'version-min' => '1.9300',
    13851379        'code:options' => '%%moderation_admin%%%%moderation_redac%%%%moderation_visit%%',
    1386         'code:jq_init' => 'if(window.location.search.match(/page=forum/)!=null) jQuery("legend:contains(\''
     1380        'code:jq_init_public' => 'if(window.location.search.match(/page=forum/)!=null) jQuery("legend:contains(\''
    13871381                .addslashes(unicode2charset(html2unicode(_T((defined('_SPIP30000')?'forum:':'').'bouton_radio_modere_priori')))).'\')", this).next().html(\''
    13881382                .addslashes(_T('couteauprive:moderation_message')).'\');',
  • _plugins_/couteau_suisse/cout_utils.php

    r65282 r65363  
    406406/*                              if(isset($outil['distant_'.$f]) && ($file=find_in_path("lib/$inc/distant_{$f}_".cs_basename($outil["distant_$f"])))) etc. */
    407407                        }
    408                         // recherche d'un code inline eventuellement propose
    409                         if(isset($outil['code:spip_options'])) $infos_fichiers['code_spip_options'][] = $outil['code:spip_options'];
    410                         if(isset($outil['code:options'])) $infos_fichiers['code_options'][] = $outil['code:options'];
    411                         if(isset($outil['code:fonctions'])) $infos_fichiers['code_fonctions'][] = $outil['code:fonctions'];
    412                         if(isset($outil['code:css'])) $temp_css[] = cs_optimise_if(cs_parse_code_js($outil['code:css']));
    413                         if(isset($outil['code:js'])) $temp_js[] = cs_optimise_if(cs_parse_code_js($outil['code:js']));
    414                         if(isset($outil['code:jq_init'])) $temp_jq_init[] = cs_optimise_if(cs_parse_code_js($outil['code:jq_init']));
    415                         if(isset($outil['code:jq'])) $temp_jq[] = cs_optimise_if(cs_parse_code_js($outil['code:jq']));
    416                         // recherche d'un fichier monoutil_options.php ou monoutil_fonctions.php pour l'inserer dans le code
    417                         // TODO : librairies distantes placees dans lib/
    418                         foreach(array('options', 'fonctions') as $f) {
     408                        // recherche d'un code inline css/js/jq
     409                        foreach(array('css', 'js', 'jq_init', 'jq') as $k) {
     410                                if(isset($outil[$k2='code:'.$k.'_prive'])) ${'temp_'.$k}[] = cs_html_partie_privee($outil[$k2]);
     411                                if(isset($outil[$k2='code:'.$k.'_public'])) ${'temp_'.$k}[] = cs_html_partie_privee($outil[$k2], false);
     412                                if(isset($outil[$k2='code:'.$k])) ${'temp_'.$k}[] = cs_optimise_if(cs_parse_code_js($outil[$k2]));
     413                        }
     414                        foreach(array('options', 'fonctions', 'spip_options') as $f) {
     415                                // recherche d'un code inline
     416                                if(isset($outil['code:'.$f])) $infos_fichiers['code_'.$f][] = $outil['code:'.$f];
     417                                // recherche d'un fichier monoutil_options.php ou monoutil_fonctions.php pour l'inserer dans le code
     418                                // TODO : librairies distantes placees dans lib/
    419419                                if($temp=cs_lire_fichier_php("outils/{$inc}_{$f}.php")) $infos_fichiers['code_'.$f][] = $temp;
    420420/*                              if(isset($outil['distant_'.$f]) && find_in_path("lib/$inc/distant_{$f}_".cs_basename($outil["distant_$f"])))
     
    583583}
    584584
     585function cs_html_partie_privee($texte, $prive=true) {
     586        return '<cs_html>[(#EVAL{test_espace_prive()}|'.($prive?'oui':'non').')'
     587                . str_replace(array(']','[','@CHR93@'), array('@CHR93@','[(#CHR{91})]', '[(#CHR{93})]'),
     588                        cs_optimise_if(cs_parse_code_js($texte)))
     589                . ']</cs_html>';
     590}
     591
    585592define('_CS_SPIP_OPTIONS_A', "// Partie reservee au Couteau Suisse. Ne pas modifier, merci");
    586593define('_CS_SPIP_OPTIONS_B', "// Fin du code. Ne pas modifier ces lignes, merci");
  • _plugins_/couteau_suisse/inc/cs_outils.php

    r65236 r65363  
    3838                        $outil['nom'] = $outil['nom'].' *';
    3939                if(isset($outil['perso'])) $outil['nom'] = '<i>'.$outil['nom'].'</i>';
    40                 if(isset($outil['code:jq'])) $outil['jquery']='oui';
    4140                $outil['actif'] = isset($metas_outils[$outil['id']])?@$metas_outils[$outil['id']]['actif']:0;
    4241                if(isset($outil['contrib']) && $outil['contrib'])
     
    151150        $descrip = propre($descrip);
    152151        $s .= cs_nettoie($descrip); // absolument une variable pour les passages par reference (PHP 5.4)
    153         $serial = serialize(array_keys($outil));
    154152        $p = '';
    155153        if($b = cs_balises_traitees($outil_id, '*, #'))
     
    158156                $p .= '<p>' . couteauprive_T('detail_spip_options'
    159157                        . (defined('_CS_SPIP_OPTIONS_OK')?'_ok':''), array('lien'=>description_outil_liens_callback(array(1=>'cs_comportement')))) . '</p>';
    160         if(isset($outil['jquery']) && $outil['jquery']=='oui')
     158        if((isset($outil['jquery']) && $outil['jquery']=='oui') || strpos(':'.join(':',array_keys($outil)), ':code:jq')!==false)
    161159                $p .= '<p>' . couteauprive_T('detail_jquery2') . '</p>';
    162160        if(isset($outil['auteur']) && strlen($outil['auteur']))
     
    246244        if(cs_version_erreur($outil)) return $div . couteauprive_T('erreur:version') . '</div>';
    247245        $details = $a = array();
    248         foreach(array('spip_options', 'options', 'fonctions', 'js', 'jq', 'css') as $in)
     246        foreach(array('spip_options', 'options', 'fonctions', 'js', 'jq') as $in)
    249247                if(isset($outil['code:'.$in])) $a[] = couteauprive_T('code_'.$in);
     248        $serkeys = ':'.join(':',array_keys($outil));
     249        foreach(array('css', 'js', 'jq') as $in)
     250                if(strpos($serkeys, ":code:$in")!==false) $a[] = couteauprive_T('code_'.$in);
    250251        if(count($a)) $details[] = couteauprive_T('detail_inline') . ' ' . join(', ', $a);
    251252        $a = array();
     
    254255        if(count($a)) $details[] = couteauprive_T('detail_fichiers') . ' ' . join(', ', $a);
    255256        if($b=cs_balises_traitees($outil_id)) $details[] = couteauprive_T('detail_traitements') . $b;
    256         $serkeys = serialize(array_keys($outil));
    257257        if(preg_match_all(',(pipeline|pipelinecode):([a-z_]+),', $serkeys, $regs, PREG_PATTERN_ORDER))
    258258                $details[] = couteauprive_T('detail_pipelines') . ' ' . join(', ', array_unique($regs[2]));
  • _plugins_/couteau_suisse/inc/description_outil.php

    r65157 r65363  
    258258                $res = str_replace(array('</li></ul></div></fieldset><fusionradio>','</div></fieldset><fusionradio>'), '', $res);
    259259        // remplacement de diverses constantes
    260         $res = str_replace(array('@puce@','<spanred>','@_CS_CHOIX@','@_CS_ASTER@','@_DIR_CS_ROOT@'),
     260        $res = str_replace(array('@puce@','<spanred>','@_CS_CHOIX@','@_CS_ASTER@','@_DIR_CS_ROOT@', '@_CS_PLUGIN_JQUERY192@'),
    261261                array(definir_puce(),'<span style="color:red">',couteauprive_T('votre_choix'), '<sup>(*)</sup>',
    262                         cs_root_canonicalize(_DIR_PLUGIN_COUTEAU_SUISSE)), $res);
    263         if(!defined('_SPIP19300')) $res = str_replace('@_CS_PLUGIN_JQUERY192@', couteauprive_T('detail_jquery3'), $res);
     262                        cs_root_canonicalize(_DIR_PLUGIN_COUTEAU_SUISSE), defined('_SPIP19300')?'':couteauprive_T('detail_jquery3')
     263                ), $res);
    264264        // remplacement des constantes qui restent de forme @_CS_XXXX@
    265265        if(strpos($res,'@_CS')!==false)
  • _plugins_/couteau_suisse/outils/blocs_config.php

    r43218 r65363  
    2626        'code:jq' => 'if(%%blocs_cookie%%) { if(jQuery("div.cs_blocs").length)
    2727                jQuery.getScript(cs_CookiePlugin, cs_blocs_cookie); }',
    28         'jquery' => 'oui',
    2928        'pipeline:pre_typo' => 'blocs_pre_typo',
    3029        'pipeline:porte_plume_cs_pre_charger' => 'blocs_CS_pre_charger',
  • _plugins_/couteau_suisse/outils/cout_fonctions.php

    r64697 r65363  
    1515        if(!function_exists('oui')) { function oui($code) { return $code?' ':''; } }
    1616        if(!function_exists('non')) { function non($code) { return $code?'':' '; } }
     17}
     18
     19function balise_CHR_dist($p) {
     20        if (($v = interprete_argument_balise(1,$p))!==NULL){
     21                $p->code = "chr(intval($v))";
     22                $p->type = 'php';
     23        }
     24        return $p;
    1725}
    1826
  • _plugins_/couteau_suisse/outils/interface_config.xml

    r57989 r65363  
    1 <?xml version="1.0" encoding="iso-8859-1"?>
     1<?xml version="1.0" encoding="UTF-8"?>
    22
    33<!--    --------- Tri des articles ---------    -->
     
    140140
    141141
    142 <!--    --------- Bouton « Visiter » ---------  -->
     142<!--    --------- Bouton "Visiter" ---------    -->
    143143<outil>
    144144        <id>icone_visiter</id>
  • _plugins_/couteau_suisse/outils/trousse_balises_fonctions.php

    r33777 r65363  
    22
    33// La balise #CHR, equivalent a #EVAL{"chr(XX)"} ou #VAL{XX}|chr
    4 function balise_CHR_dist($p) {
    5         if (($v = interprete_argument_balise(1,$p))!==NULL){
    6                 $p->code = "chr(intval($v))";
    7                 $p->type = 'php';
    8         }
    9         return $p;
    10 }
     4// (Native dans le Couteau Suisse)
    115
    126// La balise #BOLO
  • _plugins_/couteau_suisse/paquet.xml

    r65347 r65363  
    22        prefix="couteau_suisse"
    33        categorie="maintenance"
    4         version="1.8.96"
     4        version="1.8.97"
    55        etat="stable"
    66        compatibilite="[1.9.2;3.0.99]"
  • _plugins_/couteau_suisse/plugin.xml

    r65347 r65363  
    33        <slogan>... ou plus de fonctionnalit&#233;s pour SPIP !</slogan>
    44        <icon>img/couteau-50.gif</icon>
    5         <version>1.8.96</version>
     5        <version>1.8.97</version>
    66        <version_base>1.8</version_base>
    77        <auteur>Patrice Vanneufville
Note: See TracChangeset for help on using the changeset viewer.