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) {
}
$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.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter