Changeset 116029 in spip-zone


Ignore:
Timestamp:
Jul 19, 2019, 1:47:59 PM (5 weeks ago)
Author:
cedric@…
Message:

mise a jour de la lib AdaptiveImages? pour generer le markup background si demande, meme si image trop petite pour etre adaptee

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/adaptive_images/trunk/lib/AdaptiveImages/AdaptiveImages.php

    r116010 r116029  
    581581
    582582                list($w,$h) = $this->imgSize($img);
    583                 // Don't do anything if img is to small or unknown width
    584                 if (!$w OR $w<=$this->minWidth1x) return $img;
    585 
    586583                $src = trim($this->tagAttribute($img, 'src'));
    587584                if (strlen($src)<1){
     
    589586                        $img = "<img src='".$src."' />";
    590587                }
    591                 $srcMobile = $this->tagAttribute($img, 'data-src-mobile');
    592 
    593                 // don't do anything with data-URI images
    594                 if (strncmp($src, "data:", 5)==0)
    595                         return $img;
    596 
    597                 $src = $this->URL2filepath($src);
    598                 if (!$src) return $img;
    599 
    600                 // Don't do anything if img filesize is to small
    601                 $filesize=@filesize($src);
    602                 if ($filesize AND $filesize<$this->minFileSize) return $img;
     588
     589                $adapt = true;
     590                // Don't do anything if img is to small or unknown width
     591                if (!$w OR $w<=$this->minWidth1x) {
     592                        $adapt = false;
     593                }
     594                else {
     595                        $srcMobile = $this->tagAttribute($img, 'data-src-mobile');
     596
     597                        // don't do anything with data-URI images
     598                        if (strncmp($src, "data:", 5)==0) {
     599                                $adapt = false;
     600                        }
     601                        else {
     602                                $src = $this->URL2filepath($src);
     603                                // don't do anyting if we can't find file
     604                                if (!$src or !file_exists($src)) {
     605                                        $adapt = false;
     606                                }
     607                                else {
     608                                        // Don't do anything if img filesize is to small
     609                                        $filesize=@filesize($src);
     610                                        if ($filesize AND $filesize<$this->minFileSize) {
     611                                                $adapt = false;
     612                                        }
     613                                        else {
     614                                                $parts = pathinfo($src);
     615                                                $extension = $parts['extension'];
     616                                                // don't do anyting if it's an animated GIF
     617                                                if ($extension=="gif" AND $this->isAnimatedGif($src)) {
     618                                                        $adapt = false;
     619                                                }
     620                                        }
     621                                }
     622                        }
     623                }
     624
     625                if (!$adapt) {
     626                        if (!$asBackground) {
     627                                return $img;
     628                        }
     629
     630                        $images[$w] = array(
     631                                '10x' => $src,
     632                        );
     633                        // build the markup for background
     634                        return $this->imgAdaptiveMarkup($img, $images, $w, $h, $extension, $maxWidth1x, $asBackground);
     635                }
    603636
    604637                if ($srcMobile)
     
    612645                                '20x' => $src,
    613646                        );
    614 
    615                 // don't do anyting if we can't find file
    616                 if (!file_exists($src))
    617                         return $img;
    618 
    619                 $parts = pathinfo($src);
    620                 $extension = $parts['extension'];
    621 
    622                 // don't do anyting if it's an animated GIF
    623                 if ($extension=="gif" AND $this->isAnimatedGif($src))
    624                         return $img;
    625647
    626648                // build images (or at least URLs of images) on breakpoints
     
    858880                // we chose JPG 320px width - 1.5x as a compromise
    859881                if ($wandroid){
    860                         $file = $bkptImages[$wandroid]['15x'];
     882                        $file = (isset($bkptImages[$wandroid]['15x']) ? $bkptImages[$wandroid]['15x'] : $bkptImages[$wandroid]['10x']);
    861883                        $url = $this->filepath2URL($file);
    862884                        $medias['android2'] = "html.android2 .$cid,html.android2 .$cid::after{background-image:url($url);}";
Note: See TracChangeset for help on using the changeset viewer.