CVS: spip inc-calcul.php3, 1.64, 1.65 spip_image.php3, 1.62, 1.63

Update of /home/spip-cvs/spip
In directory alan:/tmp/cvs-serv20090

Modified Files:
  inc-calcul.php3 spip_image.php3
Log Message:
re-création automatique des vignettes si on les efface

Index: inc-calcul.php3

RCS file: /home/spip-cvs/spip/inc-calcul.php3,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- a/inc-calcul.php3 12 Apr 2004 19:20:05 -0000 1.64
+++ b/inc-calcul.php3 15 Apr 2004 19:09:31 -0000 1.65
@@ -95,53 +95,6 @@
   return $image;
}

-
-function image_document($id_document){
- $query = "SELECT * FROM spip_documents WHERE id_document = $id_document";
- $result = spip_query($query);
- if ($row = spip_fetch_array($result)) {
- $id_document = $row['id_document'];
- $id_type = $row['id_type'];
- $titre = propre($row ['titre']);
- $descriptif = propre($row['descriptif']);
- $fichier = generer_url_document($id_document);
- $largeur = $row['largeur'];
- $hauteur = $row['hauteur'];
- $taille = $row['taille'];
- $mode = $row['mode'];
- $id_vignette = $row['id_vignette'];
-
- // recuperer la vignette pour affichage inline
- if ($id_vignette) {
- $query_vignette = "SELECT * FROM spip_documents WHERE id_document = $id_vignette";
- $result_vignette = spip_query($query_vignette);
- if ($row_vignette = @spip_fetch_array($result_vignette)) {
- $fichier_vignette = generer_url_document($id_vignette);
- $largeur_vignette = $row_vignette['largeur'];
- $hauteur_vignette = $row_vignette['hauteur'];
- }
- }
- else if ($mode == 'vignette') {
- $fichier_vignette = $fichier;
- $largeur_vignette = $largeur;
- $hauteur_vignette = $hauteur;
- }
- // si pas de vignette, utiliser la vignette par defaut du type du document
- if (!$fichier_vignette) {
- // on construira le lien en fonction du type de doc
- $result_type = spip_query("SELECT * FROM spip_types_documents WHERE id_type = $id_type");
- if ($type = @spip_fetch_object($result_type)) {
- $extension = $type->extension;
- }
- list($fichier_vignette, $largeur_vignette, $hauteur_vignette) = vignette_par_defaut($extension);
- }
-
- $image[0] = $fichier_vignette;
- return $image;
- }
-
-}
-
function image_article($id_article){
   return cherche_image($id_article,'art');
}

Index: spip_image.php3

RCS file: /home/spip-cvs/spip/spip_image.php3,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- a/spip_image.php3 15 Apr 2004 14:41:58 -0000 1.62
+++ b/spip_image.php3 15 Apr 2004 19:09:31 -0000 1.63
@@ -222,35 +222,6 @@
     }
   }

- //
- // Creer une vignette automatiquement
- //
- $creer_preview = lire_meta("creer_preview");
- $taille_preview = lire_meta("taille_preview");
-
- $format_img = strtolower(substr($dest_path, strrpos($dest_path,".")+1, strlen($dest_path)));
- if ($format_img == "jpeg") $format_img == "jpg";
- if ($taille_preview < 10) $taille_preview = 120;
-
- if ($mode == 'document' AND $creer_preview == 'oui') {
- include_ecrire('inc_logos.php3');
- $destination_vignette = ereg_replace("\.$format_img$", "-s", $dest_path);
- if ($preview = creer_vignette($dest_path, $taille_preview, $taille_preview, $format_img, $destination_vignette)) {
- $hauteur_prev = $preview['height'];
- $largeur_prev = $preview['width'];
- $fichier_prev = $preview['fichier'];
- $format_prev = $preview['format'];
- if ($format_prev == "jpg") $format_prev = 1;
- else if ($format_prev == "png") $format_prev = 2;
- else if ($format_prev == "gif") $format_prev = 3;
-
- $query = "INSERT INTO spip_documents (id_type, titre, largeur, hauteur, fichier, date) VALUES ('$format_prev', '', '$largeur_prev', '$hauteur_prev', '$fichier_prev', NOW())";
- spip_query($query);
- $id_preview = spip_insert_id();
- $query = "UPDATE spip_documents SET id_vignette = '$id_preview' WHERE id_document = $id_document";
- spip_query($query);
- }
- }

   //
   // Mettre a jour les infos du document uploade
@@ -398,12 +369,35 @@
   }
}

+//
+// Creation automatique de vignette new style
+//
+if ($vignette) {
+ // securite
+ $fichier_vignette = '';
+ if (!eregi('^(IMG/[^\.]+)\.([a-z0-9]+)$', $vignette, $regs)) exit;
+ $source = $regs[0];
+ $format = $regs[2];
+ $destination = $regs[1].'-s';
+
+ if (lire_meta("creer_preview") == 'oui') {
+ $taille_preview = lire_meta("taille_preview");
+ if ($taille_preview < 10) $taille_preview = 120;
+ include_ecrire('inc_logos.php3');
+ if ($preview = creer_vignette($source, $taille_preview, $taille_preview, $format, $destination))
+ $fichier_vignette = $preview['fichier'];
+ }

-// supprimer le fichier original si pris dans ecrire/upload
-/* en debat.... peser securite vs conformite upload http
-if ($supprimer_ecrire_upload)
- @unlink ($supprimer_ecrire_upload);
-*/
+ if (!$fichier_vignette) {
+ include_ecrire('inc_documents.php3');
+ list($fichier_vignette) = vignette_par_defaut($extension);
+ if (!$fichier_vignette)
+ list($fichier_vignette) = vignette_par_defaut('txt');
+ }
+
+ @header("Location: $fichier_vignette");
+ exit;
+}

//