Changeset 79921 in spip-zone


Ignore:
Timestamp:
Jan 8, 2014, 5:37:08 PM (6 years ago)
Author:
patfr@…
Message:

+Lame Décoration : possibilité d'ajouter des balises HTML configurables

Exemple : define('_decoration_BALISES_OK', 'quote|p');

+Lame Glossaire : protection élémentaire sur les regexpr (span/div/input) : à voir si c'est suffisant...
+Balise #DEFINED, simplification de rédaction

Exemple : [(#DEFINED{_SPIP30000}|oui) Spip >= 3.0 !]

Location:
_plugins_/couteau_suisse
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/cout_utils.php

    r74147 r79921  
    689689// attention de bien declarer les variables a l'aide de add_variable()
    690690function cs_parse_code_php($code, $debut='%%', $fin='%%') {
    691         global $metas_vars, $cs_variables;
     691        global $metas_vars;
    692692        while(preg_match(",([']?)$debut([a-zA-Z_][a-zA-Z0-9_]*?)$fin([']?),", $code, $matches)) {
    693693                $cotes = $matches[1]=="'" && $matches[3]=="'";
  • _plugins_/couteau_suisse/fonds/derniers_connectes.html

    r75123 r79921  
    4949    [(#EVAL{defined('_SPIP20100') && !defined('_SPIP30000')}|oui)
    5050        <a href="#URL_ACTION_AUTEUR{auteur_poubelle,#ID_AUTEUR,#SELF#pagination_aut2}" class="suppr" title="<:texte_statut_poubelle|attribut_html:>">x</a>]
    51     [(#EVAL{defined('_SPIP30000')}|oui)
     51    [(#DEFINED{_SPIP30000}|oui)
    5252        <a href="#URL_ACTION_AUTEUR{instituer_objet,auteur-#ID_AUTEUR-5poubelle,#SELF#pagination_aut2}" class="suppr" title="<:texte_statut_poubelle|attribut_html:>">x</a>]
    5353    </div>]
  • _plugins_/couteau_suisse/outils/cout_fonctions.php

    r72718 r79921  
    2020        if (($v = interprete_argument_balise(1,$p))!==NULL){
    2121                $p->code = "chr(intval($v))";
     22                $p->type = 'php';
     23        }
     24        return $p;
     25}
     26
     27function balise_DEFINED_dist($p) {
     28        if (($v = interprete_argument_balise(1,$p))!==NULL){
     29                $p->code = "defined($v)";
    2230                $p->type = 'php';
    2331        }
  • _plugins_/couteau_suisse/outils/decoration.php

    r72718 r79921  
    1616        foreach ($deco_balises as $balise) {
    1717                $balise = trim($balise);
    18                 if (preg_match('/^(span|div|auto)\.([^.]+)\.(class|lang)\s*=(.+)$/', $balise, $regs)) {
     18                // define('_decoration_BALISES_OK', 'quote|p'); # balises supplementaires ?
     19                $preg = defined(_decoration_BALISES_OK)?'|'._decoration_BALISES_OK:'';
     20                if (preg_match('/^(span|div|auto'.$preg.')\.([^.]+)\.(class|lang)\s*=(.+)$/', $balise, $regs)) {
    1921                        // les class/lang
    2022                        list($auto, $div, $racc, $attr, $valeur) = array($regs[1]=='auto', $regs[1], trim($regs[2]), trim($regs[3]), trim($regs[4]));
     
    3941                                }
    4042                        }
    41                 } elseif (preg_match('/^(span|div|auto)\.([^=]+)=(.+)$/', $balise, $regs)) {
     43                } elseif (preg_match('/^(span|div|auto'.$preg.')\.([^=]+)=(.+)$/', $balise, $regs)) {
    4244                        // les styles inline
    4345                        list($auto, $div, $racc, $style) = array($regs[1]=='auto', $regs[1], trim($regs[2]), trim($regs[3]));
  • _plugins_/couteau_suisse/outils/glossaire_fonctions.php

    r79113 r79921  
    173173        // prudence 2 : on protege TOUTES les balises HTML comprenant le mot
    174174        if (strpos($texte, '<')!==false)
    175                 $texte = preg_replace_callback(",<[^>]*(?:$mots)[^>]*>,Ui", 'glossaire_echappe_balises_callback', $texte);
     175                $texte = preg_replace_callback(",<[a-z][^>]*(?:$mots)[^>]*>,Ui", 'glossaire_echappe_balises_callback', $texte);
     176echo "lesmots : $lesmots"; static $iii; echo '<hr>TEXTE #',++$iii,'<hr>',$texte,'<hr>';
    176177        // prudence 3 : en iso-8859-1, (\W) comprend les accents, mais pas en utf-8... Donc on passe en unicode
    177178        if(($GLOBALS['meta']['charset'] != 'iso-8859-1') && !$unicode)
     
    225226                        spip_log(couteauprive_T('glossaire:nom').'. '.couteauprive_T('erreur_syntaxe').$titre);
    226227                elseif(count($les_regexp)) {
     228                        // prudence 2 : on protege QUELQUES balises HTML
     229                        if (strpos($texte, '<')!==false)
     230                                $texte = preg_replace_callback(",<(?:div|span|input) [^>]*>,Ui", 'glossaire_echappe_balises_callback', $texte);
    227231                        // a chaque expression reconnue, on pose une balise temporaire cryptee
    228232                        // ce remplacement est puissant, attention aux balises HTML ; par exemple, eviter : ,div,i
  • _plugins_/couteau_suisse/paquet.xml

    r79287 r79921  
    22        prefix="couteau_suisse"
    33        categorie="maintenance"
    4         version="1.8.146"
     4        version="1.8.147"
    55        etat="stable"
    66        compatibilite="[1.9.2;3.0.*]"
  • _plugins_/couteau_suisse/plugin.xml

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