X-Git-Url: http://git.cyclocoop.org/?p=lhc%2Fweb%2Fclavette_www.git;a=blobdiff_plain;f=www%2Fplugins-dist%2Fmedias%2Faction%2Fediter_document.php;h=bdde33e1ce45fc9df11b67daf5f998c5dc8017d9;hp=e16a56225354452ade159f7148b870bddb72f650;hb=cc641eb476987612f6d6df1a5417c1c5582a8ab8;hpb=7d84a490677fb716a1fd4df260f8eab35f6a8506 diff --git a/www/plugins-dist/medias/action/editer_document.php b/www/plugins-dist/medias/action/editer_document.php index e16a562..bdde33e 100644 --- a/www/plugins-dist/medias/action/editer_document.php +++ b/www/plugins-dist/medias/action/editer_document.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. * @@ -126,6 +126,7 @@ function document_modifier($id_document, $set=false) { if ($champs['fichier'] // un plugin a pu interdire la modif du fichier en virant le champ AND $ancien_fichier // on avait bien note le nom du fichier avant la modif AND $ancien_fichier!==$champs['fichier'] // et il a ete modifie + AND !tester_url_absolue($ancien_fichier) AND @file_exists($f = get_spip_doc($ancien_fichier))) spip_unlink($f); @@ -257,10 +258,15 @@ function medias_revision_document_parents($id_document, $parents=null, $ajout=fa else $deja_parents[$lien['objet']][] = $lien['id_objet']; } - // verifier les droits d'associer - foreach($objets_parents as $objet=>$ids){ - foreach($ids as $k=>$id){ - if (!autoriser('associerdocuments',$objet,$id)){ + // trier les objets à traiter : ne pas prendre en compte ceux qui sont déjà associés ou qu'on n'a pas le droit d'associer + foreach ($objets_parents as $objet => $ids) { + foreach ($ids as $k => $id) { + if (( + isset($deja_parents[$objet]) + and in_array($id, $deja_parents[$objet]) + ) + or !autoriser('associerdocuments', $objet, $id) + ) { unset($objets_parents[$objet][$k]); } }