/***************************************************************************\
* 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. *
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);
if (!$ajout){
foreach($liens as $k=>$lien)
if (!isset($objets_parents[$lien['objet']]) OR !in_array($lien['id_objet'],$objets_parents[$lien['objet']])) {
- objet_dissocier(array('document'=>$id_document),array($lien['objet']=>$lien['id_objet']));
+ if (autoriser('dissocierdocuments',$lien['objet'],$lien['id_objet'])){
+ objet_dissocier(array('document'=>$id_document),array($lien['objet']=>$lien['id_objet']));
+ }
unset($liens[$k]);
}
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)){
+ unset($objets_parents[$objet][$k]);
+ }
+ }
+ }
objet_associer(array('document'=>$id_document),$objets_parents);
}