Bonjour,
est-ce qu'il est prévu de mettre en CVS ma contribution de la semaine
dernière pour la conservation des noms de fichiers uploadés, ou me
reste-t'il des choses à y corriger/modifier avant ???
En fait, j'en ai grandement besoin sur plusieurs sites, donc si je
pouvais éviter d'avoir des versions modifiées de SPIP, ça
m'arrangerait ....
-Nicolas
Il faudrait que tu donnes une version finale !
Je pensais l'avoir fait !!!
Dans la journée sans doute ...
-Nicolas
Voilà donc le code ...
Tout se passe dans spip_image.php3, c'est super simple !!!
Au début, ajouter ça :
-Nicolas
Voilà donc le code ...
Tout se passe dans spip_image.php3, c'est super simple !!!
Au début, ajouter ça :
Oups, j'ai glissé, désolé, voilà la suite ...
Donc, au début de spip_image.php3, ajouter la ligne suivante :
include_ecrire("inc_index.php3");
Puis, ligne 265 (ou plutôt 266 maintenant), remplacer le code
suivant :
---8<--------------------------------------------------------
if (!$dest) {
if ($id_document_lie)
$dest = "doc-$id_document_lie-prv";
else
$dest = "doc-$id_document";
}
$dest = ereg_replace("\.([^.]+)$", "", $dest) . ".$ext";
if (creer_repertoire("IMG", $ext))
$dest_path = "IMG/$ext/$dest";
else
$dest_path = "IMG/$dest";
---8<--------------------------------------------------------
Par :
---8<--------------------------------------------------------
$destFile = 'IMG/';
if (creer_repertoire('IMG', $ext)) $destFile .= $ext.'/';
$destFile .= ereg_replace(
"([^a-zA-Z0-9_=-]|\.)",
"_",
nettoyer_chaine_indexation(ereg_replace("\.([^.]+)$", "", basename($orig))));
$n = 0;
while (file_exists($newFile = $destFile.($n++ ? '-'.$n : '').'.'.$ext));
$dest_path = $newFile;
---8<--------------------------------------------------------
Voilà ...
-Nicolas
fil
Octobre 14, 2002, 1:05
5
while (file_exists($newFile = $destFile.($n++ ? '-'.$n : '').'.'.$ext));
marrant, j'obtiens : toto.doc, puis toto-2.doc (pas de toto-1.doc, je ne sais
pas si c'était voulu, mais c'est pas mal).
Sinon, la fonction nettoyer_chaine_indexation() pourrait bien passer dans
inc_filtres, non ?
-- Fil
while (file_exists($newFile = $destFile.($n++ ? '-'.$n : '').'.'.$ext));
marrant, j'obtiens : toto.doc, puis toto-2.doc (pas de toto-1.doc,
je ne sais pas si c'était voulu, mais c'est pas mal).
Ca me semble plus logique ...
Sinon, la fonction nettoyer_chaine_indexation() pourrait bien passer
dans inc_filtres, non ?
En effet.
-Nicolas
$destFile .= ereg_replace(
"([^a-zA-Z0-9_=-]|\.)",
"_",
nettoyer_chaine_indexation(ereg_replace("\.([^.]+)$", "", basename($orig))));
Juste, il vaut mieux laisser les points (.), sinon les
fichiers du genre .tar.gz auront l'air bizarres....
Juste, il vaut mieux laisser les points (.), sinon les fichiers du
genre .tar.gz auront l'air bizarres....
En effet, mais je répondais au besoin exprimé de simplification à
l'extrême pour les quelques OS frileux, s'il en reste ...
-Nicolas