diff --git a/ecrire/action/tester.php b/ecrire/action/tester.php index b3407547fe9fb3a2e43d7e9db0205ddeb370eaaa..2135580a159d90f7b40b23d7fc4772bb412f5950 100644 --- a/ecrire/action/tester.php +++ b/ecrire/action/tester.php @@ -128,12 +128,14 @@ function action_tester_dist() { // et maintenant envoyer la vignette de tests if (ereg("^(gd1|gd2|imagick|convert|netpbm)$", $arg)) { - include_spip('inc/logos'); + include_spip('inc/filtres'); + include_spip('inc/filtres_images'); //$taille_preview = $GLOBALS['meta']["taille_preview"]; if ($taille_preview < 10) $taille_preview = 150; - if ($preview = creer_vignette( - _ROOT_IMG_PACK.'test_image.jpg', - $taille_preview, $taille_preview, 'jpg', '', "test_$arg", $arg, true) + $image = image_valeurs_trans(_ROOT_IMG_PACK.'test_image.jpg',"reduire-$taille_preview-$taille_preview",'jpg'); + + $image['fichier_dest']=_DIR_IMG."test_$arg"; + if ($preview = image_creer_vignette($image, $taille_preview, $taille_preview, $arg, true) AND ($preview['width'] * $preview['height'] > 0)) redirige_par_entete($preview['fichier']); } diff --git a/ecrire/action/tourner.php b/ecrire/action/tourner.php index 09a0ad84399425fd7f54f47f53c27d339ff55166..1febc33ab7b635a8fca1eeab7bd0f8eebc6c234c 100644 --- a/ecrire/action/tourner.php +++ b/ecrire/action/tourner.php @@ -190,65 +190,4 @@ function gdRotate ($src, $dest, $rtt){ $save($dst_img,$dest); } - - -/* CODE MORT DEPUIS QU'ON NE FAIT PLUS DE VIGNETTES AUTOMATIQUES */ -/* - -// Creation -// http://doc.spip.org/@creer_fichier_vignette -function creer_fichier_vignette($vignette, $test_cache_only=false) { - if ($vignette && $GLOBALS['meta']["creer_preview"] == 'oui') { - eregi('\.([a-z0-9]+)$', $vignette, $regs); - $ext = $regs[1]; - $taille_preview = $GLOBALS['meta']["taille_preview"]; - if ($taille_preview < 10) $taille_preview = 120; - include_spip('inc/logos'); - - if ($preview = creer_vignette($vignette, $taille_preview, $taille_preview, $ext, 'vignettes', basename($vignette).'-s', 'AUTO', false, $test_cache_only)) - { - inserer_vignette_base($vignette, $preview['fichier']); - return $preview['fichier']; - } - include_spip('inc/documents'); - return vignette_par_defaut($ext ? $ext : 'txt', false); - } -} - - -// Insertion d'une vignette dans la base -// http://doc.spip.org/@inserer_vignette_base -function inserer_vignette_base($image, $vignette) { - - $taille = @filesize($vignette); - - $size = @getimagesize($vignette); - $largeur = $size[0]; - $hauteur = $size[1]; - $type = $size[2]; - - if ($type == "2") $format = 1; # spip_types_documents - else if ($type == "3") $format = 2; - else if ($type == "1") $format = 3; - else return; - - $vignette = str_replace(_DIR_RACINE, '', $vignette); - - $t = spip_query("SELECT id_document FROM spip_documents WHERE fichier=" . _q($image)); - spip_log("creation vignette($image) -> $vignette $t"); - if ($t) { - if ($row = spip_fetch_array($t)) { - $id_document = $row['id_document']; - $id_vignette = spip_abstract_insert("spip_documents", - "(mode)", - "('vignette')"); - spip_query("UPDATE spip_documents SET id_vignette=$id_vignette WHERE id_document=$id_document"); - spip_query("UPDATE spip_documents SET id_type = '$format', largeur = '$largeur', hauteur = '$hauteur', taille = '$taille', fichier = '$vignette', date = NOW() WHERE id_document = $id_vignette"); - spip_log("(document=$id_document, vignette=$id_vignette)"); - } - } -} - -*/ - -?> +?> \ No newline at end of file diff --git a/ecrire/inc/filtres_images.php b/ecrire/inc/filtres_images.php index 6ffd4a05f6df4ddfb69b6e3992c1cbe1e31509dc..3a72cff5a4580abd9a6d87b430bb184cb2f7b89b 100644 --- a/ecrire/inc/filtres_images.php +++ b/ecrire/inc/filtres_images.php @@ -285,8 +285,9 @@ function image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO', if ($format == "jpg") { $jpegtopnm_command = str_replace("pnmscale", "jpegtopnm", _PNMSCALE_COMMAND); - exec("$jpegtopnm_command $image | "._PNMSCALE_COMMAND." -width $destWidth | $pnmtojpeg_command > $vignette"); + if (!($s = @filesize($vignette))) + @unlink($vignette); if (!@file_exists($vignette)) { spip_log("echec netpbm-jpg sur $vignette"); return; @@ -294,6 +295,8 @@ function image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO', } else if ($format == "gif") { $giftopnm_command = str_replace("pnmscale", "giftopnm", _PNMSCALE_COMMAND); exec("$giftopnm_command $image | "._PNMSCALE_COMMAND." -width $destWidth | $pnmtojpeg_command > $vignette"); + if (!($s = @filesize($vignette))) + @unlink($vignette); if (!@file_exists($vignette)) { spip_log("echec netpbm-gif sur $vignette"); return; @@ -301,6 +304,8 @@ function image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO', } else if ($format == "png") { $pngtopnm_command = str_replace("pnmscale", "pngtopnm", _PNMSCALE_COMMAND); exec("$pngtopnm_command $image | "._PNMSCALE_COMMAND." -width $destWidth | $pnmtojpeg_command > $vignette"); + if (!($s = @filesize($vignette))) + @unlink($vignette); if (!@file_exists($vignette)) { spip_log("echec netpbm-png sur $vignette"); return; @@ -433,7 +438,7 @@ function image_ratio ($srcWidth, $srcHeight, $maxWidth, $maxHeight) { } // http://doc.spip.org/@image_reduire -function image_reduire($img, $taille = -1, $taille_y = -1, $force=false, $cherche_image=false) { +function image_reduire($img, $taille = -1, $taille_y = -1, $force=false, $cherche_image=false, $process='AUTO') { // Determiner la taille x,y maxi // prendre le reglage de previsu par defaut if ($taille == -1) @@ -485,7 +490,7 @@ function image_reduire($img, $taille = -1, $taille_y = -1, $force=false, $cherch if (in_array($image["format_source"],array('jpg','gif','png'))){ $logo = $image['fichier']; $date = $image["date_src"]; - $preview = image_creer_vignette($image, $taille, $taille_y,'AUTO',$force); + $preview = image_creer_vignette($image, $taille, $taille_y,$process,$force); if ($preview) { $logo = $preview['fichier']; $destWidth = $preview['width']; diff --git a/ecrire/inc/logos.php b/ecrire/inc/logos.php index 2a87159b611f85ab5f4dea36b8316a2479d2bbf0..40da7b9d08c29e12eb5bf1bb9c6d9fb1c67f2f16 100644 --- a/ecrire/inc/logos.php +++ b/ecrire/inc/logos.php @@ -94,26 +94,6 @@ function ratio_image($logo, $nom, $format, $taille, $taille_y, $attributs) { include_spip('inc/filtres'); $res = filtrer('image_reduire',"<img src='$logo' $attributs />", $taille, $taille_y); return $res; - /*if (!$taille_origine = @getimagesize($logo)) return ''; - include_spip('inc/filtres_images'); - list ($destWidth,$destHeight, $ratio) = image_ratio($taille_origine[0], $taille_origine[1], $taille, $taille_y); - - // Creer effectivement la vignette reduite - $suffixe = '-'.$destWidth.'x'.$destHeight; - $preview = creer_vignette($logo, $taille, $taille_y, $format, ('cache'.$suffixe), $nom.$suffixe); - if ($preview) { - $logo = $preview['fichier']; - $destWidth = $preview['width']; - $destHeight = $preview['height']; - } - - // dans l'espace prive mettre un timestamp sur l'adresse - // de l'image, de facon a tromper le cache du navigateur - // quand on fait supprimer/reuploader un logo - // (pas de filemtime si SAFE MODE) - $date = _DIR_RESTREINT ? '' : ('?date='.@filemtime($logo)); - return "<img src='$logo$date' width='".$destWidth."' height='".$destHeight."' $attributs />"; - */ } ?>