Changeset 42260 in spip-zone


Ignore:
Timestamp:
Nov 13, 2010, 3:59:39 PM (10 years ago)
Author:
cedric@…
Message:

compacter les couleurs CSS tout en preservant celles des directives filter qui n'acceptent rien d'autre qu'un #123456

Location:
_core_/plugins/compresseur
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/compresseur/inc/compresseur.php

    r42229 r42260  
    3535        $contenu = preg_replace("/\s!important/ms","!important",$contenu);
    3636        // passser les codes couleurs en 3 car si possible
    37         // BUG: ces couleurs raccourcies ne fonctionnent pas avec les filtres de MSIE
    38         // $contenu = preg_replace(",#([0-9a-f])(\\1)([0-9a-f])(\\3)([0-9a-f])(\\5),i","#$1$3$5",$contenu);
     37        // uniquement si non precedees d'un [="'] ce qui indique qu'on est dans un filter(xx=#?...)
     38        $contenu = preg_replace(",([^=\"'])#([0-9a-f])(\\2)([0-9a-f])(\\4)([0-9a-f])(\\6),i","$1#$2$4$6",$contenu);
    3939        // remplacer font-weight:bold par font-weight:700
    4040        $contenu = preg_replace("/font-weight:bold/ims","font-weight:700",$contenu);
     
    5050
    5151        // renommer les couleurs par leurs versions courtes quand c'est possible
    52         // BUG: ces couleurs raccourcies ne fonctionnent pas avec les filtres de MSIE
    53         /*
    54         $contenu = str_replace(
    55                         array(':black',':fuchsia',':white',':yellow','#800000','#ffa500','#808000','#800080','#008000','#000080','#008080','#c0c0c0','#808080','#f00'),
    56                         array(':#000' ,':#F0F'   ,':#FFF' ,':#FF0'  ,'maroon' ,'orange' ,'olive'  ,'purple' ,'green'  ,'navy'   ,'teal'   ,'silver' ,'gray'   ,'red'),
    57                         $contenu);
    58         */
     52        $colors = array(
     53                'source'=>array('black','fuchsia','white','yellow','#800000','#ffa500','#808000','#800080','#008000','#000080','#008080','#c0c0c0','#808080','#f00'),
     54                'replace'=>array('#000' ,'#F0F'   ,'#FFF' ,'#FF0'  ,'maroon' ,'orange' ,'olive'  ,'purple' ,'green'  ,'navy'   ,'teal'   ,'silver' ,'gray'   ,'red')
     55        );
     56        foreach($colors['source'] as $k=>$v){
     57                $colors['source'][$k]=",([^=\"';{])".$v.",ms";
     58                $colors['replace'][$k] = "$1".$colors['replace'][$k];
     59        }
     60        $contenu = preg_replace($colors['source'],$colors['replace'],$contenu);
    5961
    6062        // raccourcir les padding qui le peuvent (sur 3 ou 2 valeurs)
  • _core_/plugins/compresseur/plugin.xml

    r42229 r42260  
    44        <icon>images/compresseur-32.png</icon>
    55        <licence>GPL</licence>
    6         <version>1.2.1</version>
     6        <version>1.2.2</version>
    77        <etat>stable</etat>
    88        <description>Compression des css et javascript
Note: See TracChangeset for help on using the changeset viewer.