From 00edda23d1c7c971382c8dbe04d37d8c13fd15e0 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sat, 13 Jan 2007 21:19:17 +0000 Subject: [PATCH] "retablit les test de detection de librairies graphiques qui etaient casses suite au menage precedent suppression definitive d'un code deja mort qui avait encore pris une balle dans le ventre au point ou on en est inc/logos meriterait de disparaitre ... demain peut etre ?" --- ecrire/action/tester.php | 10 +++--- ecrire/action/tourner.php | 63 +---------------------------------- ecrire/inc/filtres_images.php | 11 ++++-- ecrire/inc/logos.php | 20 ----------- 4 files changed, 15 insertions(+), 89 deletions(-) diff --git a/ecrire/action/tester.php b/ecrire/action/tester.php index b3407547fe..2135580a15 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 09a0ad8439..1febc33ab7 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 6ffd4a05f6..3a72cff5a4 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 2a87159b61..40da7b9d08 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 />"; - */ } ?> -- GitLab