diff --git a/action/copier_local.php b/action/copier_local.php index 5715ac933d1dd4d4824710c1bcc2e98479a27425..a0feac6c31479f1ef912b8fd2e8cf94f92a40a1a 100644 --- a/action/copier_local.php +++ b/action/copier_local.php @@ -59,12 +59,13 @@ function action_copier_local_post($id_document) { // si la source est bien un fichier distant // sinon c'est une donnee moisie, on ne fait rien - if (tester_url_absolue($source)) { - include_spip('inc/distant'); // pour 'copie_locale' + include_spip('inc/distant'); + if (tester_url_absolue($source) + and valider_url_distante($source)) { $fichier = copie_locale($source); if ( $fichier - and tester_url_absolue($source) + and valider_url_distante($source) ) { $fichier = _DIR_RACINE . $fichier; $files = []; @@ -86,6 +87,9 @@ function action_copier_local_post($id_document) { return true; } else { spip_log("echec copie locale $source", 'medias' . _LOG_ERREUR); + if ($fichier) { + @unlink(_DIR_RACINE . $fichier); + } } } else { spip_log("echec copie locale $source n'est pas une URL distante", 'medias' . _LOG_ERREUR);