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
Branches
Étiquettes
Aucune requête de fusion associée trouvée
......@@ -277,24 +277,25 @@ function fichier_copie_locale($source) {
}
$extension = "";
$path_parts = pathinfo($source);
if (isset($path_parts['extension']) && strlen($path_parts['extension'])){
// verifier que c'est un type autorise
$t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE extension="._q($path_parts['extension'])));
// Chercher d'abord le doc dans la table des documents, pour se baser sur son type reel
$t = spip_fetch_array(spip_query("SELECT id_type FROM spip_documents WHERE fichier=" . _q($source) . " AND distant='oui'"));
if ($t) {
$t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type=".$t['id_type']));
if ($t)
$extension = $t['extension'];
}
else {
// Si l'extension n'est pas precisee, aller la chercher dans la table
// des documents -- si la source n'est pas dans la table des documents,
// on ne fait rien
$t = spip_fetch_array(spip_query("SELECT id_type FROM spip_documents WHERE fichier=" . _q($source) . " AND distant='oui'"));
if ($t) {
$t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type=".$t['id_type']));
// si la source n'est pas dans la table des documents, on regarde si son extension est connue et autorisee
if (!strlen($extension)) {
$path_parts = pathinfo($source);
if (isset($path_parts['extension']) && strlen($path_parts['extension'])){
// verifier que c'est un type autorise
$t = spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE extension="._q($path_parts['extension'])));
if ($t)
$extension = $t['extension'];
}
}
if (strlen($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.
Veuillez vous inscrire ou vous pour commenter