Ignore:
Timestamp:
May 17, 2011, 5:23:04 PM (10 years ago)
Author:
joseph@…
Message:

Traiter les liens de la forme [->media12]

Pouvoir préciser une taille en %

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/modeles_media/media_balises.php

    r47376 r47874  
    245245        if (!is_numeric($sql_largeur) || intval($sql_largeur)<=0)
    246246                $sql_largeur = isset($GLOBALS['meta']['media_taille_grand_largeur']) ? $GLOBALS['meta']['media_taille_grand_largeur'] : 640;
    247         // Hauteur visée
    248         if (is_numeric($hauteur) && intval($hauteur)>0)
     247        // Hauteur visée (on peut avoir passé une hauteur en %)
     248        if (substr(trim($hauteur),-1)=='%')
     249                $hauteur = trim($hauteur);
     250        elseif (is_numeric($hauteur) && intval($hauteur)>0)
    249251                $hauteur = intval($hauteur);
    250252        elseif (in_array($taille,array('icone','petit','moyen','grand')) && isset($GLOBALS['meta']['media_taille_'.$taille.'_hauteur']))
     
    252254        elseif (in_array($taille,array('icone','petit','moyen','grand')))
    253255                $hauteur = $hauteur_defaut[$taille];
     256        elseif (substr(trim($taille),-1)=='%')
     257                $hauteur = trim($taille);
    254258        elseif (is_numeric($taille) && intval($taille)>0)
    255259                $hauteur = intval($taille);
    256260        else
    257                 $hauteur = 100000;
    258         // Largeur visée
    259         if (is_numeric($largeur) && intval($largeur)>0)
     261                $hauteur = $sql_hauteur;
     262        // Largeur visée (on peut avoir passé une largeur en %)
     263        if (substr(trim($largeur),-1)=='%')
     264                $largeur = trim($largeur);
     265        elseif (is_numeric($largeur) && intval($largeur)>0)
    260266                $largeur = intval($largeur);
    261267        elseif (in_array($taille,array('icone','petit','moyen','grand')) && isset($GLOBALS['meta']['media_taille_'.$taille.'_largeur']))
     
    263269        elseif (in_array($taille,array('icone','petit','moyen','grand')))
    264270                $largeur = $largeur_defaut[$taille];
     271        elseif (substr(trim($taille),-1)=='%')
     272                $hauteur = trim($taille);
    265273        elseif (is_numeric($taille) && intval($taille)>0)
    266274                $largeur = intval($taille);
    267275        else
    268                 $largeur = 100000;
    269         // Doit-on redimensionner ?
    270         if ($sql_hauteur > $hauteur || $sql_largeur > $largeur) {
     276                $largeur = $sql_largeur;
     277        // Doit-on redimensionner ? Si une deux dimensions est exprimée en %, on ne redimensionne pas.
     278        if (substr($hauteur,-1)=='%' || substr($largeur,-1)=='%')
     279                $t = array('largeur' => $largeur, 'hauteur' => $hauteur);
     280        elseif ($sql_hauteur > $hauteur || $sql_largeur > $largeur) {
    271281                $ratio = max ($sql_hauteur/$hauteur,$sql_largeur/$largeur);
    272282                $t = array('largeur' => round($sql_largeur/$ratio), 'hauteur' => round($sql_hauteur/$ratio));
Note: See TracChangeset for help on using the changeset viewer.