Changeset 77199 in spip-zone


Ignore:
Timestamp:
Oct 13, 2013, 2:39:01 PM (8 years ago)
Author:
cedric@…
Message:

un peu de mise au propre et rendre la fonction unipotente : elle ne modifie plus le HTML à partir de la 2eme application
+ ne pas appliquer sur les .spip_logos

Location:
_plugins_/respim/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/respim/trunk/paquet.xml

    r77191 r77199  
    22        prefix="respim"
    33        categorie="multimedia"
    4         version="0.3.0"
     4        version="0.3.1"
    55        etat="dev"
    66        compatibilite="[3.0.12-dev;3.0.*]"
  • _plugins_/respim/trunk/respim_options.php

    r77191 r77199  
    11<?php
    22/**
    3  * Options du plugin Responsive Imagesau chargement
     3 * Options du plugin Responsive Images
    44 *
    55 * @plugin     Responsive Images
     
    2323 * @return string
    2424 */
    25 function respim_embed($img, $rwd_images, $width, $height){
    26 
     25function respim_markup($img, $rwd_images, $width, $height){
     26        $class = extraire_attribut($img,"class");
     27        if (strpos($class,"respim")!==false) return $img;
    2728        ksort($rwd_images);
    2829        $cid = "c".crc32(serialize($rwd_images));
    2930        $style =
    30 "img.$cid{opacity:0.01;filter:alpha(opacity=1);width:{$width}px;max-width:100%;height:auto;}
    31 b.$cid{background-size:100%;background-repeat:no-repeat;display:inline-block;max-width:100%}
    32 ";
     31"img.respim{opacity:0.01;max-width:100%;height:auto;}"
     32."b.respwrapper{background-size:100%;background-repeat:no-repeat;display:inline-block;max-width:100%}";
     33        if ($class) $class = " $class";
     34        $class = "$cid$class";
     35        $img = inserer_attribut($img,"class","respim-fallback $class");
    3336
    3437        // image de fallback fournie ?
     
    5457        }
    5558        $style .= "b.$cid{background-image:url($file);}";
    56         $style .= implode("\n",$medias);
     59        $style .= implode("",$medias);
    5760
    58         $class = extraire_attribut($img,"class");
    59         if ($class) $class = " $class";
    60         $class = "responsive $cid$class";
    6161
    62         $out = "<!--[if IE]>$img<![endif]-->";
     62        $out = "<!--[if IE]>$img<![endif]-->\n";
    6363        $img = inserer_attribut($img,"src",$fallback_file);
    64         $img = inserer_attribut($img,"class",$class);
    65         $img = inserer_attribut($img,"onmousedown","var i=window.getComputedStyle(this.parentNode).backgroundImage.replace(/\W\)$/,'').replace(/^url\(\W|/,'');this.src=(i&&i!='none'?i:this.src);");
    66         $out .= "<!--[if !IE]--><b class=\"$cid\">$img</b><style>$style</style><!--[endif]-->";
     64        $img = inserer_attribut($img,"class","respim $class");
     65        $img = inserer_attribut($img,"onmousedown","var i=window.getComputedStyle(this.parentNode).backgroundImage.replace(/\W?\)$/,'').replace(/^url\(\W?|/,'');this.src=(i&&i!='none'?i:this.src);");
     66        $out .= "<!--[if !IE]--><b class=\"respwrapper $cid\">$img</b>\n<style>$style</style><!--[endif]-->";
    6767
    6868        return $out;
     
    7070
    7171/**
     72 * extrait les infos d'une image,
     73 * calcule les variantes en fonction des breakpoints
     74 * si l'image est de taille superieure au plus petit breakpoint
     75 * et renvoi un markup responsive si il y a lieu
     76 *
    7277 * @param string $img
    7378 * @param array $bkpt
     
    7681function respim_image($img, $bkpt = array(320,480,780)){
    7782        if (!$img) return $img;
     83        if (strpos($img,"respim")!==false
     84          OR strpos($img,"spip_logos")!==false)
     85                return $img;
     86
    7887        if (!function_exists("taille_image"))
    7988                include_spip("inc/filtres");
     
    102111                return $img;
    103112
     113        // calculer les variantes d'image sur les breakpoints
    104114        $large = "";
    105115        foreach($bkpt as $wk){
     
    109119        }
    110120
     121        // l'image de fallback en jpg tres compresse
    111122        if (function_exists("image_aplatir")){
    112123                // image de fallback : la plus petite en jpg compresse
     
    115126        }
    116127
    117         // pour les autres (les mobiles ou autres trucs tactiles apparentes, sauf android2, donc)
    118   // on renvoie un conteneur svg
    119 
    120         return respim_embed($img,$images,$w,$h);
     128        // generer le markup
     129        return respim_markup($img,$images,$w,$h);
    121130}
    122131
     132/**
     133 * Traiter les images de la page et les passer en responsive
     134 * si besoin
     135 *
     136 * @param $texte
     137 * @return mixed
     138 */
    123139function respim_affichage_final($texte){
    124140        if ($GLOBALS['html']){
Note: See TracChangeset for help on using the changeset viewer.