Changeset 114706 in spip-zone


Ignore:
Timestamp:
Apr 2, 2019, 9:59:27 AM (8 months ago)
Author:
arnaud.berard@…
Message:

on ne laisse que ce qui a été testé et utilisé

File:
1 edited

Legend:

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

    r112266 r114706  
    1313function lazysizes_addons() {
    1414        $lazy_addons = array(
    15                 'artdirect' => 'ls.artdirect',
    16                 'aspectratio' => 'ls.aspectratio',
    17                 'attrchange' => 'ls.attrchange',
     15                // 'artdirect' => 'ls.artdirect',
     16                // 'aspectratio' => 'ls.aspectratio',
     17                // 'attrchange' => 'ls.attrchange',
    1818                'bgset' => 'ls.bgset',
    19                 'blur-up' => 'ls.blur-up',
     19                // 'blur-up' => 'ls.blur-up',
    2020                'custommedia' => 'ls.custommedia',
    21                 'fix-io-sizes' => 'fix-ios-sizes',
    22                 'include' => 'ls.include',
     21                // 'fix-io-sizes' => 'fix-ios-sizes',
     22                // 'include' => 'ls.include',
    2323                'noscript' => 'ls.noscript',
    24                 'object-fit' => 'ls.object-fit',
    25                 'optimumx' => 'ls.optimumx',
     24                // 'object-fit' => 'ls.object-fit',
     25                // 'optimumx' => 'ls.optimumx',
    2626                'parent-fit' => 'ls.parent-fit',
    27                 'print' => 'ls.print',
    28                 'progressive' => 'ls.progressive',
    29                 'respimg' => 'ls.respimg',
    30                 'rias' => 'ls.rias',
    31                 'static-gecko-picture' => 'ls.static-gecko-picture',
    32                 'twitter' => 'ls.twitter',
    33                 'unload' => 'ls.unload',
    34                 'unveilhooks' => 'ls.unveilhooks',
    35                 'video-embed' => 'ls.video-embed'
     27                // 'print' => 'ls.print',
     28                // 'progressive' => 'ls.progressive',
     29                // 'respimg' => 'ls.respimg',
     30                // 'rias' => 'ls.rias',
     31                // 'static-gecko-picture' => 'ls.static-gecko-picture',
     32                // 'twitter' => 'ls.twitter',
     33                // 'unload' => 'ls.unload',
     34                // 'unveilhooks' => 'ls.unveilhooks',
     35                // 'video-embed' => 'ls.video-embed'
    3636        );
    3737
     
    7979        $lignes = explode("\n",$string);
    8080        foreach($lignes as $i => $ligne){
    81                 list($cle,$valeur) = explode('|', $ligne, 2);
     81                list($cle,$valeur) = explode('|', $ligne);
    8282                $res[$cle] = trim($valeur);
    8383        }
    8484        return $res;
     85}
     86/**
     87 * filtre custom_media
     88 * retourne la liste de breakpoints configurés dans l'espace privé
     89 * sous la forme d'un tableau cle => (querie , taille du média)
     90 * la cle étant un raccourci de type custom-media tel que défini dans la lib lazysize
     91 * '--small': '(max-width: 480px)'
     92 *
     93 * @var string
     94 */
     95function filtre_custom_media_dist(){
     96        include_spip('inc/config');
     97        $breakpoints = array();
     98        $cfg = lire_config('lazysizes/options/custom_media');
     99        $lignes = explode("\n",$cfg);
     100        foreach($lignes as $i => $ligne){
     101                list($shortcut,$querie,$recadre) = explode('|', $ligne);
     102                $breakpoints[$shortcut] = array('querie'=>$querie,'recadre'=>$recadre);
     103        }
     104        return $breakpoints;
    85105}
    86106
     
    89109 *
    90110 * supprime les data-src des modèles documents pour rétablir le src du $fichier
    91  * utilisé dans les gabarits de newsletter
     111 * rétabli les tailles et attributs, supprimer les balises <noscript> et leur contenu
     112 * a utiliser dans les gabarits de newsletter
     113 *
     114 * @todo mieux transformer les tags figure
    92115 *
    93116 */
    94117function filtre_unlazy_dist($flux){
     118  // enlever les balises figure en gardant le contenu
     119  // $flux = preg_replace('/(<figure[^>]*>)(.*)(<\/figure>)/Uims','$2',$flux);
     120  // enlever les eventuelles balise noscript et les figcaptions
     121  // $flux = preg_replace('/(<figcaption[^>]*>)(.*)(<\/figcaption>)/Uims','',$flux);
     122  $flux = preg_replace('/(<noscript[^>]*>)(.*)(<\/noscript>)/Uims','',$flux);
     123  if(preg_match_all("/(<img\ [^>]*>)/",$flux,$matches)){
     124         foreach($matches[1] as $img){
     125                 if(null !== extraire_attribut($img,'data-src')){
     126                         $src = ' src="'.extraire_attribut($img,'data-src').'"';
     127                         ( extraire_attribut($img,'alt') ) ? $alt = ' alt="'.extraire_attribut($img,'alt').'"' : $alt = null;
     128                         ( extraire_attribut($img,'width') ) ? $width = ' width="'.extraire_attribut($img,'width').'"' : $width = null ;
     129                         ( extraire_attribut($img,'height') ) ? $height = ' height="'.extraire_attribut($img,'height').'"' : $height = null;
    95130
    96         if(preg_match_all("/(<img\ [^>]*>)/",$flux,$matches)){
    97                 foreach($matches[1] as $img){
    98                         if(null !== extraire_attribut($img,'data-src')){
    99                                 $src = ' src="'.extraire_attribut($img,'data-src').'"';
    100                                 ( extraire_attribut($img,'alt') ) ? $alt = ' alt="'.extraire_attribut($img,'alt').'"' : $alt = null;
    101                                 ( extraire_attribut($img,'width') ) ? $width = ' width="'.extraire_attribut($img,'width').'"' : $width = null ;
    102                                 ( extraire_attribut($img,'height') ) ? $height = ' height="'.extraire_attribut($img,'height').'"' : $height = null;
     131                         $flux = str_replace($img,'<img'.$src.$alt.$width.$height.'>',$flux);
     132                 }
     133         }
     134  }
    103135
    104                                 $flux = str_replace($img,'<img'.$src.$alt.$width.$height.'>',$flux);
    105                         }
    106                 }
    107         }
    108 
    109         return $flux;
    110 }
     136  return $flux;
     137 }
    111138/*
    112139 * function titrer_document
Note: See TracChangeset for help on using the changeset viewer.