From c7d4b9d3a65934f0cd01a8f99038a6e45d06827c Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Sun, 14 Apr 2002 21:59:40 +0000 Subject: [PATCH] je m'suis melange, avec tout ca, et j'ai commite le mauvais fichier... retablissement du mix modifs arno + modifs fil + modifs antoine (inch-'allah) Pour resumer : * upload plusieurs fichiers d'un coup * envoie vers spip_test_dirs si probleme de droits * suppression fichier ecrire/upload/xxxx (je laisse le code en commentaire) --- spip_image.php3 | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/spip_image.php3 b/spip_image.php3 index ec33f5b86f..0f37256cad 100644 --- a/spip_image.php3 +++ b/spip_image.php3 @@ -63,7 +63,6 @@ function deplacer_fichier_upload($source, $dest) { exit; } - umask('0000'); $ok = @copy($source, $dest); if (!$ok) $ok = @move_uploaded_file($source, $dest); if ($ok) @@ -199,7 +198,7 @@ function ajout_doc($orig, $source, $dest, $mode, $id_document, $doc_vignette='', $id_document = 0; } if (!$id_document) { - $query = "INSERT spip_documents (id_type, titre) VALUES ($id_type, 'sans titre')"; + $query = "INSERT spip_documents (id_type, titre) VALUES ($id_type, '')"; mysql_query($query); $id_document = mysql_insert_id(); $nouveau = true; @@ -234,7 +233,7 @@ function ajout_doc($orig, $source, $dest, $mode, $id_document, $doc_vignette='', $hauteur_prev = $preview['height']; $largeur_prev = $preview['width']; $fichier_prev = $preview['fichier']; - $query = "INSERT spip_documents (id_type, titre, largeur, hauteur, fichier) VALUES ('1', 'vignette', '$largeur_prev', '$hauteur_prev', '$fichier_prev')"; + $query = "INSERT spip_documents (id_type, titre, largeur, hauteur, fichier) VALUES ('1', '', '$largeur_prev', '$hauteur_prev', '$fichier_prev')"; mysql_query($query); $id_preview = mysql_insert_id(); $query = "UPDATE spip_documents SET id_vignette = '$id_preview' WHERE id_document = $id_document"; @@ -272,7 +271,7 @@ function ajout_doc($orig, $source, $dest, $mode, $id_document, $doc_vignette='', } if ($doc_vignette){ - $query = "UPDATE spip_documents SET id_vignette=$doc_vignette, titre='$titre', descriptif='$descriptif' WHERE id_document=$id_document"; + $query = "UPDATE spip_documents SET id_vignette=$doc_vignette, titre='', descriptif='' WHERE id_document=$id_document"; mysql_query($query); } @@ -297,10 +296,31 @@ if (!$image_name AND $image2) { // ajouter un document // if ($ajout_doc == 'oui') { - if ($forcer_document == 'oui') - $id_document = ajout_doc($image_name, $image, $fichier, "document", $id_document); - else - $id_document = ajout_doc($image_name, $image, $fichier, $mode, $id_document); + if ($dossier_complet){ + $myDir = opendir('ecrire/upload'); + while($entryName = readdir($myDir)) { + if (is_file("ecrire/upload/".$entryName) AND !($entryName=='remove.txt')) { + if (ereg("\.([^.]+)$", $entryName, $match)) { + $ext = strtolower($match[1]); + if ($ext == 'jpeg') + $ext = 'jpg'; + $req = "SELECT extension FROM spip_types_documents WHERE extension='$ext'"; + if ($inclus) + $req .= " AND inclus='$inclus'"; + if (@mysql_fetch_array(mysql_query($req))) + $id_document = ajout_doc('ecrire/upload/'.$entryName, 'ecrire/upload/'.$entryName, '', 'document', ''); + } + } + } + closedir($myDir); + + } + else { + if ($forcer_document == 'oui') + $id_document = ajout_doc($image_name, $image, $fichier, "document", $id_document); + else + $id_document = ajout_doc($image_name, $image, $fichier, $mode, $id_document); + } } @@ -353,8 +373,11 @@ if ($doc_supp) { // 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); +*/ + // // redirection -- GitLab