Changeset 118298 in spip-zone


Ignore:
Timestamp:
Oct 27, 2019, 12:09:52 PM (5 months ago)
Author:
cedric@…
Message:
  • ne jamais passer les filtres d'orthotypo sur les balises elle meme (<small> <md> <del> <img ...> <a ...>) : on split le texte selon les balises et on filtre chaque partie ensuite
  • classes CSS sur le formulaire de config
  • compat SPIP 3.3
Location:
_plugins_/orthotypo/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/orthotypo/trunk/formulaires/configurer_orthotypo.html

    r80422 r118298  
    1010                #ACTION_FORMULAIRE{#ENV{action}}
    1111                #SET{fl,orthotypo}
    12                 <ul>
     12                <ul class="editer-groupe">
    1313                        #SET{name,guillemets}#SET{obli,''}#SET{defaut,'1'}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
    1414                        <li class="editer pleine_largeur editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
     
    8181                                <fieldset>
    8282                                        <legend><:orthotypo:legend_corrections:></legend>
    83                                         <ul>
     83                                        <ul class="editer-groupe">
    8484                                                #SET{name,corrections}#SET{obli,''}#SET{defaut,'0'}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
    8585                                                <li class="editer pleine_largeur editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
  • _plugins_/orthotypo/trunk/orthotypo_fonctions.php

    r114348 r118298  
    101101        // retour du texte simplement protege
    102102        if ($filtre===false) return $texte;
    103         // transformation par $fonction
    104         if (!$args)
    105                 $texte = $filtre($texte);
     103
     104        // transformation par $fonction : on split le texte pour ne pas filtrer les <balises ...> ou </balises> html elle meme
     105        if (strpos($texte, "<") !== false
     106          and $parts = preg_split(",(</?\w+>|<\w+\s[^>]*>),Uims",$texte, -1, PREG_SPLIT_DELIM_CAPTURE)) {
     107                for ($i=0;$i<count($parts);$i+=2) {
     108                        if ($parts[$i] !== "") {
     109                                if (!$args) {
     110                                        $parts[$i] = $filtre($parts[$i]);
     111                                }
     112                                else {
     113                                        array_unshift($args, $parts[$i]);
     114                                        $parts[$i] = call_user_func_array($filtre, $args);
     115                                        array_shift($args);
     116                                }
     117                        }
     118                }
     119                $texte = implode($parts);
     120        }
    106121        else {
    107                 array_unshift($args,$texte);
    108                 $texte = call_user_func_array($filtre, $args);
    109         }
     122                if (!$args){
     123                        $texte = $filtre($texte);
     124                }
     125                else {
     126                        array_unshift($args,$texte);
     127                        $texte = call_user_func_array($filtre, $args);
     128                }
     129        }
     130
    110131
    111132        // deprotection des balises
     
    388409        }
    389410        if(function_exists($fonction = 'orthotypo_exposants_'.lang_typo($lang))){
    390                 // prudence : on protege les balises <a> et <img>
    391                 if (strpos($texte, '<')!==false)
    392                         $texte = preg_replace_callback('/(<(a|img)\s[^>]+>)/Uims', 'orthotypo_exposants_echappe_balises_callback', $texte);
    393411                $texte = orthotypo_filtre_texte_echappe($texte,$fonction,'html|code|cadre|frame|script|acronym|cite');
    394412                return echappe_retour($texte, 'EXPO');
  • _plugins_/orthotypo/trunk/paquet.xml

    r114348 r118298  
    22        prefix="orthotypo"
    33        categorie="edition"
    4         version="1.4.8"
     4        version="1.5.0"
    55        etat="stable"
    6         compatibilite="[3.0.0;3.2.*]"
     6        compatibilite="[3.0.0;3.3.*]"
    77        logo="prive/themes/spip/images/orthotypo-32.png"
    88        documentation="https://contrib.spip.net/Ortho-typographie"
Note: See TracChangeset for help on using the changeset viewer.