Changeset 48576 in spip-zone for _plugins_/css_imbriques


Ignore:
Timestamp:
Jun 8, 2011, 11:13:59 AM (8 years ago)
Author:
arno@…
Message:

Ajout de PIE.htc, qui active coins arrondis et ombre de blocs sous IE.

Location:
_plugins_/css_imbriques
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/css_imbriques/css_imbriques_fonctions.php

    r47366 r48576  
    8787        // -spip-font-smoothing
    8888       
     89        $pie = url_absolue(chemin("PIE.htc"));
     90       
    8991        $style = $regs[1];
    9092        $val = trim($regs[2]);
     
    9496                        $ret .= "-moz-border-radius:$val;";
    9597                        $ret .= "border-radius:$val;";
     98                        $ret .= "behavior: url($pie);";
    9699                        break;
    97100                case "border-top-right-radius" :
     
    99102                        $ret .= "-moz-border-radius-topright:$val;";
    100103                        $ret .= "border-top-right-radius:$val;";
     104                        $ret .= "behavior: url($pie);";
    101105                        break;
    102106                case "border-top-left-radius" :
     
    104108                        $ret .= "-moz-border-radius-topleft:$val;";
    105109                        $ret .= "border-top-left-radius:$val;";
     110                        $ret .= "behavior: url($pie);";
    106111                        break;
    107112                case "border-bottom-right-radius" :
     
    109114                        $ret .= "-moz-border-radius-bottomright:$val;";
    110115                        $ret .= "border-bottom-right-radius:$val;";
     116                        $ret .= "behavior: url($pie);";
    111117                        break;
    112118                case "border-bottom-left-radius" :
     
    114120                        $ret .= "-moz-border-radius-bottomleft:$val;";
    115121                        $ret .= "border-bottom-left-radius:$val;";
     122                        $ret .= "behavior: url($pie);";
    116123                        break;
    117124                       
     
    142149                        $ret .= "-moz-box-shadow:$val;";
    143150                        $ret .= "box-shadow:$val;";
    144                        
    145                         if (preg_match(",(\-?[0-9]+)px\ *(\-?[0-9]+)px\ *([0-9]+)px\ *(#?[0-9a-zA-Z]*),", $val, $val_ie)) {
    146                                 $x = $val_ie[1];
    147                                 $y = $val_ie[2];
    148                                 $s = $val_ie[3];
    149                                 $coul = $val_ie[4];
    150 
    151                                 /*
    152                                 if ($x == 0) {
    153                                         if ($y > 0) $angle = 180;
    154                                         else $angle = 0;
    155                                 } else if ($x > 0 && $y >= 0) {
    156                                         $angle = 90 - round(rad2deg(atan(-1 * $y / $x)));
    157                                 } else if ($x > 0 && $y < 0) {
    158                                         $angle = 90 - round(rad2deg(atan(-1 * $y / $x)));
    159                                 } else if ($x < 0 && $y >= 0) {
    160                                         $angle = round(rad2deg(atan($y / $x))) - 90;
    161                                 } else if ($x < 0 && $y < 0) {
    162                                         $angle = round(rad2deg(atan($y / $x))) - 90;
    163                                 }
    164                                
    165                                 if ($angle < 0) $angle = $angle + 360;
    166                                
    167                                 $distance = round(sqrt($x*$x + $y*$y));
    168                                 */
    169                                 // Bon, ca ne marche pas bien, il faut plus de tests...
    170                                 //$ret .= "zoom:1; filter: progid:DXImageTransform.Microsoft.Shadow(color=$coul,direction=$angle, Strength=$s);";
    171                         }
     151                        $ret .= "behavior: url($pie);";
    172152                        break;
    173153                case "background-color":
     
    257237}
    258238
     239function css_imbriques_forcer_position($css) {
     240        if (preg_match("/border[a-z\-]*\-radius|box\-shadow/", $css) && !preg_match("/position\ ?\:/", $css)) {
     241
     242                $css .= "position:relative;";
     243        }
     244        return $css;
     245}
     246
    259247
    260248function css_imbriques_decouper ($css) {
     
    286274                                               
    287275                        $def = trim($regs[2]);
     276                        $def = css_imbriques_forcer_position($def);
     277
    288278
    289279                        $chaine = $regs[0];
     
    292282                        $fin = substr($css, $pos + strlen($chaine), strlen($css));
    293283
    294 
    295 
    296 //                                      echo "<li>$intitule</li>";
    297284
    298285                        if (preg_match("#\,#", $intitule)) {
     
    332319                                }
    333320       
    334                                 $definition[$compteur] = preg_replace("#[\ \n]*\[\[[0-9]*\]\][\ \n]*#", "", $definition[$compteur]);
     321                                $definition[$compteur] = css_imbriques_forcer_position(preg_replace("#[\ \n]*\[\[[0-9]*\]\][\ \n]*#", "", $definition[$compteur]));
    335322//                              echo "<li>".$definition[$compteur];
    336323       
  • _plugins_/css_imbriques/plugin.xml

    r47366 r48576  
    22        <nom>CSS imbriqu&eacute;s</nom>
    33        <auteur>ARNO*</auteur>
    4         <version>1.8</version>
     4        <version>1.9</version>
    55        <etat>stable</etat>
    66        <description>
Note: See TracChangeset for help on using the changeset viewer.