Changeset 47874 in spip-zone


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

Traiter les liens de la forme [->media12]

Pouvoir préciser une taille en %

Location:
_plugins_/modeles_media
Files:
3 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));
  • _plugins_/modeles_media/media_pipelines.php

    r41952 r47874  
    5050}
    5151
     52// Utilisation du pipeline pre_liens pour traiter les raccourcis ->media12
     53function media_pre_liens($texte) {
     54        $texte = preg_replace('/->media([0-9]+)\]/Ui','->doc$1]', $texte);
     55        return $texte;
     56}
     57
    5258?>
  • _plugins_/modeles_media/plugin.xml

    r47376 r47874  
    22        <nom>Mod&egrave;les &lt;media&gt;</nom>
    33        <auteur>Joseph</auteur>
    4         <version>0.3.7</version>
     4        <version>0.4.0</version>
    55        <etat>test</etat>
    66        <description>Mod&egrave;les alternatifs pour l'insertion des documents.</description>
     
    3131        </pipeline>
    3232        <pipeline>
     33                <nom>pre_liens</nom>
     34                <inclure>media_pipelines.php</inclure>
     35        </pipeline>
     36        <pipeline>
    3337                <nom>ieconfig_metas</nom>
    3438                <inclure>media_pipelines.php</inclure>
Note: See TracChangeset for help on using the changeset viewer.