Changeset 96365 in spip-zone


Ignore:
Timestamp:
Apr 1, 2016, 8:26:25 AM (4 years ago)
Author:
arno@…
Message:

Possibilité de définir plusieurs fois la même taille, en utilisant des proportions d’images différentes (usage: media-query avec: orientation).

Location:
_plugins_/image_responsive
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/image_responsive/image_responsive_fonctions.php

    r96038 r96365  
    9393                                if (preg_match(",^([0-9\.]+\%?)(x([0-9\.]+\%?))?(x([a-z]*))?(x([0-9\.]*))?$,", $prop, $regs)) {
    9494                               
    95                                         if ($regs[1] == "0") $regs[1] = $l;
    96                                         if ($regs[3] == "0") $regs[3] = $h;
     95                                        if ($regs[1] == "0") $p[$i]["l"] = $l;
     96                                        else $p[$i]["l"] = $regs[1];
     97
     98                                        if ($regs[3] == "0") $p[$i]["h"] = $h;
     99                                        else $p[$i]["h"] = $regs[3];
    97100                               
    98                                         $p[$i]["l"] = $regs[1];
    99                                         $p[$i]["h"] = $regs[3];
     101                                       
    100102                                        $p[$i]["f"] = $regs[5];
    101103                                        $p[$i]["z"] = $regs[7];
     
    182184
    183185                                if (count($p) > 1 && count($p[$i]) > 1) {
    184                                         $source_tmp = image_proportions($source_tmp, $p[$i]["l"], $p[$i]["h"], $p[$i]["f"], $p[$i]["z"]);
    185                                         $source_tmp = extraire_attribut($source_tmp,"src");
     186                                        if ($p[$i]["l"] != $l || $p[$i]["h"] != $h) { // Pas de redimension si on est au format source (0x0)
     187                                                $source_tmp = image_proportions($source_tmp, $p[$i]["l"], $p[$i]["h"], $p[$i]["f"], $p[$i]["z"]);
     188                                                $source_tmp = extraire_attribut($source_tmp,"src");
     189                                        }
    186190                                }                       
    187 
    188191                                if ($vertical && $t > $h) $t = $h;
    189192                                else if (!$vertical && $t > $l) $t = $l;
     
    191194
    192195                                if(_IMAGE_RESPONSIVE_CALCULER) {
    193                                         $fichiers[$t][1] = retour_image_responsive($source_tmp, "$t$v", 1, 0, "file");
    194                                         $fichiers[$t][2] = retour_image_responsive($source_tmp, "$t$v", 2, 0, "file");
     196                                        $fichiers[$i][1] = retour_image_responsive($source_tmp, "$t$v", 1, 0, "file");
     197                                        $fichiers[$i][2] = retour_image_responsive($source_tmp, "$t$v", 2, 0, "file");
    195198                                } else {
    196199                                        if ($htactif) {
    197                                                 $fichiers[$t][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t$v.$1", $source_tmp);
    198                                                 $fichiers[$t][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t$v-2.$1", $source_tmp);
     200                                                $fichiers[$i][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t$v.$1", $source_tmp);
     201                                                $fichiers[$i][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t$v-2.$1", $source_tmp);
    199202                                        }
    200203                                        else {
    201                                                 $fichiers[$t][1] = "index.php?action=image_responsive&img=$source_tmp&taille=$t$v";
    202                                                 $fichiers[$t][2] = "index.php?action=image_responsive&img=$source_tmp&taille=$t$v&dpr=2";
     204                                                $fichiers[$i][1] = "index.php?action=image_responsive&img=$source_tmp&taille=$t$v";
     205                                                $fichiers[$i][2] = "index.php?action=image_responsive&img=$source_tmp&taille=$t$v&dpr=2";
    203206                                        }
    204207                                }
     
    210213                                        $t = $tailles[0];
    211214                                        if ($t != 0 && $t <= $l) {
    212                                                 $srcset[] = $fichiers[$t][1]." 1x";
    213                                                 $srcset[] = $fichiers[$t][2]." 2x";
     215                                                $srcset[] = $fichiers[1][1]." 1x";
     216                                                $srcset[] = $fichiers[1][2]." 2x";
    214217                                        }
    215218                        }
     
    229232                                                                                               
    230233                                                $source_tmp = $source;
    231                                                 $set =  $fichiers[$t][1]." 1x";
    232                                                 $set .=  ",".$fichiers[$t][2]. " 2x";
     234                                                $set =  $fichiers[$i][1]." 1x";
     235                                                $set .=  ",".$fichiers[$i][2]. " 2x";
    233236
    234237                                                if (strlen($m) > 0) {
  • _plugins_/image_responsive/paquet.xml

    r96038 r96365  
    22        prefix="image_responsive"
    33        categorie="outil"
    4         version="7.2.0"
     4        version="7.3.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.