diff --git a/ecrire/inc/ajouter_documents.php b/ecrire/inc/ajouter_documents.php index f51aea25434366dd8520e90d04a6bec67bdf6d1a..f142163370f1ab175680541f9f2b84b77cd3b068 100644 --- a/ecrire/inc/ajouter_documents.php +++ b/ecrire/inc/ajouter_documents.php @@ -49,7 +49,6 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode, // Documents distants : pas trop de verifications bloquantes, mais un test // via une requete HEAD pour savoir si la ressource existe (non 404), si le // content-type est connu, et si possible recuperer la taille, voire plus. - spip_log ("ajout du document $source $nom_envoye (M '$mode' T '$type_lien' L '$id_lien' D '$id_document')"); if ($mode == 'distant') { include_spip('inc/distant'); if ($a = recuperer_infos_distantes($source)) { @@ -74,13 +73,15 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode, } } else { $distant = 'non'; - $type_image = $titre = ''; // au pire - // tester le type de document : + $type_image = ''; // au pire + // calculer le titrer tester le type de document : // - interdit a l'upload ? // - quelle extension dans spip_types_documents ? // - est-ce "inclus" comme une image ? - preg_match(",\.([^.]+)$,", $nom_envoye, $match); - $ext = corriger_extension(strtolower($match[1])); + preg_match(",^(.*)\.([^.]+)$,", $nom_envoye, $match); + @list(,$titre,$ext) = $match; + $titre = preg_replace(',[[:punct:][:space:]]+,u', ' ', $titre); + $ext = corriger_extension(strtolower($ext)); // Si le fichier est de type inconnu, on va le stocker en .zip $q = spip_query($p = "SELECT * FROM spip_types_documents WHERE extension=" . _q($ext) . " AND upload='oui'"); @@ -259,6 +260,8 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode, else $documents_actifs[$fichier] = $id_document; + spip_log ("ajout du document $source $nom_envoye (M '$mode' T '$type_lien' L '$id_lien' D '$id_document')"); + // Notifications, gestion des revisions, reindexation... pipeline('post_edition', array( diff --git a/ecrire/inc/getdocument.php b/ecrire/inc/getdocument.php index 1af93b0c0ae3c7e8daeffbefbf902145ae79dc1d..59e769419384f5f77e420b5867732ca3fa54bf79 100644 --- a/ecrire/inc/getdocument.php +++ b/ecrire/inc/getdocument.php @@ -175,8 +175,7 @@ function accepte_fichier_upload ($f) { if (!preg_match(",.*__MACOSX/,", $f) AND !preg_match(",^\.,", basename($f))) { $ext = corriger_extension((strtolower(substr(strrchr($f, "."), 1)))); - $row = @sql_fetch(spip_query("SELECT extension FROM spip_types_documents WHERE extension=" . _q($ext) . " AND upload='oui'")); - return $row; + return sql_countsel('spip_types_documents', "extension=" . _q($ext) . " AND upload='oui'"); } }