Ignore:
Timestamp:
Jun 16, 2014, 5:56:30 AM (6 years ago)
Author:
kent1@…
Message:

Tout passe par inc/smush_image

Améliorations diverses

Version 0.4.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/smush_images/trunk/smush_pipelines.php

    r74489 r83073  
    2525        if(!function_exists('lire_config'))
    2626                include_spip('inc/config');
    27         if((!isset($GLOBALS['meta']['smush_casse']) || $GLOBALS['meta']['smush_casse'] != 'oui') && !defined('_SMUSH_INTERDIRE_AUTO') && (lire_config('smush/eviter_traitement_auto','off') != 'on'))
    28                 $flux = filtrer('image_smush',$flux);
     27        if((!isset($GLOBALS['meta']['smush_casse']) || $GLOBALS['meta']['smush_casse'] != 'oui') && !defined('_SMUSH_INTERDIRE_AUTO') && (lire_config('smush/eviter_traitement_auto','off') != 'on')){
     28                $smush = charger_fonction('smush_image','inc');
     29                $flux = $smush($flux);
     30        }
    2931        return $flux;
    30 }
    31 
    32 /**
    33  * Fonction de réduction d'image
    34  * Nécessite que la fonction exec() soit utilisable
    35  * Nécessite certains binaires sur le serveur :
    36  * -* identify : apt-get install imagemagick
    37  * -* convert : apt-get install imagemagick
    38  * -* pngnq : apt-get install pngnq
    39  * -* pngoptim : apt-get install pngoptim
    40  * -* jpegtran : apt-get install libjpeg-progs
    41  *
    42  * @param string $im
    43  *              Le tag image (<img src...>) à réduire
    44  * @return string
    45  *              Le nouveau tag image
    46  */
    47 function image_smush($im) {
    48         $fonction = array('smush', func_get_args());
    49         $image = _image_valeurs_trans($im,"smush",false,$fonction);
    50 
    51         if (!$image) return("");
    52 
    53         $im = $image["fichier"];
    54         $dest = $image["fichier_dest"];
    55 
    56         $creer = $image["creer"];
    57 
    58         if ($creer) {
    59                 $format = trim(exec('identify -format %m '.$im));
    60 
    61                 if ($format == 'GIF') {
    62                         $dest = $dest.'.png';
    63                         exec('convert '.$im.' '.$dest);
    64                         $source = $dest;
    65                         $format = 'PNG';
    66                 }
    67 
    68                 else if ($format == 'PNG') {
    69                         $nq = substr($im,0,-4).'-nq8.png';
    70                         exec('pngnq '.$im.' && optipng -o5 '.$nq.' -out '.$dest,$out);
    71                         if(file_exists($nq))
    72                                 spip_unlink($nq);
    73                 }
    74 
    75                 else if ($format == 'JPEG') {
    76                         $fsize = filesize($im);
    77                         if ($fsize < 10*1024)
    78                                 exec('jpegtran -copy none -optimize '.$im.' > '.$dest);
    79                         else
    80                                 exec('jpegtran -copy none -progressive '.$im.' > '.$dest);
    81                 }
    82         }
    83         return _image_ecrire_tag($image,array('src'=>$dest));
    8432}
    8533
Note: See TracChangeset for help on using the changeset viewer.