X-Git-Url: http://git.cyclocoop.org/?p=lhc%2Fweb%2Fclavette_www.git;a=blobdiff_plain;f=www%2Fplugins-dist%2Fmedias%2Faction%2Fcopier_local.php;h=b1bf543bad5643b2bb8f91154278b96af1e22e45;hp=c09e02a649c3c88c1b95fb5a0be1e98b2e1157a7;hb=cc641eb476987612f6d6df1a5417c1c5582a8ab8;hpb=7d84a490677fb716a1fd4df260f8eab35f6a8506;ds=sidebyside diff --git a/www/plugins-dist/medias/action/copier_local.php b/www/plugins-dist/medias/action/copier_local.php index c09e02a..b1bf543 100644 --- a/www/plugins-dist/medias/action/copier_local.php +++ b/www/plugins-dist/medias/action/copier_local.php @@ -3,7 +3,7 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2014 * + * Copyright (c) 2001-2016 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * @@ -54,26 +54,34 @@ function action_copier_local_post($id_document) { $row = sql_fetsel("mode,fichier, descriptif, credits", "spip_documents", "id_document=$id_document"); $source = $row['fichier']; - include_spip('inc/distant'); // pour 'copie_locale' - $fichier = copie_locale($source); - if ($fichier) { - $fichier = _DIR_RACINE . $fichier; - $files[] = array('tmp_name'=>$fichier,'name'=>basename($fichier)); - $ajouter_documents = charger_fonction('ajouter_documents','action'); - spip_log("convertit doc $id_document en local: $source => $fichier"); - $liste = array(); - $ajouter_documents($id_document,$files,'',0,$row['mode'],$liste); - - spip_unlink($fichier); - - // ajouter l'origine du document aux credits - include_spip('action/editer_document'); - document_modifier($id_document,array('credits'=>($row['credits']?$row['credits'].', ':'').$source)); - return true; - + // 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' + $fichier = copie_locale($source); + if ($fichier) { + $fichier = _DIR_RACINE . $fichier; + $files[] = array('tmp_name'=>$fichier,'name'=>basename($fichier)); + $ajouter_documents = charger_fonction('ajouter_documents','action'); + spip_log("convertit doc $id_document en local: $source => $fichier"); + $liste = array(); + $ajouter_documents($id_document,$files,'',0,$row['mode'],$liste); + + spip_unlink($fichier); + + // ajouter l'origine du document aux credits + include_spip('action/editer_document'); + document_modifier($id_document,array('credits'=>($row['credits']?$row['credits'].', ':'').$source)); + return true; + + } else { + spip_log("echec copie locale $source"); + } } else { - spip_log("echec copie locale $source"); + spip_log("echec copie locale $source n'est pas une URL distante", "medias" . _LOG_ERREUR); } + return _T('medias:erreur_copie_fichier',array('nom'=>$source)); }