inc-calcul-outils.php3 inc-public-global.php3 spip_image.php3 1.11 1.149 1.92 1.12 1.150 1.93

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

Modified Files:
  inc-calcul-outils.php3 inc-public-global.php3 spip_image.php3
Log Message:
Poursuite du nettoyage generer_url_document & IMG

Index: inc-public-global.php3

RCS file: /home/spip-cvs/spip/inc-public-global.php3,v
retrieving revision 1.149
retrieving revision 1.150
diff -u -d -r1.149 -r1.150
--- inc-public-global.php3 27 Sep 2004 06:30:32 -0000 1.149
+++ inc-public-global.php3 5 Oct 2004 13:55:45 -0000 1.150
@@ -352,4 +352,9 @@
   return ($ok? "$subdir/" : '');
}

+function creer_repertoire_documents($ext) {
+# est-il bien raisonnable d'accepter de creer si creer_rep retourne '' ?
+ return _DIR_IMG . creer_repertoire(_DIR_IMG, $ext);
+}
+
?>

Index: inc-calcul-outils.php3

RCS file: /home/spip-cvs/spip/inc-calcul-outils.php3,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- inc-calcul-outils.php3 4 Oct 2004 21:21:44 -0000 1.11
+++ inc-calcul-outils.php3 5 Oct 2004 13:55:45 -0000 1.12
@@ -199,27 +199,46 @@
   }
}

+# fonction appelée par la balise #LOGO_DOCUMENT
+
function calcule_document($id_document, $doubdoc, &$doublons){
- if ($doubdoc && $id_document) $doublons["documents"] .= ', ' . $id_document;
- $row = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = $id_document"));
- if (!$row) return '';
- if ($id_vignette = $row['id_vignette']) {
- if ($row_vignette = @spip_fetch_array(spip_query("SELECT fichier FROM spip_documents WHERE id_document = $id_vignette"))) {
- if (@file_exists($row_vignette['fichier']))
- return generer_url_document($id_vignette);
- }
- } else if ($row['mode'] == 'vignette') {
- return generer_url_document($id_document);
- }
-// si pas de vignette, utiliser la vignette par defaut
-// ou essayer de creer une preview (images)
- list($extension) = @spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type = " .$row['id_type']));
- if (!ereg(",$extension,", ','.lire_meta('formats_graphiques').',')) {
- list($url, $w, $h) = vignette_par_defaut($extension);
- return $url;
- } else {
- return 'spip_image.php3?vignette='.rawurlencode(str_replace('../', '', $row['fichier']));
- }
+ if ($doubdoc && $id_document) $doublons["documents"] .= ', ' . $id_document;
+
+ if (!($row = spip_abstract_select(array('id_type', 'id_vignette', 'fichier', 'mode'), array('documents AS documents'), array("id_document = $id_document"))))
+// pas de document. Ne devrait pas arriver
+ return '';
+
+ list($id_type, $id_vignette, $fichier, $mode) = spip_abstract_fetch($row);
+ if ($id_vignette) {
+ if ($res = spip_abstract_select(array('fichier'), array('documents AS documents'), array("id_document = $id_vignette"))) {
+ list($fichier) = spip_abstract_fetch($res);
+ if (@file_exists($fichier))
+ return generer_url_document($id_vignette);
+# return ($fichier); # en std g_u_d fait ça
+ }
+ } else if ($mode == 'vignette')
+ return generer_url_document($id_document);
+# return $fichier; # en std g_u_d fait ça
+
+// calcul de l'extension par tous les moyens
+ if ($id_type) {
+ list($ext) = spip_abstract_fetch(spip_abstract_select(array('extension'), array('types_documents AS documents'), array("id_type = " . intval($id_type))));
+ } else {
+ eregi('\.([a-z0-9]+)$', $fichier, $regs);
+ $ext = $regs[1];
+ }
+// Pas de vignette mais une extension:
+// prendre la vignette de celle-ci dans IMG/icones sauf si on peut faire mieux
+ $formats = ','.lire_meta('formats_graphiques').',';
+ if ((strpos($formats, ",$ext,") === false) ||
+ !$fichier || (lire_meta("creer_preview") != 'oui')) {
+ return vignette_par_defaut($ext ? $ext : 'txt', false);
+ }
+// on peut faire mieux dans le cas des images: une previsualisation
+// on devrait verifier que le fichier existe dans IMG/vignette
+// et sinon lancer creer_vignette (qui fera un UPDATE sur spip_documents)
+// mais on risque de dépasser le temps alloue au processus
+ return 'spip_image.php3?vignette='.rawurlencode(str_replace('../', '', $fichier));
}

Index: spip_image.php3

RCS file: /home/spip-cvs/spip/spip_image.php3,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- spip_image.php3 4 Oct 2004 17:30:53 -0000 1.92
+++ spip_image.php3 5 Oct 2004 13:55:46 -0000 1.93
@@ -7,11 +7,6 @@
include_ecrire("inc_meta.php3");
include_ecrire("inc_admin.php3");

-function creer_repertoire_documents($ext) {
-# est-il bien raisonnable d'accepter de creer si creer_rep retourne '' ?
- return _DIR_IMG . creer_repertoire(_DIR_IMG, $ext);
-}
-
function copier_document($ext, $orig, $source) {
   $dest = creer_repertoire_documents($ext) .
     ereg_replace("[^.a-zA-Z0-9_=-]+", "_",
@@ -210,12 +205,8 @@
//

function ajout_doc($orig, $source, $mode, $id_document, $titre_automatique=true) {
- $doc_vignette=''; $titre_vignette=''; $descriptif_vignette='';
-
   global $hash_id_auteur, $hash, $id_article, $type;

- //die ("<li>$orig<li>$source<li>$dest<li>$mode<li>$id_document");
-
   //
   // Securite
   //
@@ -290,11 +281,6 @@
         $id_document = $id_document_lie; // pour que le 'return' active le bon doc.
       }

- if ($doc_vignette){
- $query = "UPDATE spip_documents SET id_vignette=$doc_vignette, titre='', descriptif='' WHERE id_document=$id_document";
- spip_query($query);
- }
-
   // Creer la vignette
       if ($mode == 'document' AND lire_meta('creer_preview') == 'oui'
           AND ereg(",$ext,", ','.lire_meta('formats_graphiques').',')) {