Changeset 103111 in spip-zone


Ignore:
Timestamp:
Mar 2, 2017, 8:11:00 AM (17 months ago)
Author:
joseph@…
Message:

nouvelle approche pour des tailles relatives d'image

Location:
_plugins_/modeles_media/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/modeles_media/trunk/media_fonctions.php

    r103110 r103111  
    180180        list($width, $height) = @getimagesize($src_imgsize);
    181181       
    182         // hauteur du redimensionnement
    183         if (is_numeric($hauteur) && intval($hauteur)>0)
    184                 $hauteur = intval($hauteur);
    185         elseif (in_array($taille,array('icone','petit','moyen','grand')))
    186                 $hauteur = $GLOBALS['meta']['media_taille_'.$taille.'_hauteur'];
    187         elseif (is_numeric($taille) && intval($taille)>0)
    188                 $hauteur = intval($taille);
    189         elseif ($GLOBALS['meta']['media_taille_defaut_hauteur'] && is_null($args['largeur']))
    190                 $hauteur = $GLOBALS['meta']['media_taille_defaut_hauteur'];
    191         else
    192                 $hauteur = 100000;
    193         // largeur du redimensionnement
    194         if (is_numeric($largeur) && intval($largeur)>0)
    195                 $largeur = intval($largeur);
    196         elseif (in_array($taille,array('icone','petit','moyen','grand')))
    197                 $largeur = $GLOBALS['meta']['media_taille_'.$taille.'_largeur'];
    198         elseif (is_numeric($taille) && intval($taille)>0)
    199                 $largeur = intval($taille);
    200         elseif ($GLOBALS['meta']['media_taille_defaut_largeur'] && is_null($args['hauteur']))
    201                 $largeur = $GLOBALS['meta']['media_taille_defaut_largeur'];
    202         else
    203                 $largeur = 100000;
    204         // Doit-on redimensionner ?
    205         if ($height > $hauteur || $width > $largeur) {
    206                 include_spip('inc/filtres_images_mini');
    207                 $img = image_reduire($src,$largeur,$hauteur);
    208                 }
    209         else
    210                 $img = "<img src=\"$src_relative\" height=\"$height\" width=\"$width\" />";
     182        // hauteur ou largeur en relatif
     183        if (substr(trim($hauteur),-1)=='%' || substr(trim($largeur),-1)=='%') {
     184                if (substr(trim($hauteur),-1)=='%')
     185                        $hauteur = trim($hauteur);
     186                else
     187                        $hauteur = "auto";
     188               
     189                if (substr(trim($largeur),-1)=='%')
     190                        $largeur = trim($largeur);
     191                else
     192                        $largeur = "auto";
     193               
     194                $img = "<img src=\"$src_relative\" height=\"$hauteur\" width=\"$largeur\" />";
     195        } else {
     196                // hauteur du redimensionnement
     197                if (is_numeric($hauteur) && intval($hauteur)>0)
     198                        $hauteur = intval($hauteur);
     199                elseif (in_array($taille,array('icone','petit','moyen','grand')))
     200                        $hauteur = $GLOBALS['meta']['media_taille_'.$taille.'_hauteur'];
     201                elseif (is_numeric($taille) && intval($taille)>0)
     202                        $hauteur = intval($taille);
     203                elseif ($GLOBALS['meta']['media_taille_defaut_hauteur'] && is_null($args['largeur']))
     204                        $hauteur = $GLOBALS['meta']['media_taille_defaut_hauteur'];
     205                else
     206                        $hauteur = 100000;
     207                // largeur du redimensionnement
     208                if (is_numeric($largeur) && intval($largeur)>0)
     209                        $largeur = intval($largeur);
     210                elseif (in_array($taille,array('icone','petit','moyen','grand')))
     211                        $largeur = $GLOBALS['meta']['media_taille_'.$taille.'_largeur'];
     212                elseif (is_numeric($taille) && intval($taille)>0)
     213                        $largeur = intval($taille);
     214                elseif ($GLOBALS['meta']['media_taille_defaut_largeur'] && is_null($args['hauteur']))
     215                        $largeur = $GLOBALS['meta']['media_taille_defaut_largeur'];
     216                else
     217                        $largeur = 100000;
     218                // Doit-on redimensionner ?
     219                if ($height > $hauteur || $width > $largeur) {
     220                        include_spip('inc/filtres_images_mini');
     221                        $img = image_reduire($src,$largeur,$hauteur);
     222                        }
     223                else
     224                        $img = "<img src=\"$src_relative\" height=\"$height\" width=\"$width\" />";
     225        }
    211226        // Ajouter une alternative
    212227        // Variable alt si transmise, sinon le titre du document, sinon type et poids
  • _plugins_/modeles_media/trunk/paquet.xml

    r103110 r103111  
    22        prefix="media"
    33        categorie="edition"
    4         version="1.4.1"
     4        version="1.4.2"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.