Skip to content
Extraits de code Groupes Projets
Valider 157fc38f rédigé par cerdic's avatar cerdic
Parcourir les fichiers

se baser d'abord sur la table spip_documents pour attraper le vrai type si il...

se baser d'abord sur la table spip_documents pour attraper le vrai type si il est connu (plus fiable que l'extension)
parent c3bbd042
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -277,24 +277,25 @@ function fichier_copie_locale($source) { ...@@ -277,24 +277,25 @@ function fichier_copie_locale($source) {
} }
$extension = ""; $extension = "";
$path_parts = pathinfo($source); // Chercher d'abord le doc dans la table des documents, pour se baser sur son type reel
if (isset($path_parts['extension']) && strlen($path_parts['extension'])){ $t = spip_fetch_array(spip_query("SELECT id_type FROM spip_documents WHERE fichier=" . _q($source) . " AND distant='oui'"));
// verifier que c'est un type autorise if ($t) {
$t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE extension="._q($path_parts['extension']))); $t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type=".$t['id_type']));
if ($t) if ($t)
$extension = $t['extension']; $extension = $t['extension'];
} }
else {
// Si l'extension n'est pas precisee, aller la chercher dans la table // si la source n'est pas dans la table des documents, on regarde si son extension est connue et autorisee
// des documents -- si la source n'est pas dans la table des documents, if (!strlen($extension)) {
// on ne fait rien $path_parts = pathinfo($source);
$t = spip_fetch_array(spip_query("SELECT id_type FROM spip_documents WHERE fichier=" . _q($source) . " AND distant='oui'")); if (isset($path_parts['extension']) && strlen($path_parts['extension'])){
if ($t) { // verifier que c'est un type autorise
$t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type=".$t['id_type'])); $t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE extension="._q($path_parts['extension'])));
if ($t) if ($t)
$extension = $t['extension']; $extension = $t['extension'];
} }
} }
if (strlen($extension)) if (strlen($extension))
return nom_fichier_copie_locale($source, $extension); return nom_fichier_copie_locale($source, $extension);
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter