Changeset 110617 in spip-zone


Ignore:
Timestamp:
Jun 11, 2018, 9:39:39 AM (15 months ago)
Author:
arnaud.berard@…
Message:

Correctif pour l"utilisation dans des newsletters

  • ajout de la balise noscript au modèle doc
  • ajout d'un filtre unlazy permettant de rétablir le src, width, height, alt des <img> ayant un attribut data-src
Location:
_plugins_/lazysizes/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/lazysizes/trunk/lazysizes_fonctions.php

    r105733 r110617  
    99/*
    1010 * function lazysizes_addons
    11  * 
     11 *
    1212 */
    1313function lazysizes_addons() {
     
    3434                'video-embed' => 'ls.video-embed'
    3535        );
    36        
     36
    3737        return $lazy_addons;
    3838}
     
    4343        $js_init_options = generer_url_public('lazysizes_config.js') ;
    4444        $flux .= "<script type='text/javascript' src='$js_init_options' ></script>\n";;
    45        
     45
    4646        // Addons
    4747        $active_addons = lire_config('lazysizes/addons');
    4848        $ls_addons = lazysizes_addons();
    49        
     49
    5050        if (is_array($active_addons)) {
    5151                foreach($active_addons as $addon => $state){
    5252                        if(array_key_exists($addon, $ls_addons)){
    5353                                $file = timestamp(find_in_path('javascript/addons/'.$addon.'/'.$ls_addons[$addon].'.js'));
    54                                 $flux .= "<script type='text/javascript' src='$file' ></script>\n"; 
     54                                $flux .= "<script type='text/javascript' src='$file' ></script>\n";
    5555                        }
    5656                }
    5757        }
    58                        
    59         $lazysizes = timestamp(find_in_path('javascript/lazysizes.js'));       
     58
     59        $lazysizes = timestamp(find_in_path('javascript/lazysizes.js'));
    6060        $flux .= "<script type='text/javascript' src='$lazysizes' ></script>\n";
    6161
    62        
     62
    6363        $flux .= "<script type='text/javascript'>window.lazySizes.init();</script>";
    64        
     64
    6565        return $flux;
    6666}
    6767
    6868
     69
     70/**
     71 * filtre_unlazy_dist
     72 *
     73 * supprime les data-src des modèles documents pour rétablir le src du $fichier
     74 * utilisé dans les gabarrits de newsletter
     75 *
     76 */
     77function filtre_unlazy_dist($flux){
     78
     79        if(preg_match_all("/(<img\ [^>]*>)/",$flux,$matches)){
     80                foreach($matches[1] as $img){
     81                        if(null !== extraire_attribut($img,'data-src')){
     82                                $src = ' src="'.extraire_attribut($img,'data-src').'"';
     83                                ( extraire_attribut($img,'alt') ) ? $alt = ' alt="'.extraire_attribut($img,'alt').'"' : $alt = null;
     84                                ( extraire_attribut($img,'width') ) ? $width = ' width="'.extraire_attribut($img,'width').'"' : $width = null ;
     85                                ( extraire_attribut($img,'height') ) ? $height = ' height="'.extraire_attribut($img,'height').'"' : $height = null;
     86
     87                                $flux = str_replace($img,'<img'.$src.$alt.$width.$height.'>',$flux);
     88                        }
     89                }
     90        }
     91
     92        return $flux;
     93}
    6994/*
    7095 * function titrer_document
  • _plugins_/lazysizes/trunk/modeles/doc.html

    r105520 r110617  
    4040                (#ENV{lien}|?{'',type="#MIME_TYPE"})]>]
    4141                <img src="#CHEMIN{rien.gif}" [(#GET{options/src_attr,data-src})]="#GET{fichier}" [(#GET{options/sizes_attr,data-sizes})]="auto" class="[(#GET{options/lazy_class,lazyload})]"
    42                         alt="#GET{title}" width="#GET{width}" height="#GET{height}">[(#GET{url}|?{</a>})][
     42                        alt="#GET{title}" width="#GET{width}" height="#GET{height}"><noscript><img src="#GET{fichier}" [(#GET{options/sizes_attr,data-sizes})]="auto" class="[(#GET{options/lazy_class,lazyload})]"alt="#GET{title}" width="#GET{width}" height="#GET{height}"></noscript>
     43                        [(#GET{url}|?{</a>})][
    4344        (#TITRE|ou{#DESCRIPTIF}|ou{#CREDITS}|oui)
    4445                <INCLURE{fond=modeles/inc_figcaption,titre=#TITRE,descriptif=#DESCRIPTIF,credits=#CREDITS,width=#GET{width}}>]
    4546</figure>
    46 
    4747</BOUCLE_doc>
    4848#FILTRE{trim}
  • _plugins_/lazysizes/trunk/paquet.xml

    r110469 r110617  
    22        prefix="lazysizes"
    33        categorie="outil"
    4         version="4.0.2.1"
     4        version="4.0.2.2"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.